- the search index is generated by Hugo as a separate JSON file
(searchindex output format), loaded by the search page and cached by
the browser: the search pages go from 96 KB to 7 KB
- Fuse.js 6.4.3 -> 7.5.0 (basic build). Since Fuse.js 7 no longer
provides an UMD build, search.js is now an ES module importing it.
- search on the input event instead of keyup (paste, autocompletion)
Refs #11
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YNHsWYTXPThURz6TbVS1j3
Descriptions (meta description, Open Graph, Twitter cards, JSON-LD):
the description front matter parameter, the site description for the
home page, "Articles related to <term>" for the term pages, the page
summary truncated to 160 characters, or the site description. The meta
description used to be the title of the page.
Social images: the images front matter parameter, a *feature*, *cover*
or *thumbnail* page resource, the first image of the page content or
the default image of the site. The image is converted to JPEG and
resized to 1200 px wide max, without cropping, and its dimensions are
given in the Open Graph tags. The default image (avatar) uses a small
Twitter card.
Structured data: BlogPosting for the blog, Article for the talks and
publications, with the description, the image and the author.
Refs #11
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YNHsWYTXPThURz6TbVS1j3
Hugo upgrade (0.121.2 -> 0.167.0):
- remove the blackfriday and pygments* settings (markup.highlight instead)
- languageName -> label, _build -> build, .Scratch -> .Store,
.Sites -> hugo.Sites, .LanguageName -> .Label, .LanguageCode -> .Locale
- move the templates to the new layout tree (_partials, _shortcodes,
home.html, page.html, term.html, taxonomy.html, section.html)
- use the embedded pagination, opengraph and twitter_cards partials
- fix the term filtering in post-metadata.html (.Data.<singular> is gone)
- keep the taxonomy terms as written (capitalizeListTitles: false) and
give a proper title to the blog section ("Articles" instead of "Blogs")
- <s> is raw HTML (omitted by Goldmark): use ~~ instead
- use relref for a relative link that was broken in the RSS feeds
Mounts:
- the english content not translated in french is now published in the
french site through module mounts, instead of symlinks created by the
./hugo script. hugo and hugo server can be used directly.
- chroma.css is now versioned instead of generated at each build
- remove the ./hugo script and realpath.py
The generated site has the same set of files. The remaining differences
come from the new minifier, the new embedded templates (og:locale, empty
meta tags removed, youtube iframe) and the new summary computation.
Refs #11
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YNHsWYTXPThURz6TbVS1j3
Hugo used to publish every file of the page bundles, including the
source files (xcf, heic, raw videos, scripts, etc.), twice because of
the english articles copied in the french site. The site weighed 503 MB.
With publishResources disabled, only the resources referenced through
.Permalink / .RelPermalink are published: 95 files are no longer
published and the site now weighs 165 MB.
The few resources referenced by raw markdown links or by the figure
shortcode (which does not resolve page resources) now use the
attachedFileLink and attachedFigure shortcodes.
Note: Hugo 0.121 uses the _build front matter key (renamed build later).
Refs #11
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YNHsWYTXPThURz6TbVS1j3
The theme was only used by this site. Having it at the root of the
repository removes the need for a git submodule and the double commits.
- layouts, assets, i18n and static files moved to the root
- theme LICENSE kept as LICENSE-theme
- ./hugo now generates chroma.css in assets/css
- remove the obsolete static/css/.gitignore
The generated site is identical, except for the stale /css/chroma.css
and /css/.gitignore files that are no longer published.
Closes#12
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YNHsWYTXPThURz6TbVS1j3