hexo 添加自定义单静态页面 跳过hexo渲染
2023-04-18 14:55:44 时间
前言
Hexo默认会对/source/
里的所有页面应用主题模板渲染,但有一些前端作品或demo页我们不希望经过渲染,而是能保持完全自定义的样子
例如:
- 主题内渲染,添加的模块仍在主题内,主题头部信息依然存在,仅仅是在特定区域进行渲染(适合添加 about 页面)
- 完全页面渲染,在主题内点击对应链接跳转到一个完全崭新的页面(我需要的)
hexo 的执行逻辑
source 文件夹下存放了待被转化的 markdown 文件,在执行hexo g
命令时,source 目录下的文件将被转化为 html 文件。
介绍两种方法:
使用Hexo提供的跳过渲染配置,适用单个文件或整个目录的设置。
具体步骤,打开博客根目录_config.yml
,找到其中skip_render
项,这个项目用来配置/source/
中需要跳过渲染的文件或目录,
例如希望跳过/source/navi/
里的所有文件渲染(这样我们就可以将自己的作品放在这个文件夹中,然后可以通过自己的网址/navi/…访问了)
可以配置为:
skip_render: navi/**
source/navi/
目录下添加「工具盒」源文件- 在站点配置文件
_config.yml
中配置skin_render
项,如:skip_render: navi/**
,这样projects文件夹下的所以文件内容将不会转化为 html,直接被 copy 到 public 文件夹 - 在「工具盒」文件夹下添加 index.html 文件用于渲染自定义页面
完成以上步骤即可点击「工具盒」菜单导航,完成自定义页面的展示。
多个文件
skip_render:
- 'xxxxx'
- 'xxxx'
支持正则语法
skip_render:
- '*.html'
- 'demo/**'
修改了配置但生成出来的内容不一定及时应用了新配置,最好在生成之前执行一下hexo clean
命令,清除掉旧的生成文件和缓存。
给单个文件添加不应用模板的标记,适用于个别特殊文件的处理。
例如我们要使 about
页面跳过渲染,创建 /source/about/index.md
,将这个页面的相关 HTML 代码写进.md
文件并保存,然后在 index.md
的头部写入:,
避免渲染的办法就是在文件头部Front-matter
里添加如下内容:
---
layout: false
---
{% raw %}
xxxxxxxxxxxxx
xx HTML代码 xx
xxxxxxxxxxxxx
{% endraw %}
PS:
Front-matter
是.md
文件最上方以 — 分隔的区域,用于指定个别文件的变量,官方文档:https://hexo.io/docs/front-matter.md
文件中的 HTML 代码要用` 和 `
包起来,使其能正确编译里面的代码
这样,这个文件就不会经过模板渲染,最终发布到/public/
里的文件就是去掉标记后的文件的样子。
但是这种未尝试! 推荐第一种
相关文章
- 【技术种草】cdn+轻量服务器+hugo=让博客“云原生”一下
- CLB运维&运营最佳实践 ---访问日志大洞察
- vnc方式登陆服务器
- 轻松学排序算法:眼睛直观感受几种常用排序算法
- 十二个经典的大数据项目
- 为什么使用 CDN 内容分发网络?
- 大数据——大数据默认端口号列表
- Weld 1.1.5.Final,JSR-299 的框架
- JavaFX 2012:彻底开源
- 提升as3程序性能的十大要点
- 通过凸面几何学进行独立于边际的在线多类学习
- 利用行动影响的规律性和部分已知的模型进行离线强化学习
- ModelLight:基于模型的交通信号控制的元强化学习
- 浅谈Visual Source Safe项目分支
- 基于先验知识的递归卡尔曼滤波的代理人联合状态和输入估计
- 结合网络结构和非线性恢复来提高声誉评估的性能
- 最佳实践丨云开发CloudBase多环境管理实践
- TimeVAE:用于生成多变量时间序列的变异自动编码器
- 具有线性阈值激活的神经网络:结构和算法
- 内网渗透之横向移动 -- 从域外向域内进行密码喷洒攻击