这是背景图片

技巧:关于 Jekyll 的一些相关设置


Liquid语法

Jekyll 依靠 Liquid 来解析模板,因此语法可参考 Liquid语法。

  1. 《Jekyll语法介绍》
  2. 《Liquid语法介绍》

语法

# post.tags 表示要查询的字段;
# 竖线后面跟的是过滤器 “| jsonify”,意思是“将数据格式转化为json格式并输出”。
"tags": { { post.tags | jsonify }}   

关于 {%{%– 的区别

用于移除代码块上下的空白行。(参考文档:《Whitespace control》

添加前:

添加后:

推送时忽略某个文件夹

编辑根目录下文件 .gitignore文件,在其中添加对应的文件夹名字或文件名即可。

_site
.sass-cache
.jekyll-cache
.jekyll-metadata
vendor

更改固定链接

参考官方文档 或者直接在文章的 YAML 头信息 添加以下代码:

permalink: /docs/jekyll 

单页面

可以直接网站根目录下新建 abc.html,然后设置固定链接 permalink;最后将链接添加到导航栏中即可。

新窗口打开

2021.03.26 更新:

$(".post-body a[href]").attr({"target":"_black","rel":"noopener noreferrer"});

声明变量

# 这里是声明 name = 标签名称,
# 在当前循环中可以直接用 { { name }} 调用。
{ % assign name = tag | first %}    

判断当前页面是否是指定页面

# 如果当前页面是目标页面,则加载js文件。
{ %- if { {page.url}} == '/page/tags/' -%}
<script src='{ { "/assets/js/wzm_tags.js" | relative_url }}'></script> 
{ %- endif -%}

给文章页面的标签加链接

参考文档《Liquid语法》

{ %- for tag in page.tags -%}
<a href="/page/tags/#{ { tag }}">{ { tag }}</a>
{ %- endfor -%}

标签排序、类别排序

只支持英文排序,不支持中文排序。

{ % assign sort_tags = site.tags | sort %}
{ %- for tag in sort_tags -%}
……
{ %- endfor -%}
{ % assign sort_categories = site.categories | sort %}
{ %- for tag in sort_categories -%}
……
{ %- endfor -%}

在 for 循环中插入 if 语句

{ %- if site.jekyll.size > 0 -%}
{ %- assign date_format = site.minima.date_format | default: "%Y年%m月%d日" -%}
{ %- for post in site.jekyll -%}
    # 过滤器modulo介绍:https://shopify.github.io/liquid/filters/modulo/
    # 这里的整体意思是:每3篇文章分为一组,在每组的第一篇文章前添加一个DIV。
    { % assign mod3 = forloop.index | modulo: 3 %}
    <article class="card collections-loop-item">
    ……
    </article>
    { % if mod3 == 0 %}
        <div class="w-100"></div>
    { % endif %}
{ %- endfor -%}
{ %- endif -%}

不使用任何模板

layout: null

正文结束,如有错误或者遗漏请点击屏幕下方右侧的“发现错误”告诉我。