hugo支持全文RSS设置问题
文章目录
【注意】最后更新于 October 21, 2021,文中内容可能已过时,请谨慎使用。
elfeed订阅初衷
在emacs中沉浸阅读体验使用elfeed插件必不可少,主要以来RSS订阅功能,可以逃离app束缚,使用喜欢的方式阅读。
现在想通过RSS订阅自己的博客,但是会出现不是全文的情况,参看了hugo文档,设置RSS 订阅配置,就可以实现全文订阅。
RSSHub订阅源的流行
现在支持RSS订阅功能的网站越来越少,造就了RSSHub的盛行,可以为帮助用户轻松订阅不支持RSS的王章,得益于很多人在贡献自己制作的订阅源,分享到到RSSHub网站上,提供给同样感兴趣的订阅者。
比如前几天想通过telegram机器人实现微信公众号订阅源,但是最终以失败告终。不过学到了telegram机器人和公众号的爬去机制。
制作微信公众号订阅源失败了,可以制作自己博客的订阅源,换个教书熟悉RSS技术,在过程中最好能够解决elfeed订阅RSSHub订阅失败的问题。
hugo支持全文订阅
定制rss模板
在
hsg/.iNotes/layouts/
新建文件index.rss.xml
核心代码行:
<description>{{ .Content | html }}</description>
.Content
: 全文1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
{{- $pctx := . -}} {{- if .IsHome -}}{{ $pctx = .Site }}{{- end -}} {{- $pages := slice -}} {{- if or $.IsHome $.IsSection -}} {{- $pages = $pctx.RegularPages -}} {{- else -}} {{- $pages = $pctx.Pages -}} {{- end -}} {{- $limit := .Site.Config.Services.RSS.Limit -}} {{- if ge $limit 1 -}} {{- $pages = $pages | first $limit -}} {{- end -}} {{- printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" | safeHTML }} <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>最近更新的内容 {{ if ne .Title .Site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }}</description> <generator>Hugo -- iT-Boyer.github.io</generator>{{ with .Site.LanguageCode }} <language>{{.}}</language>{{end}}{{ with .Site.Author.email }} <managingEditor>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</managingEditor>{{end}}{{ with .Site.Author.email }} <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 $pages }} <item> <title>{{ .Title }}</title> <link>{{ .Permalink }}</link> <pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate> {{ with .Site.Author.email }}<author>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</author>{{end}} <guid>{{ .Permalink }}</guid> <description>{{ .Content | html }}</description> </item> {{ end }} </channel> </rss>
设置订阅限制数
{{- $limit := .Site.Config.Services.RSS.Limit -}}
在模板代码中有获取配置文件
config.toml
属性值:1 2
# 制定RSS最大条数 rssLimit = 10
特殊 ^H
符号导致RSS问题
特殊符号,会导致一下问题:
|
|
在emacs 执行删除操作
选中并拷贝
v y
全文搜索:
spc s d 目录
替换:
M-x:replace-string
清理完成之后,重新编译即可。
elfeed订阅RSSHub 方案和订阅源筛选
因为RSSHub大部分是用户分享的订阅源,存在失效情况。
为增加订阅的成功率,可以参考RSSHub官网搭建私服服务的教程,配合RSSHub 公布的订阅源,把域名替换为私服路径,在验证是否有效。
推荐使用heroku平台部署文档:一键部署到 Heroku
已经个人的服务: https://i2rsshub.herokuapp.com
验证RSS订阅源主要关注几点:
订阅内容内容质量
内容是否符合自己兴趣爱好,有质量,有新东西的网站,才能有高效阅读体验
更新频率
主要为了筛选过期的订阅源,节省精力。
如果质量很好值得收藏,例如objc.io 已经停更,但是质量很高。
对于高质量的订阅源,要利用好elfeed 的时间过滤条件,也能够轻松驾驭过期期刊。
支持全文订阅
如果不支持全文订阅,文章质量有很好,可以借助
pocket-reader
工具获取全文内容pocket-reader 可以通过
pocket-reader-add-link
从org/elfeed/eww 等buffer 中的超链接,直接加入到pocket-reader 列表。pocket-reader 提供了优秀的阅读体验,可以将订阅内容格式化为org 在
org-mode
模式下阅读,相当惊艳。
pocket-reader提升阅读幸福感
pocket-reader 本身不支持订阅,是通过文章URL, 抓取文章内容的机制,这样在emacs 中提升阅读体验提供了基础。
GitHub - alphapapa/pocket-reader.el: Emacs client for Pocket reading list (ge…
掌握了这个阅读器,可以将网页内容,格式化为org 文章来阅读,这样提升阅读体验,在写博客时,也能沉浸在emacs 世界,尽情发挥想象力,全神贯注的投入创造。
它的快捷键很多,需要切换到在 edit 模式。
关于文章来源
pocket 有很多工具的支持,几乎可以实现随时随地推送一篇博客到pocket中。
浏览器插件
alfred工具
elfeed
微信公众号无解
文章作者 iTBoyer
上次更新 2021-10-21