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文件夹
在这个文件夹里可以创建数据文件
有两种格式
- .json
- .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里的变量