Cryogen文档-编写文章
编写博客是 Cryogen 的核心支持,你只需要在指定的文件夹中编写 Markdown/AsciiDoc 文件,然后 Cryogen 负责将这些文件编译成一个博客网站。
存放博客文章的文件夹
你应该将所有的博客文章都放在配置文件中 post-root
属性指定的文件夹路径下,然后在文章中配置好相应的元数据(稍后说明),这些元数据是用来指定文章的格式的,并且文章的内容符合 Markdown/AsciiDoc 的语法,Cryogen 在编译时会就把它转换为 Html 页面。
新建文章
创建一篇文章,你只需要在 post-root
目录下创建一个新的 Mardown 或者 AsciiDoc 文件(取决于你在配置文件中指定的格式 - 你只能选择其中之一),如果使用 Markdown,你的文章应该放在 templages/md/{post-root}
目录下,如果使用 AsciiDoc,则放在 templages/asc/{post-root}
目录下,注意,每篇文章文件名字的开头要加上日期(eg. 2014-03-12-你只需要拥有一点信念.md/asc)。
请一定要确保你的文章文件命名使用的日期格式要和 config.edn
配置文件中指定的日期格式是一致的。
例如,如果指定的日期格式为 dd-MM-yyyy
,Cryogen 要求你的文章文件的命名符合如下格式:
dd-MM-yyyy-标题.md
如果在配置文件中没有指定日期格式,Cryogen 会使用默认的格式(yyyy-MM-dd)。
或者,如果你不想在文件的命名中指定日期,你可以在文章内容中配置元数据 :date
指定日期,同样,日期格式要和 config.edn
中的一致。
注意,文件标题分隔不要使用空格,要使用英文的破折号。
文章内容
每篇文章都要配置好指定的元数据,它们是用来标识你的文章的标题和内容格式的。以下属性为必填:
属性 | 描述 |
---|---|
title | 字符串格式的文章标题 |
layout | 一个键值指定你的文章生成的 html 文件放置的位置 themes/{theme}/html |
以下属性为可选:
属性 | 描述 |
---|---|
date | 指定你的文章发表日期,必须要和 config.edn 配置文件中指定的日期格式一致。 非 可选,如果你没有在文章文件的命名中指定日期。 |
author | 指定文章作者 |
tags | 标签分类 |
toc | 指定为 true ,如果你想在文章内容的开头加上文章目录。 (目录默认是使用有序格式的,如果要用无序,指定 :ul ) |
draft? | 指定为 true ,编译器将会忽略它,如果你的文章作为草稿还不想发布到博客站点上 |
下面为 Markdown 格式的一个基础模板:
{:title "First Post!"
:layout :post
:date "2014-03-12"
:tags ["tag1" "tag3"]}
## Hello World
This is my first post!
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Nunc sodales pharetra massa, eget fringilla ex ornare et.
Nunc mattis diam ac urna finibus sodales. Etiam sed ipsum
et purus commodo bibendum. Cras libero magna, fringilla
tristique quam sagittis, volutpat auctor mi. Aliquam luctus,
nulla et vestibulum finibus, nibh justo semper tortor, nec
vestibulum tortor est nec nisi.
多作者模式
通过 :author
元属性,你可以指定文章的作者。如果你的博客存在多个作者,而且每个作者的页面格式都不一样,你需要在 config.edn
配置文件中指定 :author-root-uri
属性,然后编译器会根据 templates/themes/{theme}/html/author.html
生成对应作者的 Html 文件。如果文章中没有指定 :author
属性,那么 config.edn
中的 :author
会被使用。
标签分类
Cryogen 会自动为你在文章中指定的每一个唯一的标签生成对应的页面。
在文章中包含图片
如果你要在文章或页面中包含图片,有下面两种方式:
1. 在 template
目录下创建 assets
或者 img
文件夹,确保这个文件夹的名称要和 config.edn
中的 resources
一致,这样编译器才能将你的图片传输到 public
目录下。
2. 如果你的文章使用 Markdown 格式编写,你可以通过 Markdown 语法指定图片,需要注意的是要将文章和包含的图片放在单独的目录下,如下所示:
md
|---posts
|---2014-03-11-title.md
|---diving
|---2014-03-12-title.md
|---turtle.jpg
|---dolphin.jpg
注意,如果你使用了第二种方式,编译器会将你的图片复制到 public/img
下,所有下面使用这些图片时指定相应的地址
Markdown 中包含图片
如果你的文章使用 Markdown ,请使用如下格式包含图片: (img
为你在 resources/templates
下创建的文件夹)

如果你在 config.edn
中配置了前缀,如 /blog
,Cryogen 会自动为你的图片加上它,即

会被编译成:
<img src="/blog/img/img01.png">
代码高亮
Cryogen 使用 highlight.js 支持代码语法高亮。你的代码片段要包含在 (```) 中,这样 highlight.js 会自动检测代码片段的代码语言,并加上对应的代码颜色,如果你想手动指定代码语言,在开始 (```) 标记中指定即可。
集成 Disqus
如果你想在文章中启动评论,创建一个 disqus 帐号和 注册 你的博客。 确保配置文件 config.edn
中的 disqus?
设置为 true
和指定 disqus-shortname
的值。
文章存档
Cryogen 会自动生成和更新你的文章存档页面,如果你想更改这个页面的样式,你可以编辑 templates/themes/{theme}/html/archives.html
文件。