在 Pelican 静态网站中托管 HTML 个原始页面
Hosting raw HTML pages in a Pelican static website
Pelican (Python) 静态站点生成器是否有办法仅传递原始 HTML 页面?目前,我正在尝试将 google-site-verification HTML 文件永久托管在根目录中。这个问题我已经 运行 几次了,与 google 站点验证无关。
在理想情况下,我会将 HTML 文件放在 content
目录中,就像 rst
或 md
文件一样,然后它会被拾取并放入 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'}
}
Pelican (Python) 静态站点生成器是否有办法仅传递原始 HTML 页面?目前,我正在尝试将 google-site-verification HTML 文件永久托管在根目录中。这个问题我已经 运行 几次了,与 google 站点验证无关。
在理想情况下,我会将 HTML 文件放在 content
目录中,就像 rst
或 md
文件一样,然后它会被拾取并放入 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,则
这是对我有用的来自 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'}
}