Miniflux

MiniFlux Starred as Feed

Miniflux 是一个非常好用的 RSS 自托管方案,支持自建,支持多种客户端,支持多种订阅方式。 最近由于在折腾 Archivebox,需要将 Miniflux 中的 Starred Feed 作为一个 Feed 输出,以便于 导入星标条目到 Archivebox。 Miniflux 本身并不支持这个功能,但是其提供了 API,可以比较简单的导出 Starred 内容。

备选方案 #

如果是自己使用 Python 写的话,可以利用 https://github.com/miniflux/python-client 这个库,配合 feedgen 也能写个大概的,核心代码大概如下:

import miniflux
from feedgen.feed import FeedGenerator

client = miniflux.Client("https://miniflux.example.com", api_key="api_key")
entries = client.get_entries(starred=True, limit=50)

def create_rss_page(data):
    fg = FeedGenerator()
    fg.title('Miniflux Starred Feed')
    fg.link(href='https://miniflux.wogong.net', rel='self')
    fg.language('en')
    fg.description('Miniflux Starred Feed')

    for entry in data['entries']:
        fe = fg.add_entry()
        fe.id(entry['id'])
        fe.title(entry['title'])
        fe.link(href=entry['url'])
        fe.description('nothing')
        fe.author(name=entry['author'])
        fe.pubDate(entry['published_at'])

    rss_feed = fg.rss_str(pretty=True)
    fg.rss_file('rss.xml')
    return rss_feed

但是本着不自己造轮子的原则,找到了一些现成的工具,例如

...