来:订阅更新本站吆!

功能区
 taochengwei   EauDouce  订阅   2016-11-28   百度主动推送失败
正文区

时间:2016-11-28

主题:上线订阅功能

内容:

    Interest.blog是一个基于Flask的关于IT方面相关技术的个人博客,所有功能系个人开发,源代码托管在https://github.com/staugur/Interest.blog

    关于订阅功能,今天才想起来,于是乎,查了查相关资料,更新了代码。

    关键代码:

from urlparse import urljoin
from werkzeug.contrib.atom import AtomFeed

@app.route("/feed")
@app.route("/feed/")
def feed():
    data = requests.get(g.apiurl + "/blog", timeout=5, verify=False, headers={'User-Agent': 'Interest.blog/%s' %__version__}, params={"sort": "desc", "limit": "10"}).json().get("data") or []
    feed = AtomFeed('Interest.blog Feed', feed_url=request.url, url=request.url_root, subtitle="From the latest article in www.saintic.com")
    for article in data:
        feed.add(article['title'], unicode(article['content']),
                 content_type='html',
                 author=article['author'],
                 id=article['id'],
                 url=urljoin(request.url_root, url_for("blogShow", bid=article['id'])),
                 updated=datetime.datetime.strptime(article['update_time'] or article['create_time'],"%Y-%m-%d"),
                 published=datetime.datetime.strptime(article['create_time'],"%Y-%m-%d"))
    return feed.get_response()

    解读下,data是获取最新的十篇文章,通过werkzeug提供的AtomFeed类,填充URL条目,最后返回,效果可以看下:http://www.saintic.com/feed/

使用:

    客户端(阅读者)可以通过RSS阅读器订阅http://www.saintic.com/feed/获取推送。

    1. 推荐一个在线网站:深蓝阅读,操作很简单,登陆进去,主页面有添加框,输入本站的feed地址http://www.saintic.com/feed/添加即可。

    2. 进入QQ邮箱-阅读空间,右侧有“添加订阅”的按钮,在这里输入本站的feed地址http://www.saintic.com/feed/添加订阅也是可以的。

QQ邮箱订阅更新


    PS:有个特别坑的地方是,之前feed的title不是很明显可辨,更改之后,QQ邮箱订阅居然不更新,所以显示“The Latest Ten Articles”,更改的话,点击“设置--订阅管理”,选中这个订阅,修改它,建议名称”Interest.blog Feed“。


相关资料:

    1. Generating Feeds with Flask
    2. Werkzeug Atom Syndication