Files

2.9 KiB

RSS Full Feed for dedinit.ru

Why

Блог dedinit.ru (Hugo 0.165, тема rDedInit/PaperMod) уже генерирует RSS-ленту (public/index.xml), но она неполноценна:

  • Лимит не задан — в ленту попадают ВСЕ посты (сейчас 17), хотя типовой читатель RSS ожидает короткую ленту последних публикаций.
  • Нет полного текста — тема умеет выводить <content:encoded> (полный HTML контент поста) при параметре site.Params.ShowFullTextinRSS, но он не включён. Сейчас в <description> только summary, у части постов обрезанный HTML.
  • Нет явных ссылок на медиа — изображения (hero.svg и др.) рендерятся в абсолютные URL внутри HTML-контента, поэтому при включении полного текста медиа-ссылки появятся автоматически. Но если полный текст по какой-то причине недоступен, лента должна хотя бы содержать корректное описание.

Цель: сделать RSS-ленту пригодной для полного забирания контента постов (full-content syndication) — 5 последних постов с полным текстом и медиа-ссылками.

What

  1. Включить полный текст в RSS: [params] ShowFullTextinRSS = true.
  2. Задать лимит 5 постов: [services.RSS] limit = 5.
  3. Убедиться, что в <item> попадают: <title>, <link>, <pubDate>, <description> (описание или summary), <content:encoded> (полный HTML, включая абсолютные ссылки на медиа), <guid>.
  4. Fallback (план B, если полный текст окажется недоступен): добавить явные description в frontmatter постов и увеличить лимит до 10.

Non-goals

  • Не меняем дизайн/вёрстку сайта.
  • Не трогаем taxonomy RSS (категории/теги)-ленты.
  • Не добавляем новые форматы (Atom только как самоссылка, уже есть).

Affected files

  • hugo.toml — [params] ShowFullTextinRSS, [services.RSS] limit
  • (план B) content/posts/*/index.md — description в frontmatter

Rollback

Откат = удалить две строки из hugo.toml (параметр ShowFullTextinRSS и [services.RSS] limit), пересобрать hugo --minify — вернётся прежнее поведение ленты без полного текста и без лимита.