46 lines
2.9 KiB
Markdown
46 lines
2.9 KiB
Markdown
# 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` — вернётся прежнее поведение
|
|
ленты без полного текста и без лимита. |