在 Pelican 静态网站中托管 HTML 个原始页面

Hosting raw HTML pages in a Pelican static website

Pelican (Python) 静态站点生成器是否有办法仅传递原始 HTML 页面?目前,我正在尝试将 google-site-verification HTML 文件永久托管在根目录中。这个问题我已经 运行 几次了,与 google 站点验证无关。

在理想情况下,我会将 HTML 文件放在 content 目录中,就像 rstmd 文件一样,然后它会被拾取并放入 output 目录。这显然是行不通的,所以我才来这里。

这些问题有几个解决方案。一是进行现场核查。您可以在推送生成的内容时手动添加验证文件,也可以在站点模板中添加 <meta> 标签。您可以在此处详细了解您的选择:https://support.google.com/webmasters/answer/35179?hl=en

至于将 HTML 嵌入 pelican 站点,您可以使用 reStructuredText (.rst) 而不是 Markdown (.md),然后您可以导入 html。 reddit 上的解释 here

在输出中包含任意文件的最简单方法是 EXTRA_PATH_METADATA and STATIC_PATHS. For example, from my blog's config:

STATIC_PATHS = [
    'images',
    'extra',
]
EXTRA_PATH_METADATA = {
    'extra/custom.css': {'path': 'custom.css'},
    'extra/robots.txt': {'path': 'robots.txt'},
    'extra/favicon.ico': {'path': 'favicon.ico'},
    'extra/CNAME': {'path': 'CNAME'},
    'extra/LICENSE': {'path': 'LICENSE'},
    'extra/README': {'path': 'README'},
}

这从 /content/extra 中获取指定的文件并将它们放在 /output 的根目录中。

由于您的 extras 中有一个 HTML 文件,您还需要在 ARTICLE_EXCLUDES 中包含您的静态目录,以防止 Pelican 尝试处理该文件。

如果您想要呈现静态 HTML,则 helped me, but this 不是必需的

这是对我有用的来自 pelicanconf.py 的片段,它基于位于 content/html/page_name.html 的 html 文件添加了一个静态站点,路径为 http://localhost/page_name.html

STATIC_PATHS = [
    'images',
    'extra',
    'html',
]
EXTRA_PATH_METADATA = {
    'extra/custom.css': {'path': 'custom.css'},
    'extra/robots.txt': {'path': 'robots.txt'},
    'extra/favicon.ico': {'path': 'favicon.ico'},
    'extra/CNAME': {'path': 'CNAME'},
    'extra/LICENSE': {'path': 'LICENSE'},
    'extra/README': {'path': 'README'},
    'html/page_name.html' : {'path' : 'page_name.html'}
}