jekyll的核心其实是一个文本转换引擎。它的概念其实就是:你用你最喜欢的标记语言来写文章,可以是markdown,也可以是textile,或者就是简单的HTML,然后jekyll就会帮你套入一个或一系列的布局中。在整个过程中你可以设置url路径,你的文本在布局中显示的样式等等。这些都可以通过纯文本编辑来实现,最终生成静态页面就是你的成品了。
一个基本的jekyll网站的目录结构一般是像这样的:
_config.yml _drafts ├─begin-with-the-crazy-ideas.textile └─on-simplicity-in-technology.markdown _includes ├─footer.html └─header.html _layouts ├─default.html └─post.html _posts ├─2007-10-29-why-every-programmer-should-play-nethack.textile └─2009-04-26-i-want-eat-hotdog.textile _data └─members.yml _site index.html
来看看这些都有什么用:
_config.yml 保存配置数据。很多配置选项都会直接从命令行中进行设置,但是如果你把那些配置写在这儿,你就不用非要去记住那些命令了。 _drafts drafts是未发布的文章。这些文件的格式中都没有title.MARKUP数据。 _includes 你可以加载这些包含部分到你的布局或者文章中以方便重用。可以用这个标签{%include file.ext%}来把文件_/includes/file.ext包含进来。 _layouts layouts是包裹在文章外部的模板。布局可以在YAML头信息中根据不同文章进行选择。这将在下一个部分进行介绍。标签{{ content }}可以将content插入页面中。 _posts 这里放的就是你的文章了。文件格式很重要,必须符合:`YEAR-MONTH-DAY-TITLE.MARKUP`。The permalinks可以在文章中自己定制,但是数据和标记语言都是根据文件名来确定的。 _data Well-formatted site data should be placed here.the jekyll engine will autoload all yaml file`members.yml`under the directory,then you can access contents of the file through`site.data.members`. _site 一旦jekyll完成转换,就会将生成的页面放在这里(默认)。最好将这个目录放进你的`.gitignore`文件中。 index.html and other HTML,MarkDown,Textile files 如果这些文件中包含YAML头信息部分,jekyll就会自动将它们进行转换。当然,其他的如.html,.markdown,.md,或者.textile等在你的站点根目录下或者不是以上提到的目录中的文件也会被转换。 Other Files/Folders 其他一些未被提及的目录和文件如css还有images文件夹,favicon.icon等文件都将被完全拷贝到生成的site中。
链接:https://www.jianshu.com/p/50d97f32e558