我想在Pelican中构建我的个人网页,但我缺少一个功能。我希望页面上的某些/所有类别都有介绍性页面。
例如 - 我想为我的拨款项目构建一个页面,其中的帖子与活动和/或发布的论文相关,但我还想要一个页面对赠款项目说些什么,并将此页面保留为此类别的标题页。
这可能(很容易)在Pelican框架中吗?如果没有,你能建议更好的静态页面框架,它与Markdown + Python结合使用吗?
答案 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
并根据您的需要进行调整。