无视了文档的 status: false ,直接在 feed 中更新,大 BUG 啊!

官方文档 feed.jade 中是获取最近 10 篇文章:

feed_posts = posts.recent_10

要想排除某个分类,其实也就是 某个文件夹,只要在这里改动。经过超出预习的测试,暂且改为:

d.get_data(type='post+folder',status='public',excludes=['chat','photos','images','pages','_','template','configs'],limit=10,sort='desc')

其实文档里 get_data 有个 path 参数:

path 默认为/(相当于站点根目录), 限定查询数据的路径,比如 path='docs/' , 则表示仅查询docs/这个目录下的数据。

可是我的各个分类文件夹直接在根目录,而这个 path 参数只能限定 1个 路劲,想多个这样写 path=['coding','reading'] 是无效的,逆行却爆出 bug 一堆……

完整代码如下,另存为 feed.jade 丢入主题 template 文件夹即可:

doctype xml
+set_content_type('application/xml')
feed(xmlns="http://www.w3.org/2005/Atom")
    title= site.title
    link(href="https://{{ request.host }}/")
    link(ref="self", href="https://{{ request.host }}/feed")
    id= site._id
    feed_posts = d.get_data(type='post+folder', excludes=['chat','photos','images','pages','_','template','configs'],limit=10,sort='desc')
    if feed_posts
        updated= feed_posts[0]['date'].strftime('%Y-%m-%dT%H:%M:%SZ')
    for post in feed_posts
        entry
            post_url = 'https://' + request.host + post.url.escaped
            title= post.title.escaped
            link(href=post_url, rel="alternate")
            updated= post.date.strftime('%Y-%m-%dT%H:%M:%SZ')
            id= post.url_path.escaped
            author
                name= site.configs.admin_name
            summary(type="html")= post.content.escaped