一、资源文件的显示
创建md的同名文件夹后,资源文件的路径不能写为./xxx/1.jpg(虽然markdown有效),只能为xxx/1.jpg。
其他参考:hexo官网:资源文件夹
2、缩放的 gif 无法显示
1 | # markdown正常显示,hexo网页无法显示 |
二、hexo链接的持久化
参考文档:
永久链接(Permalinks)的官网文档:https://hexo.io/zh-cn/docs/permalinks.html
hexo链接持久化终极解决之道:https://blog.csdn.net/yanzi1225627/article/details/77761488?utm_source=blogxgwz4
1、背景
大家知道hexo默认的链接是http://xxx.yy.com/2018/12/14/hello-world 这种类型的,这源于站点目录下的配置**_config.yml**里的配置:permalink: :year/:month/:day/:title/,所以,我们当我们在浏览器中浏览的时候,其地址实际上为如上所述。因而我们在处理链接跳转的时候,就也得跟着加上这部分前缀了。
2、链接优化
由于上诉中的日期前缀部分通常容易变化,所以为了我们的链接持久化,我们需要将其去掉,即我们在**_config.yml**中做如下修改:
1 | permalink: :year/:month/:day/:title/ |
此时网页链接写法
设文件《1Hexo的使用.md》和《2Hexo的进阶.md》处于同级目录下,则
当你在《1Hexo的使用.md》的时候想要链接进《2Hexo的进阶.md》的时候,
平时在markdown中的写法:./2Hexo的进阶.md
现在在Hexo网页中的写法1:../2Hexo的进阶
*现在在Hexo网页中的写法2:/文档管理/Hexo/2Hexo的进阶(因为根目录为/)
附:如果你想保持.md后缀,可将上诉改为
1 | permalink: :year/:month/:day/:title/ |
三、修改博客文章顺序/解决置顶问题
Hexo默认只提供了按发布日期的排序。
1、自定义排序优先级原理
修改排序的原理:在Hexo生成首页HTML时,将top值高的文章排在前面,达到置顶功能。
怎么置顶:每篇文章增加一个属性top,普通文章设置值为1,置顶文章设置为1以上。
1 | title: Hexo增加置顶属性 |
最终实现的排序逻辑通常是:
- 优先按
top值降序:top值越大的文章排得越靠前。 top值相同或没有时:再按date日期降序排列(即谁新谁靠前)。
2、自定义排序优先级实现
生成首页的是扩展插件node_modules/hexo-generator-index中。所以修改Hexo文件夹下的node_modules/hexo-generator-index/lib/generator.js,在生成文章之前进行文章top值排序。
最终的代码如下:
1 | 'use strict'; |
四、让部分文件不显示在feed中
想让以下文件不在feed中显示,但又不影响其网页地址的访问。
1 | source/_posts/Architecture架构/框架相关/WebView相关/h5_native_interacte/h5js/dvlp_h5js_demo_hardware.json |
要确保特定的 .json 文件不被Hexo渲染并出现在feed中,你可以使用 skip_render 配置项。这个配置项告诉Hexo忽略指定的文件或文件夹,直接将它们复制到 public 目录中,而不进行任何处理。
根据你希望排除的文件路径,你应该在Hexo的配置文件 _config.yml 中添加如下配置:
1 | skip_render: |
这行配置会确保 dvlp_h5js_demo_hardware.json 文件不会被Hexo渲染,并且不会出现在生成的feed中。请注意,路径是相对于 source 目录的,并且不以斜杠 / 开头。
完成配置后,为了确保更改生效,你需要执行以下命令来清除Hexo的缓存并重新生成站点:
1 | hexo clean |
使用 skip_render 配置项是处理这种情况的推荐方法,因为它可以精确控制哪些文件不应该被Hexo处理。这样,你就可以确保只有你希望被渲染的文件才会出现在最终的站点中。