Commit 0d2149f
authored
Fixes #714
## RFC 4287 implementation of a Atom hugo template
The in-tree Atom template follows RFC 4287 by providing:
* Required feed metadata: `title`, `id`, `updated`, and `author`.
* Required entry metadata: `title`, `id`, and `updated`.
* Optional metadata: `subtitle`, `generator`, `published`, categories,
language, HTML content, and `self`/`alternate` links.
* Valid empty feeds, stable timestamps, feed-size limits, and HTML feed
discovery.
Tests cover XML validity, required element cardinality, metadata values,
entry ordering and limits, RFC 3339 dates, HTML escaping, categories,
author fallback, empty feeds, and discovery links.
## AI assistance
AI tools were used to:
* help interpret the requirements of RFC 4287;
* help design tests for specific RFC 4287 requirements and edge cases;
* assist with debugging template-rendering and test failures.
* to make my notes readable for this PR
The resulting implementation and generated output were reviewed and
validated through the repository’s test suite.
## Other notes
This is intentionally a basic implementation, focused on the core
requirements of RFC 4287 and the features currently used by the
Scientific Python blog feed.
Additional behaviour such as per-entry authors, related-post links,
tracking parameters, or multilingual links can be added in response to
concrete use cases and review feedback.
Pixi was introduced to provide a reproducible, pinned Hugo and Dart Sass
environment for these tests. It also avoids installation-specific
behaviour such as Snap confinement (my dev machine) and could be reused
by other theme tests and development tasks. It proved convenient here,
but the change is not essential to the Atom implementation and can be
removed if maintainers would prefer to keep the existing tooling.
1 parent 1522c15 commit 0d2149f
5 files changed
Lines changed: 6 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
2 | | - | |
3 | | - | |
| 1 | + | |
| 2 | + | |
| 3 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
This file was deleted.
Submodule hugo-atom-layout added at d9f5f51
0 commit comments