2016-05-23 3 views
1

Я хотел бы создать свои персональные веб-страницы в Пеликан, но мне не хватает одной функциональности. Я хотел бы иметь вводную страницу для некоторых/всех категорий на страницах.Введение страницы для категорий в Пеликан

Например - Я хотел бы построить страницу для моего проекта гранта, где должности, связанные с деятельностью и/или опубликованные документы, но я также хотел бы одной страницы что-то о проекте гранта и сохраните эту страницу в качестве титульной страницы этой категории.

Возможно ли это (легко) в каркасе Пеликан? Если нет, можете ли вы предложить лучшую статическую структуру страниц, которая работает в комбинации Markdown + Python?

+1

Добро пожаловать в StackOverflow. Если вы чувствуете, что ответ решил проблему, отметьте ее как «принятую», нажав зеленую галочку. Это помогает сосредоточиться на более старых вопросах, которые до сих пор не имеют ответов. – mhoff

+0

Спасибо @MichaelHoff, это мне очень помогло! –

ответ

1

Это на самом деле очень легко с пеликан. Плагин 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 и адаптируйте его под свои нужды.

 Смежные вопросы

  • Нет связанных вопросов^_^