aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Use the registered media type for Atom feedsNicholas Johnson18 hours
| | | | | | | | | | | | The Atom output formats were declared against "application/atom", which is not a registered media type; the registered one is "application/atom+xml". Nothing downstream currently depends on it, since the served content type is decided by the .xml suffix, but the declaration was wrong and .MediaType reported it to templates. Feed filenames and locations are unchanged. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
* Include the site title in page titlesNicholas Johnson18 hours
| | | | | | | | | | | Entry and taxonomy pages set the document title to the page title on its own, so a bookmark, a browser tab or a search result gave no indication of which site the page belonged to. Append the site title everywhere except the homepage, where the two are already the same. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
* Fix entry heading anchors on page bundlesNicholas Johnson18 hours
| | | | | | | | | | | | | | The heading id came from .File.TranslationBaseName, which is "index" for every leaf bundle. Since audio versions require an entry to be a bundle, every entry with audio got the same meaningless anchor, and pages built by a content adapter would have taken the name of the directory holding the adapter. Derive the id from the page's own URL instead. Single file entries keep the anchors they already had, and bundles, adapter built pages and custom slugs now each get their own. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
* Advertise Atom feeds to browsers and readersNicholas Johnson18 hours
| | | | | | | | | | | | The feeds were only reachable by following the visible link on a taxonomy or term page, and the homepage did not link to its feed at all. Without a rel="alternate" element in the document head, feed readers and browser extensions cannot discover a feed from the page it belongs to. Emit the link on any page that has an Atom output format, so each page advertises its own feed rather than a hardcoded site-wide one. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
* Fix empty entry heading on sites without journal entriesNicholas Johnson18 hours
| | | | | | | | | | | | The "Journal Entries" heading was guarded by .Site.RegularPages while the list below it was filtered to the "entry" section. A site with pages but no entries rendered the heading with nothing under it. Guard on the filtered collection instead. This also drops the .ByTitle sort, which was immediately discarded by the .ByPublishDate.Reverse that followed it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
* Order feeds by publish date rather than dateNicholas Johnson18 hours
| | | | | | | | | | Every listing in the theme is built from .PublishDate, but the feeds timestamped entries with .Date and left them in Hugo's default order. An entry that set both front matter keys was therefore advertised to readers with a different date, and potentially in a different order, than it appeared in on the site. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
* Limit home feeds to journal entriesNicholas Johnson18 hours
| | | | | | | | | | | | The homepage lists only pages in the "entry" section, but its feeds ranged over every regular page. Standalone pages such as an about page were therefore published to subscribers while never appearing on the homepage itself. Apply the same section filter the homepage templates use, so the feed and the page it describes agree on what an entry is. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
* Error on generating Atom feeds without an authorNicholas Johnson18 hours
| | | | | | | | | RFC 4287 requires every feed to carry an atom:author unless all of its entries carry one. Entries here never do, and the feed-level author was emitted only when params.author was set, so any site that did not set it published feeds that no conforming validator accepts. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
* Fix preformatted text opening an entry being treated as proseNicholas Johnson3 days
| | | | | | | | | | | | | | | The chunking regex required at least one character before a preformatted block, so a block starting on the first line of an entry could never match the preformatted branch and fell through to the prose branch. Its contents were then run through the prose substitutions: asterisks were stripped, ordered list items were rewritten as unordered ones and links were turned into references, inside text that must be reproduced verbatim. Allow the leading segment to be empty. Blocks elsewhere in an entry, multiple blocks and reference numbering are unaffected. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
* Fix build failure when RSS limit is unsetNicholas Johnson3 days
| | | | | | | | | | | | | Hugo's default for services.rss.limit is -1 (unlimited), and passing a negative length to "first" aborts the build with "sequence length must be non-negative". Every feed template did this unconditionally, so any site that did not explicitly set services.rss.limit failed to build at all, rather than degrading to an unlimited feed. Only apply "first" when a positive limit is configured, which is the same guard Hugo's own internal RSS template uses. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
* Update changelog2026.09.06Nicholas Johnson2026-09-06
|
* Update readmeNicholas Johnson2026-09-06
|
* Add audio support for entries on capsuleNicholas Johnson2026-09-06
|
* Move pageinfo below heading for capsuleNicholas Johnson2026-09-06
|
* Add audio support for entries on websiteNicholas Johnson2026-09-06
|
* Move pageinfo below heading for websiteNicholas Johnson2026-09-06
|
* Minify and fingerprint CSS stylesheetNicholas Johnson2026-09-06
| | | | This improves page performance and load times.
* Replace ".Name" with ".Title" for entry headingsNicholas Johnson2026-09-06
| | | | | I'm not sure if this change makes a difference, but .Title seems to be the canonical option in this context.
* Remove arbitrary chars inside i18n stringsNicholas Johnson2026-09-06
| | | | | ReadingTime is directly passed to the i18n fn, so the correct format for the i18n string is simply "{{ . }}", not "{{ .Count }}".
* Replace visual dividers w/space for entry metadataNicholas Johnson2026-09-06
| | | | Less visual clutter, improves readability.
* Make changelog links point to diffsNicholas Johnson2026-01-08
| | | | | A changelog should provide information about changes between versions, not link to releases.
* Correct reference-style linksNicholas Johnson2026-01-08
|
* Update changelog2025.09.07Nicholas Johnson2025-09-07
|
* Fix link in READMENicholas Johnson2025-09-07
|
* Update changelog2025.07.27.2Nicholas Johnson2025-07-27
|
* Update CSS stylesheet's copyright yearNicholas Johnson2025-07-27
|
* Remove extra space created by Flexbox usageNicholas Johnson2025-07-27
|
* Make footer stick to bottom of pageNicholas Johnson2025-07-27
|
* Add body padding width to CSS media queryNicholas Johnson2025-07-27
| | | | | | Changing box-sizing from content-box to border-box caused the body width to account for padding, so it has to be added back in order to get the full 72 chars in the main content.
* Ensure body is always at least viewport heightNicholas Johnson2025-07-27
| | | | | The page content area's background color should always fill the height of the viewport, even if there is not enough page content.
* Update changelog2025.07.27.1Nicholas Johnson2025-07-27
|
* Correct nested headings in changelogNicholas Johnson2025-07-27
|
* Add a dark gray background to websiteNicholas Johnson2025-07-27
| | | | This makes it more visually clear where the content begins and ends.
* Update changelog2025.07.27Nicholas Johnson2025-07-27
|
* Remove support for deprecated key "site.Author"Nicholas Johnson2025-07-27
| | | | | This Hugo theme no longer supports the Hugo versions that can utilize the key "site.Author", so this code never executes.
* Remove support for deprecated key "_build"Nicholas Johnson2025-07-26
| | | | | This Hugo theme no longer supports Hugo versions less than 0.123.0, so this code never executes.
* Update minimum required Hugo versionNicholas Johnson2025-07-26
|
* Migrate fully to Hugo's new template systemNicholas Johnson2025-07-26
| | | | | This was the only way I could get term pages to consistently render correctly.
* Update changelog2025.07.24.1Nicholas Johnson2025-07-24
|
* Remove max version notice from README.mdNicholas Johnson2025-07-24
|
* Move taxonomy and term layouts to layouts/_defaultNicholas Johnson2025-07-24
| | | | | | | | | | | | | | | | | | | Hugo's template system was reimplemented in Hugo version 0.146.0. "We [the Hugo developers] have aimed to maintain as much backward compatibility as possible by mapping "old to new," but some reported breakages have occurred." Reference: https://gohugo.io/templates/new-templatesystem-overview/ The "mapping "old to new,"" is not yet documented, but moving the taxonomy and term layouts to layouts/_default seems to be sufficient to properly generate this theme on Hugo versions later than 0.146.0. To retain backward compatibility with older Hugo versions, the other recommended changes to the layouts directory are not made. Reference: https://gohugo.io/templates/new-templatesystem-overview/#changes-to-the-layouts-folder
* Correct dateNicholas Johnson2025-07-24
|
* Switch to calendar versioningNicholas Johnson2025-07-24
| | | | | Semantic versioning doesn't make sense for a Hugo theme, since there is no API to track changes for.
* Update changelog2025.07.24Nicholas Johnson2025-07-24
|
* Document max Hugo version in README.mdNicholas Johnson2025-07-24
| | | | | | | The maximum Hugo version cannot be documented in theme.toml because Hugo does not support such a key: https://github.com/gohugoio/hugo/issues/5342
* Replace deprecated front matter keyNicholas Johnson2025-07-24
| | | | | | | | "build" was effectively aliased to "_build" in Hugo version 0.123.0. So for backward compatibility, "_build" is used for Hugo versions prior to version 0.123.0. Reference: https://github.com/gohugoio/hugo/commit/d0ce94219049508e45c5a7c43a281ecde7778358
* Update changelog2025.02.06.1Nicholas Johnson2025-02-06
|
* Add non-breaking spaces within entry tag namesNicholas Johnson2025-02-06
| | | | | | The spaces in tag names must be non-breaking because tag names split across multiple lines are visually indistinguishable from distinct tags.
* Update changelog2025.02.06Nicholas Johnson2025-02-06
|
* Remove commas from pageinfo tags list in htmlNicholas Johnson2025-02-06
| | | | | | Spaces are more aesthetically pleasing. The Gemtext output format cannot remove the commas because then there would be no way to distinguish tags containing spaces from distinct tags.