<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Miniflux on WOGONG</title>
    <link>https://wogong.net/tags/miniflux/</link>
    <description>Recent content in Miniflux on WOGONG</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <lastBuildDate>Thu, 03 Aug 2023 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://wogong.net/tags/miniflux/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>MiniFlux Starred as Feed</title>
      <link>https://wogong.net/blog/miniflux-starred/</link>
      <pubDate>Thu, 03 Aug 2023 00:00:00 +0000</pubDate>
      <guid>https://wogong.net/blog/miniflux-starred/</guid>
      <description>&lt;p&gt;Miniflux 是一个非常好用的 RSS 自托管方案，支持自建，支持多种客户端，支持多种订阅方式。&#xA;最近由于在折腾 Archivebox，需要将 Miniflux 中的 Starred Feed 作为一个 Feed 输出，以便于&#xA;导入星标条目到 Archivebox。&#xA;Miniflux 本身并不支持这个功能，但是其提供了 API，可以比较简单的导出 Starred 内容。&lt;/p&gt;&#xA;&lt;h2 id=&#34;备选方案&#34;&gt;&#xA;  备选方案&#xA;  &lt;a class=&#34;anchor&#34; href=&#34;#%e5%a4%87%e9%80%89%e6%96%b9%e6%a1%88&#34;&gt;#&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;如果是自己使用 Python 写的话，可以利用 &lt;a href=&#34;https://github.com/miniflux/python-client&#34;&gt;https://github.com/miniflux/python-client&lt;/a&gt;&#xA;这个库，配合 feedgen 也能写个大概的，核心代码大概如下：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; miniflux&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; feedgen.feed &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; FeedGenerator&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;client &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; miniflux&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Client(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://miniflux.example.com&amp;#34;&lt;/span&gt;, api_key&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;api_key&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;entries &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; client&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get_entries(starred&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;, limit&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;50&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;create_rss_page&lt;/span&gt;(data):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    fg &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; FeedGenerator()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    fg&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;title(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Miniflux Starred Feed&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    fg&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;link(href&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;https://miniflux.wogong.net&amp;#39;&lt;/span&gt;, rel&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;self&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    fg&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;language(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;en&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    fg&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;description(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Miniflux Starred Feed&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; entry &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; data[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;entries&amp;#39;&lt;/span&gt;]:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        fe &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; fg&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;add_entry()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        fe&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;id(entry[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;id&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        fe&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;title(entry[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;title&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        fe&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;link(href&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;entry[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;url&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        fe&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;description(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;nothing&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        fe&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;author(name&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;entry[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;author&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        fe&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;pubDate(entry[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;published_at&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    rss_feed &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; fg&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rss_str(pretty&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    fg&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rss_file(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;rss.xml&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; rss_feed&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;但是本着不自己造轮子的原则，找到了一些现成的工具，例如&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
