Это на самом деле очень легко с пеликан. Плагин Auto Pages определяет три дополнительные папки содержимого: один для авторов, один для категорий и один для тегов.
Скажите, что Джон Смит хотел получить дополнительную информацию о вашем человеке при нажатии на ваше имя. Затем вы добавите файл с именем authors/john-smith{.rst|.md}
с этой дополнительной информацией. Нет HTML, но только содержимое, которое вы хотите предоставить о своем человеке. Эти содержимое затем считываются, преобразуются и отображаются в шаблоне как author.page
.
Теперь речь идет о ваших шаблонах, чтобы использовать эту переменную. В моей теме я просто изменил theme/templates/author.html
, чтобы не показывать комбинацию «избранных статей» и «других статей», связанных с моим автором, но чтобы показать author.page.content
и «все статьи», связанные с моим автором.
Короткий отрывок из моего theme/templates/author.html
:
<aside id="featured" class="body">
<article>
<h1 class="entry-title"><a href="{{ SITEURL }}/{{ author.url }}">{{ author }}</a></h1>
{{ author.page.content }}
</article>
</aside>
<section id="content" class="body">
<!-- removed the apostrophe for SO highlighting reasons-->
<h1>Authors articles</h1>
<hr/>
<ol id="posts-list" class="hfeed" start="{{ articles_paginator.per_page - 1}}">
{% for article in articles_page.object_list %}
<li><article class="hentry">
<header>
<h1><a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark"
title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a></h1>
</header>
{% include 'article_infos.html' %}
{{ article.summary }}
<a class="readmore" href="{{ SITEURL }}/{{ article.url }}">read more</a>
{% include 'comments.html' %}
</article></li>
{% endfor %}
</ol>
{% if articles_page.has_other_pages() %}
{% include 'pagination.html' %}
{% endif %}
</section>
Вы можете сделать то же самое для категорий и тегов, используя процедуру, описанную выше. Для шаблона используйте только существующий index.html
и адаптируйте его под свои нужды.
Добро пожаловать в StackOverflow. Если вы чувствуете, что ответ решил проблему, отметьте ее как «принятую», нажав зеленую галочку. Это помогает сосредоточиться на более старых вопросах, которые до сих пор не имеют ответов. – mhoff
Спасибо @MichaelHoff, это мне очень помогло! –