Ghost 开源博客平台

Ghost 是一个简洁、强大的写作平台。你只须专注于用文字表达你的想法就好,其余的事情就让 Ghost 来帮你处理吧。

Ghost 0.4.2 主题加入的新特性

Ghost 0.4.2 在三月底前发布了!这次发布的版本按说应该是打补丁的一个版本,但是却打破常规,引入了很多新特性。详细的更新列表请参考这里。下面我们主要来说说 Ghost 主题中加入的新特性。

package.json

Ghost 主题允许通过 package.json 文件设置一些属性,例如当前主题的版本号、名称(目前 Ghost 仅支持这两个属性),版本号将在后台选择主题的下拉菜单中出现。虽然现在 package.json 文件是可有可无的,不过,将来这个文件肯定会成为主要的配置文件。

下面就是 Ghost 默认主题 Casper 中的 package.json 文件的内容:

{
  "name": "Casper",
  "version": "0.9.3"
}

{{log}} 助手

Handlebars 支持 log 助手,但是在 Ghost 中没有太大用处,目前唯一有用的地方可能就是通过 {{log this}} 输出 handlebars 的上下文(也就是主题文件所接收的所有数据)。注意,log 只能在 development 环境中使用,并且只能将数据输出到控制台。其实,{{log this}} 放在哪都行,不影响最终的输出。

Tag 页

{{tags}} 目前能够输出链接了,你还可以为 tag 页单独提供的一个模板文件 tag.hbs, Ghost 在输出 tag 页时会主动查找这个文件,如果没有找到的话,默认使用 index.hbs (和 wordpress 类似)。

静态页支持定制模板了

比如,你有一个 about 静态页,你想对它应用单独的样式,现在就可以实现了!只要按照 page-about.hbs 类似的命名模式制作一个模板就能被 Ghost 识别,输出效果就是你所需要的。以前 Ghost 输出静态页使用的是 post.hbs 模板。

{{#has}} 助手

就像 has 这个单词的实际意思一样,是用来判断“有”还是“没有”的,目前在 Ghost 中只能用来判断是否有指定的 tag 存在,看下面的代码就更清楚了:

{{#post}}
    {{#has tag="photo"}}
        ...do something if this post has a tag of photo...
    {{else}}
        ...do something if this posts doesn't have a tag of photo...
    {{/has}}
{{/post}}

将来这个助手还会增加更多功能,Ghost 主题制作会更有意思!

pageUrl 改为 page_url

pageUrl 只是用在 pagination.hbs 模板中的一个助手,为了统一命名模式,现在改为 page_url 了。

下划线命名模式在 C 里面用的多,驼峰模式或叫做匈牙利命名在 windows 世界用的多。

这个是制作主题时需要注意的,将来 pageUrl 会被彻底删除的,所以,从现在开始就不要用了!

王赛
关于作者 王赛