在使用Pelican生成静态HTML之前运行自定义脚本

时间:2018-06-21 17:46:38

标签: python pelican

我正在使用Pelican生成静态网站。我想在output文件夹中生成网站内容之前,在构建过程中运行自定义Python脚本。该脚本主要用于通过正则表达式解析进行一些文本替换。有人可以教育我如何实现这一目标(如果有的话)?

2 个答案:

答案 0 :(得分:1)

我需要完成与您需要的完全相同的事情。在推送到Gitlab页面之前,我需要更新某些<img>标签上的URL。我唯一能找到的就是向您正在使用的任何部署选项(Fabric,make等)添加命令。例如,我使用make“部署”我的站点(将代码输出到单独的目录/存储库,然后将其推送到Gitlab)。因此,在Makefile中,我这样添加到了publish行:

publish:
        $(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(PUBLISHCONF) $(PELICANOPTS) && find $(OUTPUTDIR)/* -type f -name '*.html' -exec sed -i '' 's/stuff to replace/replacement text/g' {} +

我对make的使用方法一无所知,因此可能有一种更好的方法来格式化Makefile,但是它对我有用。

答案 1 :(得分:0)

这似乎是最适合Pelican插件的任务。我要做的第一件事是查看Pelican Plugin Repository,看是否有可以提供所需功能的现有插件。如果没有,您可以考虑找到一个距离足够近的插件,并对其进行修改以获得所需的结果。 documentation for Pelican plugins的范围很广,如果遇到麻烦,您很有可能会向Pelican IRC channel的人们寻求帮助,