2017-05-26 40 views
1

Pelican(Python)静态站点生成器只能传入原始HTML页面吗?目前,我正在尝试将Google网站验证HTML文件永久托管在根目录中。我几次遇到这个问题,与Google网站验证无关。在Pelican静态网站中托管原始HTML页面

在一个理想的世界,我会放在HTML文件中的content目录,像rstmd文件,然后将它拾起并投进output目录。这显然不起作用,因此我在这里。

回答

4

在输出中包含任意文件的最简单方法是使用EXTRA_PATH_METADATASTATIC_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尝试处理该文件。

+0

这几乎可行,我把我的HTML文件放在静态目录中,但它失败了,因为它试图呈现html文件,这是我不想要的。一旦我在我的pelicanconf.py中使用了ARTICLE_EXCLUDES = ['static'],它就会忽略该目录进行渲染,这与我一般放在目录中非常相似。 –

+0

@DouglasKastle好点,加入;我没有任何HTML文件,因此Pelican没有什么可以*尝试*来处理。 – jonrsharpe

+0

很感谢修正。我认为这是答案,只是在等待魔术...... –

0

对这些问题有几个解决方案。首先,进行网站验证。您可以在将生成的内容推出时手动添加验证文件,也可以将<meta>标记添加到网站模板中。您可以在这里阅读更多关于您的选项:https://support.google.com/webmasters/answer/35179?hl=en

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