如何在没有Pelican解析的情况下复制HTML文件?

时间:2016-05-08 20:44:06

标签: pelican

我想复制一些没有鹈鹕解析它的HTML文件。在我的文件系统上,我将这些文件放在名为html5的文件夹中。它应该在{SITE}/html5

尝试1

我已尝试将其添加到EXTRA_PATH_METADATA = {'../html5': {'path': 'html5'}}。但是这不会将文件夹复制到输出中。

尝试2

我尝试添加STATIC_PATHS = ['images', '../html5']。这给了我

CRITICAL: Error: `/home/moose/GitHub/MartinThoma.github.io/html5/polynom-interpolation.htm` and `/home/moose/GitHub/MartinThoma.github.io/output/../html5/polynom-interpolation.htm` are the same file

尝试3

html5文件夹直接添加到content会给我一个错误:

ERROR: Skipping html5/regression/regression.htm: could not find information about 'NameError: date'
ERROR: Skipping html5/regression/README.md: could not find information about 'NameError: title'

3 个答案:

答案 0 :(得分:2)

  

关键:错误:   /home/moose/GitHub/MartinThoma.github.io/html5/polynom-interpolation.htm   和   /home/moose/GitHub/MartinThoma.github.io/output/../html5/polynom-interpolation.htm   是同一个文件

重命名文件" polynom-interpolation"另外,在pelican生成输出后,两个具有相同html文件名的文件导致错误。

答案 1 :(得分:0)

<强> TL;博士

STATIC_PATHS = ['images', 'html5']
pelicanconf.py中的

,发生以下情况

PELICAN
|-- html5
|   |-- README.md
|-- pelicanconf.py
|-- output
|   |-- html5
|   |   |-- README.md

另外:不要使用相对路径指向&#34;向上&#34; (..)。这可能并且会使事情变得混乱。

澄清:

尝试1

EXTRA_PATH_METADATA本身不包含复制说明。 它可以指定要复制文件的位置,但仅限于要复制文件的位置。 例如,可以在STATIC_PATHS

中指定后一种信息

尝试2

这实际上是要走的路。 STATIC_PATHS是一个文件列表(相对于鹈鹕项目根目录),它将复制到输出文件夹。 这意味着给定的相对路径将用于获取文件&#39;内容也将是相对于复制输出的目标文件路径。

SITE/path/to/file => SITE/output/path/to/file

可以使用EXTRA_PATH_METADATA调整此行为。 例如,列表项'res/htaccess': {'path': '.htaccess'}具有将htaccess文件的路径从output/res/htaccess重写为output/.htaccess的效果。

我无法完全解释为什么会出现此错误。 考虑到我上面写的内容,路径中的..指示鹈鹕将文件写入SITE/output/../html5 == SITE/html5。但是,当您从位于SITE父目录中的SITE/../html5读取时,它们不应该是相同的文件。我可以想象这是一个限制,它阻止你在输出目录之外写。或者您在SITE/html5中有另一份html5。

也许您的试用2 包含试用1 ,但即使这样也无法完全解释为什么错误信息中包含这些路径。

底线:引用SITE目录以外的文件时要小心。

尝试3

显然这种方法不起作用。 通过这种方式,资源被理解为文章文件,这些文件无法正常工作。

答案 2 :(得分:0)

我今天遇到了同样的问题 - 我有:

STATIC_PATHS = [
    'images', 'slides'
]

我想将一些HTML和Markdown文件放到幻灯片目录中,以便用户可以在原始格式中看到它们。很遗憾make html返回了:

  

错误:跳过幻灯片/ index.html:无法找到有关&#39; NameError:date&#39;的信息。   DEBUG:阅读文件幻灯片/ systemd.md - &gt;文章   错误:跳过幻灯片/ systemd.md:找不到关于&#39; NameError:title&#39;

的信息

因此,在深入研究pelican代码库之后,我发现,我还应该将幻灯片目录放入 ARTICLE_EXCLUDES

ARTICLE_EXCLUDES = ['slides']

现在它就像一个魅力。

相关问题