gpt4 book ai didi

python - 发布 Pelican 博客时 CNAME 文件未复制到根输出

转载 作者:太空宇宙 更新时间:2023-11-04 03:32:31 24 4
gpt4 key购买 nike

我正在关注 Tip #2从 Pelican 文档中使用 GitHub 页面上的自定义域。为了使其正常工作,CNAME 文件需要位于我网站的根目录下。

来自文档:

To use a custom domain with GitHub Pages, you need to put the domain of your site inside a CNAME file at the root of your site. To do this, create the content/extra/ directory and add a CNAME file to it. Then use the STATIC_PATHS setting to tell Pelican to copy this file to your output directory. For example:

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_PATHSEXTRA_PATH_METADATA 以将其复制到根目录。如何更改我的设置以便将 CNAME 复制到正确的位置而不是 extra 目录?

最佳答案

maggick他在评论中的评估是正确的。

Could this be a Windows related problem?

basic settings overview 中有一个小小的提及

Extra metadata dictionaries keyed by relative path. Relative paths require correct OS-specific directory separators (i.e. / in UNIX and \ in Windows) unlike some other Pelican file settings. See Path metadata.

(重点是我的)

Path metadata 中没有提到这些信息文档或在 tips ,这两个我一直在使用。

我的解决方案,因为我在 Windows 上运行它,所以要更改:

EXTRA_PATH_METADATA = {'extra/CNAME': {'path': 'CNAME'},}

到:

EXTRA_PATH_METADATA = {'extra\CNAME': {'path': 'CNAME'},}
^ This is OS specific

注意字典键中的单个更改的斜杠。

关于python - 发布 Pelican 博客时 CNAME 文件未复制到根输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30509157/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com