Skip to content

Commit 0d2149f

Browse files
authored
First version of replacing hugo-atom-feed (issue #714) (#715)
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

File tree

‎.gitmodules‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
[submodule "themes/hugo-atom-feed"]
2-
path = themes/hugo-atom-feed
3-
url = https://github.com/kaushalmodi/hugo-atom-feed
1+
[submodule "themes/hugo-atom-layout"]
2+
path = themes/hugo-atom-layout
3+
url = https://github.com/FAST-HEP/hugo-atom-layout

‎config.yaml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
disableKinds:
22
- taxonomy
33
theme:
4-
- scientific-python-hugo-theme/themes/hugo-atom-feed
4+
- scientific-python-hugo-theme/themes/hugo-atom-layout
55
params:
66
colorScheme: auto # can be auto (browser setting), light, or dark
77
images:

‎doc/netlify.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[build.environment]
22
PYTHON_VERSION = "3.13"
3-
HUGO_VERSION = "0.155.0"
3+
HUGO_VERSION = "0.158.0"
44
DART_SASS_VERSION = "1.93.2"
55
DART_SASS_URL = "https://github.com/sass/dart-sass/releases/download/"
66

‎themes/hugo-atom-feed‎

Lines changed: 0 additions & 1 deletion
This file was deleted.

‎themes/hugo-atom-layout‎

Submodule hugo-atom-layout added at d9f5f51

0 commit comments

Comments
 (0)