如何使用Momentjs的“添加”功能操纵Ghost中的发布日期

时间:2014-01-23 10:10:10

标签: momentjs ghost-blog

我刚刚开始了一个Ghost.org博客,我希望博客发布日期能够提前一年显示。我知道Ghost使用Moment.js并且我能够调整格式(DD MM YYYY,YY MM DD等...)但它似乎不接受Moment.js中描述的'add'函数{{3} }。

这是我目前的代码。

<time datetime="{{date format="YYYY-MM-DD"}}">
  {{date format='DD MMM YYYY'}}
</time>

要明确的是,我希望博客日期在幽灵中保持准确。我只想在未来一年内操纵显示给用户的内容。

EG。我写了一篇博文,它的发布日期是2013年12月20日。我希望博客文章的日期能够在2014年12月20日的DISPLAY上发布。

Ghost docs助手似乎不接受'添加'功能。

任何帮助都会非常感激。我还在学习javascript,所以可能会有一些明显我缺少的东西。如果是这样,我道歉。

1 个答案:

答案 0 :(得分:0)

我想这对你来说有点晚了,但它可能有助于其他人。

我找到了一种在casper视图中编辑日期的方法。它更像是一个黑客而不是真正的解决方案。但我希望能够在不修改核心的情况下修改日期语言。所以这是我的解决方案:

您需要在casper模板中添加时刻j,这样您需要在网站上下载它并将其放在资产文件夹中。

http://momentjs.com/downloads/moment-with-locales.min.js放在/ content / theme / casper / assets / js /

然后你需要在你/content/theme/casper/default.hbs中调用它

在index.js之前的文件底部添加此行。

<script type="text/javascript" src="{{asset "js/moment-with-locales.min.js"}}"></script>

最后在行/

之后的/content/theme/casper/assets/js/index.js中添加此代码
$document.ready(function () {
像这样:

    var dates = $('.post-date');
    var i = 0;
    var postDate = moment();

    for(i=0;i<dates.length;i++){
      postDate = moment(dates.eq(i).html());
      postDate.add(1,'year');
      dates.eq(i).html(postDate.format('LL'));
    }