如何使用Jade构建RSS源?

时间:2015-01-26 10:32:14

标签: pug

我正在用Jade构建我自己的前端框架,我想知道是否有办法构建一个RSS feed文件,它将在每次编译时自动更新。

有没有办法自动创建类似JSON文件的东西,其中的对象包含可以在Jade循环中获取的页面信息?

1 个答案:

答案 0 :(得分:3)

是的,对所有人都是!你可以做到这一点。我将举一个例子来跟随。

在nodejs

app.all('/myCool.:name(rss|xml)', function(req, res){
    res.type('xml'); // <-- Type of the file
    // myFeeds is a Array!!
    res.render(req.params.name, { myFeeds : myFeeds, url : req.originalUrl });
});

在RSS rss

doctype xml
rss( version="2.0", xmlns:content="http://purl.org/rss/1.0/modules/content/", xmlns:atom='http://www.w3.org/2005/Atom' )
    channel
        title My Cool feed
        link= url
        //- I use momentjs
        lastBuildDate= moment().toUTCString()

        docs http://blogs.law.harvard.edu/tech/rs
        generator My Nodejs Generator Feeds for RSS
        each feed, i in myFeeds
            item
                title= feed.title
                guid( isPermaLink="true" )= feed.id

                updated= feed.date.toUTCString()

在Atom xml

doctype xml
feed( xmlns='http://www.w3.org/2005/Atom', xml:lang='es')

    link( href= url, rel='self' )
    //- I use momentjs
    updated= moment().format("YYYY-MM-DDTHH:mm:ssZ")
    title My Cool feed
    author
        name AlejoNext
        uri https://alejonext.co
    generator My Nodejs Generator Feeds for Atom

    each feed, i in myFeeds
        entry
            title!= feed.title
            id= feed.id
            updated= moment(feed.date).format("YYYY-MM-DDTHH:mm:ssZ")

这是一种生成内容的绝佳方式,您可以在玉中呈现任何类型的xml