Как я могу манипулировать датой публикации в Ghost, используя функцию «добавить» Momentjs

Я только что начал вести блог Ghost.org и хочу, чтобы даты сообщений в блоге отображались на год раньше, чем они были фактически написаны. Я знаю, что Ghost использует Moment.js, и я могу настроить форматирование (ДД ММ ГГГГ, ГГ ММ ДД и т. д.), но, похоже, он не принимает функцию «добавить», описанную в Moment.js документы.

Это код, который у меня сейчас есть.

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

Чтобы было ясно, я хочу, чтобы даты постов в блоге оставались точными. Я просто хочу манипулировать тем, что ОТОБРАЖАЕТСЯ пользователю на 1 год вперед.

НАПРИМЕР. Я пишу сообщение в блоге, и его дата публикации — 20 декабря 2013 года. Я хочу, чтобы дата в сообщении блога отображала 20 декабря 2014 года.

Помощник Ghost {{date}} не поддерживает функцию "добавить".

Любая помощь могла бы быть полезна. Я все еще изучаю javascript, поэтому может быть что-то очевидное, что я упускаю. Прошу прощения, если это так.


person Clark    schedule 23.01.2014    source источник


Ответы (1)


Я думаю, что это немного поздно для вас, но это может помочь другим людям.

Я нашел способ редактировать дату в представлении casper. Это больше хак, чем реальное решение. Но я хотел иметь возможность изменять язык даты без изменения ядра. Итак, вот мое решение:

Вам нужно добавить moment js в шаблон каспера, для этого вам нужно скачать его на веб-сайте и поместить в папку с активами.

Разместите 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'));
    }
person codeKonami    schedule 14.02.2015