IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Ghost博客自定义RSS

    1900发表于 2023-05-26 15:34:19
    love 0

    在如今的年代信息的获取已经不能再简单了,各大公司得益于算法、用户画像共享,可以在用户完全不知情的情况下给用户推送信息、广告,但是又因为营销号这种东西存在,导致推送给用户的所谓信息大部分几乎都是无效的。

    所以在碎片化信息如此肆意增长的时代依旧还有人用RSS(Really Simple Syndication)来作为自己的信息获取渠道,我通过GPT总结了一下这种信息获取方式的优缺点,并做了一些自己理解

    优点

    • 方便快捷:RSS 可以将多个网站的内容汇总到一个统一的阅读器中,让用户无需逐个访问网站,节省时间和精力。
    • 定制化:用户可以订阅自己感兴趣的内容源,只接收特定领域或感兴趣的信息,避免信息过载。
    • 阅读体验好:RSS 阅读器通常提供简洁、干净的阅读界面,让用户专注于阅读内容。
    • 隐私保护:RSS 阅读器不需要用户提供个人信息,避免了隐私泄露的风险。

    缺点

    • 信息过滤不足:RSS 订阅的源可能包含垃圾信息或媒体推销,需要用户手动过滤。
    • 部分网站不支持:虽然 RSS 已经普及,但仍有一些网站不支持 RSS,无法使用这种方式获取信息。
    • 信息更新不及时:由于 RSS 的更新频率与源网站有关,有些网站可能不会及时更新 RSS,导致信息更新不及时。

    补充

    • 目标网站会损失流量
    • 国内RSS环境不太好,大公司都是思域闭环,甚至各种屏蔽外部链接。

    总体来说,使用 RSS 获取信息的好处远大于坏处,特别是对于需要定期获取大量信息的人来说,RSS 可以帮助他们更高效简洁的地获取信息。


    前些日子被个站商店的管理小彦告知我的博客RSS订阅似乎有点问题,有标题,但所有的内容都是乱码,如下图:

    alt

    经过测试发现可能是Ghost使用的XML版本为2.0有关系,换成1.0后可以正常显示。

    定制步骤

    根据官方提供的定制教程我们可以通过新建模板重写RSS页面。

    1. 在主题根目录新建 rss.hbs 文件,并设置编码模式为 UTF-8 ,version版本为 1.0 。
    <?xml version="1.0" encoding="UTF-8"?>
    <rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
        xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="1.0">
        <channel>
            <title>
                <![CDATA[ {{@site.title}} ]]>
            </title>
            <description>
                <![CDATA[ {{@site.description}} ]]>
            </description>
            <link>{{@site.url}}</link>
            <image>
                <url>{{@site.url}}/favicon.png</url>
                <title>{{@site.title}}</title>
                <link>{{@site.url}}</link>
            </image>
            <lastBuildDate>{{date format="ddd, DD MMM YYYY HH:mm:ss ZZ"}}</lastBuildDate>
            <atom:link href="{{@site.url}}" rel="self" type="application/rss+xml" />
            <ttl>60</ttl>
    
            {{#get "posts" limit="all" include="authors,tags"}}
            {{#foreach posts}}
            <item>
                <title>
                    <![CDATA[ {{title}} ]]>
                </title>
                <description>
                    <![CDATA[ {{excerpt}} ]]>
                </description>
                <link>{{url absolute="true"}}</link>
                <guid isPermaLink="false">{{id}}</guid>
                <category>
                    <![CDATA[ {{primary_tag.name}} ]]>
                </category>
                <dc:creator>
                    <![CDATA[ {{primary_author.name}} ]]>
                </dc:creator>
                <pubDate>{{date format="ddd, DD MMM YYYY HH:mm:ss ZZ"}}</pubDate>
                <media:content url="{{feature_image}}" medium="image" />
                <content:encoded>
                    <![CDATA[ {{content}} ]]>
                </content:encoded>
            </item>
            {{/foreach}}
            {{/get}}
    
        </channel>
    </rss>

    2. 登录后台,进入 Labs 设置,下载 Routes.yaml 文件,并对其中的 Routes 进行以下修改

    routes:
      /rss/:
        template: rss
        content_type: text/xml

    3. 上传修改好的 yaml 文件和重新打包的主题文件。

    4. 刷新rss页面看效果。



沪ICP备19023445号-2号
友情链接