Jekyll 帮助
命令行参数
jekyll build:构建静态 html 文件
--watch         # 一直监听文件变化, 持续转换
<i href=""> 你好 </i>
jekyll serve    # 监听文件并持续生成 html, 运行一个  web 服务器在 http://localhost:4000
                # --no-watch        # 不监听文件变化
                # --livereload      # 在文件更新时自动刷新浏览器
                # --incremental     # 增量重建
                # --detach 脱离终端运行
                # --detach 和 其它两个共用的时候不能正常使用(原因未知)
jekyll serve:构建静态 html 文件,并建立一个 web 服务器
--drafts        # 启用服务时不忽略草稿
--no--watch     # 不监听文件变化
--livereload    # 在文件更新时自动刷新浏览器
--incremental   # 增量构建
--detach        # 程序脱离终端运行
note:
--detach 似乎不能和 --livereload,--incremental 一起好好工作
在命令前加 bundler exec,可以让命令运行在 Gemfile 指定的环境下
Liquid 语法
变量
不显示某篇文章:published: false
为文章指定地址:permalink: /address
tag
对于 tag, {{- 和 {%- 相较于 {{ 和 {% 不会输出空行。
{% post_url filename %}:将文件名(不需要后缀)转为可访问的 URL
如果出现警告
Deprecation: A call to '{% post_url filename %}' did not match a post using the new matching method of checking name (path-date-slug) equality. Please make sure that you change this tag to match the post's name exactly.
- 一个原因是需要在 filename 前加上路径 path (即 path-filename)即可消除警告。path 是项目根目录到文件的所有中间目录用 / 连接得到的字符串。这里的所有中间目录不包括 _posts 目录。path 最前面有没有 / 是不重要的。
- 还有一种原因是 _posts 不是最后一个中间目录。换句话说,从根目录到文件的路径上只能有一个 _posts 目录且必须是文件的父目录。
 note:官网里案例是搭配 {{ site.baseurl }} 使用,jekyll 3.8.5 实测不搭配也可以用。
{% link filename %}:将文件名(需要后缀)转为可访问的 URL
这个和 post_url 同样将文件名转为 URL。link 和 post_url 不同的是,post_url 是针对 _posts 下的文件的,而 link 对所有文件都可以。filename 需要是相对与项目根目录的路径,不可以省略任何目录,不可以省略后缀,第一个字符不能是 /。
note:官网里提示说 v4.0 后可以不在前面加 {{ site.baseurl }},jekyll 3.8.5 实测可以不加。
配置过程中遇到的其它相关问题
打算使用 visual studio code 写 markdown,想自定义代码块,配置好了以后不生效。 需要在 settings.json 中加上下面的代码才可以生效。
    "[markdown]": {
        "editor.quickSuggestions": true,
    },
额外小知识
| 名词 | 解释 | 
|---|---|
| Ruby | 一个脚本语言 | 
| gem | 用 ruby 写的应用 | 
| RubyGems | 库的管理工具,别名也叫做 gem | 
| bundler | 用于解决 Ruby 项目的依赖问题 |