Как добавить nunjucks-date-filter? - PullRequest
0 голосов
/ 15 декабря 2018

Я не могу понять, куда мне поместить весь этот код, https://github.com/e-picas/nunjucks-date-filter У меня есть эта структура введите описание изображения здесь

это мой шаблон

<div class="container">
    <div class="row">
        <div class="col-5">
            {% for date, block in block | groupby("date") %}
            <div class="date">{{ date}}</div>
            {% for name, block in block | groupby("name") %}
            <div class="about">{{ name }}</div>
            {% endfor %}
            {% for id, block in block | groupby("id") %}
            <div class="id">{{ id }}</div>
           {% endfor %}
             {% for blocks in block %}
             <img  onError="this.src='/img/no-photo.png'" src="{{blocks.image}}" alt=""> 
            {% endfor %}

            {% endfor %}
        </div>
    </div>
</div>

на данный момент у меня есть формат даты из файла Json, такой как dd-mm-yyyy, хочу изменить его с помощью фильтра на D-MMM.

1 Ответ

0 голосов
/ 12 июня 2019

Я был в похожей ситуации.Nunjucks-date-filter readme рекомендует использовать API среды Nunjucks для добавления фильтров.Но я обнаружил, что это не работает, так как объект env никогда не применялся к экземпляру Nunjucks.

Вот как я справился с этим, предполагая, что вы используете express:

// main.js

const app = express();
const nunjucks = require('nunjucks');
const dateFilter = require('nunjucks-date-filter');

function setUpNunjucks(expressApp) {

  let env = nunjucks.configure('views', {
      autoescape: true,
      express: app
  });

  // note that 'date' is the function name you'll use in the template. As shown in nunjucks-date-filter's readme
  env.addFilter('date', dateFilter);

}

setUpNunjucks();

Тогдав своем шаблоне просто укажите желаемый формат даты:

{% for date, block in block %}
    <div class="date">{{ date | date("D MMM") }}</div>
{% endfor %}
...