【问题标题】:Introduction pages for categories in PelicanPelican 中的类别介绍页面
【发布时间】:2016-05-23 08:05:33
【问题描述】:

我想在 Pelican 中构建我的个人网页,但我缺少一项功能。我希望为页面上的部分/所有类别提供一个介绍性页面

例如 - 我想为我的资助项目建立一个页面,其中的帖子与活动和/或已发表的论文相关,我也想要一个单独的页面 em> 说一些关于资助项目的事情,并将这个页面作为这个类别的标题页。

这在 Pelican 框架中是否可能(很容易)?如果没有,你能推荐更好的结合 Markdown+Python 的静态页面框架吗?

【问题讨论】:

  • 欢迎来到 StackOverflow。如果您认为某个答案解决了问题,请单击绿色复选标记将其标记为“已接受”。这有助于将注意力集中在仍然没有答案的旧问题上。
  • 感谢@MichaelHoff,它对我帮助很大!

标签: python pelican


【解决方案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 并根据您的需要进行调整。

【讨论】:

  • 这个插件在2021年还有效吗?我发现最后一次更新是在 2018 年,所以我不确定是否推荐使用该插件。
  • @DanijelaPopović 我真的不知道,因为我最近几年没用过鹈鹕。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-25
  • 2012-06-18
相关资源
最近更新 更多