如何在不检查页面的情况下制作包含内容/ some_dir的鹈鹕?

时间:2014-03-26 03:10:09

标签: python pelican

content/some_dir包含不应扫描页面或模板的子目录,以及应按原样显示的.html文件和图像。在some_dirSTATIC_PATHS中添加PAGE_EXCLUDES似乎不会阻止鹈鹕扫描并警告我我的网页格式不正确,图片没有{{1等等。

2 个答案:

答案 0 :(得分:2)

您可以尝试ARTICLE_EXCLUDES(查找文章时要排除的目录列表)或IGNORE_FILES(文件通配模式列表,以匹配处理器忽略的源文件)。

来源:http://docs.getpelican.com/en/3.3.0/settings.html

答案 1 :(得分:2)

在我的鹈鹕网站上,我有很多预先格式化的静态HTML,我不想编辑。 (旧网络论坛的静态存档 - 30K html文件)

您可以使用STATIC_PATHS,使用ARTICLE_EXCLUDES和PAGE_EXCLUDES来做您想做的事情,但是您会发现由于某种原因,鹈鹕仍然想要查看每个文件。这样做会使我的数据增加10倍左右的构建时间。简而言之,使用static_paths添加html文件,然后排除设置以告知pelican不处理它们。

相反,我尝试了以下内容,现在就使用它。在我的顶级目录中,我创建了一个目录' output-skel'然后我编辑了我的Makefile。在html目标中,我将此行添加为运行的命令之一:

        rsync -SHqav output-skel/ $(OUTPUTDIR)

所以我的html make block看起来像这样:

html:
    $(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS)
    rsync -SHqav output-skel/ $(OUTPUTDIR)

这样,我可以把我希望包含在我输出中的任何文件放在output-skel中的相对路径中,并让它出现在我想要的地方。

这肯定比我的STATIC_PATHS中有30k个条目好。我把.htaccess文件,static-html,一些' downloads'文件那里。

顺便说一下,我还将以下几行添加到我的html make目标中:

        chown -R root:www $(OUTPUTDIR)
        find $(OUTPUTDIR) -type d | xargs chmod 750
        find $(OUTPUTDIR) -type f | xargs chmod 640

只是为了保持整洁。