站点装修
乐乎如果你不满意默认的样式,可以自己动手装修。成功入驻乐乎之后,你的本地文件夹会多出一些文件。你可以尝试访问自己的域名,会看到跟乐乎网站一模一样的内容。之所以如此,那是因为我们把乐乎网站的内容同步到你的电脑,供你创作入门参考之用。
目录结构
文件分如下几类:
env
配置文件,主要配置在入驻乐乎已经介绍过*.md
文章内容,参考Markdown语法*.tpl
模板文件*.css
样式表
文章内容
Markdown 文件保存创作内容,需要指定 Front Matter,支持的字段有:
title
文章标题date
文章日期,建议写成YYYY-MM-DD
author_name
作者名字,可选,会覆盖 env 中的配置author_url
作者主页,可选,默认为/about.html
toc
是否展示标题列表,可选,默认为true
lang_en
是否为英文内容,可以选,默认false
,开启后界面语言会切换成英文
author_name
和author_url
是用来展示投稿信息。比如张三投稿了一篇文章,他的个人博客是https://z3.example.com
,我们就可以这篇文章上设置这两个变量。这样文章生成后会在标题下展示张三的名字,点击就会跳到他的博客。
无论是 env 中的变量还是 Front Matter 中的变量,都可以在模板文件引用。
模板文件
*.tpl
保存的是 pandoc 模板文件,。目前有四个模板:
head.tpl
所有页面的公共 head 信息footer.tpl
所有页面的页脚信息article.tpl
博客文章布局信息index.tpl
文章列表布局信息
这都是 Pandoc 的模板文件,语法还是比较复杂的,如果要详细了解,请移步官方网站1。修改模板文件会为所有 Markdown 文件重新生成 HTML,所以请不要频繁改动,以节约服务器资源。
虽然是模板,它们也是普通的 HTML 文件。读者可以按需添加 HTML 标签、CSS 或者 JavaScript。
如果想引入新的 CSS,建议在head.tpl
添加<link>
标签。
如果想添加版本声明,则可以修改footer.tpl
。请务必保留乐乎的链接信息。
如果想定制生成的文件列表,则可以修改index.tpl
。只要文件夹下有 Markdown 文件,乐乎就会为其生成对应的index.html
文件。所有列表文件共用index.tpl
模板。乐乎提供了一个$articles$
变量。这是文件对象列表,当前每个对象包含如下信息:
$title$
文章标题,也就是 Front Matter 里的title
变量$date$
发表日期,也就是 Front Matter 里的date
变量$path$
文章相对站点的路径
Pandoc 模板的语法比较奇怪,比如遍历列表为:
<ol id="articles" reversed>
$for(articles)$<li><a href="$it.path$">$it.title$</a> <date>$it.date$</date></li>
$endfor$</ol>
这里的$it
是循环变量,表示当前遍历的文件对象。
乐乎不支持列表分页,当前也不支持为文章标签生成列表页面。原因请参考这里。
article.tpl
内容更为复杂。只举一个条件判断的例子:
$if(toc)$<nav id="TOC" role="doc-toc">
$table-of-contents$</nav>
$endif$
这里只有在$toc
为true
时才会输出标题列表。这个列表由 Pandoc 自动维护,并保存到$table-of-contents$
里,直接引用就好。
乐乎默认会自动生成标题列表,方便读者阅读。如果有文章不想展示这个列表,可以在 Front Matter 中将toc
设为false
。
好了,就先介绍到这里。博主们可以八仙过海,各显神通了😄