如何在 R-Bloggers 上获取我的 blogdown 博客?

Posted

技术标签:

【中文标题】如何在 R-Bloggers 上获取我的 blogdown 博客?【英文标题】:How do I get my blogdown blog on R-Bloggers? 【发布时间】:2018-08-06 10:15:26 【问题描述】:

我使用 blogdown 生成了我的 blog,但是当我尝试将其提交给 R-Bloggers 时它不被接受,因为 my feed 返回以下错误:

此 XML 文档无效,可能是由于字符无效。 XML 错误:第 6 行第 35 列未声明的实体错误

显然我网站的feed 不包含完整的RSS 内容。如何让它保存所有内容?

【问题讨论】:

我投票决定将此问题作为离题结束,因为它属于 blogdown github 网站上的一个问题。 @hrbrmstr 不知道你是否真的理解这个问题。你真的尝试过使用 Hugo 和 blogdown 建立一个网站吗?我不认为这是题外话,因为它是一个有效的 Hugo 问题(与 blogdown 没有直接关系)。你可能会说它是重复的(通过谷歌搜索“hugo rss full content”很容易找到答案):discourse.gohugo.io/t/full-text-rss-feed/8368 但它绝对不是题外话,或者属于 Github 上的 blogdown 存储库。我认为将问题从单个维护者推送到社区比其他方式更好。 我不欣赏@YihuiXie 居高临下的语气。而且,如果问题出在包上,那么我自己 100% OK 的意见是,问题是解决问题的好方法(因为我也编写包)。而且,我的评论有 5 次上升在一定程度上证明了这一点。 我不反对它应该是一个特性。它应该是 Hugo 的特性,而不是 blogdown; blogdown 与 Hugo 模板(本例中为 RSS 模板)没有任何关系。如果必须提交到 Github 存储库,则 Github 存储库应该是 github.com/gohugoio/hugo 而不是 blogdown。我知道是我把 Hugo 介绍给 blogdown 用户的,所以我有责任处理纯粹的 Hugo 问题。我很好。我不满意的是人们关闭了有效的 Hugo 问题并强迫用户去错误的仓库提出问题 @hrbrmstr 如果您觉得语气居高临下,我深表歉意。我不是那个意思。我只是在质疑是什么让你相信这是一个离题的问题并且属于 Github 上的 blogdown 存储库。这是一个与编程有关的问题。这不是博客的错误。回答所有雨果问题对我来说绝对不切实际。如果您编写使用上游库的包,我相信您也无法回答与上游库相关的所有问题。 【参考方案1】:

在 Hugo 文档 (https://gohugo.io/templates/rss/) 中,他们提供了当前“随”Hugo 一起提供的嵌入式 RSS xml 文件。根据文档,部分的 RSS 将呈现在 /SECTION/index.xml(例如,http://spf13.com/project/index.xml)。因此,对于您的帖子,它将是 http://spf13.com/post/index.xml。

内置RSS xml文件中的关键行是这一行:

<description> .Summary | html </description>

根据本次讨论 (https://discourse.gohugo.io/t/full-text-rss-feed/8368/2),您似乎想要将描述标签中的内容从 .Summary 更改为 .Content。这是作者实现此更改的示例博客文章:https://randomgeekery.org/2017/09/15/full-content-hugo-feeds/

因此,您可以将 Hugo RSS xml 中的那一行更改为:

<description> .Content | html </description>

完整的 rss.xml 文件应位于您的 layouts/ 文件夹中,其中一行已更改。

看起来您确实可以测试其他选项,例如在 config.toml 文件 (https://github.com/gcushen/hugo-academic/issues/346; https://gohugo.io/templates/output-formats/) 中使用输出格式,并在 header.html (https://gohugo.io/templates/rss/) 中引用您的 RSS,但是将 .Summary 更改为 .Content 应该可以解决您的问题。

【讨论】:

从 Hugo v0.58.2 开始,这不再有效。 @Alison 有什么想法吗? 好的,我认为已经想通了。在您的 themes/ 文件夹中有一个 /layouts/_default 文件夹。在那里,您需要您的 rss.xml 文件。然后生成public/post/index.xml 文件。这是您需要包含完整内容的内容。 其实那是不正确的。这是由于here 描述的问题。主要是因为 Hugo 引入了这个新的“帖子”页面,我还没有完全弄清楚如何从帖子而不是“帖子”页面中选择内容。 您是否偶然发现了新的解决方案? @Tlatwork 我没有。最后,我只是将我的 Hugo 版本锁定到此更新之前的版本。【参考方案2】:

这似乎对我有用...

在您的布局文件夹中创建一个名为标签的目录。所以你应该有这个文件夹结构:

<your_base_directory>/layouts/tags

(这不是主题目录中的 layouts 目录)。

然后新建一个文件:

<your_base_directory>/layouts/tags/rss.xml

然后将this 粘贴到您新创建的rss.xml

【讨论】:

这是个好主意。不幸的是,我试图这样做但失败了。你有什么提示吗? ***.com/questions/65447256/…

以上是关于如何在 R-Bloggers 上获取我的 blogdown 博客?的主要内容,如果未能解决你的问题,请参考以下文章

R:如何检测和修复情节上的异常值?

如何在w / django中获取类别内的项目数?

laravel 5.2 如何在刀片中获取路由参数?

如何将我的时区设置为太平洋标准时间? https://cran.cnr.berkeley.edu/

在我的网页上从我的 wordpress 获取最新帖子

我可以在地理地图上叠加 ggplot 热图吗?