上面的数据可以通过site.data.orgs
进行引用, 例如
<ul>{% for org_hash in site.data.orgs %}{% assign org = org_hash[1] %}<li><a href="https://github.com/{{ org.username }}">{{ org.name }}</a>({{ org.members | size }} members)</li>{% endfor %}</ul>
静态文件在 _config.yml 中定义一个路径下的全部文件, 属性增加image = true
defaults:- scope:path: "assets/img"values:image: true
然后可以在变量中进行过滤
{% assign image_files = site.static_files | where: "image", true %}{% for myimage in image_files %}{{ myimage.path }}{% endfor %}
设置页面变量在任何 Jekyll 处理的页面文件的最开始(如果是UTF-8, 需要确认没有BOM), 以三横线开始和结束的一段YAML代码用于设置当前页面的页面变量, 例如
---layout: posttitle: Blogging Like a Hacker---
这里可以引用之前定义的变量, 也可以定义新的值, 例如
---food: Pizza---<h1>{{ page.food }}</h1>
预定义的变量
- 全局变量: layout, permalink, published
- 帖子变量: date, category, categories, tags
- jekyll-coffeescript
- jekyll-default-layout
- jekyll-gist
- jekyll-github-metadata
- jekyll-optional-front-matter
- jekyll-paginate
- jekyll-readme-index
- jekyll-titles-from-headings
- jekyll-relative-links
代码高亮GitHub Pages 中的代码高亮和 GitHub 是一样的, 默认情况下由 Jekyll 处理代码高亮, Jekyll 使用的代码高亮解析是 Rouge.
页面类型Jekyll 的页面分为不同的类型, 主要有 Page, Posts
PagesPages 用于做单独的页面, 单独创建, 可以放在任意目录, 生成时会放到 _site 目录下
PostsPosts 用于日常的文章发表, 创建时放到 _posts 目录下, 文件名需要使用如下固定的格式
YEAR-MONTH-DAY-title.MARKUP
例如2011-12-31-new-years-eve-is-awesome.md2012-09-12-how-to-write-a-blog.md
每个文章的固定格式如下, 前面的front matter可以为空---layout: posttitle:"Welcome to Jekyll!"---# Welcome**Hello world**, this is my first Jekyll blog post.I hope you like it!
静态文件静态文件例如图片, ZIP, PDF, 可以都放置在 assets 目录下, 再从文章中连接, 例如... which is shown in the screenshot below:
或者链接到PDF... you can [get the PDF](/assets/mydoc.pdf) directly.
文章列表使用以下方式创建文章列表<ul>{% for post in site.posts %}<li><a href="https://www.huyubaike.com/biancheng/{{ post.url }}">{{ post.title }}</a></li>{% endfor %}</ul>
分类和标签Tag 和 Category 都有单数复数的区分, 如果是单数, 后面的整个值都作为一个标签或分类, 如果是复数, 则按空格分隔tag: classic hollywood
会被当成标签"classic hollywood", 如果是tags: classic hollywood
, 则会被当成标签 "classic"和"hollywood".使用tag或category创建文章目录, 可以使用下面的形式, 注意
site.tags
和site.categories
的for循环中, 每个标签或分类会产生两个单元, 一个单元是名称, 另一个单元才是文章列表{% for tag in site.tags %}<h3>{{ tag[0] }}</h3><ul>{% for post in tag[1] %}<li><a href="https://www.huyubaike.com/biancheng/{{ post.url }}">{{ post.title }}</a></li>{% endfor %}</ul>{% endfor %}
分类与标签的区别在与, 分类可以直接由文章的目录路径来定义, 在_post
目录上层的目录, 都会被当成分类, 例如如果文章位于路径 movies/horror/_posts/2019-05-21-bride-of-chucky.markdown, 那么 movies 和 horror a自动成为这个文章的分类.
经验总结扩展阅读
- 越南国旗为什么和中国很像
- 金字塔和埃菲尔铁塔谁高
- 龙眼和桂圆是一样的吗
- 蝴蝶衣和连体衣区别是什么?
- 蝴蝶斑和黄褐斑一样吗?
- 牛奶和可乐的化学反应
- iQOO9Pro和苹果12哪个好-iQOO9Pro和苹果12参数对比
- 小米11拍照对比小米10至尊版_小米11和小米10至尊版拍照哪个好
- 小米12X和小米10S区别-小米12X和小米10S参数对比
- iPhone13和iPhone12外观区别_iPhone13和iPhone12外观一样吗