Доступ к странице Pelican и метаданным статьи одинаковым образом? - PullRequest
0 голосов
/ 05 апреля 2020

У меня есть эта часть в моем шаблоне base.html Pelican:

{% if article and article.author %}
<meta name="author" content="{{ article.author }}" />
<meta name="copyright" content="{{ article.author }}" />
{% elif page and page.author %}
<meta name="author" content="{{ page.author }}" />
<meta name="copyright" content="{{ page.author }}" />
{% else %}
<meta name="author" content="{{ AUTHOR }}" />
<meta name="copyright" content="{{ AUTHOR }}" />
{% endif %}

Есть ли способ упростить это, например что-то вроде

<meta name="author" content="{{ publication.author }}" />
<meta name="copyright" content="{{ publication.author }}" />

, где публикация либо page или article? (Я думаю, что никогда не возможно, что что-то и то, и страница и статья?)

1 Ответ

0 голосов
/ 01 мая 2020

Вы можете сделать это:

{% if article.author %} {% set author = article.author %}
{% elif page.author %} {% set author = page.author %}
{% else %} {% set author = AUTHOR %} {% endif %}

{% if page or article %}
<meta name="author" content="{{ author }}" />
<meta name="copyright" content="{{ author }}" />
{% endif %}

Вы должны иметь возможность стереть последнее «если», потому что нет необходимости, если вы помещаете это в блоки, которые принадлежат страницам или статьям.

...