Pelican类别简介页面

时间:2016-05-23 08:05:34

标签: python pelican

我想在Pelican中构建我的个人网页,但我缺少一个功能。我希望页面上的某些/所有类别都有介绍性页面

例如 - 我想为我的拨款项目构建一个页面,其中的帖子与活动和/或发布的论文相关,我还想要一个页面对赠款项目说些什么,并将此页面保留为此类别的标题页。

这可能(很容易)在Pelican框架中吗?如果没有,你能建议更好的静态页面框架,它与Markdown + Python结合使用吗?

1 个答案:

答案 0 :(得分:1)

鹈鹕实际上很容易。插件Auto Pages定义了三个额外的内容文件夹:一个用于作者,一个用于类别,一个用于标记。

当你点击你的名字时,John Smith希望得到关于你的人的额外信息。然后,您将添加一个名为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并根据您的需要进行调整。