Ghost博客时间汉化方案

本站目前使用的Ghost主题是Kaldorei,感觉小蘿蔔丁做的主题还是非常不错的,而且这个主题目前已经支持Ghost1.X版本了(貌似我也是刚晓的,因为本站的Ghost版本已由Ghsot0.7.4汉化版升级回Ghost1.6.2,没有升到最新的1.11.1是因为在阿里云做的快照是 1.6.2,没升级而已),目前测试了一下,还没发现问题,归档当然是OK的了!就是由于是Ghost英文版的,所以显示的博文时间也是英文,这不按照小蘿蔔丁给的办法也汉化了,具体的看小蘿蔔丁原文:

使用Ghost搭建博客已经有两年多了。就连自己开源的主题Kaldorei也已经一年零7个月,到今天为止ghost-theme-kaldorei已经获得了100个star。刚刚破百。感谢这100位coder的支持。ghost 从我开始用的的0.7.x版本已经升到了1.x版本。期待已久的ghost也已经发布了1.x正式版。最近看下稳定版本在1.8.4。发展迅猛。不过到现在貌似也没有看到文档中有关日期的国际化相关API。
如何让博客的日期汉化
那么只能自己想办法修改了。分析下博客中使用到日期的模版。阅读官方文档得知这里谈到的日期ghost提供的日期格式化助手date.js。而这个助手使用的是moment.js。这就好办了。前端同学对moment.js并不陌生。它是支持国际化的。我们找到date助手的代码,修改它就好了。

路径:

1
/ghost/core/server/helpers/date.js

打开这个文件,修改如下:

####< 1.x版本(如果用的是Ghost0.7.4汉化版,可以不用修改)

1
2
3
4
5
6
7
// # Date Helper
// Usage: `{{date format="DD MM, YYYY"}}`, `{{date updated_at format="DD MM, YYYY"}}`
// Formats a date using moment.js. Formats published_at by default but will also take a date as a parameter
var moment = require('moment'),
date;

moment.locale('zh-CN'); // 日期汉化

####>= 1.x版本

1
2
3
4
5
6
7
8
9
10
// # Date Helper
// Usage: `{{date format="DD MM, YYYY"}}`, `{{date updated_at format="DD MM, YYYY"}}`
//
// Formats a date using moment-timezone.js. Formats published_at by default but will also take a date as a parameter

var proxy = require('./proxy'),
moment = require('moment-timezone'),
SafeString = proxy.SafeString;

moment.locale('zh-CN'); // 日期汉化

保存之后,重启博客就会看到日期已经汉化了。

我能不能喝杯咖啡在于你的一赏之间哦