前言
Hugo在生成网站时会默认为用户生成对应的RSS文件,然而Hugo默认生成的RSS订阅源中包含文章的全部内容。虽然这样能极大程度上得给用户提供便捷,但同时会增加文章被爬虫盗取导致版权问题的风险。
因此本文的主要内容是介绍如何自定义Hugo的RSS模板。
本文首发于我的个人博客技术公馆(wcc.im):自定义Hugo的RSS模板
目录
RSS简介
RSS全称为Really Simple Syndication,是一种简单易用的为用户提供信息聚合方式的规范。其语法相对简单且受到的支持较为广泛,因此非常适合于博客、新闻等网站。
RSS的语法在此就不再赘述,想要具体了解的读者可以查看我的另一篇文章RSS语法简介。
Hugo默认的RSS模板
根据每个人选择的主题的不同,RSS代码可能略有不同,但殊途同归一通百通。
我目前使用的是Academic主题,Academic主题中的RSS模板位于themes/academic/layouts/_default/rss.xml
,模板内容如下所示:
{
{- /* Generate RSS v2 with full page content. */ -}}
{
{- /* Upstream Hugo bug - RSS dates can be in future: https://github.com/gohugoio/hugo/issues/3918 */ -}}
{
{- $page_context := cond .IsHome site . -}}
{
{- $pages := $page_context.RegularPages -}}
{
{- $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=