Bitcron中的关于页面
几乎每个网站都会有关于页面
,地址通常是/about
。根据Bitcron的URL匹配规则,在根目录中放入about.jade
便可得到/about
页面,所以可以利用SmartPage自己构建一个。如果只是简单的文本信息,那么在后台设置Hide Post Prefix URL之后,在根目录中放入about.md
也能达到同样效果,也是我最为推荐的方式。
使用about.md
不仅简单,还能用Metadata进行自定义。
调用 post.metadata.xxx 即可,比如 post.metadata.title;如果不在系统默认处理的字段外,比如 my_field,也是类同,post.metadata.my_field 即可。
由此,我在主题制作中用到了两个重要的判断,在此做个记录。
文章评论
文章是否开启评论可以直接在后台设置,如果是单篇文章则在meta部分加上comment: no
即可。此时若要根据有否开启评论而调整评论样式,可以使用以下判断:
// 如果post.metadata.comment不是no,即:如果开启了评论
if post.metadata.comment not in ['no', 'No', False]
// 则添加评论区
#comments
+post.comments_as_html()
如此一来便可大胆定义#comments
的样式而不用怕在没有评论时变得尴尬。
上下篇导航
从以上语句中得到启发,顺手移除了/about
页面中的「上一篇」「下一篇」导航。首先在about.md
文档中写入status: page
,表示状态为页面
。同理比如留言簿页面的message.md
里也可以如是写。然后在post.jade
相应位置写入以下判断:
// 如果post.metadata.status不是page
if post.metadata.status not in ['page', 'Page']
// 则添加上下篇导航
#postpager
if posts.previous_one
a.pre(href=posts.previous_one.url) 更新
if posts.next_one
a.next(href=posts.next_one.url) 更早
只要有以上判断,在任何不想要上下篇导航的文章meta内写上status: page
就能达成心愿。
更多拓展
以上都是按照官方提到的post.metadata.my_field
进行的自定义,只不过使用了官方的key。同理可以自定义key与value(key: value
)来构建特殊的页面。这么一来还能批量定义,比如把文章格式设置为「日志」、「相片」、「一句话」等几种类型,可以用format: diary
、format: photo
、format: chat
等来区分样式。