- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我需要将原始源文件名(*.md 文件)传递到 sidebar.html 中。我怎样才能做到这一点?
从这个站点(http://pelican.readthedocs.org/en/3.6.3/themes.html),我了解到一些变量是可用的,pelicanconf.py
文件中的所有大写字母变量也是可用的,但我不知道如何获取主题文件中的原始源文件等信息。
最佳答案
我认为可能有更简单的方法,但使用 jinja 过滤器对我来说效果很好 (http://linkpeek.com/blog/how-to-add-a-custom-jinja-filter-to-pelican.html)
采取的步骤:
我将原始标记文件的名称设为 YEAR-MONTH-DAY-NAME 格式,以便从页面的 url 中恢复。
过滤器给出了 url,从 url,我可以恢复原始源 md 文件路径。
def tosource(url):
# example input
# posts/2014/01/26/python-unittest-structure/index.html
# posts/2014/01/26/ocaml-vs-java/index.html
# posts/2014/01/25/why-ocaml-comparison-with-python/index.html
if url.startswith("posts"):
(posts, year, month, day, name) = url.split('/')[:-1]
res = "%s/%s/%s-%s-%s-%s.md" % (year, month, year, month, day, name)
else:
res = "/" # implement later
return res
教鹈鹕过滤器的名称和位置。
import sys
sys.path.append('.')
import sourcename
JINJA_FILTERS = {'sourcename':sourcename.tosource}
OPENCONTENT = "open:///pelican/knowledge_blog/content"
如 http://docs.getpelican.com/en/3.5.0/themes.html#theming-pelican 中所写, conf 文件中的所有大写字母变量都可以在主题文件中访问。
我在 sidebar.html 中添加了一行代码,以使用 Jinja 过滤器获取原始 md 文件路径。
Click to <a href="{{ OPENCONTENT }}/{{ output_file|sourcename }}">Edit</a>
运行 make html
并测试。
关于python - 使用 Pelican,如何在 Python 代码和主题之间设置或访问变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32389975/
我知道在 Pelican 中我可以使用 [TOC] 行作为目录,但是我需要做什么才能启用它? 我必须更改 MARKDOWN 中的 pelicanconf.py 设置(设置文档是 here ),但是这种
我不希望 Pelican 3.6 生成: /author/ /category/ /tag/ /archives.html /authors.html /categories.html /tags.h
我想在标题中有一些东西 title: Whatever slug: whatever redirect: bla redirect: foo redirect: bar 以便 Pelican 生成从
我今天开始学习 Pelican,因为我想将我的博客从 wordpress 转移到 pelican。 然而,看完docs ,我还是不知道pelican ./content的区别和 make html .
当我尝试使用 pelican3.3 时,我输入了命令“pelican-quickstart”,出现了一些错误。 这些是错误: (PelicanEnv)59-127-113-90:myblog Rich
我正在使用鹈鹕创建一个网站。我正在尝试向摘要中添加图像,以便摘要始终以图像开头。 我尝试将图像添加到元数据中的摘要中(使用 Markdown),但它仅显示在索引页面上,而不显示在其他页面上(在下面的示
我正在尝试开发一种优雅的方式来在 Pelican 模板中创建任意元数据,以便将结果超链接到现有页面。例如,如果我有一个类别 goal 和一个页面 first-goal ,其结构如下: content
这是一个后续问题,基于 jcollado 在 here 上提供的答案。 .我按照他的描述设置了我的菜单,但现在我无法真正将我的事件 css 添加到事件元素。 DISPLAY_PAGES_ON_MENU
我通过 Pelican 创建了一个静态网站,目前在主题中关键字是从标签创建的,例如: {% for tag in articles.tags %} {% endfor %} 在这种情况下,将会有多行
我有一个 Pelican 博客,我用 Markdown 写帖子。我希望每篇文章都链接到序列中的上一篇和下一篇文章,以及一篇随机文章。 所有文章都是用 python 脚本生成的,生成一个名为/conte
1。总结 我无法自动生成正确的 title来自文章/页面的文件名。 比如我不能自动生成metadata key title Kira Goddess来自文章Kira-Goddess.md 2。争论 D
我正在修改 Pelican 模板,下面的代码在每次找到页面时都会添加 url。我可以看到 p 对象具有 url 和 title 属性。 但是我只知道这一点,因为我从下面所示的另一个模板复制了代码。有没
我正在使用 Python3 和 Pelican 制作静态网站,但 MarkDown 表格功能无法正常工作。 输入: Test Columns | Header 2 ------------ | ---
我正在使用 Pelican static site generator .根据documentation ,可以使用语法 {tag}tagname 链接到标签。 这在从博客文章链接时工作正常。但是,如
我在 pelican 文章中定义了一个变量,例如使用 Markdown 语法: Motto: _"Paranoia is a virtue"_ Anonymous, 1984 然后我想在模板(例如
我的博客中有几篇较长的文章,想以某种方式将它们分成多个页面,例如通过插入手动分页符。 是否有适用于此或任何默认模板机制的插件? 最佳答案 Pelican Plugins中至少有两个相关插件存储库: S
我正在为我的个人博客使用测试 Pelican,但我坚持使用插件。 显然,pelicanconf.py 文件没有选择我的插件。 这是我的 pelicanconf.py 的一个片段: THEME = '/
我正在使用 Pelican 开发一些静态 HTML 网站,这些网站配置为提供漂亮的 URL,但开发服务器不提供没有文件扩展名的页面。 /output/index.html -> should be a
我正在使用 Pelican 和 Elegant生成我的博客的主题。但是我不知道如何打开搜索功能。我添加了 tipue_search 和 sitemap 插件,但没有成功。我附上配置文件 pelican
我有一个网站,该网站有一个事件类别页面,其中将列出所有属于“事件”的文章。但是,我想自定义此页面的顶部以包含谷歌日历。我如何在 Pelican 中执行此操作而不影响所有其他类别? 我尝试更改 them
我是一名优秀的程序员,十分优秀!