模板中使用助手来帮助你快速插入片段。不能在源文件中使用助手。
¥Helpers are used in templates to help you insert snippets quickly. Helpers cannot be used in source files.
你可以轻松 编写你自己的自定义助手 或使用我们现成的助手。
¥You could easily write your own custom helper or use our ready-made helpers.
URL
url_for
返回带有根路径前缀的 URL。输出自动编码。
¥Returns a URL with the root path prefixed. Output is encoded automatically.
<%- url_for(path, [option]) %> |
选项 | 描述 | 默认 |
---|---|---|
relative |
输出相对链接 | config.relative_link 的值 |
示例:
¥Examples:
_config.yml |
<%- url_for('/a/path') %> |
相对链接,默认遵循 relative_link
选项,例如帖子/页面路径为 ‘/foo/bar/index.html’
¥Relative link, follows relative_link
option by default
e.g. post/page path is ‘/foo/bar/index.html’
_config.yml |
<%- url_for('/css/style.css') %> |
relative_url
返回从 from
到 to
的相对 URL。
¥Returns the relative URL from from
to to
.
<%- relative_url(from, to) %> |
示例:
¥Examples:
<%- relative_url('foo/bar/', 'css/style.css') %> |
full_url_for
返回带有 config.url
前缀的 URL。输出自动编码。
¥Returns a URL with the config.url
prefixed. Output is encoded automatically.
<%- full_url_for(path) %> |
示例:
¥Examples:
_config.yml |
<%- full_url_for('/a/path') %> |
gravatar
返回来自电子邮件的 Gravatar 图片 URL。
¥Returns the gravatar image URL from an email.
如果你未指定 [options] 参数,则将应用默认选项。否则,你可以将其设置为一个数字,然后将其作为大小参数传递给 Gravatar。最后,如果你将其设置为对象,它将转换为 Gravatar 参数的查询字符串。
¥If you don’t specify the [options] parameter, the default options will apply. Otherwise, you can set it to a number which will then be passed on as the size parameter to Gravatar. Finally, if you set it to an object, it will be converted into a query string of parameters for Gravatar.
<%- gravatar(email, [options]) %> |
选项 | 描述 | 默认 |
---|---|---|
s |
输出图片大小 | 80 |
d |
默认图片 | |
f |
强制默认 | |
r |
评分 |
更多信息:Gravatar
¥More info: Gravatar
示例:
¥Examples:
<%- gravatar('a@abc.com') %> |
HTML 标签
¥HTML Tags
css
加载 CSS 文件。path
可以是数组或字符串。path
可以是字符串、数组、对象或对象数组。/<root>/
值被添加到前面,而 .css
扩展名则自动附加到 path
。使用对象类型作为自定义属性。
¥Loads CSS files. path
can be an array or a string. path
can be a string, an array, an object or an array of objects. /<root>/
value is prepended while .css
extension is appended to the path
automatically. Use object type for custom attributes.
<%- css(path, ...) %> |
示例:
¥Examples:
<%- css('style.css') %> |
js
加载 JavaScript 文件。path
可以是字符串、数组、对象或对象数组。/<root>/
值被添加到前面,而 .js
扩展名则自动附加到 path
。使用对象类型作为自定义属性。
¥Loads JavaScript files. path
can be a string, an array, an object or an array of objects. /<root>/
value is prepended while .js
extension is appended to the path
automatically. Use object type for custom attributes.
<%- js(path, ...) %> |
示例:
¥Examples:
<%- js('script.js') %> |
link_to
插入链接。
¥Inserts a link.
<%- link_to(path, [text], [options]) %> |
选项 | 描述 | 默认 |
---|---|---|
external |
在新选项卡中打开链接 | false |
class |
类别名称 | |
id |
ID |
示例:
¥Examples:
<%- link_to('http://www.google.com') %> |
mail_to
插入邮件链接。
¥Inserts a mail link.
<%- mail_to(path, [text], [options]) %> |
选项 | 描述 |
---|---|
class |
类别名称 |
id |
ID |
subject |
邮件主题 |
cc |
CC |
bcc |
BCC |
body |
邮件内容 |
示例:
¥Examples:
<%- mail_to('a@abc.com') %> |
image_tag
插入图片。
¥Inserts an image.
<%- image_tag(path, [options]) %> |
选项 | 描述 |
---|---|
alt |
图片的替代文本 |
class |
类别名称 |
id |
ID |
width |
图片宽度 |
height |
图片高度 |
favicon_tag
插入图标。
¥Inserts a favicon.
<%- favicon_tag(path) %> |
feed_tag
插入 feed 链接。
¥Inserts a feed link.
<%- feed_tag(path, [options]) %> |
选项 | 描述 | 默认 |
---|---|---|
title |
Feed 标题 | config.title |
type |
Feed 类型 |
示例:
¥Examples:
<%- feed_tag('atom.xml') %> |
条件标签
¥Conditional Tags
is_current
检查 path
是否与当前页面的 URL 匹配。使用 strict
选项启用严格匹配。
¥Check whether path
matches the URL of the current page. Use strict
options to enable strict matching.
<%- is_current(path, [strict]) %> |
is_home
检查当前页面是否为主页。
¥Check whether the current page is home page.
<%- is_home() %> |
is_home_first_page(+6.3.0)
检查当前页面是否为主页的第一页。
¥Check whether the current page is the first of home page.
<%- is_home_first_page() %> |
is_post
检查当前页面是否为帖子。
¥Check whether the current page is a post.
<%- is_post() %> |
is_page
检查当前页面是否为页面。
¥Check whether the current page is a page.
<%- is_page() %> |
is_archive
检查当前页面是否为存档页面。
¥Check whether the current page is an archive page.
<%- is_archive() %> |
is_year
检查当前页面是否为年度存档页面。
¥Check whether the current page is a yearly archive page.
<%- is_year() %> |
is_month
检查当前页面是否为月度存档页面。
¥Check whether the current page is a monthly archive page.
<%- is_month() %> |
is_category
检查当前页面是否为类别页面。如果给出字符串作为参数,则检查当前页面是否与给定的类别匹配。
¥Check whether the current page is a category page.
If a string is given as parameter, check whether the current page match the given category.
<%- is_category() %> |
is_tag
检查当前页面是否为标签页面。如果给出字符串作为参数,则检查当前页面是否与给定的标签匹配。
¥Check whether the current page is a tag page.
If a string is given as parameter, check whether the current page match the given tag.
<%- is_tag() %> |
字符串操作
¥String Manipulation
trim
删除字符串的前缀和尾随空格。
¥Removes prefixing and trailing spaces of a string.
<%- trim(string) %> |
strip_html
清理字符串中的所有 HTML 标签。
¥Sanitizes all HTML tags in a string.
<%- strip_html(string) %> |
示例:
¥Examples:
<%- strip_html('It\'s not <b>important</b> anymore!') %> |
titlecase
将字符串转换为正确的标题大写。
¥Transforms a string into proper title caps.
<%- titlecase(string) %> |
示例:
¥Examples:
<%- titlecase('this is an apple') %> |
markdown
使用 Markdown 渲染字符串。
¥Renders a string with Markdown.
<%- markdown(str) %> |
示例:
¥Examples:
<%- markdown('make me **strong**') %> |
render
渲染字符串。
¥Renders a string.
<%- render(str, engine, [options]) %> |
示例:
¥Examples:
<%- render('p(class="example") Test', 'pug'); %> |
详细信息请参见 渲染。
¥See Rendering for more details.
word_wrap
将文本封装成不超过 length
的行。length
默认为 80。
¥Wraps text into lines no longer than length
. length
is 80 by default.
<%- word_wrap(str, [length]) %> |
示例:
¥Examples:
<%- word_wrap('Once upon a time', 8) %> |
truncate
截断某些 length
后的文本。默认为 30 个字符。
¥Truncates text after certain length
. Default is 30 characters.
<%- truncate(text, [options]) %> |
示例:
¥Examples:
<%- truncate('Once upon a time in a world far far away', {length: 17}) %> |
escape_html
在字符串中转义 HTML 实体。
¥Escapes HTML entities in a string.
<%- escape_html(str) %> |
示例:
¥Examples:
<%- escape_html('<p>Hello "world".</p>') %> |
模板
¥Templates
partial
加载其他模板文件。你可以在 locals
中定义局部变量。
¥Loads other template files. You can define local variables in locals
.
<%- partial(layout, [locals], [options]) %> |
选项 | 描述 | 默认 |
---|---|---|
cache |
缓存内容(使用片段缓存) | false |
only |
严格的局部变量。仅使用模板中 locals 中设置的变量。 |
false |
fragment_cache
缓存片段中的内容。它将内容保存在片段中,并在下一个请求进入时提供缓存。
¥Caches the contents in a fragment. It saves the contents within a fragment and serves the cache when the next request comes in.
<%- fragment_cache(id, fn); |
示例:
¥Examples:
<%- fragment_cache('header', function(){ |
日期和时间
¥Date & Time
date
插入格式化日期。date
可以是 unix 时间、ISO 字符串、日期对象或 Moment.js 对象。format
默认为 date_format
设置。
¥Inserts formatted date. date
can be unix time, ISO string, date object, or Moment.js object. format
is date_format
setting by default.
<%- date(date, [format]) %> |
示例:
¥Examples:
<%- date(Date.now()) %> |
date_xml
插入 XML 格式的日期。date
可以是 unix 时间、ISO 字符串、日期对象或 Moment.js 对象。
¥Inserts date in XML format. date
can be unix time, ISO string, date object, or Moment.js object.
<%- date_xml(date) %> |
示例:
¥Examples:
<%- date_xml(Date.now()) %> |
time
插入格式化时间。date
可以是 unix 时间、ISO 字符串、日期对象或 Moment.js 对象。format
默认为 time_format
设置。
¥Inserts formatted time. date
can be unix time, ISO string, date object, or Moment.js object. format
is time_format
setting by default.
<%- time(date, [format]) %> |
示例:
¥Examples:
<%- time(Date.now()) %> |
full_date
插入格式化的日期和时间。date
可以是 unix 时间、ISO 字符串、日期对象或 Moment.js 对象。format
默认为 date_format + time_format
设置。
¥Inserts formatted date and time. date
can be unix time, ISO string, date object, or Moment.js object. format
is date_format + time_format
setting by default.
<%- full_date(date, [format]) %> |
示例:
¥Examples:
<%- full_date(new Date()) %> |
relative_date
插入从现在开始的相对时间。date
可以是 unix 时间、ISO 字符串、日期对象或 Moment.js 对象。
¥Inserts relative time from now. date
can be unix time, ISO string, date object, or Moment.js object.
<%- relative_date(date) %> |
示例:
¥Examples:
<%- relative_date(new Date()) %> |
time_tag
插入时间标签。date
可以是 unix 时间、ISO 字符串、日期对象或 Moment.js 对象。format
默认为 date_format
设置。
¥Inserts time tag. date
can be unix time, ISO string, date object, or Moment.js object. format
is date_format
setting by default.
<%- time_tag(date, [format]) %> |
示例:
¥Examples:
<%- time_tag(new Date()) %> |
moment
Moment.js 库。
¥Moment.js library.
列表
¥List
list_categories
插入所有类别的列表。
¥Inserts a list of all categories.
<%- list_categories([options]) %> |
选项 | 描述 | 默认 |
---|---|---|
orderby |
类别顺序 | name |
order |
排序顺序。1 、asc 为升序;-1 、desc 为降序 |
1 |
show_count |
显示每个类别的帖子数 | true |
style |
显示类别列表的样式。list 以无序列表的形式显示类别。使用 false 或任何其他值来禁用它。 |
list |
separator |
类别之间的分隔符。(仅当 style 不是 list 时才有效) |
, |
depth |
要显示的类别级别。0 显示所有类别和子类别;-1 与 0 类似,但以扁平显示;1 仅显示顶层类别。 |
0 |
class |
分类列表的类名。 | category |
transform |
更改类别名称显示的函数。 | |
suffix |
添加后缀以链接。 | 无 |
示例:
¥Examples:
<%- list_categories(post.categories, { |
list_tags
插入所有标签的列表。
¥Inserts a list of all tags.
<%- list_tags([options]) %> |
选项 | 描述 | 默认 |
---|---|---|
orderby |
标签顺序 | name |
order |
排序顺序。1 、asc 为升序;-1 、desc 为降序 |
1 |
show_count |
显示每个标签的帖子数 | true |
style |
显示标签列表的样式。list 以无序列表的形式显示标签。使用 false 或任何其他值来禁用它。 |
list |
separator |
类别之间的分隔符。(仅当 style 不是 list 时才有效) |
, |
class |
标签列表的类名(字符串)或自定义每个标签的类(对象,见下文)。 | tag |
transform |
更改标签名称显示的函数。参见 list_categories 中的示例。 | |
amount |
要显示的标签数(0 = 无限制) | 0 |
suffix |
添加后缀以链接。 | 无 |
类别高级自定义:
¥Class advanced customization:
选项 | 描述 | 默认 |
---|---|---|
class.ul |
<ul> 类名(仅适用于样式 list ) |
tag-list (列表样式) |
class.li |
<li> 类名(仅适用于样式 list ) |
tag-list-item (列表样式) |
class.a |
<a> 类名 |
tag-list-link (列表样式)tag-link (普通样式) |
class.label |
存储标签标签的 <span> 类名(仅适用于普通样式,当设置 class.label 时,标签将放入 <span> 中) |
tag-label (正常样式) |
class.count |
存储标签计数器的 <span> 类名(仅当 show_count 为 true 时) |
tag-list-count (列表样式)tag-count (普通样式) |
示例:
¥Examples:
<%- list_tags(site.tags, {class: 'classtest', style: false, separator: ' | '}) %> |
list_archives
插入档案列表。
¥Inserts a list of archives.
<%- list_archives([options]) %> |
选项 | 描述 | 默认 |
---|---|---|
type |
类型。此值可以是 yearly 或 monthly 。 |
monthly |
order |
排序顺序。1 、asc 为升序;-1 、desc 为降序 |
1 |
show_count |
显示每个存档的帖子数 | true |
format |
日期格式 | MMMM YYYY |
style |
显示存档列表的样式。list 以无序列表的形式显示档案。使用 false 或任何其他值来禁用它。 |
list |
separator |
档案之间的分隔符。(仅当 style 不是 list 时才有效) |
, |
class |
存档列表的类名。 | archive |
transform |
更改存档名称显示的函数。参见 list_categories 中的示例。 |
list_posts
插入帖子列表。
¥Inserts a list of posts.
<%- list_posts([options]) %> |
选项 | 描述 | 默认 |
---|---|---|
orderby |
帖子顺序 | date |
order |
排序顺序。1 、asc 为升序;-1 、desc 为降序 |
1 |
style |
显示帖子列表的样式。list 以无序列表的形式显示帖子。使用 false 或任何其他值来禁用它。 |
list |
separator |
帖子之间的分隔符。(仅当 style 不是 list 时才有效) |
, |
class |
帖子列表的类名。 | post |
amount |
要显示的文章数(0 = 无限制) | 6 |
transform |
更改帖子名称显示的函数。参见 list_categories 中的示例。 |
tagcloud
插入标签云。
¥Inserts a tag cloud.
<%- tagcloud([tags], [options]) %> |
选项 | 描述 | 默认 |
---|---|---|
min_font |
最小字体大小 | 10 |
max_font |
最大字体大小 | 20 |
unit |
字体大小单位 | px |
amount |
标签总数 | unlimited |
orderby |
标签顺序 | name |
order |
排序顺序。1 、asc 为升序;-1 、desc 为降序 |
1 |
color |
为标签云着色 | false |
start_color |
开始颜色。你可以使用 hex (#b700ff )、rgba (rgba(183, 0, 255, 1) )、hsla (hsla(283, 100%, 50%, 1) ) 或 [color keywords]。此选项仅在 color 为真时才有效。 |
|
end_color |
结束颜色。你可以使用 hex (#b700ff )、rgba (rgba(183, 0, 255, 1) )、hsla (hsla(283, 100%, 50%, 1) ) 或 [color keywords]。此选项仅在 color 为真时才有效。 |
|
class |
标签的类名前缀 | |
level |
不同类名的数量。此选项仅在设置 class 时才有效。 |
10 |
show_count (+6.3.0) |
显示每个标签的帖子数 | false |
count_class (+6.3.0) |
标签计数的类名 | count |
示例:
¥Examples:
// Default options |
杂项
¥Miscellaneous
paginator
插入分页器。
¥Inserts a paginator.
<%- paginator(options) %> |
选项 | 描述 | 默认 |
---|---|---|
base |
基本 URL | / |
format |
URL 格式 | page/%d/ |
total |
页数 | 1 |
current |
当前页码 | 0 |
prev_text |
上一页的链接文本。仅当 prev_next 设置为 true 时才有效。 |
上一个 |
next_text |
下一页的链接文本。仅当 prev_next 设置为 true 时才有效。 |
下一步 |
space |
空格文本 | &hellp; |
prev_next |
显示上一个和下一个链接 | true |
end_size |
在开始和结束侧显示的页面数 | 1 |
mid_size |
当前页面之间显示的页面数,但不包括当前页面 | 2 |
show_all |
显示所有页面。如果设置为 true,end_size 和 mid_size 将不起作用 |
false |
escape |
转义 HTML 标签 | true |
page_class (+6.3.0) |
页面类名 | page-number |
current_class (+6.3.0) |
当前页面类别名称 | current |
space_class (+6.3.0) |
空间类名 | space |
prev_class (+6.3.0) |
上一页类名 | extend prev |
next_class (+6.3.0) |
下一页类名 | extend next |
force_prev_next (+6.3.0) |
强制显示上一个和下一个链接 | false |
示例:
¥Examples:
<%- paginator({ |
<!-- Rendered as --> |
<%- paginator({ |
<!-- Rendered as --> |
search_form
插入 Google 搜索表单。
¥Inserts a Google search form.
<%- search_form(options) %> |
选项 | 描述 | 默认 |
---|---|---|
class |
表单的类名 | search-form |
text |
搜索提示词 | 搜索 |
button |
显示搜索按钮。值可以是布尔值或字符串。如果值是字符串,它将是按钮的文本。 | false |
number_format
格式化数字。
¥Formats a number.
<%- number_format(number, [options]) %> |
选项 | 描述 | 默认 |
---|---|---|
precision |
数字精度。值可以是 false 或非负整数。 |
false |
delimiter |
千位分隔符 | , |
separator |
小数和整数之间的分隔符。 | . |
示例:
¥Examples:
<%- number_format(12345.67, {precision: 1}) %> |
meta_generator
插入 生成器标签。
¥Inserts generator tag.
<%- meta_generator() %> |
示例:
¥Examples:
<%- meta_generator() %> |
open_graph
插入 Open Graph 数据。
¥Inserts Open Graph data.
<%- open_graph([options]) %> |
选项 | 描述 | 默认 |
---|---|---|
title |
页面标题 (og:title ) |
page.title |
type |
页面类型 (og:type ) |
article(post page) website(non-post page) |
url |
页面 URL (og:url ) |
url |
image |
页面图片 (og:image ) |
内容中的所有图片 |
author |
文章作者(og:article:author ) |
config.author |
date |
文章发布时间(og:article:published_time ) |
页面发布时间 |
updated |
文章修改时间(og:article:modified_time ) |
页面修改时间 |
language |
文章语言(og:locale ) |
page.lang || page.language || config.language |
site_name |
站点名称(og:site_name ) |
config.title |
description |
页面描述 (og:description ) |
页面摘录或内容的前 200 个字符 |
twitter_card |
Twitter 卡片类型 (twitter:card ) |
summary |
twitter_id |
Twitter ID (twitter:creator ) |
|
twitter_site |
Twitter 网站 (twitter:site ) |
|
twitter_image |
Twitter 图片 (twitter:image ) |
|
google_plus |
Google+个人资料链接 | |
fb_admins |
Facebook 管理员 ID | |
fb_app_id |
Facebook 应用 ID |
toc
解析内容中的所有标题标签(h1~h6)并插入目录。
¥Parses all heading tags (h1~h6) in the content and inserts a table of contents.
<%- toc(str, [options]) %> |
选项 | 描述 | 默认 |
---|---|---|
class |
类别名称 | toc |
class_item (+6.3.0) |
项目类别名称 | ${class}-item |
class_link (+6.3.0) |
链接类别名称 | ${class}-link |
class_text (+6.3.0) |
文本类别名称 | ${class}-text |
class_child (+6.3.0) |
子类别名称 | ${class}-child |
class_number (+6.3.0) |
编号类别名称 | ${class}-number |
class_level (+6.3.0) |
级别的类名前缀 | ${class}-level |
list_number |
显示列表编号 | true |
max_depth |
生成的目录的最大标题深度 | 6 |
min_depth |
生成的目录的最小标题深度 | 1 |
max_items (+7.3.0) |
生成的目录中的最大项目数 | Infinity |
示例:
¥Examples:
<%- toc(page.content) %> |
data-toc-unnumbered(+6.1.0)
带有属性 data-toc-unnumbered="true"
的标题将被标记为未编号(不会显示列表编号)。
¥Headings with attribute data-toc-unnumbered="true"
will be marked as unnumbered (list number will not be displayed).
Warning!对于使用
data-toc-unnumbered="true"
,渲染器必须具有添加 CSS 类的选项。¥For using
data-toc-unnumbered="true"
, the renderer must have the option to add CSS classes.请参阅以下 PR。
¥Please see the below PRs.