<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hugo on NakuRei's Notes</title><link>https://notes.nakurei.com/en/categories/hugo/</link><description>Recent content in Hugo on NakuRei's Notes</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>NakuRei</copyright><atom:link href="https://notes.nakurei.com/en/categories/hugo/index.xml" rel="self" type="application/rss+xml"/><item><title>Notes on Migrating the Hugo Stack Theme from v3 to v4</title><link>https://notes.nakurei.com/en/post/hugo-stack-v4-migration/</link><pubDate>Thu, 03 Sep 2026 23:32:21 +0900</pubDate><guid>https://notes.nakurei.com/en/post/hugo-stack-v4-migration/</guid><description>&lt;img src="https://notes.nakurei.com/post/hugo-stack-v4-migration/image.webp" alt="Featured image of post Notes on Migrating the Hugo Stack Theme from v3 to v4" /&gt;&lt;h2 id="overview"&gt;&#10; Overview&lt;a href="#overview"&gt;&#10; &lt;img src="https://notes.nakurei.com/icons/link.svg" width="44" height="44" style="width: 0.9em; margin-left: 0.25em; margin-bottom: -0.12em;" alt="Link to this heading" /&gt;&#10; &lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Notes on the changes I made and the issues I ran into while migrating the Hugo Stack theme used on this site from v3 to v4.&lt;/p&gt;&#10;&lt;p&gt;I mostly followed the official migration guide below.&lt;/p&gt;&#10;&#10; &#10; &#10; &lt;div&#10; class="url-card"&#10; style="&#10; display: flex;&#10; height: 100%;&#10; width: 100%;&#10; margin-top: 10px;&#10; margin-bottom: 10px;&#10; padding: 10px;&#10; border: solid 1px var(--table-border-color);&#10; border-radius: 0.5rem;&#10; overflow: hidden;&#10; "&#10; &gt;&#10; &lt;a&#10; href="https://stack.cai.im/guide/upgrade-to-v4"&#10; target="_blank"&#10; rel="noopener noreferrer"&#10; style="&#10; display: flex;&#10; width: 100%;&#10; height: 100%;&#10; text-decoration: none;&#10; "&#10; class="linkcard"&#10; &gt;&#10; &#10; &lt;img&#10; src="https://notes.nakurei.com/icons/photo-off.svg"&#10; alt="Upgrade to v4 | Stack image"&#10; width="120"&#10; height="120"&#10; loading="lazy"&#10; decoding="async"&#10; style="&#10; max-width: 200px;&#10; max-height: 120px;&#10; object-fit: cover;&#10; margin: 0;&#10; flex-shrink: 0;&#10; "&gt;&#10; &#10;&#10; &lt;div&#10; style="&#10; display: flex;&#10; flex-direction: column;&#10; align-items: start;&#10; justify-content: center;&#10; margin-left: 12px;&#10; "&#10; &gt;&#10; &lt;p style="margin: 0; padding-left: 0; padding-bottom: 3px; border: none"&gt;&#10; &#10; Upgrade to v4 | Stack&#10; &#10; &lt;/p&gt;&#10; &lt;p&#10; style="&#10; margin: 0;&#10; font-size: 12px;&#10; word-break: break-word;&#10; display: -webkit-box;&#10; display: box;&#10; -webkit-box-orient: vertical;&#10; box-orient: vertical;&#10; -webkit-line-clamp: 3;&#10; line-clamp: 3;&#10; overflow: hidden;&#10; "&#10; &gt;Card-style Hugo theme designed for bloggers&lt;/p&gt;&#10; &lt;div&#10; style="&#10; display: flex;&#10; flex-direction: row;&#10; align-items: center;&#10; gap: 2px;&#10; "&#10; &gt;&lt;img&#10; src="https://notes.nakurei.com/remote/favicon-15ef2612c8539fa0bc64df6e88fe5ca9add753f8.png"&#10; width="14"&#10; height="14"&#10; style="margin-right: 2px;"&#10; alt="stack.cai.im favicon image"&#10; /&gt;&lt;span style="font-size: small; color: var(--card-text-color-tertiary);"&gt;&#10; stack.cai.im&#10; &lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10; &lt;/div&gt;&lt;style&gt;&#10; .url-card:hover {&#10; box-shadow: 0 0 0 1px var(--card-text-color-tertiary);&#10; }&#10;&lt;/style&gt;&#10;&#10;&lt;h2 id="environment"&gt;&#10; Environment&lt;a href="#environment"&gt;&#10; &lt;img src="https://notes.nakurei.com/icons/link.svg" width="44" height="44" style="width: 0.9em; margin-left: 0.25em; margin-bottom: -0.12em;" alt="Link to this heading" /&gt;&#10; &lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;OS: Windows 11 Pro 25H2&lt;/li&gt;&#10;&lt;li&gt;Hugo: v0.155.3 → v0.165.0&lt;/li&gt;&#10;&lt;li&gt;hugo-theme-stack: v3.31.0 → v4.0.3&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="upgrade-hugo"&gt;&#10; Upgrade Hugo&lt;a href="#upgrade-hugo"&gt;&#10; &lt;img src="https://notes.nakurei.com/icons/link.svg" width="44" height="44" style="width: 0.9em; margin-left: 0.25em; margin-bottom: -0.12em;" alt="Link to this heading" /&gt;&#10; &lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Stack v4 requires Hugo v0.157.0 or later. My local version was v0.155.3, so I had to upgrade. I went with the latest version at the time (v0.165.0).&lt;/p&gt;&#10;&lt;p&gt;Hugo binaries are available from &lt;a class="link" href="https://github.com/gohugoio/hugo/releases/" target="_blank" rel="noopener"&#10; &gt;Hugo&amp;rsquo;s GitHub releases page&lt;/a&gt;.&lt;/p&gt;&#10;&#10; &#10; &lt;div&#10; class="url-card"&#10; style="&#10; display: flex;&#10; height: 100%;&#10; width: 100%;&#10; margin-top: 10px;&#10; margin-bottom: 10px;&#10; padding: 10px;&#10; border: solid 1px var(--table-border-color);&#10; border-radius: 0.5rem;&#10; overflow: hidden;&#10; "&#10; &gt;&#10; &lt;a&#10; href="https://github.com/gohugoio/hugo/releases/"&#10; target="_blank"&#10; rel="noopener noreferrer"&#10; style="&#10; display: flex;&#10; width: 100%;&#10; height: 100%;&#10; text-decoration: none;&#10; "&#10; class="linkcard"&#10; &gt;&#10; &#10; &lt;img&#10; src="https://notes.nakurei.com/remote/c8bdcda78b982d0798ce77655bd61fc6d3a21c94_hu_3d76e475ce60c803.webp"&#10; alt="Releases · gohugoio/hugo image"&#10; width="120"&#10; height="120"&#10; loading="lazy"&#10; decoding="async"&#10; style="&#10; max-width: 200px;&#10; max-height: 120px;&#10; object-fit: cover;&#10; margin: 0;&#10; flex-shrink: 0;&#10; "&gt;&#10; &#10;&#10; &lt;div&#10; style="&#10; display: flex;&#10; flex-direction: column;&#10; align-items: start;&#10; justify-content: center;&#10; margin-left: 12px;&#10; "&#10; &gt;&#10; &lt;p style="margin: 0; padding-left: 0; padding-bottom: 3px; border: none"&gt;&#10; &#10; Releases · gohugoio/hugo&#10; &#10; &lt;/p&gt;&#10; &lt;p&#10; style="&#10; margin: 0;&#10; font-size: 12px;&#10; word-break: break-word;&#10; display: -webkit-box;&#10; display: box;&#10; -webkit-box-orient: vertical;&#10; box-orient: vertical;&#10; -webkit-line-clamp: 3;&#10; line-clamp: 3;&#10; overflow: hidden;&#10; "&#10; &gt;The world’s fastest framework for building websites. - gohugoio/hugo&lt;/p&gt;&#10; &lt;div&#10; style="&#10; display: flex;&#10; flex-direction: row;&#10; align-items: center;&#10; gap: 2px;&#10; "&#10; &gt;&lt;img&#10; src="https://notes.nakurei.com/remote/favicon-ffd1aa80239afc78c1628dfb5e08cff1205f22d5.png"&#10; width="14"&#10; height="14"&#10; style="margin-right: 2px;"&#10; alt="github.com favicon image"&#10; /&gt;&lt;span style="font-size: small; color: var(--card-text-color-tertiary);"&gt;&#10; github.com&#10; &lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10; &lt;/div&gt;&lt;style&gt;&#10; .url-card:hover {&#10; box-shadow: 0 0 0 1px var(--card-text-color-tertiary);&#10; }&#10;&lt;/style&gt;&#10;&#10;&lt;p&gt;Stack requires the extended version of Hugo in both v3 and v4, so download a release with &lt;code&gt;extended&lt;/code&gt; in its name. Extract the downloaded file and put its contents somewhere on your PATH. I&amp;rsquo;m on Windows, so I put it in &lt;code&gt;C:\HugoExtended\bin&lt;/code&gt; and added &lt;code&gt;C:\HugoExtended\bin&lt;/code&gt; to the &lt;code&gt;PATH&lt;/code&gt; environment variable.&lt;/p&gt;&#10;&lt;style&gt;&#10; .code-block-filename {&#10; --code-filename-fontsize: calc(0.96em * 0.9);&#10;&#10; display: table;&#10; max-width: 100%;&#10; background: var(--accent-color-darker);&#10; color: var(--accent-color-text);&#10; font-size: var(--code-filename-fontsize);&#10; line-height: 1;&#10; padding-top: calc(var(--code-filename-fontsize) * 0.5);&#10; padding-left: calc(var(--code-filename-fontsize) * 0.7);&#10; padding-right: calc(var(--code-filename-fontsize) * 0.7);&#10; padding-bottom: calc(var(--code-filename-fontsize) * 0.7);&#10; border-radius: calc(var(--code-filename-fontsize) * 0.5)&#10; calc(var(--code-filename-fontsize) * 0.5) 0 0;&#10; }&#10; .code-block-content {&#10; padding-top: 0px;&#10; }&#10;&lt;/style&gt;&#10;&#10;&lt;div&gt;&#10; &lt;div class="code-block-filename"&gt;Checking the Hugo version&lt;/div&gt;&#10; &#10; &lt;div class="code-block-content"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ hugo version&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;hugo v0.165.0-76a5e1880ab46688155b02e99bab9be2a6134492+extended windows/amd64 &lt;span class="nv"&gt;BuildDate&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;2026-08-12T14:26:28Z &lt;span class="nv"&gt;VendorInfo&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;gohugoio&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;This site is hosted on &lt;a class="link" href="https://www.netlify.com/" target="_blank" rel="noopener"&#10; &gt;Netlify&lt;/a&gt;, so I also had to bump Netlify&amp;rsquo;s build environment to Hugo v0.165.0.&#10;If you set &lt;code&gt;HUGO_VERSION&lt;/code&gt; in &lt;code&gt;netlify.toml&lt;/code&gt;, or as an environment variable in the Netlify dashboard, change that too.&lt;/p&gt;&#10;&lt;h2 id="fix-the-x-shortcode"&gt;&#10; Fix the X shortcode&lt;a href="#fix-the-x-shortcode"&gt;&#10; &lt;img src="https://notes.nakurei.com/icons/link.svg" width="44" height="44" style="width: 0.9em; margin-left: 0.25em; margin-bottom: -0.12em;" alt="Link to this heading" /&gt;&#10; &lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;This one comes from upgrading Hugo rather than from the Stack theme itself: Hugo&amp;rsquo;s built-in &lt;code&gt;tweet&lt;/code&gt; shortcode was removed in Hugo v0.156. Use the &lt;code&gt;x&lt;/code&gt; shortcode instead.&lt;/p&gt;&#10;&lt;style&gt;&#10; .code-block-filename {&#10; --code-filename-fontsize: calc(0.96em * 0.9);&#10;&#10; display: table;&#10; max-width: 100%;&#10; background: var(--accent-color-darker);&#10; color: var(--accent-color-text);&#10; font-size: var(--code-filename-fontsize);&#10; line-height: 1;&#10; padding-top: calc(var(--code-filename-fontsize) * 0.5);&#10; padding-left: calc(var(--code-filename-fontsize) * 0.7);&#10; padding-right: calc(var(--code-filename-fontsize) * 0.7);&#10; padding-bottom: calc(var(--code-filename-fontsize) * 0.7);&#10; border-radius: calc(var(--code-filename-fontsize) * 0.5)&#10; calc(var(--code-filename-fontsize) * 0.5) 0 0;&#10; }&#10; .code-block-content {&#10; padding-top: 0px;&#10; }&#10;&lt;/style&gt;&#10;&#10;&lt;div&gt;&#10; &lt;div class="code-block-filename"&gt;Example of the shortcode change&lt;/div&gt;&#10; &#10; &lt;div class="code-block-content"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-diff" data-lang="diff"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gd"&gt;- {{&amp;lt; tweet user=&amp;#34;username&amp;#34; id=&amp;#34;1234567890&amp;#34; &amp;gt;}}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gi"&gt;+ {{&amp;lt; x user=&amp;#34;username&amp;#34; id=&amp;#34;1234567890&amp;#34; &amp;gt;}}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;h2 id="replace-sitedata-with-hugodata"&gt;&#10; Replace &lt;code&gt;.Site.Data&lt;/code&gt; with &lt;code&gt;hugo.Data&lt;/code&gt;&lt;a href="#replace-sitedata-with-hugodata"&gt;&#10; &lt;img src="https://notes.nakurei.com/icons/link.svg" width="44" height="44" style="width: 0.9em; margin-left: 0.25em; margin-bottom: -0.12em;" alt="Link to this heading" /&gt;&#10; &lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;This is another change caused by the Hugo upgrade: Hugo&amp;rsquo;s built-in &lt;code&gt;.Site.Data&lt;/code&gt; was deprecated in Hugo v0.156.&#10;Use &lt;code&gt;hugo.Data&lt;/code&gt; instead.&#10;In my case a custom shortcode I had written used &lt;code&gt;.Site.Data&lt;/code&gt;, so I replaced it.&lt;/p&gt;&#10;&lt;h2 id="temporarily-move-custom-files-aside"&gt;&#10; Temporarily move custom files aside&lt;a href="#temporarily-move-custom-files-aside"&gt;&#10; &lt;img src="https://notes.nakurei.com/icons/link.svg" width="44" height="44" style="width: 0.9em; margin-left: 0.25em; margin-bottom: -0.12em;" alt="Link to this heading" /&gt;&#10; &lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Going from v3 to v4, the way the theme is written and how its files are split up have both changed. So if you have &lt;code&gt;layouts&lt;/code&gt; or &lt;code&gt;assets&lt;/code&gt; directories that override the theme, move them aside temporarily.&lt;/p&gt;&#10;&lt;p&gt;One caveat: shortcodes (&lt;code&gt;layouts/shortcodes&lt;/code&gt; in v3) must exist or the build will fail, so if you want builds to keep succeeding during the migration, move just the shortcodes to &lt;code&gt;layouts/_shortcodes/&lt;/code&gt;.&lt;/p&gt;&#10;&lt;h2 id="migrate-the-config-files"&gt;&#10; Migrate the config files&lt;a href="#migrate-the-config-files"&gt;&#10; &lt;img src="https://notes.nakurei.com/icons/link.svg" width="44" height="44" style="width: 0.9em; margin-left: 0.25em; margin-bottom: -0.12em;" alt="Link to this heading" /&gt;&#10; &lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;The config files were YAML in v3, but v4 switched to TOML. Hugo converts YAML automatically, so it seems that sticking with YAML should be fine. Since I was going to review the settings anyway, I took the opportunity to switch to TOML.&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://github.com/CaiJimmy/hugo-theme-stack-starter/tree/master/config/_default" target="_blank" rel="noopener"&#10; &gt;hugo-theme-stack-starter&lt;/a&gt; is a good reference for how to write the config. The &lt;a class="link" href="https://github.com/CaiJimmy/hugo-theme-stack/tree/master/demo/config/_default" target="_blank" rel="noopener"&#10; &gt;Stack theme demo&lt;/a&gt; works too. Judging by &lt;a class="link" href="https://stack.cai.im/guide/getting-started" target="_blank" rel="noopener"&#10; &gt;Stack&amp;rsquo;s Getting Started&lt;/a&gt;, hugo-theme-stack-starter seems to be the official template, so that&amp;rsquo;s what I used as my reference. Create a &lt;code&gt;config/_default&lt;/code&gt; directory and put the following files in it.&lt;/p&gt;&#10;&lt;h3 id="configtoml"&gt;&#10; config.toml&lt;a href="#configtoml"&gt;&#10; &lt;img src="https://notes.nakurei.com/icons/link.svg" width="44" height="44" style="width: 0.9em; margin-left: 0.25em; margin-bottom: -0.12em;" alt="Link to this heading" /&gt;&#10; &lt;/a&gt;&lt;/h3&gt;&#10;&lt;p&gt;&lt;code&gt;config.toml&lt;/code&gt; holds the basic information about the site. I changed the following from the official template.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Added &lt;code&gt;theme = &amp;quot;hugo-theme-stack&amp;quot;&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;Changed &lt;code&gt;baseurl&lt;/code&gt; to my own site&amp;rsquo;s URL&lt;/li&gt;&#10;&lt;li&gt;Changed &lt;code&gt;locale&lt;/code&gt; and &lt;code&gt;defaultContentLanguage&lt;/code&gt; to Japanese, and accordingly set &lt;code&gt;hasCJKLanguage&lt;/code&gt; to &lt;code&gt;true&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;div class="block-highlight-warning"&gt;&#10; &lt;span class="icon-warning"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-alert-triangle" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"&gt;&#10; &lt;path stroke="none" d="M0 0h24v24H0z" fill="none"/&gt;&#10; &lt;path d="M12 9v2m0 4v.01" /&gt;&#10; &lt;path d="M5 19h14a2 2 0 0 0 1.84 -2.75l-7.1 -12.25a2 2 0 0 0 -3.5 0l-7.1 12.25a2 2 0 0 0 1.75 2.75" /&gt;&#10;&lt;/svg&gt;&#10;&lt;/span&gt;&#10; &lt;span&gt;I manage the Hugo theme as a Git Submodule rather than a Hugo Module, which is why &lt;code&gt;theme = &amp;quot;hugo-theme-stack&amp;quot;&lt;/code&gt; is needed. If you manage it as a Hugo Module, you don&amp;rsquo;t need &lt;code&gt;theme&lt;/code&gt;.&lt;/span&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="block-highlight-warning"&gt;&#10; &lt;span class="icon-warning"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-alert-triangle" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"&gt;&#10; &lt;path stroke="none" d="M0 0h24v24H0z" fill="none"/&gt;&#10; &lt;path d="M12 9v2m0 4v.01" /&gt;&#10; &lt;path d="M5 19h14a2 2 0 0 0 1.84 -2.75l-7.1 -12.25a2 2 0 0 0 -3.5 0l-7.1 12.25a2 2 0 0 0 1.75 2.75" /&gt;&#10;&lt;/svg&gt;&#10;&lt;/span&gt;&#10; &lt;span&gt;In TOML, settings that don&amp;rsquo;t belong to any table won&amp;rsquo;t take effect unless you write them first.&lt;/span&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;details&gt;&#10; &lt;summary&gt;config.toml after the changes&lt;/summary&gt;&#10; &lt;p&gt;&lt;style&gt;&#10; .code-block-filename {&#10; --code-filename-fontsize: calc(0.96em * 0.9);&#10;&#10; display: table;&#10; max-width: 100%;&#10; background: var(--accent-color-darker);&#10; color: var(--accent-color-text);&#10; font-size: var(--code-filename-fontsize);&#10; line-height: 1;&#10; padding-top: calc(var(--code-filename-fontsize) * 0.5);&#10; padding-left: calc(var(--code-filename-fontsize) * 0.7);&#10; padding-right: calc(var(--code-filename-fontsize) * 0.7);&#10; padding-bottom: calc(var(--code-filename-fontsize) * 0.7);&#10; border-radius: calc(var(--code-filename-fontsize) * 0.5)&#10; calc(var(--code-filename-fontsize) * 0.5) 0 0;&#10; }&#10; .code-block-content {&#10; padding-top: 0px;&#10; }&#10;&lt;/style&gt;&#10;&#10;&lt;div&gt;&#10; &lt;div class="code-block-filename"&gt;config.toml&lt;/div&gt;&#10; &#10; &lt;div class="code-block-content"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;theme&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;hugo-theme-stack&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;baseurl&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://notes.nakurei.com/&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;locale&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;ja-JP&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;title&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;NakuRei&amp;#39;s Notes&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;copyright&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;NakuRei&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# Theme i18n support&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# See all available values at https://github.com/CaiJimmy/hugo-theme-stack/tree/master/i18n&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;defaultContentLanguage&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;ja&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# Set hasCJKLanguage to true if DefaultContentLanguage is in [zh-cn ja ko]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# This will make .Summary and .WordCount behave correctly for CJK languages.&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;hasCJKLanguage&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;enableRobotsTXT&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;enableGitInfo&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;timeout&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;300s&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;services&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;googleAnalytics&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;ID&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;G-XXXXXXXXXX&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;pagination&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;pagerSize&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;frontmatter&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;lastmod&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;lastmod&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;:git&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;date&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;publishDate&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;/p&gt;&#10;&lt;/details&gt;&#10;&#10;&lt;h3 id="languagestoml"&gt;&#10; languages.toml&lt;a href="#languagestoml"&gt;&#10; &lt;img src="https://notes.nakurei.com/icons/link.svg" width="44" height="44" style="width: 0.9em; margin-left: 0.25em; margin-bottom: -0.12em;" alt="Link to this heading" /&gt;&#10; &lt;/a&gt;&lt;/h3&gt;&#10;&lt;p&gt;&lt;code&gt;languages.toml&lt;/code&gt; holds the multilingual settings. These options are the same as &lt;code&gt;languages&lt;/code&gt; in v3.&lt;/p&gt;&#10;&lt;div class="block-highlight-warning"&gt;&#10; &lt;span class="icon-warning"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-alert-triangle" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"&gt;&#10; &lt;path stroke="none" d="M0 0h24v24H0z" fill="none"/&gt;&#10; &lt;path d="M12 9v2m0 4v.01" /&gt;&#10; &lt;path d="M5 19h14a2 2 0 0 0 1.84 -2.75l-7.1 -12.25a2 2 0 0 0 -3.5 0l-7.1 12.25a2 2 0 0 0 1.75 2.75" /&gt;&#10;&lt;/svg&gt;&#10;&lt;/span&gt;&#10; &lt;span&gt;In the hugo-theme-stack-starter template the file is named &lt;code&gt;_languages.toml&lt;/code&gt;; the leading underscore is there to keep the settings from being applied. So when you actually configure this, create it as &lt;code&gt;languages.toml&lt;/code&gt; with the underscore removed.&lt;/span&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;details&gt;&#10; &lt;summary&gt;languages.toml after the changes&lt;/summary&gt;&#10; &lt;p&gt;&lt;style&gt;&#10; .code-block-filename {&#10; --code-filename-fontsize: calc(0.96em * 0.9);&#10;&#10; display: table;&#10; max-width: 100%;&#10; background: var(--accent-color-darker);&#10; color: var(--accent-color-text);&#10; font-size: var(--code-filename-fontsize);&#10; line-height: 1;&#10; padding-top: calc(var(--code-filename-fontsize) * 0.5);&#10; padding-left: calc(var(--code-filename-fontsize) * 0.7);&#10; padding-right: calc(var(--code-filename-fontsize) * 0.7);&#10; padding-bottom: calc(var(--code-filename-fontsize) * 0.7);&#10; border-radius: calc(var(--code-filename-fontsize) * 0.5)&#10; calc(var(--code-filename-fontsize) * 0.5) 0 0;&#10; }&#10; .code-block-content {&#10; padding-top: 0px;&#10; }&#10;&lt;/style&gt;&#10;&#10;&lt;div&gt;&#10; &lt;div class="code-block-filename"&gt;languages.toml&lt;/div&gt;&#10; &#10; &lt;div class="code-block-content"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;ja&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;label&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;日本語&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;locale&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;ja&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;weight&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;ja&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;params&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;description&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;努力の積み重ねを記録しておくためのサイト。&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;ja&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;params&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;sidebar&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;subtitle&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;努力の積み重ねを記録しておくだけ&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;en&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;label&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;English&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;locale&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;en&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;weight&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;en&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;params&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;description&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;A website to keep track of my efforts.&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;en&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;params&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;sidebar&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;subtitle&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Just keep track of my efforts.&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;/p&gt;&#10;&lt;/details&gt;&#10;&#10;&lt;h3 id="markuptoml"&gt;&#10; markup.toml&lt;a href="#markuptoml"&gt;&#10; &lt;img src="https://notes.nakurei.com/icons/link.svg" width="44" height="44" style="width: 0.9em; margin-left: 0.25em; margin-bottom: -0.12em;" alt="Link to this heading" /&gt;&#10; &lt;/a&gt;&lt;/h3&gt;&#10;&lt;p&gt;&lt;code&gt;markup.toml&lt;/code&gt; holds the settings for Markdown rendering. There&amp;rsquo;s no change from what I had under &lt;code&gt;markup&lt;/code&gt; in v3, so it ports over as-is.&lt;/p&gt;&#10;&lt;details&gt;&#10; &lt;summary&gt;markup.toml after the changes&lt;/summary&gt;&#10; &lt;p&gt;&lt;style&gt;&#10; .code-block-filename {&#10; --code-filename-fontsize: calc(0.96em * 0.9);&#10;&#10; display: table;&#10; max-width: 100%;&#10; background: var(--accent-color-darker);&#10; color: var(--accent-color-text);&#10; font-size: var(--code-filename-fontsize);&#10; line-height: 1;&#10; padding-top: calc(var(--code-filename-fontsize) * 0.5);&#10; padding-left: calc(var(--code-filename-fontsize) * 0.7);&#10; padding-right: calc(var(--code-filename-fontsize) * 0.7);&#10; padding-bottom: calc(var(--code-filename-fontsize) * 0.7);&#10; border-radius: calc(var(--code-filename-fontsize) * 0.5)&#10; calc(var(--code-filename-fontsize) * 0.5) 0 0;&#10; }&#10; .code-block-content {&#10; padding-top: 0px;&#10; }&#10;&lt;/style&gt;&#10;&#10;&lt;div&gt;&#10; &lt;div class="code-block-filename"&gt;markup.toml&lt;/div&gt;&#10; &#10; &lt;div class="code-block-content"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# Markdown renderer configuration&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;goldmark&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;renderer&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;unsafe&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;goldmark&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;extensions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;passthrough&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;enable&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;goldmark&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;extensions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;passthrough&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;delimiters&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;block&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;\[&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;\]&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;$$&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;$$&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;inline&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;\(&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;\)&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;tableOfContents&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;endLevel&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;ordered&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;startLevel&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;highlight&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;noClasses&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;codeFences&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;guessSyntax&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;lineNoStart&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;lineNos&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;lineNumbersInTable&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;tabWidth&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;/p&gt;&#10;&lt;/details&gt;&#10;&#10;&lt;h3 id="menutoml"&gt;&#10; menu.toml&lt;a href="#menutoml"&gt;&#10; &lt;img src="https://notes.nakurei.com/icons/link.svg" width="44" height="44" style="width: 0.9em; margin-left: 0.25em; margin-bottom: -0.12em;" alt="Link to this heading" /&gt;&#10; &lt;/a&gt;&lt;/h3&gt;&#10;&lt;p&gt;&lt;code&gt;menu.toml&lt;/code&gt; holds the settings for the main menu and the social menu. I only configure the social menu on this site, but at least for that menu, the options are the same as in v3.&lt;/p&gt;&#10;&lt;details&gt;&#10; &lt;summary&gt;menu.toml after the changes&lt;/summary&gt;&#10; &lt;p&gt;&lt;style&gt;&#10; .code-block-filename {&#10; --code-filename-fontsize: calc(0.96em * 0.9);&#10;&#10; display: table;&#10; max-width: 100%;&#10; background: var(--accent-color-darker);&#10; color: var(--accent-color-text);&#10; font-size: var(--code-filename-fontsize);&#10; line-height: 1;&#10; padding-top: calc(var(--code-filename-fontsize) * 0.5);&#10; padding-left: calc(var(--code-filename-fontsize) * 0.7);&#10; padding-right: calc(var(--code-filename-fontsize) * 0.7);&#10; padding-bottom: calc(var(--code-filename-fontsize) * 0.7);&#10; border-radius: calc(var(--code-filename-fontsize) * 0.5)&#10; calc(var(--code-filename-fontsize) * 0.5) 0 0;&#10; }&#10; .code-block-content {&#10; padding-top: 0px;&#10; }&#10;&lt;/style&gt;&#10;&#10;&lt;div&gt;&#10; &lt;div class="code-block-filename"&gt;menu.toml&lt;/div&gt;&#10; &#10; &lt;div class="code-block-content"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[[&lt;/span&gt;&lt;span class="nx"&gt;social&lt;/span&gt;&lt;span class="p"&gt;]]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;identifier&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;github&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;GitHub&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;url&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://github.com/NakuRei&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;social&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;params&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;icon&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;brand-github&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[[&lt;/span&gt;&lt;span class="nx"&gt;social&lt;/span&gt;&lt;span class="p"&gt;]]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;identifier&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;x&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;X&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;url&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://x.com/nakurei7901&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;social&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;params&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;icon&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;brand-twitter&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[[&lt;/span&gt;&lt;span class="nx"&gt;social&lt;/span&gt;&lt;span class="p"&gt;]]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;identifier&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;rss&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;RSS&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;url&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://notes.nakurei.com/index.xml&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;social&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;params&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;icon&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;rss&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[[&lt;/span&gt;&lt;span class="nx"&gt;social&lt;/span&gt;&lt;span class="p"&gt;]]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;identifier&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;zenn&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Zenn&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;url&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://zenn.dev/nakurei&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;social&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;params&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;icon&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;link&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;/p&gt;&#10;&lt;/details&gt;&#10;&#10;&lt;h3 id="moduletoml"&gt;&#10; module.toml&lt;a href="#moduletoml"&gt;&#10; &lt;img src="https://notes.nakurei.com/icons/link.svg" width="44" height="44" style="width: 0.9em; margin-left: 0.25em; margin-bottom: -0.12em;" alt="Link to this heading" /&gt;&#10; &lt;/a&gt;&lt;/h3&gt;&#10;&lt;p&gt;&lt;code&gt;module.toml&lt;/code&gt; holds the Hugo Module settings. I manage the theme as a Git Submodule rather than a Hugo Module, so I didn&amp;rsquo;t create &lt;code&gt;module.toml&lt;/code&gt;.&lt;/p&gt;&#10;&lt;h3 id="paramstoml"&gt;&#10; params.toml&lt;a href="#paramstoml"&gt;&#10; &lt;img src="https://notes.nakurei.com/icons/link.svg" width="44" height="44" style="width: 0.9em; margin-left: 0.25em; margin-bottom: -0.12em;" alt="Link to this heading" /&gt;&#10; &lt;/a&gt;&lt;/h3&gt;&#10;&lt;p&gt;&lt;code&gt;params.toml&lt;/code&gt; holds site-wide parameters — what used to live under &lt;code&gt;params&lt;/code&gt; in v3. The following &lt;code&gt;params&lt;/code&gt; changed in v4.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;dateFormat&lt;/code&gt; moved from Go format strings like &lt;code&gt;Jan 02, 2006&lt;/code&gt; to &lt;a class="link" href="https://gohugo.io/functions/time/format/#localization" target="_blank" rel="noopener"&#10; &gt;Hugo format strings&lt;/a&gt; like &lt;code&gt;:date_full&lt;/code&gt; and &lt;code&gt;:date_medium&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a class="link" href="https://stack.cai.im/guide/upgrade-to-v4#custom-sorting-order" target="_blank" rel="noopener"&#10; &gt;&lt;code&gt;SortBy&lt;/code&gt;&lt;/a&gt; was added&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;featuredImageField&lt;/code&gt; was removed: v4 always uses &lt;code&gt;image&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a class="link" href="https://stack.cai.im/guide/upgrade-to-v4#default-opengraph-image" target="_blank" rel="noopener"&#10; &gt;&lt;code&gt;defaultImage.opengraph&lt;/code&gt; was removed&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;details&gt;&#10; &lt;summary&gt;params.toml after the changes&lt;/summary&gt;&#10; &lt;p&gt;&lt;style&gt;&#10; .code-block-filename {&#10; --code-filename-fontsize: calc(0.96em * 0.9);&#10;&#10; display: table;&#10; max-width: 100%;&#10; background: var(--accent-color-darker);&#10; color: var(--accent-color-text);&#10; font-size: var(--code-filename-fontsize);&#10; line-height: 1;&#10; padding-top: calc(var(--code-filename-fontsize) * 0.5);&#10; padding-left: calc(var(--code-filename-fontsize) * 0.7);&#10; padding-right: calc(var(--code-filename-fontsize) * 0.7);&#10; padding-bottom: calc(var(--code-filename-fontsize) * 0.7);&#10; border-radius: calc(var(--code-filename-fontsize) * 0.5)&#10; calc(var(--code-filename-fontsize) * 0.5) 0 0;&#10; }&#10; .code-block-content {&#10; padding-top: 0px;&#10; }&#10;&lt;/style&gt;&#10;&#10;&lt;div&gt;&#10; &lt;div class="code-block-filename"&gt;params.toml&lt;/div&gt;&#10; &#10; &lt;div class="code-block-content"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# Pages placed under these sections will be shown on homepage and archive page.&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;mainSections&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;post&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# Output page&amp;#39;s full content in RSS.&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;rssFullContent&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;favicon&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;img/favicon.png&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# Accepted values: &amp;#34;default&amp;#34;, &amp;#34;lastmod&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# default = see https://gohugo.io/quick-reference/glossary/#default-sort-order&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# lastmod = sort by last modified date, in descending order&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;SortBy&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;lastmod&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;author&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;NakuRei&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;url&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://notes.nakurei.com/&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;footer&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;since&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;2022&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;customText&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;dateFormat&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;published&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;:date_medium&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;lastUpdated&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;:date_medium&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;sidebar&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;compact&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;emoji&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;🐢&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;subtitle&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;avatar&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;img/avatar.png&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;article&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;headingAnchor&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;math&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;toc&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;readingTime&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;article&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;license&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;enabled&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;default&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Licensed under CC BY-NC-SA 4.0&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;widgets&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;homepage&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;type&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;search&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;type&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;categories&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;params&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;limit&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;type&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;tag-cloud&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;params&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;limit&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;type&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;archives&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;params&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;limit&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;page&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;type&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;toc&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;type&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;categories&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;params&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;limit&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;type&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;tag-cloud&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;params&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;limit&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;opengraph&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;twitter&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;site&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;nakurei7901&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;card&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;summary_large_image&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;colorScheme&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;toggle&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;default&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;auto&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;## Comments&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;comments&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;enabled&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;provider&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;disqus&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;# See all the available configurations at https://github.com/CaiJimmy/hugo-theme-stack/blob/master/config/_default/params.toml&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;# Copy the configurations you need from there and paste it here.&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;## Original url-card shortcode&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;defaultNoImage&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;icons/photo-off.svg&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;defaultNoLinkImage&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;/icons/link-off.svg&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;imageQuality&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;80&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;/p&gt;&#10;&lt;/details&gt;&#10;&#10;&lt;h3 id="permalinkstoml"&gt;&#10; permalinks.toml&lt;a href="#permalinkstoml"&gt;&#10; &lt;img src="https://notes.nakurei.com/icons/link.svg" width="44" height="44" style="width: 0.9em; margin-left: 0.25em; margin-bottom: -0.12em;" alt="Link to this heading" /&gt;&#10; &lt;/a&gt;&lt;/h3&gt;&#10;&lt;p&gt;&lt;code&gt;permalinks.toml&lt;/code&gt; contains the same settings that were under &lt;code&gt;permalinks&lt;/code&gt; in v3.&lt;/p&gt;&#10;&lt;details&gt;&#10; &lt;summary&gt;permalinks.toml after the changes&lt;/summary&gt;&#10; &lt;p&gt;&lt;style&gt;&#10; .code-block-filename {&#10; --code-filename-fontsize: calc(0.96em * 0.9);&#10;&#10; display: table;&#10; max-width: 100%;&#10; background: var(--accent-color-darker);&#10; color: var(--accent-color-text);&#10; font-size: var(--code-filename-fontsize);&#10; line-height: 1;&#10; padding-top: calc(var(--code-filename-fontsize) * 0.5);&#10; padding-left: calc(var(--code-filename-fontsize) * 0.7);&#10; padding-right: calc(var(--code-filename-fontsize) * 0.7);&#10; padding-bottom: calc(var(--code-filename-fontsize) * 0.7);&#10; border-radius: calc(var(--code-filename-fontsize) * 0.5)&#10; calc(var(--code-filename-fontsize) * 0.5) 0 0;&#10; }&#10; .code-block-content {&#10; padding-top: 0px;&#10; }&#10;&lt;/style&gt;&#10;&#10;&lt;div&gt;&#10; &lt;div class="code-block-filename"&gt;permalinks.toml&lt;/div&gt;&#10; &#10; &lt;div class="code-block-content"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;post&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;/post/:slug/&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;page&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;/:slug/&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;/p&gt;&#10;&lt;/details&gt;&#10;&#10;&lt;h3 id="relatedtoml"&gt;&#10; related.toml&lt;a href="#relatedtoml"&gt;&#10; &lt;img src="https://notes.nakurei.com/icons/link.svg" width="44" height="44" style="width: 0.9em; margin-left: 0.25em; margin-bottom: -0.12em;" alt="Link to this heading" /&gt;&#10; &lt;/a&gt;&lt;/h3&gt;&#10;&lt;p&gt;&lt;code&gt;related.toml&lt;/code&gt; contains the same settings that were under &lt;code&gt;related&lt;/code&gt; in v3. There are no new options.&lt;/p&gt;&#10;&lt;details&gt;&#10; &lt;summary&gt;related.toml after the changes&lt;/summary&gt;&#10; &lt;p&gt;&lt;style&gt;&#10; .code-block-filename {&#10; --code-filename-fontsize: calc(0.96em * 0.9);&#10;&#10; display: table;&#10; max-width: 100%;&#10; background: var(--accent-color-darker);&#10; color: var(--accent-color-text);&#10; font-size: var(--code-filename-fontsize);&#10; line-height: 1;&#10; padding-top: calc(var(--code-filename-fontsize) * 0.5);&#10; padding-left: calc(var(--code-filename-fontsize) * 0.7);&#10; padding-right: calc(var(--code-filename-fontsize) * 0.7);&#10; padding-bottom: calc(var(--code-filename-fontsize) * 0.7);&#10; border-radius: calc(var(--code-filename-fontsize) * 0.5)&#10; calc(var(--code-filename-fontsize) * 0.5) 0 0;&#10; }&#10; .code-block-content {&#10; padding-top: 0px;&#10; }&#10;&lt;/style&gt;&#10;&#10;&lt;div&gt;&#10; &lt;div class="code-block-filename"&gt;related.toml&lt;/div&gt;&#10; &#10; &lt;div class="code-block-content"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# Related contents configuration&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;includeNewer&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;threshold&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;60&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;toLower&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;indices&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;tags&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;weight&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;categories&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;weight&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;/p&gt;&#10;&lt;/details&gt;&#10;&#10;&lt;h2 id="move-the-favicon"&gt;&#10; Move the favicon&lt;a href="#move-the-favicon"&gt;&#10; &lt;img src="https://notes.nakurei.com/icons/link.svg" width="44" height="44" style="width: 0.9em; margin-left: 0.25em; margin-bottom: -0.12em;" alt="Link to this heading" /&gt;&#10; &lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;The favicon and avatar images lived in &lt;code&gt;static/&lt;/code&gt; in v3, but v4 expects them in &lt;code&gt;assets/&lt;/code&gt;. On this site the avatar was already in &lt;code&gt;assets/img/&lt;/code&gt;, but the favicon was in &lt;code&gt;static/img/&lt;/code&gt;, so I moved the favicon image to &lt;code&gt;assets/img/&lt;/code&gt;.&lt;/p&gt;&#10;&lt;h2 id="fix-the-front-matter-of-your-pages"&gt;&#10; Fix the front matter of your pages&lt;a href="#fix-the-front-matter-of-your-pages"&gt;&#10; &lt;img src="https://notes.nakurei.com/icons/link.svg" width="44" height="44" style="width: 0.9em; margin-left: 0.25em; margin-bottom: -0.12em;" alt="Link to this heading" /&gt;&#10; &lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;The front matter of articles changed between v3 and v4. What was &lt;code&gt;hidden&lt;/code&gt; in v3 &lt;a class="link" href="https://stack.cai.im/guide/upgrade-to-v4#page-visibility-hidden" target="_blank" rel="noopener"&#10; &gt;became &lt;code&gt;build.list&lt;/code&gt; in v4&lt;/a&gt;. So if you were setting &lt;code&gt;hidden = true&lt;/code&gt;, you need to change &lt;code&gt;build.list&lt;/code&gt; to &lt;code&gt;never&lt;/code&gt; like this.&lt;/p&gt;&#10;&lt;style&gt;&#10; .code-block-filename {&#10; --code-filename-fontsize: calc(0.96em * 0.9);&#10;&#10; display: table;&#10; max-width: 100%;&#10; background: var(--accent-color-darker);&#10; color: var(--accent-color-text);&#10; font-size: var(--code-filename-fontsize);&#10; line-height: 1;&#10; padding-top: calc(var(--code-filename-fontsize) * 0.5);&#10; padding-left: calc(var(--code-filename-fontsize) * 0.7);&#10; padding-right: calc(var(--code-filename-fontsize) * 0.7);&#10; padding-bottom: calc(var(--code-filename-fontsize) * 0.7);&#10; border-radius: calc(var(--code-filename-fontsize) * 0.5)&#10; calc(var(--code-filename-fontsize) * 0.5) 0 0;&#10; }&#10; .code-block-content {&#10; padding-top: 0px;&#10; }&#10;&lt;/style&gt;&#10;&#10;&lt;div&gt;&#10; &lt;div class="code-block-filename"&gt;Example of the front matter change&lt;/div&gt;&#10; &#10; &lt;div class="code-block-content"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-diff" data-lang="diff"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gs"&gt;---&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gd"&gt;- hidden: true&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gi"&gt;+ build:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gi"&gt;+ list: never&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gs"&gt;---&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;If you were setting &lt;code&gt;hidden = false&lt;/code&gt;, set &lt;code&gt;build.list&lt;/code&gt; to &lt;code&gt;always&lt;/code&gt;.&lt;/p&gt;&#10;&lt;style&gt;&#10; .code-block-filename {&#10; --code-filename-fontsize: calc(0.96em * 0.9);&#10;&#10; display: table;&#10; max-width: 100%;&#10; background: var(--accent-color-darker);&#10; color: var(--accent-color-text);&#10; font-size: var(--code-filename-fontsize);&#10; line-height: 1;&#10; padding-top: calc(var(--code-filename-fontsize) * 0.5);&#10; padding-left: calc(var(--code-filename-fontsize) * 0.7);&#10; padding-right: calc(var(--code-filename-fontsize) * 0.7);&#10; padding-bottom: calc(var(--code-filename-fontsize) * 0.7);&#10; border-radius: calc(var(--code-filename-fontsize) * 0.5)&#10; calc(var(--code-filename-fontsize) * 0.5) 0 0;&#10; }&#10; .code-block-content {&#10; padding-top: 0px;&#10; }&#10;&lt;/style&gt;&#10;&#10;&lt;div&gt;&#10; &lt;div class="code-block-filename"&gt;Example of the front matter change&lt;/div&gt;&#10; &#10; &lt;div class="code-block-content"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-diff" data-lang="diff"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gs"&gt;---&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gd"&gt;- hidden: false&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gi"&gt;+ build:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gi"&gt;+ list: always&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gs"&gt;---&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;h2 id="migrate-your-layout-customizations"&gt;&#10; Migrate your layout customizations&lt;a href="#migrate-your-layout-customizations"&gt;&#10; &lt;img src="https://notes.nakurei.com/icons/link.svg" width="44" height="44" style="width: 0.9em; margin-left: 0.25em; margin-bottom: -0.12em;" alt="Link to this heading" /&gt;&#10; &lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;In Hugo, you can override a theme&amp;rsquo;s files by placing a file with the same name in the same location.&#10;Between v3 and v4, the Stack theme changed both how the theme is written and how its files are split up.&#10;So if you customized the theme, you need to fix the location, name and content of your customized files to match v4.&lt;/p&gt;&#10;&lt;h3 id="move-the-contents-of-layouts_default-into-layouts"&gt;&#10; Move the contents of &lt;code&gt;layouts/_default/&lt;/code&gt; into &lt;code&gt;layouts/&lt;/code&gt;&lt;a href="#move-the-contents-of-layouts_default-into-layouts"&gt;&#10; &lt;img src="https://notes.nakurei.com/icons/link.svg" width="44" height="44" style="width: 0.9em; margin-left: 0.25em; margin-bottom: -0.12em;" alt="Link to this heading" /&gt;&#10; &lt;/a&gt;&lt;/h3&gt;&#10;&lt;p&gt;With the Modern Template System introduced in Hugo v0.146.0, organizing files under a &lt;code&gt;layouts/_default/&lt;/code&gt; folder was deprecated and consolidated into placing them directly under &lt;code&gt;layouts/&lt;/code&gt;.&#10;The Stack theme followed suit: in v4 the contents of &lt;code&gt;layouts/_default/&lt;/code&gt; moved into &lt;code&gt;layouts/&lt;/code&gt;.&#10;So if you were using &lt;code&gt;layouts/_default/&lt;/code&gt;, move it to &lt;code&gt;layouts/&lt;/code&gt;.&lt;/p&gt;&#10;&lt;p&gt;In my case I had modified the theme&amp;rsquo;s &lt;code&gt;layouts/_default/_markup&lt;/code&gt;, so I moved &lt;code&gt;layouts/_default/_markup&lt;/code&gt; to &lt;code&gt;layouts/_markup&lt;/code&gt;.&lt;/p&gt;&#10;&lt;h3 id="move-the-contents-of-layoutspartials-into-layouts_partials"&gt;&#10; Move the contents of &lt;code&gt;layouts/partials&lt;/code&gt; into &lt;code&gt;layouts/_partials&lt;/code&gt;&lt;a href="#move-the-contents-of-layoutspartials-into-layouts_partials"&gt;&#10; &lt;img src="https://notes.nakurei.com/icons/link.svg" width="44" height="44" style="width: 0.9em; margin-left: 0.25em; margin-bottom: -0.12em;" alt="Link to this heading" /&gt;&#10; &lt;/a&gt;&lt;/h3&gt;&#10;&lt;p&gt;This is another consequence of the Modern Template System introduced in Hugo v0.146.0.&#10;Stack v4 follows it and changed &lt;code&gt;layouts/partials&lt;/code&gt; to &lt;code&gt;layouts/_partials&lt;/code&gt;.&#10;So if you customized the theme, you need to move the contents of &lt;code&gt;layouts/partials&lt;/code&gt; into &lt;code&gt;layouts/_partials&lt;/code&gt;.&lt;/p&gt;&#10;&lt;h2 id="change-the-header-image-height"&gt;&#10; Change the header image height&lt;a href="#change-the-header-image-height"&gt;&#10; &lt;img src="https://notes.nakurei.com/icons/link.svg" width="44" height="44" style="width: 0.9em; margin-left: 0.25em; margin-bottom: -0.12em;" alt="Link to this heading" /&gt;&#10; &lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;In Stack v4 you can change the header image height in &lt;code&gt;assets/scss/custom.scss&lt;/code&gt;&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;. The defaults are 150px on mobile, 200px in between, and 250px on large screens.&#10;In v3 I had customized these to 100px on mobile, 150px in between and 150px on large screens, so I created &lt;code&gt;assets/scss/custom.scss&lt;/code&gt; with the following.&lt;/p&gt;&#10;&lt;style&gt;&#10; .code-block-filename {&#10; --code-filename-fontsize: calc(0.96em * 0.9);&#10;&#10; display: table;&#10; max-width: 100%;&#10; background: var(--accent-color-darker);&#10; color: var(--accent-color-text);&#10; font-size: var(--code-filename-fontsize);&#10; line-height: 1;&#10; padding-top: calc(var(--code-filename-fontsize) * 0.5);&#10; padding-left: calc(var(--code-filename-fontsize) * 0.7);&#10; padding-right: calc(var(--code-filename-fontsize) * 0.7);&#10; padding-bottom: calc(var(--code-filename-fontsize) * 0.7);&#10; border-radius: calc(var(--code-filename-fontsize) * 0.5)&#10; calc(var(--code-filename-fontsize) * 0.5) 0 0;&#10; }&#10; .code-block-content {&#10; padding-top: 0px;&#10; }&#10;&lt;/style&gt;&#10;&#10;&lt;div&gt;&#10; &lt;div class="code-block-filename"&gt;assets/scss/custom.scss&lt;/div&gt;&#10; &#10; &lt;div class="code-block-content"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-scss" data-lang="scss"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nd"&gt;:root&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;--article-image-height&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;@include&lt;/span&gt;&lt;span class="nd"&gt; respond&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;md&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;--article-image-height&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;150&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;@include&lt;/span&gt;&lt;span class="nd"&gt; respond&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;xl&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;--article-image-height&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;150&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;h2 id="remove-var--zh-font-family"&gt;&#10; Remove &lt;code&gt;var(--zh-font-family)&lt;/code&gt;&lt;a href="#remove-var--zh-font-family"&gt;&#10; &lt;img src="https://notes.nakurei.com/icons/link.svg" width="44" height="44" style="width: 0.9em; margin-left: 0.25em; margin-bottom: -0.12em;" alt="Link to this heading" /&gt;&#10; &lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;In v3 I had customized the CSS on this site to change the font, but Stack v4 removed &lt;code&gt;var(--zh-font-family)&lt;/code&gt;, so my existing setting was ignored if left as-is. I removed &lt;code&gt;var(--zh-font-family)&lt;/code&gt;. Referencing an undefined CSS variable invalidates the whole property, so just deleting it brought my customization back.&lt;/p&gt;&#10;&lt;h2 id="references-and-urls"&gt;&#10; References and URLs&lt;a href="#references-and-urls"&gt;&#10; &lt;img src="https://notes.nakurei.com/icons/link.svg" width="44" height="44" style="width: 0.9em; margin-left: 0.25em; margin-bottom: -0.12em;" alt="Link to this heading" /&gt;&#10; &lt;/a&gt;&lt;/h2&gt;&#10;&#10; &#10; &#10; &lt;div&#10; class="url-card"&#10; style="&#10; display: flex;&#10; height: 100%;&#10; width: 100%;&#10; margin-top: 10px;&#10; margin-bottom: 10px;&#10; padding: 10px;&#10; border: solid 1px var(--table-border-color);&#10; border-radius: 0.5rem;&#10; overflow: hidden;&#10; "&#10; &gt;&#10; &lt;a&#10; href="https://stack.cai.im/guide/upgrade-to-v4"&#10; target="_blank"&#10; rel="noopener noreferrer"&#10; style="&#10; display: flex;&#10; width: 100%;&#10; height: 100%;&#10; text-decoration: none;&#10; "&#10; class="linkcard"&#10; &gt;&#10; &#10; &lt;img&#10; src="https://notes.nakurei.com/icons/photo-off.svg"&#10; alt="Upgrade to v4 | Stack image"&#10; width="120"&#10; height="120"&#10; loading="lazy"&#10; decoding="async"&#10; style="&#10; max-width: 200px;&#10; max-height: 120px;&#10; object-fit: cover;&#10; margin: 0;&#10; flex-shrink: 0;&#10; "&gt;&#10; &#10;&#10; &lt;div&#10; style="&#10; display: flex;&#10; flex-direction: column;&#10; align-items: start;&#10; justify-content: center;&#10; margin-left: 12px;&#10; "&#10; &gt;&#10; &lt;p style="margin: 0; padding-left: 0; padding-bottom: 3px; border: none"&gt;&#10; &#10; Upgrade to v4 | Stack&#10; &#10; &lt;/p&gt;&#10; &lt;p&#10; style="&#10; margin: 0;&#10; font-size: 12px;&#10; word-break: break-word;&#10; display: -webkit-box;&#10; display: box;&#10; -webkit-box-orient: vertical;&#10; box-orient: vertical;&#10; -webkit-line-clamp: 3;&#10; line-clamp: 3;&#10; overflow: hidden;&#10; "&#10; &gt;Card-style Hugo theme designed for bloggers&lt;/p&gt;&#10; &lt;div&#10; style="&#10; display: flex;&#10; flex-direction: row;&#10; align-items: center;&#10; gap: 2px;&#10; "&#10; &gt;&lt;img&#10; src="https://notes.nakurei.com/remote/favicon-15ef2612c8539fa0bc64df6e88fe5ca9add753f8.png"&#10; width="14"&#10; height="14"&#10; style="margin-right: 2px;"&#10; alt="stack.cai.im favicon image"&#10; /&gt;&lt;span style="font-size: small; color: var(--card-text-color-tertiary);"&gt;&#10; stack.cai.im&#10; &lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10; &lt;/div&gt;&lt;style&gt;&#10; .url-card:hover {&#10; box-shadow: 0 0 0 1px var(--card-text-color-tertiary);&#10; }&#10;&lt;/style&gt;&#10;&#10;&#10; &#10; &lt;div&#10; class="url-card"&#10; style="&#10; display: flex;&#10; height: 100%;&#10; width: 100%;&#10; margin-top: 10px;&#10; margin-bottom: 10px;&#10; padding: 10px;&#10; border: solid 1px var(--table-border-color);&#10; border-radius: 0.5rem;&#10; overflow: hidden;&#10; "&#10; &gt;&#10; &lt;a&#10; href="https://github.com/CaiJimmy/hugo-theme-stack-starter/tree/master/config/_default"&#10; target="_blank"&#10; rel="noopener noreferrer"&#10; style="&#10; display: flex;&#10; width: 100%;&#10; height: 100%;&#10; text-decoration: none;&#10; "&#10; class="linkcard"&#10; &gt;&#10; &#10; &lt;img&#10; src="https://notes.nakurei.com/remote/eedea2856e0d9aede5936eb730634dbd7ea5ae72_hu_a6a19adc2eb0ce83.webp"&#10; alt="hugo-theme-stack-starter/config/_default at master · CaiJimmy/hugo-theme-stack-starter image"&#10; width="120"&#10; height="120"&#10; loading="lazy"&#10; decoding="async"&#10; style="&#10; max-width: 200px;&#10; max-height: 120px;&#10; object-fit: cover;&#10; margin: 0;&#10; flex-shrink: 0;&#10; "&gt;&#10; &#10;&#10; &lt;div&#10; style="&#10; display: flex;&#10; flex-direction: column;&#10; align-items: start;&#10; justify-content: center;&#10; margin-left: 12px;&#10; "&#10; &gt;&#10; &lt;p style="margin: 0; padding-left: 0; padding-bottom: 3px; border: none"&gt;&#10; &#10; hugo-theme-stack-starter/config/_default at master · CaiJimmy/hugo-theme-stack-starter&#10; &#10; &lt;/p&gt;&#10; &lt;p&#10; style="&#10; margin: 0;&#10; font-size: 12px;&#10; word-break: break-word;&#10; display: -webkit-box;&#10; display: box;&#10; -webkit-box-orient: vertical;&#10; box-orient: vertical;&#10; -webkit-line-clamp: 3;&#10; line-clamp: 3;&#10; overflow: hidden;&#10; "&#10; &gt;A quickstart template to create a Hugo blog using hugo-theme-stack - CaiJimmy/hugo-theme-stack-starter&lt;/p&gt;&#10; &lt;div&#10; style="&#10; display: flex;&#10; flex-direction: row;&#10; align-items: center;&#10; gap: 2px;&#10; "&#10; &gt;&lt;img&#10; src="https://notes.nakurei.com/remote/favicon-ffd1aa80239afc78c1628dfb5e08cff1205f22d5.png"&#10; width="14"&#10; height="14"&#10; style="margin-right: 2px;"&#10; alt="github.com favicon image"&#10; /&gt;&lt;span style="font-size: small; color: var(--card-text-color-tertiary);"&gt;&#10; github.com&#10; &lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10; &lt;/div&gt;&lt;style&gt;&#10; .url-card:hover {&#10; box-shadow: 0 0 0 1px var(--card-text-color-tertiary);&#10; }&#10;&lt;/style&gt;&#10;&#10;&lt;div class="footnotes" role="doc-endnotes"&gt;&#10;&lt;hr&gt;&#10;&lt;ol&gt;&#10;&lt;li id="fn:1"&gt;&#10;&lt;p&gt;In Stack v3 you had to override &lt;code&gt;assets/scss/partials/article.scss&lt;/code&gt; to change this, so personally I&amp;rsquo;m glad about this change.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;</description></item></channel></rss>