From 0a434ebab82e05c3826b88f3828f8ca91150304e Mon Sep 17 00:00:00 2001 From: Lukas Vogel Date: Tue, 24 Mar 2026 14:07:00 +0100 Subject: [PATCH 1/2] update vendored hextra to newest version newest hugo version shipped with macOS didn't work with the old hextra version anymore --- content/clients/psql.md | 2 +- themes/hextra/.devcontainer/devcontainer.json | 8 +- themes/hextra/.gitattributes | 3 + themes/hextra/.github/CONTRIBUTING.md | 8 +- themes/hextra/.github/FUNDING.yml | 15 + .../.github/ISSUE_TEMPLATE/bug_report.md | 2 + themes/hextra/.github/workflows/pages.yml | 46 +- .../.github/workflows/test-accessibility.yml | 62 + .../.github/workflows/test-mobile-menu.yml | 61 + themes/hextra/.gitignore | 4 + themes/hextra/.prettierrc | 3 + themes/hextra/AGENTS.md | 193 + themes/hextra/CLAUDE.md | 1 + themes/hextra/README.fa.md | 49 + themes/hextra/README.md | 2 + themes/hextra/README.zh-cn.md | 4 +- themes/hextra/assets/css/chroma/dark.css | 2 +- themes/hextra/assets/css/compiled/main.css | 3479 +---------------- .../hextra/assets/css/components/archives.css | 3 + themes/hextra/assets/css/components/badge.css | 3 + .../hextra/assets/css/components/banner.css | 12 + themes/hextra/assets/css/components/cards.css | 27 +- .../assets/css/components/code-copy.css | 4 +- .../css/components/hextra/feature-grid.css | 5 + .../hextra/assets/css/components/jupyter.css | 17 + .../hextra/assets/css/components/navbar.css | 79 +- .../assets/css/components/scrollbar.css | 10 +- .../hextra/assets/css/components/search.css | 34 +- .../hextra/assets/css/components/sidebar.css | 22 +- themes/hextra/assets/css/components/steps.css | 27 +- themes/hextra/assets/css/components/toc.css | 4 + themes/hextra/assets/css/highlight.css | 38 +- themes/hextra/assets/css/safelist.txt | 1 + themes/hextra/assets/css/styles.css | 90 +- themes/hextra/assets/css/tailwind.css | 3 - themes/hextra/assets/css/typography.css | 133 +- themes/hextra/assets/css/variables.css | 35 + .../assets/js/{ => core}/back-to-top.js | 9 +- themes/hextra/assets/js/core/banner.js | 15 + .../hextra/assets/js/{ => core}/code-copy.js | 31 +- themes/hextra/assets/js/core/favicon.js | 22 + .../hextra/assets/js/{ => core}/filetree.js | 4 +- themes/hextra/assets/js/core/lang.js | 103 + themes/hextra/assets/js/core/menu.js | 84 + themes/hextra/assets/js/core/nav-menu.js | 126 + .../assets/js/core/page-context-menu.js | 172 + themes/hextra/assets/js/core/sidebar.js | 37 + themes/hextra/assets/js/core/switcher-menu.js | 52 + themes/hextra/assets/js/core/tabs.js | 102 + themes/hextra/assets/js/core/task-list.js | 15 + themes/hextra/assets/js/core/theme.js | 112 + themes/hextra/assets/js/core/toc-scroll.js | 97 + themes/hextra/assets/js/flexsearch.js | 221 +- themes/hextra/assets/js/head/banner.js | 6 + themes/hextra/assets/js/head/theme.js | 14 + themes/hextra/assets/js/lang.js | 28 - themes/hextra/assets/js/menu.js | 49 - themes/hextra/assets/js/sidebar.js | 12 - themes/hextra/assets/js/tabs.js | 20 - themes/hextra/assets/js/theme.js | 51 - themes/hextra/assets/json/search-data.json | 16 + .../lib/flexsearch/flexsearch.bundle.min.js | 39 - .../assets/lib/katex/auto-render.min.js | 1 - .../lib/katex/fonts/KaTeX_AMS-Regular.ttf | Bin 63632 -> 0 bytes .../lib/katex/fonts/KaTeX_AMS-Regular.woff | Bin 33516 -> 0 bytes .../lib/katex/fonts/KaTeX_AMS-Regular.woff2 | Bin 28076 -> 0 bytes .../katex/fonts/KaTeX_Caligraphic-Bold.ttf | Bin 12368 -> 0 bytes .../katex/fonts/KaTeX_Caligraphic-Bold.woff | Bin 7716 -> 0 bytes .../katex/fonts/KaTeX_Caligraphic-Bold.woff2 | Bin 6912 -> 0 bytes .../katex/fonts/KaTeX_Caligraphic-Regular.ttf | Bin 12344 -> 0 bytes .../fonts/KaTeX_Caligraphic-Regular.woff | Bin 7656 -> 0 bytes .../fonts/KaTeX_Caligraphic-Regular.woff2 | Bin 6908 -> 0 bytes .../lib/katex/fonts/KaTeX_Fraktur-Bold.ttf | Bin 19584 -> 0 bytes .../lib/katex/fonts/KaTeX_Fraktur-Bold.woff | Bin 13296 -> 0 bytes .../lib/katex/fonts/KaTeX_Fraktur-Bold.woff2 | Bin 11348 -> 0 bytes .../lib/katex/fonts/KaTeX_Fraktur-Regular.ttf | Bin 19572 -> 0 bytes .../katex/fonts/KaTeX_Fraktur-Regular.woff | Bin 13208 -> 0 bytes .../katex/fonts/KaTeX_Fraktur-Regular.woff2 | Bin 11316 -> 0 bytes .../lib/katex/fonts/KaTeX_Main-Bold.ttf | Bin 51336 -> 0 bytes .../lib/katex/fonts/KaTeX_Main-Bold.woff | Bin 29912 -> 0 bytes .../lib/katex/fonts/KaTeX_Main-Bold.woff2 | Bin 25324 -> 0 bytes .../lib/katex/fonts/KaTeX_Main-BoldItalic.ttf | Bin 32968 -> 0 bytes .../katex/fonts/KaTeX_Main-BoldItalic.woff | Bin 19412 -> 0 bytes .../katex/fonts/KaTeX_Main-BoldItalic.woff2 | Bin 16780 -> 0 bytes .../lib/katex/fonts/KaTeX_Main-Italic.ttf | Bin 33580 -> 0 bytes .../lib/katex/fonts/KaTeX_Main-Italic.woff | Bin 19676 -> 0 bytes .../lib/katex/fonts/KaTeX_Main-Italic.woff2 | Bin 16988 -> 0 bytes .../lib/katex/fonts/KaTeX_Main-Regular.ttf | Bin 53580 -> 0 bytes .../lib/katex/fonts/KaTeX_Main-Regular.woff | Bin 30772 -> 0 bytes .../lib/katex/fonts/KaTeX_Main-Regular.woff2 | Bin 26272 -> 0 bytes .../lib/katex/fonts/KaTeX_Math-BoldItalic.ttf | Bin 31196 -> 0 bytes .../katex/fonts/KaTeX_Math-BoldItalic.woff | Bin 18668 -> 0 bytes .../katex/fonts/KaTeX_Math-BoldItalic.woff2 | Bin 16400 -> 0 bytes .../lib/katex/fonts/KaTeX_Math-Italic.ttf | Bin 31308 -> 0 bytes .../lib/katex/fonts/KaTeX_Math-Italic.woff | Bin 18748 -> 0 bytes .../lib/katex/fonts/KaTeX_Math-Italic.woff2 | Bin 16440 -> 0 bytes .../lib/katex/fonts/KaTeX_SansSerif-Bold.ttf | Bin 24504 -> 0 bytes .../lib/katex/fonts/KaTeX_SansSerif-Bold.woff | Bin 14408 -> 0 bytes .../katex/fonts/KaTeX_SansSerif-Bold.woff2 | Bin 12216 -> 0 bytes .../katex/fonts/KaTeX_SansSerif-Italic.ttf | Bin 22364 -> 0 bytes .../katex/fonts/KaTeX_SansSerif-Italic.woff | Bin 14112 -> 0 bytes .../katex/fonts/KaTeX_SansSerif-Italic.woff2 | Bin 12028 -> 0 bytes .../katex/fonts/KaTeX_SansSerif-Regular.ttf | Bin 19436 -> 0 bytes .../katex/fonts/KaTeX_SansSerif-Regular.woff | Bin 12316 -> 0 bytes .../katex/fonts/KaTeX_SansSerif-Regular.woff2 | Bin 10344 -> 0 bytes .../lib/katex/fonts/KaTeX_Script-Regular.ttf | Bin 16648 -> 0 bytes .../lib/katex/fonts/KaTeX_Script-Regular.woff | Bin 10588 -> 0 bytes .../katex/fonts/KaTeX_Script-Regular.woff2 | Bin 9644 -> 0 bytes .../lib/katex/fonts/KaTeX_Size1-Regular.ttf | Bin 12228 -> 0 bytes .../lib/katex/fonts/KaTeX_Size1-Regular.woff | Bin 6496 -> 0 bytes .../lib/katex/fonts/KaTeX_Size1-Regular.woff2 | Bin 5468 -> 0 bytes .../lib/katex/fonts/KaTeX_Size2-Regular.ttf | Bin 11508 -> 0 bytes .../lib/katex/fonts/KaTeX_Size2-Regular.woff | Bin 6188 -> 0 bytes .../lib/katex/fonts/KaTeX_Size2-Regular.woff2 | Bin 5208 -> 0 bytes .../lib/katex/fonts/KaTeX_Size3-Regular.ttf | Bin 7588 -> 0 bytes .../lib/katex/fonts/KaTeX_Size3-Regular.woff | Bin 4420 -> 0 bytes .../lib/katex/fonts/KaTeX_Size3-Regular.woff2 | Bin 3624 -> 0 bytes .../lib/katex/fonts/KaTeX_Size4-Regular.ttf | Bin 10364 -> 0 bytes .../lib/katex/fonts/KaTeX_Size4-Regular.woff | Bin 5980 -> 0 bytes .../lib/katex/fonts/KaTeX_Size4-Regular.woff2 | Bin 4928 -> 0 bytes .../katex/fonts/KaTeX_Typewriter-Regular.ttf | Bin 27556 -> 0 bytes .../katex/fonts/KaTeX_Typewriter-Regular.woff | Bin 16028 -> 0 bytes .../fonts/KaTeX_Typewriter-Regular.woff2 | Bin 13568 -> 0 bytes themes/hextra/assets/lib/katex/katex.min.css | 1 - themes/hextra/assets/lib/katex/katex.min.js | 1 - themes/hextra/assets/lib/katex/mhchem.min.js | 1 - .../hextra/assets/lib/mermaid/mermaid.min.js | 1641 -------- themes/hextra/build.sh | 56 + themes/hextra/data/icons.yaml | 31 +- themes/hextra/dev.toml | 11 +- themes/hextra/docs/assets/example.ipynb | 224 ++ .../assets/images/space.jpg | Bin themes/hextra/docs/content/_index.fa.md | 76 + themes/hextra/docs/content/_index.ja.md | 76 + .../{exampleSite => docs}/content/_index.md | 26 +- .../content/_index.zh-cn.md | 26 +- themes/hextra/docs/content/about/index.fa.md | 22 + themes/hextra/docs/content/about/index.ja.md | 20 + .../content/about/index.md | 0 .../hextra/docs/content/about/index.zh-cn.md | 20 + .../hextra/docs/content/archives/_index.fa.md | 5 + .../hextra/docs/content/archives/_index.ja.md | 5 + themes/hextra/docs/content/archives/_index.md | 5 + .../docs/content/archives/_index.zh-cn.md | 5 + themes/hextra/docs/content/blog/_index.fa.md | 10 + themes/hextra/docs/content/blog/_index.ja.md | 10 + .../content/blog/_index.md | 0 .../hextra/docs/content/blog/_index.zh-cn.md | 10 + .../hextra/docs/content/blog/markdown.fa.md | 160 + .../hextra/docs/content/blog/markdown.ja.md | 157 + .../content/blog/markdown.md | 0 .../docs/content/blog/markdown.zh-cn.md | 157 + themes/hextra/docs/content/blog/v0.10.fa.md | 247 ++ themes/hextra/docs/content/blog/v0.10.ja.md | 247 ++ themes/hextra/docs/content/blog/v0.10.md | 247 ++ .../hextra/docs/content/blog/v0.10.zh-cn.md | 247 ++ themes/hextra/docs/content/blog/v0.11.fa.md | 128 + themes/hextra/docs/content/blog/v0.11.ja.md | 128 + themes/hextra/docs/content/blog/v0.11.md | 128 + .../hextra/docs/content/blog/v0.11.zh-cn.md | 129 + themes/hextra/docs/content/blog/v0.12.fa.md | 218 ++ themes/hextra/docs/content/blog/v0.12.ja.md | 218 ++ themes/hextra/docs/content/blog/v0.12.md | 218 ++ .../hextra/docs/content/blog/v0.12.zh-cn.md | 218 ++ themes/hextra/docs/content/docs/_index.fa.md | 42 + themes/hextra/docs/content/docs/_index.ja.md | 41 + .../content/docs/_index.md | 1 + .../hextra/docs/content/docs/_index.zh-cn.md | 41 + .../docs/content/docs/advanced/_index.fa.md | 17 + .../docs/content/docs/advanced/_index.ja.md | 17 + .../content/docs/advanced/_index.md | 1 + .../content/docs/advanced/_index.zh-cn.md | 17 + .../docs/advanced/additional-pages.fa.md | 105 + .../docs/advanced/additional-pages.ja.md | 105 + .../content/docs/advanced/additional-pages.md | 105 + .../docs/advanced/additional-pages.zh-cn.md | 105 + .../docs/content/docs/advanced/comments.fa.md | 39 + .../docs/content/docs/advanced/comments.ja.md | 39 + .../content/docs/advanced/comments.md | 0 .../content/docs/advanced/comments.zh-cn.md | 39 + .../content/docs/advanced/customization.fa.md | 251 ++ .../content/docs/advanced/customization.ja.md | 251 ++ .../content/docs/advanced/customization.md | 251 ++ .../docs/advanced/customization.zh-cn.md | 251 ++ .../docs/advanced/multi-language.fa.md | 83 + .../docs/advanced/multi-language.ja.md | 83 + .../content/docs/advanced/multi-language.md | 2 +- .../docs/advanced/multi-language.zh-cn.md | 83 + .../docs/content/docs/getting-started.fa.md | 204 + .../docs/content/docs/getting-started.ja.md | 204 + .../content/docs/getting-started.md | 21 +- .../content/docs/getting-started.zh-cn.md | 204 + .../docs/content/docs/guide/_index.fa.md | 23 + .../docs/content/docs/guide/_index.ja.md | 23 + .../content/docs/guide/_index.md | 0 .../content/docs/guide/_index.zh-cn.md | 11 +- .../content/docs/guide/configuration.fa.md | 619 +++ .../content/docs/guide/configuration.ja.md | 625 +++ .../docs/content/docs/guide/configuration.md | 770 ++++ .../content/docs/guide/configuration.zh-cn.md | 625 +++ .../docs/content/docs/guide/deploy-site.fa.md | 164 + .../docs/content/docs/guide/deploy-site.ja.md | 163 + .../content/docs/guide/deploy-site.md | 29 +- .../content/docs/guide/deploy-site.zh-cn.md | 164 + .../docs/content/docs/guide/diagrams.fa.md | 53 + .../docs/content/docs/guide/diagrams.ja.md | 53 + .../content/docs/guide/diagrams.md | 0 .../docs/content/docs/guide/diagrams.zh-cn.md | 53 + .../docs/content/docs/guide/latex.fa.md | 146 + .../docs/content/docs/guide/latex.ja.md | 146 + .../hextra/docs/content/docs/guide/latex.md | 146 + .../docs/content/docs/guide/latex.zh-cn.md | 145 + .../docs/content/docs/guide/markdown.fa.md | 210 + .../docs/content/docs/guide/markdown.ja.md | 210 + .../docs/content/docs/guide/markdown.md | 210 + .../docs/content/docs/guide/markdown.zh-cn.md | 210 + .../content/docs/guide/organize-files.fa.md | 256 ++ .../content/docs/guide/organize-files.ja.md | 256 ++ .../content/docs/guide/organize-files.md | 131 +- .../docs/guide/organize-files.zh-cn.md | 256 ++ .../docs/guide/shortcodes/_index.fa.md | 30 + .../docs/guide/shortcodes/_index.ja.md | 30 + .../content/docs/guide/shortcodes/_index.md | 13 +- .../docs/guide/shortcodes/_index.zh-cn.md | 30 + .../docs/guide/shortcodes/asciinema.fa.md | 121 + .../docs/guide/shortcodes/asciinema.ja.md | 121 + .../docs/guide/shortcodes/asciinema.md | 124 + .../docs/guide/shortcodes/asciinema.zh-cn.md | 121 + .../docs/guide/shortcodes/callout.fa.md | 149 + .../docs/guide/shortcodes/callout.ja.md | 149 + .../content/docs/guide/shortcodes/callout.md | 149 + .../docs/guide/shortcodes/callout.zh-cn.md | 149 + .../content/docs/guide/shortcodes/cards.fa.md | 116 + .../content/docs/guide/shortcodes/cards.ja.md | 116 + .../content/docs/guide/shortcodes/cards.md | 126 + .../docs/guide/shortcodes/cards.zh-cn.md | 116 + .../docs/guide/shortcodes/details.fa.md | 43 + .../docs/guide/shortcodes/details.ja.md | 43 + .../content/docs/guide/shortcodes/details.md | 16 +- .../docs/guide/shortcodes/details.zh-cn.md | 43 + .../docs/guide/shortcodes/filetree.fa.md | 49 + .../docs/guide/shortcodes/filetree.ja.md | 49 + .../content/docs/guide/shortcodes/filetree.md | 49 + .../docs/guide/shortcodes/filetree.zh-cn.md} | 23 +- .../docs/guide/shortcodes/hextra.fa.md | 175 + .../docs/guide/shortcodes/hextra.ja.md | 175 + .../content/docs/guide/shortcodes/hextra.md | 175 + .../docs/guide/shortcodes/hextra.zh-cn.md | 175 + .../content/docs/guide/shortcodes/icon.fa.md | 54 + .../content/docs/guide/shortcodes/icon.ja.md | 54 + .../content/docs/guide/shortcodes/icon.md | 8 + .../docs/guide/shortcodes/icon.zh-cn.md | 54 + .../docs/guide/shortcodes/jupyter.fa.md | 79 + .../docs/guide/shortcodes/jupyter.ja.md | 79 + .../content/docs/guide/shortcodes/jupyter.md | 79 + .../docs/guide/shortcodes/jupyter.zh-cn.md | 79 + .../docs/guide/shortcodes/others.fa.md | 129 + .../docs/guide/shortcodes/others.ja.md | 129 + .../content/docs/guide/shortcodes/others.md | 129 + .../docs/guide/shortcodes/others.zh-cn.md | 129 + .../content/docs/guide/shortcodes/steps.fa.md | 47 + .../content/docs/guide/shortcodes/steps.ja.md | 47 + .../content/docs/guide/shortcodes/steps.md | 57 + .../docs/guide/shortcodes/steps.zh-cn.md | 47 + .../content/docs/guide/shortcodes/tabs.fa.md | 149 + .../content/docs/guide/shortcodes/tabs.ja.md | 149 + .../content/docs/guide/shortcodes/tabs.md | 155 + .../docs/guide/shortcodes/tabs.zh-cn.md | 149 + .../content/docs/guide/shortcodes/term.fa.md | 28 + .../content/docs/guide/shortcodes/term.ja.md | 28 + .../content/docs/guide/shortcodes/term.md | 29 + .../docs/guide/shortcodes/term.zh-cn.md | 28 + .../docs/guide/syntax-highlighting.fa.md | 114 + .../docs/guide/syntax-highlighting.ja.md | 114 + .../content/docs/guide/syntax-highlighting.md | 29 +- .../docs/guide/syntax-highlighting.zh-cn.md | 111 + .../hextra/docs/content/glossary/_index.en.md | 4 + .../hextra/docs/content/glossary/_index.fa.md | 4 + .../hextra/docs/content/glossary/_index.ja.md | 4 + .../docs/content/glossary/_index.zh-cn.md | 4 + .../hextra/docs/content/showcase/index.fa.md | 34 + .../hextra/docs/content/showcase/index.ja.md | 139 + themes/hextra/docs/content/showcase/index.md | 139 + .../docs/content/showcase/index.zh-cn.md | 97 + themes/hextra/docs/data/en/termbase.yaml | 12 + themes/hextra/docs/data/fa/termbase.yaml | 12 + themes/hextra/docs/data/ja/termbase.yaml | 12 + themes/hextra/docs/data/zh-cn/termbase.yaml | 12 + themes/hextra/docs/go.mod | 5 + themes/hextra/{exampleSite => docs}/hugo.work | 2 +- themes/hextra/docs/hugo.yaml | 292 ++ themes/hextra/docs/i18n/fa.yaml | 9 + themes/hextra/docs/i18n/ja.yaml | 9 + .../{exampleSite => docs}/i18n/zh-cn.yaml | 3 + .../layouts/_partials/custom/head-end.html | 6 + .../docs/layouts/_shortcodes/new-feature.html | 11 + .../hextra/{ => docs}/static/favicon-dark.svg | 0 .../static/images/card-image-unprocessed.jpg | Bin .../static/images/hextra-doc.webp | Bin .../static/images/hextra-markdown.webp | Bin .../static/images/hextra-search.webp | Bin .../exampleSite/content/about/index.zh-cn.md | 20 - .../exampleSite/content/blog/_index.zh-cn.md | 3 - .../content/blog/markdown.zh-cn.md | 137 - .../exampleSite/content/docs/_index.zh-cn.md | 40 - .../content/docs/advanced/_index.zh-cn.md | 15 - .../content/docs/advanced/comments.zh-cn.md | 39 - .../content/docs/advanced/customization.md | 73 - .../docs/advanced/customization.zh-cn.md | 58 - .../docs/advanced/multi-language.zh-cn.md | 74 - .../content/docs/getting-started.zh-cn.md | 142 - .../content/docs/guide/configuration.md | 271 -- .../content/docs/guide/configuration.zh-cn.md | 239 -- .../content/docs/guide/diagrams.zh-cn.md | 53 - .../exampleSite/content/docs/guide/latex.md | 60 - .../content/docs/guide/latex.zh-cn.md | 59 - .../content/docs/guide/markdown.md | 106 - .../content/docs/guide/markdown.zh-cn.md | 105 - .../docs/guide/organize-files.zh-cn.md | 65 - .../docs/guide/shortcodes/_index.zh-cn.md | 19 - .../content/docs/guide/shortcodes/callout.md | 79 - .../content/docs/guide/shortcodes/cards.md | 64 - .../content/docs/guide/shortcodes/steps.md | 42 - .../content/docs/guide/shortcodes/tabs.md | 93 - .../docs/guide/syntax-highlighting.zh-cn.md | 89 - .../exampleSite/content/showcase/index.md | 20 - .../content/showcase/index.zh-cn.md | 19 - themes/hextra/exampleSite/go.mod | 5 - themes/hextra/exampleSite/hugo.yaml | 157 - themes/hextra/examples/README.md | 13 + themes/hextra/go.mod | 2 +- themes/hextra/hugo.toml | 16 + themes/hextra/i18n/cs.yaml | 31 +- themes/hextra/i18n/de.yaml | 35 +- themes/hextra/i18n/en.yaml | 31 +- themes/hextra/i18n/es.yaml | 32 +- themes/hextra/i18n/fa.yaml | 29 + themes/hextra/i18n/fr.yaml | 32 +- themes/hextra/i18n/he.yaml | 43 + themes/hextra/i18n/it.yaml | 43 + themes/hextra/i18n/ja.yaml | 32 +- themes/hextra/i18n/ko.yaml | 42 +- themes/hextra/i18n/nb.yaml | 32 +- themes/hextra/i18n/nl.yaml | 43 + themes/hextra/i18n/nn.yaml | 32 +- themes/hextra/i18n/pt.yaml | 32 +- themes/hextra/i18n/ro.yaml | 43 + themes/hextra/i18n/ru.yaml | 43 + themes/hextra/i18n/sw.yaml | 34 +- themes/hextra/i18n/uk.yaml | 43 + themes/hextra/i18n/vi.yaml | 32 +- themes/hextra/i18n/zh-cn.yaml | 32 +- themes/hextra/i18n/zh-tw.yaml | 32 +- themes/hextra/images/tn.jpg | Bin 88500 -> 92825 bytes themes/hextra/layouts/404.html | 61 +- .../_markup/render-codeblock-mermaid.html | 4 - .../_default/_markup/render-codeblock.html | 25 - .../_default/_markup/render-heading.html | 8 - .../_default/_markup/render-image.html | 27 - .../layouts/_default/_markup/render-link.html | 3 - themes/hextra/layouts/_default/baseof.html | 12 - themes/hextra/layouts/_default/list.html | 17 - themes/hextra/layouts/_default/single.html | 18 - themes/hextra/layouts/_default/wide.html | 12 - .../_markup/render-blockquote-alert.html | 9 + .../_markup/render-blockquote-regular.html | 3 + .../_markup/render-codeblock-mermaid.html | 6 + .../layouts/_markup/render-codeblock.html | 13 + .../layouts/_markup/render-heading.html | 8 + .../hextra/layouts/_markup/render-image.html | 59 + .../hextra/layouts/_markup/render-link.html | 28 + .../layouts/_markup/render-passthrough.html | 20 + themes/hextra/layouts/_partials/banner.html | 19 + .../hextra/layouts/_partials/breadcrumb.html | 17 + .../components/analytics/analytics.html | 24 + .../components/analytics/goat-counter.html | 17 + .../analytics/google-analytics.html | 13 + .../components/analytics/matomo.html | 31 + .../_partials/components/analytics/umami.html | 57 + .../_partials/components/blog-pager.html | 39 + .../components/codeblock-copy-button.html | 17 + .../_partials/components/codeblock.html | 29 + .../components/comments.html | 0 .../layouts/_partials/components/giscus.html | 89 + .../components/github-style-alert.html | 53 + .../_partials/components/last-updated.html | 20 + .../components/page-context-menu.html | 90 + .../layouts/_partials/components/pager.html | 53 + .../custom/banner.html} | 0 .../layouts/_partials/custom/footer.html | 0 .../layouts/_partials/custom/head-end.html | 0 .../_partials/custom/navbar-title.html | 0 .../{partials => _partials}/favicons.html | 3 +- themes/hextra/layouts/_partials/footer.html | 44 + .../layouts/_partials/google-analytics.html | 2 + themes/hextra/layouts/_partials/head.html | 81 + .../layouts/_partials/language-switch.html | 54 + .../hextra/layouts/_partials/navbar-link.html | 88 + .../layouts/_partials/navbar-title.html | 16 + themes/hextra/layouts/_partials/navbar.html | 59 + .../hextra/layouts/_partials/opengraph.html | 96 + themes/hextra/layouts/_partials/scripts.html | 20 + .../layouts/_partials/scripts/asciinema.html | 140 + .../layouts/_partials/scripts/core.html | 10 + .../layouts/_partials/scripts/katex.html | 92 + .../layouts/_partials/scripts/mathjax.html | 20 + .../_partials/scripts/medium-zoom.html | 85 + .../layouts/_partials/scripts/mermaid.html | 79 + .../layouts/_partials/scripts/search.html | 63 + themes/hextra/layouts/_partials/search.html | 30 + .../layouts/_partials/shortcodes/badge.html | 38 + .../layouts/_partials/shortcodes/callout.html | 28 + .../layouts/_partials/shortcodes/card.html | 70 + .../layouts/_partials/shortcodes/cards.html | 6 + .../layouts/_partials/shortcodes/tabs.html | 48 + themes/hextra/layouts/_partials/sidebar.html | 315 ++ themes/hextra/layouts/_partials/tags.html | 7 + .../layouts/_partials/theme-toggle.html | 83 + themes/hextra/layouts/_partials/toc.html | 91 + .../_partials/utils/extract-headings.html | 31 + .../layouts/_partials/utils/file-path.html | 21 + .../utils/format-date.html | 0 .../layouts/_partials/utils/fragments.html | 93 + .../{partials => _partials}/utils/icon.html | 0 .../utils/lang-link.html | 0 .../utils/page-description.html | 0 .../_partials/utils/page-width-override.html | 10 + .../layouts/_partials/utils/sort-pages.html | 32 + .../layouts/_partials/utils/template-url.html | 18 + .../hextra/layouts/_partials/utils/title.html | 19 + .../hextra/layouts/_shortcodes/asciinema.html | 88 + themes/hextra/layouts/_shortcodes/badge.html | 54 + .../hextra/layouts/_shortcodes/callout.html | 57 + themes/hextra/layouts/_shortcodes/card.html | 72 + themes/hextra/layouts/_shortcodes/cards.html | 11 + .../hextra/layouts/_shortcodes/details.html | 20 + .../_shortcodes/filetree/container.html | 13 + .../layouts/_shortcodes/filetree/file.html | 16 + .../layouts/_shortcodes/filetree/folder.html | 26 + .../_shortcodes/hextra/feature-card.html | 51 + .../_shortcodes/hextra/feature-grid.html | 21 + .../_shortcodes/hextra/hero-badge.html | 24 + .../_shortcodes/hextra/hero-button.html | 25 + .../_shortcodes/hextra/hero-container.html | 56 + .../_shortcodes/hextra/hero-headline.html | 16 + .../_shortcodes/hextra/hero-section.html | 20 + .../_shortcodes/hextra/hero-subtitle.html | 16 + .../{shortcodes => _shortcodes}/icon.html | 16 +- .../{shortcodes => _shortcodes}/include.html | 2 +- .../hextra/layouts/_shortcodes/jupyter.html | 88 + themes/hextra/layouts/_shortcodes/pdf.html | 15 + themes/hextra/layouts/_shortcodes/steps.html | 9 + themes/hextra/layouts/_shortcodes/tab.html | 28 + themes/hextra/layouts/_shortcodes/tabs.html | 39 + themes/hextra/layouts/_shortcodes/term.html | 32 + themes/hextra/layouts/archives.html | 38 + themes/hextra/layouts/baseof.html | 16 + themes/hextra/layouts/blog/list.html | 50 +- themes/hextra/layouts/blog/single.html | 41 +- themes/hextra/layouts/docs/list.html | 19 +- themes/hextra/layouts/docs/single.html | 21 +- themes/hextra/layouts/glossary.html | 25 + themes/hextra/layouts/glossary.markdown.md | 3 + themes/hextra/layouts/hextra-home.html | 8 +- themes/hextra/layouts/home.html | 14 + themes/hextra/layouts/index.html | 14 - themes/hextra/layouts/list.html | 18 + .../layouts/{_default => }/list.rss.xml | 16 +- themes/hextra/layouts/llms.txt | 35 + themes/hextra/layouts/page.markdown.md | 2 + .../hextra/layouts/partials/breadcrumb.html | 13 - .../layouts/partials/components/giscus.html | 62 - .../partials/components/last-updated.html | 12 - .../layouts/partials/components/pager.html | 51 - themes/hextra/layouts/partials/footer.html | 46 - .../layouts/partials/google-analytics.html | 19 - themes/hextra/layouts/partials/head-css.html | 25 - themes/hextra/layouts/partials/head.html | 64 - .../layouts/partials/language-switch.html | 44 - themes/hextra/layouts/partials/navbar.html | 70 - themes/hextra/layouts/partials/opengraph.html | 31 - themes/hextra/layouts/partials/scripts.html | 75 - themes/hextra/layouts/partials/search.html | 26 - themes/hextra/layouts/partials/sidebar.html | 177 - .../hextra/layouts/partials/theme-toggle.html | 21 - themes/hextra/layouts/partials/toc.html | 81 - .../layouts/partials/utils/fragments.html | 62 - .../layouts/partials/utils/page-width.html | 27 - themes/hextra/layouts/section.markdown.md | 2 + themes/hextra/layouts/shortcodes/callout.html | 37 - themes/hextra/layouts/shortcodes/card.html | 82 - themes/hextra/layouts/shortcodes/cards.html | 5 - themes/hextra/layouts/shortcodes/details.html | 11 - .../shortcodes/filetree/container.html | 5 - .../layouts/shortcodes/filetree/file.html | 9 - .../layouts/shortcodes/filetree/folder.html | 17 - .../shortcodes/hextra/feature-card.html | 36 - .../shortcodes/hextra/feature-grid.html | 9 - .../layouts/shortcodes/hextra/hero-badge.html | 15 - .../shortcodes/hextra/hero-button.html | 15 - .../shortcodes/hextra/hero-headline.html | 9 - .../shortcodes/hextra/hero-subtitle.html | 9 - themes/hextra/layouts/shortcodes/steps.html | 3 - themes/hextra/layouts/shortcodes/tab.html | 11 - themes/hextra/layouts/shortcodes/tabs.html | 26 - themes/hextra/layouts/single.html | 19 + themes/hextra/layouts/taxonomy.html | 30 + themes/hextra/layouts/term.html | 33 + themes/hextra/layouts/wide.html | 12 + themes/hextra/layouts/wide.markdown.md | 3 + themes/hextra/netlify.toml | 8 +- themes/hextra/package-lock.json | 1766 ++++----- themes/hextra/package.json | 26 +- themes/hextra/playwright.config.ts | 21 + themes/hextra/postcss.config.js | 12 - themes/hextra/postcss.config.mjs | 5 + themes/hextra/static/casts/demo.cast | 19 + themes/hextra/tailwind.config.js | 78 - themes/hextra/tests/accessibility.spec.ts | 92 + themes/hextra/tests/mobile-menu.spec.ts | 33 + themes/hextra/theme.toml | 2 +- 521 files changed, 25061 insertions(+), 10283 deletions(-) create mode 100644 themes/hextra/.gitattributes create mode 100644 themes/hextra/.github/FUNDING.yml create mode 100644 themes/hextra/.github/workflows/test-accessibility.yml create mode 100644 themes/hextra/.github/workflows/test-mobile-menu.yml create mode 100644 themes/hextra/AGENTS.md create mode 120000 themes/hextra/CLAUDE.md create mode 100644 themes/hextra/README.fa.md create mode 100644 themes/hextra/assets/css/components/archives.css create mode 100644 themes/hextra/assets/css/components/badge.css create mode 100644 themes/hextra/assets/css/components/banner.css create mode 100644 themes/hextra/assets/css/components/hextra/feature-grid.css create mode 100644 themes/hextra/assets/css/components/jupyter.css create mode 100644 themes/hextra/assets/css/components/toc.css create mode 100644 themes/hextra/assets/css/safelist.txt delete mode 100644 themes/hextra/assets/css/tailwind.css create mode 100644 themes/hextra/assets/css/variables.css rename themes/hextra/assets/js/{ => core}/back-to-top.js (50%) create mode 100644 themes/hextra/assets/js/core/banner.js rename themes/hextra/assets/js/{ => core}/code-copy.js (67%) create mode 100644 themes/hextra/assets/js/core/favicon.js rename themes/hextra/assets/js/{ => core}/filetree.js (69%) create mode 100644 themes/hextra/assets/js/core/lang.js create mode 100644 themes/hextra/assets/js/core/menu.js create mode 100644 themes/hextra/assets/js/core/nav-menu.js create mode 100644 themes/hextra/assets/js/core/page-context-menu.js create mode 100644 themes/hextra/assets/js/core/sidebar.js create mode 100644 themes/hextra/assets/js/core/switcher-menu.js create mode 100644 themes/hextra/assets/js/core/tabs.js create mode 100644 themes/hextra/assets/js/core/task-list.js create mode 100644 themes/hextra/assets/js/core/theme.js create mode 100644 themes/hextra/assets/js/core/toc-scroll.js create mode 100644 themes/hextra/assets/js/head/banner.js create mode 100644 themes/hextra/assets/js/head/theme.js delete mode 100644 themes/hextra/assets/js/lang.js delete mode 100644 themes/hextra/assets/js/menu.js delete mode 100644 themes/hextra/assets/js/sidebar.js delete mode 100644 themes/hextra/assets/js/tabs.js delete mode 100644 themes/hextra/assets/js/theme.js delete mode 100644 themes/hextra/assets/lib/flexsearch/flexsearch.bundle.min.js delete mode 100644 themes/hextra/assets/lib/katex/auto-render.min.js delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_AMS-Regular.ttf delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_AMS-Regular.woff delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_AMS-Regular.woff2 delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Caligraphic-Bold.ttf delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Caligraphic-Bold.woff delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Caligraphic-Bold.woff2 delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Caligraphic-Regular.ttf delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Caligraphic-Regular.woff delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Caligraphic-Regular.woff2 delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Fraktur-Bold.ttf delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Fraktur-Bold.woff delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Fraktur-Bold.woff2 delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Fraktur-Regular.ttf delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Fraktur-Regular.woff delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Fraktur-Regular.woff2 delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Main-Bold.ttf delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Main-Bold.woff delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Main-Bold.woff2 delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Main-BoldItalic.ttf delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Main-BoldItalic.woff delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Main-BoldItalic.woff2 delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Main-Italic.ttf delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Main-Italic.woff delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Main-Italic.woff2 delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Main-Regular.ttf delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Main-Regular.woff delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Main-Regular.woff2 delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Math-BoldItalic.ttf delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Math-BoldItalic.woff delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Math-BoldItalic.woff2 delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Math-Italic.ttf delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Math-Italic.woff delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Math-Italic.woff2 delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_SansSerif-Bold.ttf delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_SansSerif-Bold.woff delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_SansSerif-Bold.woff2 delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_SansSerif-Italic.ttf delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_SansSerif-Italic.woff delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_SansSerif-Italic.woff2 delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_SansSerif-Regular.ttf delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_SansSerif-Regular.woff delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_SansSerif-Regular.woff2 delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Script-Regular.ttf delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Script-Regular.woff delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Script-Regular.woff2 delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Size1-Regular.ttf delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Size1-Regular.woff delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Size1-Regular.woff2 delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Size2-Regular.ttf delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Size2-Regular.woff delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Size2-Regular.woff2 delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Size3-Regular.ttf delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Size3-Regular.woff delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Size3-Regular.woff2 delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Size4-Regular.ttf delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Size4-Regular.woff delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Size4-Regular.woff2 delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Typewriter-Regular.ttf delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Typewriter-Regular.woff delete mode 100644 themes/hextra/assets/lib/katex/fonts/KaTeX_Typewriter-Regular.woff2 delete mode 100644 themes/hextra/assets/lib/katex/katex.min.css delete mode 100644 themes/hextra/assets/lib/katex/katex.min.js delete mode 100644 themes/hextra/assets/lib/katex/mhchem.min.js delete mode 100644 themes/hextra/assets/lib/mermaid/mermaid.min.js create mode 100755 themes/hextra/build.sh create mode 100644 themes/hextra/docs/assets/example.ipynb rename themes/hextra/{exampleSite => docs}/assets/images/space.jpg (100%) create mode 100644 themes/hextra/docs/content/_index.fa.md create mode 100644 themes/hextra/docs/content/_index.ja.md rename themes/hextra/{exampleSite => docs}/content/_index.md (73%) rename themes/hextra/{exampleSite => docs}/content/_index.zh-cn.md (72%) create mode 100644 themes/hextra/docs/content/about/index.fa.md create mode 100644 themes/hextra/docs/content/about/index.ja.md rename themes/hextra/{exampleSite => docs}/content/about/index.md (100%) create mode 100644 themes/hextra/docs/content/about/index.zh-cn.md create mode 100644 themes/hextra/docs/content/archives/_index.fa.md create mode 100644 themes/hextra/docs/content/archives/_index.ja.md create mode 100644 themes/hextra/docs/content/archives/_index.md create mode 100644 themes/hextra/docs/content/archives/_index.zh-cn.md create mode 100644 themes/hextra/docs/content/blog/_index.fa.md create mode 100644 themes/hextra/docs/content/blog/_index.ja.md rename themes/hextra/{exampleSite => docs}/content/blog/_index.md (100%) create mode 100644 themes/hextra/docs/content/blog/_index.zh-cn.md create mode 100644 themes/hextra/docs/content/blog/markdown.fa.md create mode 100644 themes/hextra/docs/content/blog/markdown.ja.md rename themes/hextra/{exampleSite => docs}/content/blog/markdown.md (100%) create mode 100644 themes/hextra/docs/content/blog/markdown.zh-cn.md create mode 100644 themes/hextra/docs/content/blog/v0.10.fa.md create mode 100644 themes/hextra/docs/content/blog/v0.10.ja.md create mode 100644 themes/hextra/docs/content/blog/v0.10.md create mode 100644 themes/hextra/docs/content/blog/v0.10.zh-cn.md create mode 100644 themes/hextra/docs/content/blog/v0.11.fa.md create mode 100644 themes/hextra/docs/content/blog/v0.11.ja.md create mode 100644 themes/hextra/docs/content/blog/v0.11.md create mode 100644 themes/hextra/docs/content/blog/v0.11.zh-cn.md create mode 100644 themes/hextra/docs/content/blog/v0.12.fa.md create mode 100644 themes/hextra/docs/content/blog/v0.12.ja.md create mode 100644 themes/hextra/docs/content/blog/v0.12.md create mode 100644 themes/hextra/docs/content/blog/v0.12.zh-cn.md create mode 100644 themes/hextra/docs/content/docs/_index.fa.md create mode 100644 themes/hextra/docs/content/docs/_index.ja.md rename themes/hextra/{exampleSite => docs}/content/docs/_index.md (91%) create mode 100644 themes/hextra/docs/content/docs/_index.zh-cn.md create mode 100644 themes/hextra/docs/content/docs/advanced/_index.fa.md create mode 100644 themes/hextra/docs/content/docs/advanced/_index.ja.md rename themes/hextra/{exampleSite => docs}/content/docs/advanced/_index.md (84%) create mode 100644 themes/hextra/docs/content/docs/advanced/_index.zh-cn.md create mode 100644 themes/hextra/docs/content/docs/advanced/additional-pages.fa.md create mode 100644 themes/hextra/docs/content/docs/advanced/additional-pages.ja.md create mode 100644 themes/hextra/docs/content/docs/advanced/additional-pages.md create mode 100644 themes/hextra/docs/content/docs/advanced/additional-pages.zh-cn.md create mode 100644 themes/hextra/docs/content/docs/advanced/comments.fa.md create mode 100644 themes/hextra/docs/content/docs/advanced/comments.ja.md rename themes/hextra/{exampleSite => docs}/content/docs/advanced/comments.md (100%) create mode 100644 themes/hextra/docs/content/docs/advanced/comments.zh-cn.md create mode 100644 themes/hextra/docs/content/docs/advanced/customization.fa.md create mode 100644 themes/hextra/docs/content/docs/advanced/customization.ja.md create mode 100644 themes/hextra/docs/content/docs/advanced/customization.md create mode 100644 themes/hextra/docs/content/docs/advanced/customization.zh-cn.md create mode 100644 themes/hextra/docs/content/docs/advanced/multi-language.fa.md create mode 100644 themes/hextra/docs/content/docs/advanced/multi-language.ja.md rename themes/hextra/{exampleSite => docs}/content/docs/advanced/multi-language.md (98%) create mode 100644 themes/hextra/docs/content/docs/advanced/multi-language.zh-cn.md create mode 100644 themes/hextra/docs/content/docs/getting-started.fa.md create mode 100644 themes/hextra/docs/content/docs/getting-started.ja.md rename themes/hextra/{exampleSite => docs}/content/docs/getting-started.md (90%) create mode 100644 themes/hextra/docs/content/docs/getting-started.zh-cn.md create mode 100644 themes/hextra/docs/content/docs/guide/_index.fa.md create mode 100644 themes/hextra/docs/content/docs/guide/_index.ja.md rename themes/hextra/{exampleSite => docs}/content/docs/guide/_index.md (100%) rename themes/hextra/{exampleSite => docs}/content/docs/guide/_index.zh-cn.md (58%) create mode 100644 themes/hextra/docs/content/docs/guide/configuration.fa.md create mode 100644 themes/hextra/docs/content/docs/guide/configuration.ja.md create mode 100644 themes/hextra/docs/content/docs/guide/configuration.md create mode 100644 themes/hextra/docs/content/docs/guide/configuration.zh-cn.md create mode 100644 themes/hextra/docs/content/docs/guide/deploy-site.fa.md create mode 100644 themes/hextra/docs/content/docs/guide/deploy-site.ja.md rename themes/hextra/{exampleSite => docs}/content/docs/guide/deploy-site.md (86%) create mode 100644 themes/hextra/docs/content/docs/guide/deploy-site.zh-cn.md create mode 100644 themes/hextra/docs/content/docs/guide/diagrams.fa.md create mode 100644 themes/hextra/docs/content/docs/guide/diagrams.ja.md rename themes/hextra/{exampleSite => docs}/content/docs/guide/diagrams.md (100%) create mode 100644 themes/hextra/docs/content/docs/guide/diagrams.zh-cn.md create mode 100644 themes/hextra/docs/content/docs/guide/latex.fa.md create mode 100644 themes/hextra/docs/content/docs/guide/latex.ja.md create mode 100644 themes/hextra/docs/content/docs/guide/latex.md create mode 100644 themes/hextra/docs/content/docs/guide/latex.zh-cn.md create mode 100644 themes/hextra/docs/content/docs/guide/markdown.fa.md create mode 100644 themes/hextra/docs/content/docs/guide/markdown.ja.md create mode 100644 themes/hextra/docs/content/docs/guide/markdown.md create mode 100644 themes/hextra/docs/content/docs/guide/markdown.zh-cn.md create mode 100644 themes/hextra/docs/content/docs/guide/organize-files.fa.md create mode 100644 themes/hextra/docs/content/docs/guide/organize-files.ja.md rename themes/hextra/{exampleSite => docs}/content/docs/guide/organize-files.md (53%) create mode 100644 themes/hextra/docs/content/docs/guide/organize-files.zh-cn.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/_index.fa.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/_index.ja.md rename themes/hextra/{exampleSite => docs}/content/docs/guide/shortcodes/_index.md (62%) create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/_index.zh-cn.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/asciinema.fa.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/asciinema.ja.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/asciinema.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/asciinema.zh-cn.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/callout.fa.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/callout.ja.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/callout.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/callout.zh-cn.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/cards.fa.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/cards.ja.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/cards.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/cards.zh-cn.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/details.fa.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/details.ja.md rename themes/hextra/{exampleSite => docs}/content/docs/guide/shortcodes/details.md (57%) create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/details.zh-cn.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/filetree.fa.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/filetree.ja.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/filetree.md rename themes/hextra/{exampleSite/content/docs/guide/shortcodes/filetree.md => docs/content/docs/guide/shortcodes/filetree.zh-cn.md} (68%) create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/hextra.fa.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/hextra.ja.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/hextra.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/hextra.zh-cn.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/icon.fa.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/icon.ja.md rename themes/hextra/{exampleSite => docs}/content/docs/guide/shortcodes/icon.md (80%) create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/icon.zh-cn.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/jupyter.fa.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/jupyter.ja.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/jupyter.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/jupyter.zh-cn.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/others.fa.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/others.ja.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/others.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/others.zh-cn.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/steps.fa.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/steps.ja.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/steps.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/steps.zh-cn.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/tabs.fa.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/tabs.ja.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/tabs.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/tabs.zh-cn.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/term.fa.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/term.ja.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/term.md create mode 100644 themes/hextra/docs/content/docs/guide/shortcodes/term.zh-cn.md create mode 100644 themes/hextra/docs/content/docs/guide/syntax-highlighting.fa.md create mode 100644 themes/hextra/docs/content/docs/guide/syntax-highlighting.ja.md rename themes/hextra/{exampleSite => docs}/content/docs/guide/syntax-highlighting.md (67%) create mode 100644 themes/hextra/docs/content/docs/guide/syntax-highlighting.zh-cn.md create mode 100644 themes/hextra/docs/content/glossary/_index.en.md create mode 100644 themes/hextra/docs/content/glossary/_index.fa.md create mode 100644 themes/hextra/docs/content/glossary/_index.ja.md create mode 100644 themes/hextra/docs/content/glossary/_index.zh-cn.md create mode 100644 themes/hextra/docs/content/showcase/index.fa.md create mode 100644 themes/hextra/docs/content/showcase/index.ja.md create mode 100644 themes/hextra/docs/content/showcase/index.md create mode 100644 themes/hextra/docs/content/showcase/index.zh-cn.md create mode 100644 themes/hextra/docs/data/en/termbase.yaml create mode 100644 themes/hextra/docs/data/fa/termbase.yaml create mode 100644 themes/hextra/docs/data/ja/termbase.yaml create mode 100644 themes/hextra/docs/data/zh-cn/termbase.yaml create mode 100644 themes/hextra/docs/go.mod rename themes/hextra/{exampleSite => docs}/hugo.work (52%) create mode 100644 themes/hextra/docs/hugo.yaml create mode 100644 themes/hextra/docs/i18n/fa.yaml create mode 100644 themes/hextra/docs/i18n/ja.yaml rename themes/hextra/{exampleSite => docs}/i18n/zh-cn.yaml (62%) create mode 100644 themes/hextra/docs/layouts/_partials/custom/head-end.html create mode 100644 themes/hextra/docs/layouts/_shortcodes/new-feature.html rename themes/hextra/{ => docs}/static/favicon-dark.svg (100%) rename themes/hextra/{exampleSite => docs}/static/images/card-image-unprocessed.jpg (100%) rename themes/hextra/{exampleSite => docs}/static/images/hextra-doc.webp (100%) rename themes/hextra/{exampleSite => docs}/static/images/hextra-markdown.webp (100%) rename themes/hextra/{exampleSite => docs}/static/images/hextra-search.webp (100%) delete mode 100644 themes/hextra/exampleSite/content/about/index.zh-cn.md delete mode 100644 themes/hextra/exampleSite/content/blog/_index.zh-cn.md delete mode 100644 themes/hextra/exampleSite/content/blog/markdown.zh-cn.md delete mode 100644 themes/hextra/exampleSite/content/docs/_index.zh-cn.md delete mode 100644 themes/hextra/exampleSite/content/docs/advanced/_index.zh-cn.md delete mode 100644 themes/hextra/exampleSite/content/docs/advanced/comments.zh-cn.md delete mode 100644 themes/hextra/exampleSite/content/docs/advanced/customization.md delete mode 100644 themes/hextra/exampleSite/content/docs/advanced/customization.zh-cn.md delete mode 100644 themes/hextra/exampleSite/content/docs/advanced/multi-language.zh-cn.md delete mode 100644 themes/hextra/exampleSite/content/docs/getting-started.zh-cn.md delete mode 100644 themes/hextra/exampleSite/content/docs/guide/configuration.md delete mode 100644 themes/hextra/exampleSite/content/docs/guide/configuration.zh-cn.md delete mode 100644 themes/hextra/exampleSite/content/docs/guide/diagrams.zh-cn.md delete mode 100644 themes/hextra/exampleSite/content/docs/guide/latex.md delete mode 100644 themes/hextra/exampleSite/content/docs/guide/latex.zh-cn.md delete mode 100644 themes/hextra/exampleSite/content/docs/guide/markdown.md delete mode 100644 themes/hextra/exampleSite/content/docs/guide/markdown.zh-cn.md delete mode 100644 themes/hextra/exampleSite/content/docs/guide/organize-files.zh-cn.md delete mode 100644 themes/hextra/exampleSite/content/docs/guide/shortcodes/_index.zh-cn.md delete mode 100644 themes/hextra/exampleSite/content/docs/guide/shortcodes/callout.md delete mode 100644 themes/hextra/exampleSite/content/docs/guide/shortcodes/cards.md delete mode 100644 themes/hextra/exampleSite/content/docs/guide/shortcodes/steps.md delete mode 100644 themes/hextra/exampleSite/content/docs/guide/shortcodes/tabs.md delete mode 100644 themes/hextra/exampleSite/content/docs/guide/syntax-highlighting.zh-cn.md delete mode 100644 themes/hextra/exampleSite/content/showcase/index.md delete mode 100644 themes/hextra/exampleSite/content/showcase/index.zh-cn.md delete mode 100644 themes/hextra/exampleSite/go.mod delete mode 100644 themes/hextra/exampleSite/hugo.yaml create mode 100644 themes/hextra/examples/README.md create mode 100644 themes/hextra/hugo.toml create mode 100644 themes/hextra/i18n/he.yaml create mode 100644 themes/hextra/i18n/it.yaml create mode 100644 themes/hextra/i18n/nl.yaml create mode 100644 themes/hextra/i18n/ro.yaml create mode 100644 themes/hextra/i18n/ru.yaml create mode 100644 themes/hextra/i18n/uk.yaml delete mode 100644 themes/hextra/layouts/_default/_markup/render-codeblock-mermaid.html delete mode 100644 themes/hextra/layouts/_default/_markup/render-codeblock.html delete mode 100644 themes/hextra/layouts/_default/_markup/render-heading.html delete mode 100644 themes/hextra/layouts/_default/_markup/render-image.html delete mode 100644 themes/hextra/layouts/_default/_markup/render-link.html delete mode 100644 themes/hextra/layouts/_default/baseof.html delete mode 100644 themes/hextra/layouts/_default/list.html delete mode 100644 themes/hextra/layouts/_default/single.html delete mode 100644 themes/hextra/layouts/_default/wide.html create mode 100644 themes/hextra/layouts/_markup/render-blockquote-alert.html create mode 100644 themes/hextra/layouts/_markup/render-blockquote-regular.html create mode 100644 themes/hextra/layouts/_markup/render-codeblock-mermaid.html create mode 100644 themes/hextra/layouts/_markup/render-codeblock.html create mode 100644 themes/hextra/layouts/_markup/render-heading.html create mode 100644 themes/hextra/layouts/_markup/render-image.html create mode 100644 themes/hextra/layouts/_markup/render-link.html create mode 100644 themes/hextra/layouts/_markup/render-passthrough.html create mode 100644 themes/hextra/layouts/_partials/banner.html create mode 100644 themes/hextra/layouts/_partials/breadcrumb.html create mode 100644 themes/hextra/layouts/_partials/components/analytics/analytics.html create mode 100644 themes/hextra/layouts/_partials/components/analytics/goat-counter.html create mode 100644 themes/hextra/layouts/_partials/components/analytics/google-analytics.html create mode 100644 themes/hextra/layouts/_partials/components/analytics/matomo.html create mode 100644 themes/hextra/layouts/_partials/components/analytics/umami.html create mode 100644 themes/hextra/layouts/_partials/components/blog-pager.html create mode 100644 themes/hextra/layouts/_partials/components/codeblock-copy-button.html create mode 100644 themes/hextra/layouts/_partials/components/codeblock.html rename themes/hextra/layouts/{partials => _partials}/components/comments.html (100%) create mode 100644 themes/hextra/layouts/_partials/components/giscus.html create mode 100644 themes/hextra/layouts/_partials/components/github-style-alert.html create mode 100644 themes/hextra/layouts/_partials/components/last-updated.html create mode 100644 themes/hextra/layouts/_partials/components/page-context-menu.html create mode 100644 themes/hextra/layouts/_partials/components/pager.html rename themes/hextra/layouts/{partials/custom/head-end.html => _partials/custom/banner.html} (100%) create mode 100644 themes/hextra/layouts/_partials/custom/footer.html create mode 100644 themes/hextra/layouts/_partials/custom/head-end.html create mode 100644 themes/hextra/layouts/_partials/custom/navbar-title.html rename themes/hextra/layouts/{partials => _partials}/favicons.html (79%) create mode 100644 themes/hextra/layouts/_partials/footer.html create mode 100644 themes/hextra/layouts/_partials/google-analytics.html create mode 100644 themes/hextra/layouts/_partials/head.html create mode 100644 themes/hextra/layouts/_partials/language-switch.html create mode 100644 themes/hextra/layouts/_partials/navbar-link.html create mode 100644 themes/hextra/layouts/_partials/navbar-title.html create mode 100644 themes/hextra/layouts/_partials/navbar.html create mode 100644 themes/hextra/layouts/_partials/opengraph.html create mode 100644 themes/hextra/layouts/_partials/scripts.html create mode 100644 themes/hextra/layouts/_partials/scripts/asciinema.html create mode 100644 themes/hextra/layouts/_partials/scripts/core.html create mode 100644 themes/hextra/layouts/_partials/scripts/katex.html create mode 100644 themes/hextra/layouts/_partials/scripts/mathjax.html create mode 100644 themes/hextra/layouts/_partials/scripts/medium-zoom.html create mode 100644 themes/hextra/layouts/_partials/scripts/mermaid.html create mode 100644 themes/hextra/layouts/_partials/scripts/search.html create mode 100644 themes/hextra/layouts/_partials/search.html create mode 100644 themes/hextra/layouts/_partials/shortcodes/badge.html create mode 100644 themes/hextra/layouts/_partials/shortcodes/callout.html create mode 100644 themes/hextra/layouts/_partials/shortcodes/card.html create mode 100644 themes/hextra/layouts/_partials/shortcodes/cards.html create mode 100644 themes/hextra/layouts/_partials/shortcodes/tabs.html create mode 100644 themes/hextra/layouts/_partials/sidebar.html create mode 100644 themes/hextra/layouts/_partials/tags.html create mode 100644 themes/hextra/layouts/_partials/theme-toggle.html create mode 100644 themes/hextra/layouts/_partials/toc.html create mode 100644 themes/hextra/layouts/_partials/utils/extract-headings.html create mode 100644 themes/hextra/layouts/_partials/utils/file-path.html rename themes/hextra/layouts/{partials => _partials}/utils/format-date.html (100%) create mode 100644 themes/hextra/layouts/_partials/utils/fragments.html rename themes/hextra/layouts/{partials => _partials}/utils/icon.html (100%) rename themes/hextra/layouts/{partials => _partials}/utils/lang-link.html (100%) rename themes/hextra/layouts/{partials => _partials}/utils/page-description.html (100%) create mode 100644 themes/hextra/layouts/_partials/utils/page-width-override.html create mode 100644 themes/hextra/layouts/_partials/utils/sort-pages.html create mode 100644 themes/hextra/layouts/_partials/utils/template-url.html create mode 100644 themes/hextra/layouts/_partials/utils/title.html create mode 100644 themes/hextra/layouts/_shortcodes/asciinema.html create mode 100644 themes/hextra/layouts/_shortcodes/badge.html create mode 100644 themes/hextra/layouts/_shortcodes/callout.html create mode 100644 themes/hextra/layouts/_shortcodes/card.html create mode 100644 themes/hextra/layouts/_shortcodes/cards.html create mode 100644 themes/hextra/layouts/_shortcodes/details.html create mode 100644 themes/hextra/layouts/_shortcodes/filetree/container.html create mode 100644 themes/hextra/layouts/_shortcodes/filetree/file.html create mode 100644 themes/hextra/layouts/_shortcodes/filetree/folder.html create mode 100644 themes/hextra/layouts/_shortcodes/hextra/feature-card.html create mode 100644 themes/hextra/layouts/_shortcodes/hextra/feature-grid.html create mode 100644 themes/hextra/layouts/_shortcodes/hextra/hero-badge.html create mode 100644 themes/hextra/layouts/_shortcodes/hextra/hero-button.html create mode 100644 themes/hextra/layouts/_shortcodes/hextra/hero-container.html create mode 100644 themes/hextra/layouts/_shortcodes/hextra/hero-headline.html create mode 100644 themes/hextra/layouts/_shortcodes/hextra/hero-section.html create mode 100644 themes/hextra/layouts/_shortcodes/hextra/hero-subtitle.html rename themes/hextra/layouts/{shortcodes => _shortcodes}/icon.html (52%) rename themes/hextra/layouts/{shortcodes => _shortcodes}/include.html (87%) create mode 100644 themes/hextra/layouts/_shortcodes/jupyter.html create mode 100644 themes/hextra/layouts/_shortcodes/pdf.html create mode 100644 themes/hextra/layouts/_shortcodes/steps.html create mode 100644 themes/hextra/layouts/_shortcodes/tab.html create mode 100644 themes/hextra/layouts/_shortcodes/tabs.html create mode 100644 themes/hextra/layouts/_shortcodes/term.html create mode 100644 themes/hextra/layouts/archives.html create mode 100644 themes/hextra/layouts/baseof.html create mode 100644 themes/hextra/layouts/glossary.html create mode 100644 themes/hextra/layouts/glossary.markdown.md create mode 100644 themes/hextra/layouts/home.html delete mode 100644 themes/hextra/layouts/index.html create mode 100644 themes/hextra/layouts/list.html rename themes/hextra/layouts/{_default => }/list.rss.xml (67%) create mode 100644 themes/hextra/layouts/llms.txt create mode 100644 themes/hextra/layouts/page.markdown.md delete mode 100644 themes/hextra/layouts/partials/breadcrumb.html delete mode 100644 themes/hextra/layouts/partials/components/giscus.html delete mode 100644 themes/hextra/layouts/partials/components/last-updated.html delete mode 100644 themes/hextra/layouts/partials/components/pager.html delete mode 100644 themes/hextra/layouts/partials/footer.html delete mode 100644 themes/hextra/layouts/partials/google-analytics.html delete mode 100644 themes/hextra/layouts/partials/head-css.html delete mode 100644 themes/hextra/layouts/partials/head.html delete mode 100644 themes/hextra/layouts/partials/language-switch.html delete mode 100644 themes/hextra/layouts/partials/navbar.html delete mode 100644 themes/hextra/layouts/partials/opengraph.html delete mode 100644 themes/hextra/layouts/partials/scripts.html delete mode 100644 themes/hextra/layouts/partials/search.html delete mode 100644 themes/hextra/layouts/partials/sidebar.html delete mode 100644 themes/hextra/layouts/partials/theme-toggle.html delete mode 100644 themes/hextra/layouts/partials/toc.html delete mode 100644 themes/hextra/layouts/partials/utils/fragments.html delete mode 100644 themes/hextra/layouts/partials/utils/page-width.html create mode 100644 themes/hextra/layouts/section.markdown.md delete mode 100644 themes/hextra/layouts/shortcodes/callout.html delete mode 100644 themes/hextra/layouts/shortcodes/card.html delete mode 100644 themes/hextra/layouts/shortcodes/cards.html delete mode 100644 themes/hextra/layouts/shortcodes/details.html delete mode 100644 themes/hextra/layouts/shortcodes/filetree/container.html delete mode 100644 themes/hextra/layouts/shortcodes/filetree/file.html delete mode 100644 themes/hextra/layouts/shortcodes/filetree/folder.html delete mode 100644 themes/hextra/layouts/shortcodes/hextra/feature-card.html delete mode 100644 themes/hextra/layouts/shortcodes/hextra/feature-grid.html delete mode 100644 themes/hextra/layouts/shortcodes/hextra/hero-badge.html delete mode 100644 themes/hextra/layouts/shortcodes/hextra/hero-button.html delete mode 100644 themes/hextra/layouts/shortcodes/hextra/hero-headline.html delete mode 100644 themes/hextra/layouts/shortcodes/hextra/hero-subtitle.html delete mode 100644 themes/hextra/layouts/shortcodes/steps.html delete mode 100644 themes/hextra/layouts/shortcodes/tab.html delete mode 100644 themes/hextra/layouts/shortcodes/tabs.html create mode 100644 themes/hextra/layouts/single.html create mode 100644 themes/hextra/layouts/taxonomy.html create mode 100644 themes/hextra/layouts/term.html create mode 100644 themes/hextra/layouts/wide.html create mode 100644 themes/hextra/layouts/wide.markdown.md create mode 100644 themes/hextra/playwright.config.ts delete mode 100644 themes/hextra/postcss.config.js create mode 100644 themes/hextra/postcss.config.mjs create mode 100644 themes/hextra/static/casts/demo.cast delete mode 100644 themes/hextra/tailwind.config.js create mode 100644 themes/hextra/tests/accessibility.spec.ts create mode 100644 themes/hextra/tests/mobile-menu.spec.ts diff --git a/content/clients/psql.md b/content/clients/psql.md index c674feb..d1a8381 100644 --- a/content/clients/psql.md +++ b/content/clients/psql.md @@ -93,7 +93,7 @@ You can also show a list of all tables in the current database: Most commands also have a more verbose variant with a `+` (e.g., `\d+`), which will show more details like the table size in bytes. For a full list of psql backslash commands, see the -[psql docs]((https://www.postgresql.org/docs/current/app-psql.html)). +[psql docs](https://www.postgresql.org/docs/current/app-psql.html). ## Using psql interactively diff --git a/themes/hextra/.devcontainer/devcontainer.json b/themes/hextra/.devcontainer/devcontainer.json index 689ff99..2ae8774 100644 --- a/themes/hextra/.devcontainer/devcontainer.json +++ b/themes/hextra/.devcontainer/devcontainer.json @@ -3,7 +3,7 @@ "features": { "ghcr.io/devcontainers/features/hugo:1": { "extended": true, - "version": "0.119.0" + "version": "0.147.7" }, "ghcr.io/devcontainers/features/node:1": {} }, @@ -18,5 +18,7 @@ } }, "postCreateCommand": "npm install", - "forwardPorts": [1313] -} + "forwardPorts": [ + 1313 + ] +} \ No newline at end of file diff --git a/themes/hextra/.gitattributes b/themes/hextra/.gitattributes new file mode 100644 index 0000000..0820376 --- /dev/null +++ b/themes/hextra/.gitattributes @@ -0,0 +1,3 @@ +# Mark generated files so they are collapsed by default in GitHub diffs +assets/css/compiled/main.css linguist-generated=true +docs/hugo_stats.json linguist-generated=true diff --git a/themes/hextra/.github/CONTRIBUTING.md b/themes/hextra/.github/CONTRIBUTING.md index 3dcf70b..825bb06 100644 --- a/themes/hextra/.github/CONTRIBUTING.md +++ b/themes/hextra/.github/CONTRIBUTING.md @@ -31,7 +31,7 @@ Use [Conventional Commits][conventional commits] message to make it easier to un Similar to contributing code, you can also contribute to the documentation by submitting a pull request. -The documentation site is located in the [`exampleSite`](../exampleSite/) folder. +The documentation site is located in the [`docs`](../docs/) folder. You can make changes to the documentation and create a pull request. A preview of the new documentation will be automatically generated and displayed in the pull request comment via [Netlify][netlify deploy preview]. ### 💬 GitHub Discussions @@ -57,7 +57,7 @@ We recommend that you search existing [issues][issues] or discussions before ope ### Local development setup -- [Hugo][hugo] >= v0.115.0 (extended version) +- [Hugo][hugo] >= v0.124.0 (extended version) - [Node.js][nodejs] - [Go][go] @@ -71,7 +71,7 @@ npm i - [`assets`](../assets/): CSS styles and JavaScript files. - [`data`](../data/): The theme data files. Now only contains the `icons.yaml` file. -- [`exampleSite`](../exampleSite/): The documentation site for the theme. +- [`docs`](../docs/): The documentation site for the theme. - [`i18n`](../i18n/): The theme translation files. - [`layouts`](../layouts/): The theme layouts. - [`static`](../static/): The static files for the theme. For example, the favicon and the site logo. @@ -84,7 +84,7 @@ Please refer to the [Hugo documentation][hugo] for more information. npm run dev:theme ``` -It will start the Hugo server on `http://localhost:1313/` for the `exampleSite` content. +It starts the Hugo server on `http://localhost:1313/` for the `docs` content. ### Compile the styles diff --git a/themes/hextra/.github/FUNDING.yml b/themes/hextra/.github/FUNDING.yml new file mode 100644 index 0000000..b1d6700 --- /dev/null +++ b/themes/hextra/.github/FUNDING.yml @@ -0,0 +1,15 @@ +# These are supported funding model platforms + +github: imfing +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry +polar: # Replace with a single Polar username +buy_me_a_coffee: # Replace with a single Buy Me a Coffee username +thanks_dev: # Replace with a single thanks.dev username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/themes/hextra/.github/ISSUE_TEMPLATE/bug_report.md b/themes/hextra/.github/ISSUE_TEMPLATE/bug_report.md index 48cf2aa..41be0cf 100644 --- a/themes/hextra/.github/ISSUE_TEMPLATE/bug_report.md +++ b/themes/hextra/.github/ISSUE_TEMPLATE/bug_report.md @@ -17,6 +17,8 @@ assignees: '' 2. 3. + + **Expected Behavior** diff --git a/themes/hextra/.github/workflows/pages.yml b/themes/hextra/.github/workflows/pages.yml index df9d55a..c5e98d9 100644 --- a/themes/hextra/.github/workflows/pages.yml +++ b/themes/hextra/.github/workflows/pages.yml @@ -1,5 +1,5 @@ -# Sample workflow for building and deploying a Hugo site to GitHub Pages -name: Deploy Hugo site to Pages +# Build and deploy Hextra docs site to GitHub Pages +name: Deploy Hextra docs site to Pages on: # Runs on pushes targeting the default branch @@ -31,35 +31,43 @@ jobs: build: runs-on: ubuntu-latest env: - HUGO_VERSION: 0.117.0 + HUGO_VERSION: 0.156.0 steps: - name: Checkout uses: actions/checkout@v4 with: - fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod + fetch-depth: 0 # fetch all history for .GitInfo and .Lastmod + fetch-tags: true + submodules: recursive + - name: Setup Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: - go-version: '1.20' + go-version: "1.26" + + - name: Setup Pages + id: pages + uses: actions/configure-pages@v5 + - name: Setup Hugo - uses: peaceiris/actions-hugo@v2 - with: - hugo-version: ${{ env.HUGO_VERSION }} - extended: true - - name: Build with Hugo + run: | + wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \ + && sudo dpkg -i ${{ runner.temp }}/hugo.deb + + - name: Make build script executable + run: chmod +x ./build.sh + + - name: Build all site versions env: - # For maximum backward compatibility with Hugo modules HUGO_ENVIRONMENT: production HUGO_ENV: production run: | - hugo \ - --minify \ - --themesDir=../.. --source=exampleSite \ - --baseURL "https://${{ github.repository_owner }}.github.io/${{ github.event.repository.name }}/" + ./build.sh "${{ steps.pages.outputs.base_url }}" + - name: Upload artifact - uses: actions/upload-pages-artifact@v2 + uses: actions/upload-pages-artifact@v3 with: - path: ./exampleSite/public + path: ./public # Deployment job deploy: @@ -71,4 +79,4 @@ jobs: steps: - name: Deploy to GitHub Pages id: deployment - uses: actions/deploy-pages@v2 + uses: actions/deploy-pages@v4 diff --git a/themes/hextra/.github/workflows/test-accessibility.yml b/themes/hextra/.github/workflows/test-accessibility.yml new file mode 100644 index 0000000..1bd09ef --- /dev/null +++ b/themes/hextra/.github/workflows/test-accessibility.yml @@ -0,0 +1,62 @@ +name: Accessibility Tests + +on: + pull_request: + branches: [main] + +concurrency: + group: accessibility-${{ github.head_ref || github.ref_name }} + cancel-in-progress: true + +defaults: + run: + shell: bash + +jobs: + a11y: + runs-on: ubuntu-latest + environment: accessibility + env: + HUGO_VERSION: 0.156.0 + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + submodules: recursive + + - name: Setup Go + uses: actions/setup-go@v5 + with: + go-version: "1.26" + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: "24" + cache: npm + + - name: Setup Hugo + run: | + wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \ + && sudo dpkg -i ${{ runner.temp }}/hugo.deb + + - name: Install dependencies + run: npm ci + + - name: Install Playwright Chromium + run: npx playwright install chromium + + - name: Build site + run: npm run build + + - name: Run accessibility tests + run: npm run test:a11y + + - name: Upload report + if: always() + uses: actions/upload-artifact@v4 + with: + name: accessibility-report + path: playwright-report/ + retention-days: 14 diff --git a/themes/hextra/.github/workflows/test-mobile-menu.yml b/themes/hextra/.github/workflows/test-mobile-menu.yml new file mode 100644 index 0000000..286fb2f --- /dev/null +++ b/themes/hextra/.github/workflows/test-mobile-menu.yml @@ -0,0 +1,61 @@ +name: Mobile Menu Tests + +on: + pull_request: + branches: [main] + +concurrency: + group: mobile-menu-${{ github.head_ref || github.ref_name }} + cancel-in-progress: true + +defaults: + run: + shell: bash + +jobs: + mobile-menu: + runs-on: ubuntu-latest + env: + HUGO_VERSION: 0.156.0 + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + submodules: recursive + + - name: Setup Go + uses: actions/setup-go@v5 + with: + go-version: "1.26" + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: "24" + cache: npm + + - name: Setup Hugo + run: | + wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \ + && sudo dpkg -i ${{ runner.temp }}/hugo.deb + + - name: Install dependencies + run: npm ci + + - name: Install Playwright Chromium + run: npx playwright install chromium + + - name: Build site + run: npm run build + + - name: Run mobile menu tests + run: npm run test:mobile-menu + + - name: Upload report + if: always() + uses: actions/upload-artifact@v4 + with: + name: mobile-menu-report + path: playwright-report/ + retention-days: 14 diff --git a/themes/hextra/.gitignore b/themes/hextra/.gitignore index 35c3c4e..7377a08 100644 --- a/themes/hextra/.gitignore +++ b/themes/hextra/.gitignore @@ -3,3 +3,7 @@ public/ resources/ .hugo_build.lock + +# Playwright +playwright-report/ +test-results/ diff --git a/themes/hextra/.prettierrc b/themes/hextra/.prettierrc index e0956e4..28eaa1e 100644 --- a/themes/hextra/.prettierrc +++ b/themes/hextra/.prettierrc @@ -1,4 +1,7 @@ { + "plugins": [ + "prettier-plugin-go-template" + ], "goTemplateBracketSpacing": true, "htmlWhitespaceSensitivity": "css", "printWidth": 200, diff --git a/themes/hextra/AGENTS.md b/themes/hextra/AGENTS.md new file mode 100644 index 0000000..c0bbe14 --- /dev/null +++ b/themes/hextra/AGENTS.md @@ -0,0 +1,193 @@ +# AGENTS.md + +This file provides guidance to AI coding agents when working with code in this repository. + +## Project Overview + +Hextra is a modern, responsive Hugo theme designed for creating documentation websites, technical blogs, and static sites. Built with Tailwind CSS, it offers features like full-text search, dark mode, multi-language support, and extensive customization options. + +## Development Commands + +### Initial Setup + +When working in a new worktree or fresh clone without `node_modules`, run `npm install` first to install dependencies: + +```bash +npm install +``` + +### Development Server + +```bash +# Start development server with theme reloading (recommended for theme development) +npm run dev:theme +``` + +### Building + +```bash +# Build the example site +npm run build + +# Build CSS assets only +npm run build:css +``` + +## Architecture Overview + +### Hugo Theme Structure + +- **Base Layout**: `layouts/baseof.html` wraps all pages +- **Specialized Layouts**: `layouts/docs/`, `layouts/blog/`, `layouts/hextra-home.html` +- **Partials**: Reusable components in `layouts/_partials/` + - Core UI: `navbar.html`, `sidebar.html`, `footer.html`, `breadcrumb.html`, `toc.html` + - Utilities: `layouts/_partials/utils/` for helper functions + - Custom overrides: `layouts/_partials/custom/` for user customizations +- **Shortcodes**: Custom Markdown extensions in `layouts/_shortcodes/` +- **Render Hooks**: Custom Markdown rendering in `layouts/_markup/` for codeblocks, headings, images, and links + +### Asset Organization + +``` +assets/ +├── css/ +│ ├── styles.css # Main stylesheet (Tailwind entry point) +│ ├── compiled/main.css # Built CSS output (generated) +│ ├── components/ # Component-specific styles +│ ├── chroma/ # Syntax highlighting themes +│ └── custom.css # User customization entry point +└── js/ + ├── core/ # Core JS components + └── flexsearch.js # Search functionality +``` + +### Key Components + +- **Search**: FlexSearch-powered full-text search (`assets/js/flexsearch.js`) +- **Navigation**: Responsive navbar and auto-generated sidebar +- **Theme Toggle**: Dark/light mode switching +- **Internationalization**: 20+ language support in `i18n/` + +### Content Features + +- **Shortcodes**: `callout`, `card`, `cards`, `tabs`, `tab`, `details`, `steps`, `filetree`, `jupyter`, `badge`, `icon`, `pdf`, `include`, `asciinema`, `term` +- **Code Features**: Syntax highlighting (Chroma), copy buttons, line numbers via render hooks +- **SEO**: Open Graph, Twitter Cards, structured data +- **Performance**: Minimal JavaScript, optimized CSS with Tailwind + +## Development Workflow + +### Example Site Development + +The `docs/` directory serves as both documentation and testing ground: + +- Test new features here before releasing +- Configuration examples in `docs/hugo.yaml` showing multi-language setup +- Content examples demonstrate all theme capabilities +- Run from docs with: `hugo server --themesDir=../..` + +### CSS Development Workflow + +- Source: `assets/css/styles.css` (main stylesheet) +- Build process: Tailwind CSS → PostCSS → `assets/css/compiled/main.css` +- Component styles organized in `assets/css/components/` +- Chroma syntax highlighting themes in `assets/css/chroma/` +- CSS compilation requires Node.js dependencies (PostCSS, Tailwind CSS v4+) + +#### Rebuilding CSS after template changes + +Tailwind CSS relies on `docs/hugo_stats.json` to know which HTML tags, classes, and IDs are actually used in the built site, so it can tree-shake unused styles. When you modify layouts, partials, or shortcodes you must **regenerate `hugo_stats.json` first**, then rebuild the CSS: + +1. **Generate `docs/hugo_stats.json`** — Run Hugo with the `dev.toml` config (which sets `build.buildStats.enable = true`): + + ```bash + # Using npm (starts a dev server that writes hugo_stats.json on every rebuild): + npm run dev:theme + + # Or a one-shot build using the raw Hugo command: + hugo --config=hugo.yaml,../dev.toml --themesDir=../.. --source=docs + ``` + +2. **Build the CSS** — With an up-to-date `hugo_stats.json` in place, compile the stylesheet: + + ```bash + npm run build:css + ``` + +> **Why two steps?** `dev.toml` mounts `docs/hugo_stats.json` into the Hugo asset pipeline (`assets/notwatching/hugo_stats.json`) and configures a cache-buster so that changes to the stats file trigger a CSS recompile during `dev:theme`. When running outside the dev server you need to perform these steps manually in order. + +### Customization Points + +- Custom partials: `layouts/_partials/custom/` +- Custom CSS: `assets/css/custom.css` +- Site-specific overrides: Copy any layout to your site's `layouts/` directory + +## Configuration & Requirements + +### Theme Requirements + +- Hugo minimum version: 0.146.0 (extended version required - see `theme.toml`) +- Go 1.20+ (as specified in `go.mod`) +- Node.js for CSS compilation (PostCSS, Tailwind CSS v4+) + +### Key Configuration Files + +- `docs/hugo.yaml` - Example Hugo configuration with multi-language setup +- `postcss.config.mjs` - PostCSS configuration for CSS processing +- `package.json` - Node.js dependencies and build scripts + +### Development Environment + +- Default Hugo development server: Port 1313 +- Development server runs with `--disableFastRender -D` for better development experience +- Theme development uses `--logLevel=debug` for detailed logging + +### Multi-language Support + +- Configure languages in `hugo.yaml` (supports 20+ languages including RTL) +- Translation files in `i18n/` directory (e.g., `en.yaml`, `fa.yaml`, `ja.yaml`, `zh-cn.yaml`) +- Example supports English, Persian (RTL), Japanese, and Simplified Chinese + +## Theme Development Guidelines + +### Hugo Theme Conventions + +- Theme files in this repository override Hugo defaults +- Follow Hugo's theme development guidelines for compatibility +- Maintain backward compatibility with existing configurations + +### JavaScript & Performance + +- All JavaScript components are designed to have minimal footprint +- Core JS components in `assets/js/core/`: `theme.js`, `nav-menu.js`, `code-copy.js`, `sidebar.js`, `tabs.js`, etc. +- FlexSearch powers offline full-text search (`assets/js/flexsearch.js`) + +### CSS Architecture + +- Uses Tailwind CSS v4+ with PostCSS processing +- Component-based CSS organization in `assets/css/components/` +- Compiled output goes to `assets/css/compiled/main.css` +- Prettier formatting for Go templates and code consistency + +### Accessibility (WCAG Compliance) + +All new features and UI changes must follow the [Web Content Accessibility Guidelines (WCAG) 2.2](https://www.w3.org/TR/WCAG22/) at the **AA** conformance level. Key requirements: + +- **Semantic HTML**: Use appropriate elements (`