diff --git a/CHANGELOG.md b/CHANGELOG.md
index a164ff4..f314c10 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -14,6 +14,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
### Changed
- ⚠️ Required Hugo version is now 0.146.0 or later
+- Layouts directory restructured to align with [new Hugo templating data structure](https://github.com/gohugoio/hugo/pull/13541#issue-2959000250)
- Upgrade to Mermaid v11.7.0 ([#1035](https://github.com/jpanther/congo/pull/1035), [#1040](https://github.com/jpanther/congo/pull/1040))
- Upgrade to KaTeX v0.16.22 ([#1048](https://github.com/jpanther/congo/pull/1048))
- Upgrade to ChartJS v4.5.0 ([#1052](https://github.com/jpanther/congo/pull/1052), [#1067](https://github.com/jpanther/congo/pull/1067))
@@ -26,6 +27,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
- Anchor links in articles displayed incorrectly in dark mode ([#1041](https://github.com/jpanther/congo/pull/1041))
- Error building site due to template system changes in Hugo v0.146.0 or later ([#1049](https://github.com/jpanther/congo/issues/1049), [#1073](https://github.com/jpanther/congo/pull/1073))
- Style is not rendered for Chroma GenericDeleted items ([#1059](https://github.com/jpanther/congo/issues/1059))
+- Tag listing pages not generating links to articles ([#1061](https://github.com/jpanther/congo/issues/1061))
- Article sharing links for LINE contained invalid URLs ([#1065](https://github.com/jpanther/congo/pull/1065))
## [2.11.0] - 2025-02-24
diff --git a/exampleSite/layouts/partials/home/custom.html b/exampleSite/layouts/_partials/home/custom.html
similarity index 100%
rename from exampleSite/layouts/partials/home/custom.html
rename to exampleSite/layouts/_partials/home/custom.html
diff --git a/exampleSite/layouts/shortcodes/swatches.html b/exampleSite/layouts/_shortcodes/swatches.html
similarity index 100%
rename from exampleSite/layouts/shortcodes/swatches.html
rename to exampleSite/layouts/_shortcodes/swatches.html
diff --git a/layouts/_default/term.html b/layouts/_default/term.html
deleted file mode 100644
index 4dba882..0000000
--- a/layouts/_default/term.html
+++ /dev/null
@@ -1,43 +0,0 @@
-{{ define "main" }}
-
- {{ if .Params.showBreadcrumbs | default (.Site.Params.list.showBreadcrumbs | default false) }}
- {{ partial "breadcrumbs.html" . }}
- {{ end }}
-
-
- {{ if .Content }}
-
-
- {{ .Content | emojify }}
-
-
- {{ end }}
-
- {{ if .Data.Pages }}
-
- {{ if $.Params.groupByYear | default ($.Site.Params.list.groupByYear | default true) }}
- {{ range (.Paginate (.Pages.GroupByDate "2006")).PageGroups }}
-
- {{ .Key }}
-
-
- {{ range .Pages }}
- {{ partial "article-link.html" . }}
- {{ end }}
- {{ end }}
- {{ else }}
- {{ range (.Paginate .Pages).Pages }}
- {{ partial "article-link.html" . }}
- {{ end }}
- {{ end }}
-
- {{ partial "pagination.html" . }}
- {{ else }}
-
-
- {{ i18n "list.no_articles" | emojify }}
-
-
- {{ end }}
-
-{{ end }}
diff --git a/layouts/_default/_markup/render-heading.html b/layouts/_markup/render-heading.html
similarity index 100%
rename from layouts/_default/_markup/render-heading.html
rename to layouts/_markup/render-heading.html
diff --git a/layouts/_default/_markup/render-image.html b/layouts/_markup/render-image.html
similarity index 100%
rename from layouts/_default/_markup/render-image.html
rename to layouts/_markup/render-image.html
diff --git a/layouts/_default/_markup/render-link.html b/layouts/_markup/render-link.html
similarity index 100%
rename from layouts/_default/_markup/render-link.html
rename to layouts/_markup/render-link.html
diff --git a/layouts/partials/analytics.html b/layouts/_partials/analytics.html
similarity index 100%
rename from layouts/partials/analytics.html
rename to layouts/_partials/analytics.html
diff --git a/layouts/partials/article-link.html b/layouts/_partials/article-link.html
similarity index 100%
rename from layouts/partials/article-link.html
rename to layouts/_partials/article-link.html
diff --git a/layouts/partials/article-meta.html b/layouts/_partials/article-meta.html
similarity index 100%
rename from layouts/partials/article-meta.html
rename to layouts/_partials/article-meta.html
diff --git a/layouts/partials/article-pagination.html b/layouts/_partials/article-pagination.html
similarity index 100%
rename from layouts/partials/article-pagination.html
rename to layouts/_partials/article-pagination.html
diff --git a/layouts/partials/author-links.html b/layouts/_partials/author-links.html
similarity index 100%
rename from layouts/partials/author-links.html
rename to layouts/_partials/author-links.html
diff --git a/layouts/partials/author.html b/layouts/_partials/author.html
similarity index 100%
rename from layouts/partials/author.html
rename to layouts/_partials/author.html
diff --git a/layouts/partials/badge.html b/layouts/_partials/badge.html
similarity index 100%
rename from layouts/partials/badge.html
rename to layouts/_partials/badge.html
diff --git a/layouts/partials/breadcrumbs.html b/layouts/_partials/breadcrumbs.html
similarity index 100%
rename from layouts/partials/breadcrumbs.html
rename to layouts/_partials/breadcrumbs.html
diff --git a/layouts/partials/footer.html b/layouts/_partials/footer.html
similarity index 100%
rename from layouts/partials/footer.html
rename to layouts/_partials/footer.html
diff --git a/layouts/partials/functions/date.html b/layouts/_partials/functions/date.html
similarity index 100%
rename from layouts/partials/functions/date.html
rename to layouts/_partials/functions/date.html
diff --git a/layouts/partials/functions/init.html b/layouts/_partials/functions/init.html
similarity index 100%
rename from layouts/partials/functions/init.html
rename to layouts/_partials/functions/init.html
diff --git a/layouts/partials/functions/warnings.html b/layouts/_partials/functions/warnings.html
similarity index 100%
rename from layouts/partials/functions/warnings.html
rename to layouts/_partials/functions/warnings.html
diff --git a/layouts/partials/head.html b/layouts/_partials/head.html
similarity index 100%
rename from layouts/partials/head.html
rename to layouts/_partials/head.html
diff --git a/layouts/partials/header/basic.html b/layouts/_partials/header/basic.html
similarity index 100%
rename from layouts/partials/header/basic.html
rename to layouts/_partials/header/basic.html
diff --git a/layouts/partials/header/hamburger.html b/layouts/_partials/header/hamburger.html
similarity index 100%
rename from layouts/partials/header/hamburger.html
rename to layouts/_partials/header/hamburger.html
diff --git a/layouts/partials/header/hybrid.html b/layouts/_partials/header/hybrid.html
similarity index 100%
rename from layouts/partials/header/hybrid.html
rename to layouts/_partials/header/hybrid.html
diff --git a/layouts/partials/home/page.html b/layouts/_partials/home/page.html
similarity index 100%
rename from layouts/partials/home/page.html
rename to layouts/_partials/home/page.html
diff --git a/layouts/partials/home/profile.html b/layouts/_partials/home/profile.html
similarity index 100%
rename from layouts/partials/home/profile.html
rename to layouts/_partials/home/profile.html
diff --git a/layouts/partials/icon.html b/layouts/_partials/icon.html
similarity index 100%
rename from layouts/partials/icon.html
rename to layouts/_partials/icon.html
diff --git a/layouts/partials/logo.html b/layouts/_partials/logo.html
similarity index 100%
rename from layouts/partials/logo.html
rename to layouts/_partials/logo.html
diff --git a/layouts/partials/meta/date-updated.html b/layouts/_partials/meta/date-updated.html
similarity index 100%
rename from layouts/partials/meta/date-updated.html
rename to layouts/_partials/meta/date-updated.html
diff --git a/layouts/partials/meta/date.html b/layouts/_partials/meta/date.html
similarity index 100%
rename from layouts/partials/meta/date.html
rename to layouts/_partials/meta/date.html
diff --git a/layouts/partials/meta/edit.html b/layouts/_partials/meta/edit.html
similarity index 100%
rename from layouts/partials/meta/edit.html
rename to layouts/_partials/meta/edit.html
diff --git a/layouts/partials/meta/reading-time.html b/layouts/_partials/meta/reading-time.html
similarity index 100%
rename from layouts/partials/meta/reading-time.html
rename to layouts/_partials/meta/reading-time.html
diff --git a/layouts/partials/meta/word-count.html b/layouts/_partials/meta/word-count.html
similarity index 100%
rename from layouts/partials/meta/word-count.html
rename to layouts/_partials/meta/word-count.html
diff --git a/layouts/partials/pagination.html b/layouts/_partials/pagination.html
similarity index 100%
rename from layouts/partials/pagination.html
rename to layouts/_partials/pagination.html
diff --git a/layouts/partials/picture.html b/layouts/_partials/picture.html
similarity index 100%
rename from layouts/partials/picture.html
rename to layouts/_partials/picture.html
diff --git a/layouts/partials/profile.html b/layouts/_partials/profile.html
similarity index 100%
rename from layouts/partials/profile.html
rename to layouts/_partials/profile.html
diff --git a/layouts/partials/recent-articles.html b/layouts/_partials/recent-articles.html
similarity index 100%
rename from layouts/partials/recent-articles.html
rename to layouts/_partials/recent-articles.html
diff --git a/layouts/partials/schema.html b/layouts/_partials/schema.html
similarity index 100%
rename from layouts/partials/schema.html
rename to layouts/_partials/schema.html
diff --git a/layouts/partials/search.html b/layouts/_partials/search.html
similarity index 100%
rename from layouts/partials/search.html
rename to layouts/_partials/search.html
diff --git a/layouts/partials/sharing-links.html b/layouts/_partials/sharing-links.html
similarity index 100%
rename from layouts/partials/sharing-links.html
rename to layouts/_partials/sharing-links.html
diff --git a/layouts/partials/toc.html b/layouts/_partials/toc.html
similarity index 100%
rename from layouts/partials/toc.html
rename to layouts/_partials/toc.html
diff --git a/layouts/partials/translations.html b/layouts/_partials/translations.html
similarity index 100%
rename from layouts/partials/translations.html
rename to layouts/_partials/translations.html
diff --git a/layouts/partials/vendor.html b/layouts/_partials/vendor.html
similarity index 100%
rename from layouts/partials/vendor.html
rename to layouts/_partials/vendor.html
diff --git a/layouts/shortcodes/alert.html b/layouts/_shortcodes/alert.html
similarity index 100%
rename from layouts/shortcodes/alert.html
rename to layouts/_shortcodes/alert.html
diff --git a/layouts/shortcodes/badge.html b/layouts/_shortcodes/badge.html
similarity index 100%
rename from layouts/shortcodes/badge.html
rename to layouts/_shortcodes/badge.html
diff --git a/layouts/shortcodes/button.html b/layouts/_shortcodes/button.html
similarity index 100%
rename from layouts/shortcodes/button.html
rename to layouts/_shortcodes/button.html
diff --git a/layouts/shortcodes/chart.html b/layouts/_shortcodes/chart.html
similarity index 100%
rename from layouts/shortcodes/chart.html
rename to layouts/_shortcodes/chart.html
diff --git a/layouts/shortcodes/figure.html b/layouts/_shortcodes/figure.html
similarity index 100%
rename from layouts/shortcodes/figure.html
rename to layouts/_shortcodes/figure.html
diff --git a/layouts/shortcodes/gist.html b/layouts/_shortcodes/gist.html
similarity index 100%
rename from layouts/shortcodes/gist.html
rename to layouts/_shortcodes/gist.html
diff --git a/layouts/shortcodes/icon.html b/layouts/_shortcodes/icon.html
similarity index 100%
rename from layouts/shortcodes/icon.html
rename to layouts/_shortcodes/icon.html
diff --git a/layouts/shortcodes/katex.html b/layouts/_shortcodes/katex.html
similarity index 100%
rename from layouts/shortcodes/katex.html
rename to layouts/_shortcodes/katex.html
diff --git a/layouts/shortcodes/lead.html b/layouts/_shortcodes/lead.html
similarity index 100%
rename from layouts/shortcodes/lead.html
rename to layouts/_shortcodes/lead.html
diff --git a/layouts/shortcodes/mermaid.html b/layouts/_shortcodes/mermaid.html
similarity index 100%
rename from layouts/shortcodes/mermaid.html
rename to layouts/_shortcodes/mermaid.html
diff --git a/layouts/shortcodes/profile.html b/layouts/_shortcodes/profile.html
similarity index 100%
rename from layouts/shortcodes/profile.html
rename to layouts/_shortcodes/profile.html
diff --git a/layouts/shortcodes/screenshot.html b/layouts/_shortcodes/screenshot.html
similarity index 100%
rename from layouts/shortcodes/screenshot.html
rename to layouts/_shortcodes/screenshot.html
diff --git a/layouts/_default/baseof.html b/layouts/baseof.html
similarity index 100%
rename from layouts/_default/baseof.html
rename to layouts/baseof.html
diff --git a/layouts/_default/index.json b/layouts/index.json
similarity index 100%
rename from layouts/_default/index.json
rename to layouts/index.json
diff --git a/layouts/_default/list.html b/layouts/list.html
similarity index 100%
rename from layouts/_default/list.html
rename to layouts/list.html
diff --git a/layouts/_default/simple.html b/layouts/simple.html
similarity index 100%
rename from layouts/_default/simple.html
rename to layouts/simple.html
diff --git a/layouts/_default/single.html b/layouts/single.html
similarity index 100%
rename from layouts/_default/single.html
rename to layouts/single.html
diff --git a/layouts/_default/sitemap.xml b/layouts/sitemap.xml
similarity index 100%
rename from layouts/_default/sitemap.xml
rename to layouts/sitemap.xml
diff --git a/layouts/_default/taxonomy.html b/layouts/taxonomy.html
similarity index 100%
rename from layouts/_default/taxonomy.html
rename to layouts/taxonomy.html
diff --git a/layouts/term.html b/layouts/term.html
new file mode 100644
index 0000000..b80fe91
--- /dev/null
+++ b/layouts/term.html
@@ -0,0 +1,53 @@
+{{ define "main" }}
+ {{ $toc := and (.Params.showTableOfContents | default (.Site.Params.list.showTableOfContents | default false)) (in .TableOfContents "