和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
参考:
使用平台:
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 日