Hexo博客设置数据文件


在Hexo页面中,将某些页面中需要重复更新、重复使用的数据信息从页面中分离出来,放入到source/_data中,把所有需要经常更新的数据都放到数据文件下,便于查找及更新,例如,导航页的网站信息、Windows软件信息。

数据文件

有时您可能需要在主题中使用某些资料,而这些资料并不在文章内,并且是需要重复使用的,那么您可以考虑使用 Hexo 3.0 新增的「数据文件」功能。此功能会载入 source/_data 内的 YAML 或 JSON 文件,如此一来您便能在网站中复用这些文件了。

举例来说,在 source/_data 文件夹中新建 menu.yml 文件:

Home: /  
Gallery: /gallery/  
Archives: /archives/  

您就能在模板中使用这些资料:

<% for (var link in site.data.menu) { %>  
 <a href="<%= site.data.menu[link] %>"> <%= link %> </a>  
<% } %>  

渲染结果如下 :

<a href="/"> Home </a>  
<a href="/gallery/"> Gallery </a>  
<a href="/archives/"> Archives </a>

实例

导航页网站数据文件

导航页各个网站的数据信息原本都存放在主题目录下的_config.yml文件中。

网站数量较多,放在主题目录下容易与其他配置项冗杂在一起。

source/_data文件下新建文件navsites.yml
将主题下的配置文件中的导航配置项剪切至navsites.yml

修改导航页面代码,定位到新文件中navsites.yml

将导航nav.ejs页面下所有涉及网站数据信息的路径进行替换,即将theme.navmenu替换site.data.navsites.navmenu、theme.navlogo替换site.data.navsites.navlogo、theme.navabout替换site.data.navsites.navabout等等,如下所示:

 <!-- e=theme.navmenu -->

 <% for( let e of theme.navmenu ) { %>

theme替换为site.data.navsites

 <!-- e=site.data.navsites.navmenu -->

 <% for( let e of site.data.navsites.navmenu ) { %>

评论
 上一篇
Echarts图表异步加载数据 Echarts图表异步加载数据
echarts图表中数据太多,可以将数据从页面配置项中拿出来,放入到单独的json文件中,并对其进行引用。简洁页面代码的同时也易于管理。
2022-04-02
下一篇 
Obsidian关联图床自动上传图片记录 Obsidian关联图床自动上传图片记录
Obsidian第三方插件无法加载如果无法加载第三方社区插件,需提前在obsidian笔记文件下提前加入一个插件 下载一个插件:obsidian-kanban 下载release中main.js、manifest.json、style.cs
2022-03-31
  目录