12.Hexo helpers类似函数和data folder数据文件夹

helper

Hexo里的helper,或者说是函数

基本上就是小函数,可以在layout布局中使用,可以允许做一些事情

如字符串操作、检查true或false、检查是否在一个页面上、打印出某个页面中的日期或时间特定格式

打开index.ejs

trim

可以通过

复制代码
<%-  %>

来访问helpers

在中间输入想要输入的helper的名称

复制代码
<%- trim %>

修剪前面的空白,字符串的尾随空格

复制代码
<%- trim("   This is my string   ")%>

这个字符串前后都有空格

在浏览器中渲染的时候,空格就消失了

titlecase

控制字符串中的大小写,将字符串中的每个单词大写

复制代码
<%- titlecase("This is my string")%>

发现每个单词的首字母都变为大写字母

date

可以用来显示日期和时间

复制代码
<%- date() %>

要传入的第一个事是想要分开i的日期

frontmatter上的日期,比如有一篇博客文章,可以用它来解析博客前面的日期

或者直接输入当前的日期

复制代码
<%- date(Date.now(), 'YYYY/M/D') %>

这样会提供当前日期和时间,然后给出想要打印使用的格式

time
复制代码
<%- time(Date.now(), 'h:mm:ss a') %>

h:mm:ss是时间格式,a来显示是am还是pm

其余的helper可以查看官方的Hexo文档
Helpers | Hexo


data folder

date foler是一个非常特殊的文件夹

基本上可以用作是网站上的迷你数据库,可以去存储外部数据文件的地方,如果想要在网站内部使用这些文件

在Hexo中存储信息的方式之一是在frontmatter中

有a和b两个md文件

可以知道标题日期和作者

如果想要存储与特定博客文章无关的数据

如果想要访问一般数据

可以使用data folder来实现操作

在source文件夹里,创建一个_data文件夹

在这个文件夹里可以创建数据文件

有两种格式

  1. .json
  2. .yml
    这也是frontmatter可以使用的两种格式
    所以访问数据文件夹和数据文件和访问frontmatter相似

创建一个数据文件myData.yml

这里有一些简单的值,都只有字符串

要做的就是在任何一个模板中去使用这个文件里的信息

转到index.ejs文件

输入

复制代码
<%- site.data.myData.var1 %>

其余的也一样

循环访问data文件中的数据

复制代码
<% for(var value in site.data.myData) { %>

<% } %>

会循环遍历数据文件上的所有值

这些值会存储在var value中

比如要打印这些值

复制代码
<% for(var value in site.data.myData) { %>
	<%- value %> <br>
<% } %>

这样可以打印出所有变量的名称,而不是打印出变量的值

复制代码
<% for(var value in site.data.myData) { %>
	<%- site.data.myData[value] %> <br>
<% } %>

这样就访问了data file里的变量

相关推荐
Brilliantwxx13 分钟前
【Linux】 开发|Git 版本控制与 gdb/cgdb 调试
linux·笔记·git
eric-sjq11 小时前
10 分钟实战:用 0.6B 本地模型生成中文网页(WanlyFrontend + 编译器全流程)
javascript·机器学习·自然语言处理·html
iCxhust19 小时前
8088单板机VScode集成开发环境使用方法
ide·笔记·vscode·编辑器·微机原理·8088单板机
如何原谅奋力过但无声21 小时前
现代化Python工具:uv、Ruff、Pyright、Rich(只讲重点版)
vscode·python·uv
.Hypocritical.1 天前
Git 全套实操|配置 /.gitignore/ 分支合并 / 冲突解决 /git stash 完整教程
git
来日方长。。。。long1 天前
Hermes Agent橙皮书共读|第三篇:保姆级实战部署|本地/VPS从零搭建Hermes
ide·git·hermes
其实防守也摸鱼1 天前
VS Code Git 工作树:解锁多分支并行开发新体验
数据库·git·安全·oracle·架构·自动化
烟锁池塘柳01 天前
Conda 创建环境报错:Unable to read repodata JSON file,清华源 pkgs/free 失效解决方法
json·conda
Molesidy1 天前
【VSCode】基于win10系统老版本和VSCode最新版本下出现的VSCode内置的终端窗口不能运行的问题的解决方案
ide·vscode·编辑器
ERD Online1 天前
我们怎么设计 good first issue:让第一个 PR 两小时内合入
数据库·git·后端·开源·issue