在Pelican静态网站中托管原始HTML页面
问题描述:
Pelican(Python)静态站点生成器只能传入原始HTML页面吗?目前,我正在尝试将Google网站验证HTML文件永久托管在根目录中。我几次遇到这个问题,与Google网站验证无关。在Pelican静态网站中托管原始HTML页面
在一个理想的世界,我会放在HTML文件中的content
目录,像rst
或md
文件,然后将它拾起并投进output
目录。这显然不起作用,因此我在这里。
答
在输出中包含任意文件的最简单方法是使用EXTRA_PATH_METADATA
和STATIC_PATHS
。例如,从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
根。
由于您的演员中有HTML文件,因此您还需要在ARTICLE_EXCLUDES
中包含静态目录以防止Pelican尝试处理该文件。
答
对这些问题有几个解决方案。首先,进行网站验证。您可以在将生成的内容推出时手动添加验证文件,也可以将<meta>
标记添加到网站模板中。您可以在这里阅读更多关于您的选项:https://support.google.com/webmasters/answer/35179?hl=en
至于将HTML嵌入鹈鹕网站,您可以使用reStructuredText(.rst)而不是Markdown(.md),然后您可以导入html。解释here on reddit。
这几乎可行,我把我的HTML文件放在静态目录中,但它失败了,因为它试图呈现html文件,这是我不想要的。一旦我在我的pelicanconf.py中使用了ARTICLE_EXCLUDES = ['static'],它就会忽略该目录进行渲染,这与我一般放在目录中非常相似。 –
@DouglasKastle好点,加入;我没有任何HTML文件,因此Pelican没有什么可以*尝试*来处理。 – jonrsharpe
很感谢修正。我认为这是答案,只是在等待魔术...... –