【发布时间】:2015-05-28 14:14:52
【问题描述】:
我正在关注 Pelican 文档中的 Tip #2,以在 GitHub 页面上使用自定义域。要使其正常工作,CNAME 文件需要位于我网站的根目录中。
来自文档:
要将自定义域与 GitHub Pages 一起使用,您需要将站点的域放在站点根目录下的
CNAME文件中。为此,创建content/extra/目录并向其中添加CNAME文件。然后使用STATIC_PATHS设置告诉 Pelican 将此文件复制到您的输出目录。例如:STATIC_PATHS = ['images', 'extra/CNAME'] EXTRA_PATH_METADATA = {'extra/CNAME': {'path': 'CNAME'},}
我已经做到了。我的pelicanconf.py有以下两个设置:
STATIC_PATHS = ['images', 'extra/CNAME']
EXTRA_PATH_METADATA = {'extra/CNAME': {'path': 'CNAME'},}
我已经创建了我的CNAME 文件并将其放在content/extra/CNAME 中,如文档中所述。
我这样发布应用程序:
pelican content --output output --settings pelicanconf.py
这会在output 目录中生成我的站点。页面都设置正确。但是,CNAME 不是根。相反,它位于extra/CNAME 位置。
发布时我没有收到任何错误或警告。如果我使用--debug 参数发布,则此行会出现在输出中:
-> Copying H:\mysite\content\extra\CNAME to extra/CNAME
这清楚地表明它正在将其复制到extra 而不是根目录。根据文档,我已正确设置我的STATIC_PATHS 和EXTRA_PATH_METADATA 以将其复制到根目录。如何更改我的设置,以便将CNAME 复制到正确的位置而不是extra 目录?
【问题讨论】:
-
文件应该在
content/extra/CNAME,这就是你说的“文件extra/CNAME存在并被填充”的意思吗? -
是的。文档假定
content是静态路径的根 -
准确。我有相同的配置,它在 Linux 上运行良好。这可能是与 Windows 相关的问题吗?
-
那很不幸,但这是可能的。不过,我现在没有可以测试的 Linux 机器来确认/否认这个假设。