禁用在Pelican

时间:2017-03-23 05:03:21

标签: python pelican

1。简言之

我无法找到,如何禁用使用mdhtml扩展程序呈现某些文件。

2。细节

我使用Pelican并使用Markdown标记写我的文章。例如,I want to create custom 404 page in GitHub Pages。我需要在我的网站的根目录中包含2个文件:404.md404.html。我在content文件夹中创建这些文件→我运行pelican content命令→我得到输出。

D:\Kristinita>pelican content
WARNING: Meta tag in file D:\Kristinita\content\404.html does not have a 'name' attribute, skipping. Attributes: http-equiv="X-UA-Compatible", content="IE=edge"
ERROR: Skipping .\404.md: could not find information about 'title'

3。预期行为的示例

我设置了pelicanconf.py

NOT_RENDERING = ['404.md', '404.html']

我运行pelican content404.md404.html个文件未对输出进行修改。

4。没帮忙

  1. 我设置了pelicanconf.py文件:

    STATIC_PATHS = ['']
    

    带有其他扩展名的文件,排除mdhtml,无需修改,警告和错误即可复制到输出目录,但对mdhtml文件无效

  2. 我使用“hack” - 我在UPPERCASE中编写扩展名。例如,我创建了文件404.MD404.HTML文件,而不是404.md404.html。但我没有在带有大写扩展名的GitHub页面中获得自定义404页面。

  3. 我找到OUTPUT_SOURCE设置in documentation→我在pelicanconf.py中设置:

    OUTPUT_SOURCES = True
    OUTPUT_SOURCES_EXTENSION = '.md'
    

    我运行pelican content命令→输出中出现错误和警告,我在输出中没有得到原始404.md。它无法解决我的问题。

1 个答案:

答案 0 :(得分:0)

我建议将这些文件移动到内容目录中的单独目录中,例如:

content/
    static/
        404.html
        404.md

然后,您可以将Pelican配置为将该目录视为静态源:

STATIC_PATHS = [
    'static',
]

并在处理时将两个文件移动到输出目录的根目录:

EXTRA_PATH_METADATA = {
    'static/404.html': {'path': '404.html'},
    'static/404.md': {'path': '404.md'},
}

要使处理器根据this GitHub issue忽略这些文件,您还需要设置:

ARTICLE_EXCLUDES = [
    'static'
]