【问题标题】:CNAME file not being copied to root output when publishing Pelican blog发布 Pelican 博客时,CNAME 文件未复制到根输出
【发布时间】: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_PATHSEXTRA_PATH_METADATA 以将其复制到根目录。如何更改我的设置,以便将CNAME 复制到正确的位置而不是extra 目录?

【问题讨论】:

  • 文件应该在content/extra/CNAME,这就是你说的“文件extra/CNAME存在并被填充”的意思吗?
  • 是的。文档假定 content 是静态路径的根
  • 准确。我有相同的配置,它在 Linux 上运行良好。这可能是与 Windows 相关的问题吗?
  • 那很不幸,但这是可能的。不过,我现在没有可以测试的 Linux 机器来确认/否认这个假设。

标签: python github pelican


【解决方案1】:

maggick 在 cmets 中的评估是正确的。

这可能是与 Windows 相关的问题吗?

basic settings overview 中有一点点提及

由相对路径键入的额外元数据字典。 与其他 Pelican 文件设置不同,相对路径需要正确的特定于操作系统的目录分隔符(即 UNIX 中的 / 和 Windows 中的 \)。请参阅路径元数据。

(重点是我的)

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

我的解决方案,因为我在 Windows 上运行它,是改变:

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

到:

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

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

【讨论】:

  • 这似乎是 Pelican 3.6 相对于旧版本发生的变化。
【解决方案2】:

奇怪的这种行为。文档清楚地提到,即使在 Windows 中,您也需要使用正斜杠。

来自 readthedocs Pelican 3.6.4 - 最新版本

STATIC_PATHS = ['images', 'extra/CNAME']
EXTRA_PATH_METADATA = {'extra/CNAME': {'path': 'CNAME'},}

注意:即使在 Windows 上,也要使用正斜杠 /。 但这个解决方案有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-25
    • 1970-01-01
    • 2013-06-08
    相关资源
    最近更新 更多