为Pelican Blog添加Json Feed

  • By 毕勤
  • Mon 02 September 2019

为Pelican添加Plugins目录

找到你的pelicanconf.py文件,在同路径添加一个plugins目录(名字可以改),然后从这里clone这个插件过来到plugins目录。

编辑pelicanconf.py配置

为了让pelican工程认到这个插件,需要编辑pelicanconf.py文件,添加以下内容:

#Plugins
PLUGIN_PATHS = ['plugins']
PLUGINS = ['pelican_json_feed']
FEED_ALL_JSON = 'feeds.json'  

FEED_ALL_JSON的文件名可以自己定义。

修一个小bug

打开插件的json_feed.py文件,这个项目真的有点老了,json.dump函数现在只接受两个参数,不知道这个工程写的时候是不是参数都不一样,把最后一个encode参数删掉才行,否则会爆错。

    def write(self, fp, encoding='utf-8'):
        json.dump(self.feed, fp)

编辑blog模板

服务爬虫,更容易的找到你的json_feed,在base.html模板的header中添加:

{% if FEED_ALL_JSON %}
<link rel="alternate" type="application/json" title="JSON Feed" href="{{ FEED_DOMAIN }}/{{ FEED_ALL_JSON }}">
{% endif %}

然后重新发布,好了。