跳转主页

和RSS订阅相关的记录

·1244 字·3 分钟
Blog RSS
目录

1. 为本主题博客添加rss订阅

新建rss.xml文件

  • /layouts/_default/下新建文件rss.xml,粘贴入以下内容
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>{{ if eq  .Title  .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }}{{ end }}</title>
  <link>{{ .Permalink }}</link>
  <description>Recent content {{ if ne  .Title  .Site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }}</description>
  <generator>Hugo -- gohugo.io</generator>
  {{ with .Site.LanguageCode }}
  <language>{{.}}</language>{{end}}
  {{ with .Site.Author }}
  <managingEditor>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</managingEditor>{{end}}
  {{ with .Site.Author }}
  <webMaster>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</webMaster>{{end}}
  {{ with .Site.Copyright }}
  <copyright>{{.}}</copyright>{{end}}
  {{ if not .Date.IsZero }}
  <lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }}
  {{ with .OutputFormats.Get "RSS" }}
      {{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
  {{ end }}
  {{ range first 5 (where .Data.Pages ".Params.enrypt" "!=" "true") }}
  <!-- 只推送【文件夹1】和【文件夹2】下的内容 -->
  {{ if or (in .File.Path "文件夹1") (in .File.Path "文件夹2") }}
    <item>
      <title>{{ .Title }}</title>
      <link>{{ .Permalink }}</link>
      <pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
      {{ with .Params.author }}<author>{{.}}</author>{{end}}
      <guid>{{ .Permalink }}</guid>
      <description>{{ .Content | html }}</description>
    </item>
  {{ end }}
{{ end }}
</channel>
</rss>

推送限制

其中 {{ range first 5 (where .Data.Pages ".Params.enrypt" "!=" "true") }} 代表首次订阅时推送5篇;

或者在/config/_default/config.toml中添加限制 rssLimit = 5

在主页头像下添加rss图标

#/config/_default/languages.zh-cn.toml

links = [
    {rss-square = "https://ple.happytoo.cyou/index.xml"}
  ]

2. 自建Miniflux

参考:

免费搭建一个好玩的 RSS 订阅网站

使用 Railway 和 Miniflux 零成本搭建 RSS 服务

使用平台:

github;https://github.com/

supabase:https://supabase.com/

Railway;https://railway.app/



Supabase 创建数据库

使用 github 账号登录 Supabase ,创建新数据库,创建时一定记住密码,创建完成后,前往Project Setting - Database , Connection string - URL,获取数据库URL,并将中间的[YOUR-PASSWORD]替换为刚刚设定的密码。

保存好替换后的数据库URL。

Github 创建新仓库/文件

仓库命名为miniflux,设为私有,主要用于存放 Dockerfile 文件,以便让 Railway 读取项目信息进行编译

勾选上Add a README file

接下来创建文件Dockerfile

FROM docker.io/miniflux/miniflux:latest

latest代表最新版本,也可使用指定版本号替代

提交修改保存。

Railway 部署

同样使用github账号登录Railway,选择刚刚创建好的miniflux仓库。

Settings - Domains 中添加自己的域名(提前解析好)。

Variables - RAW Editor 中填写环境变量

DATABASE_URL= #Supabase中保存的数据库URL
PROXY_IMAGES=all
RUN_MIGRATIONS=1
BASE_URL=https:// #Domains
ADMIN_PASSWORD= #管理员账户密码
ADMIN_USERNAME= #管理员账户用户名
CREATE_ADMIN=1

其中管理员账号密码对应的是搭建成功后首次登录时,页面内需要输入的账号密码(如下图)

提交保存,Railway 重新部署。

完成后,按填写的BASE_URL打开网站,输入账号密码即可登录。

Miniflux 设置css

在设置中最下方可自定义CSS

太长了受不了了早晚要折叠掉代码块。

RSSHub

Vercel 部署 RSSHub

https://github.com/DIYgod/RSSHub 拉出一个分支。

在 vercel 中新建仓库,关联分支进行部署即可。如有需要,设置自定义域名。

浏览器插件 RSSHub

在浏览器 插件市场/扩展程序应用商店 中找到 RSSHub Radar ,安装

安装完成后,点开浏览器内的 RSSHub Radar - Setting

General - Custom RSSHub domain name 填写在 Vercel 中设置好的域名;

One-click subscription - Miniflux 勾选上 Enable , 输入框中填写在 Railway 内设定的域名。


以上,完成全部设置。

后续在互联网上浏览到喜欢的内容时,就可以点击插件RSSHub Radar看看是否支持RSS订阅;如获取到了订阅源,那么可直接跳转进 miniflux设置 中添加订阅源了。



最后更新于: 2024 年 10 月 25 日