Compare commits

...

28 Commits

Author SHA1 Message Date
Wolf Noble e90dffd6b3
Merge 4c600e8065 into 68ce84075e 2023-12-27 17:49:17 +08:00
James Panther 68ce84075e
🎨 Tailwind classes cleanup 2023-12-26 11:56:32 +11:00
James Panther 6415614513
🎨 Code cleanup 2023-12-26 11:22:55 +11:00
James Panther 4c8e536b64
📝 Update changelog 2023-12-24 09:14:19 +11:00
James Panther d25902cd0a
🔀 Merge pull request #759 from jpanther/dependabot/npm_and_yarn/tailwindcss-3.4.0
📌 bump tailwindcss from 3.3.7 to 3.4.0
2023-12-24 09:13:15 +11:00
dependabot[bot] a61991c92c 💄 Rebuild CSS 2023-12-23 22:11:34 +00:00
dependabot[bot] e222cd3d2a
📌 bump tailwindcss from 3.3.7 to 3.4.0
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 3.3.7 to 3.4.0.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v3.3.7...v3.4.0)

---
updated-dependencies:
- dependency-name: tailwindcss
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-23 22:11:13 +00:00
James Panther d7f270ef1a
✏️ Fix typo in changelog 2023-12-24 08:16:16 +11:00
James Panther a8ec541a7e
📝 Update changelog 2023-12-24 08:13:49 +11:00
James Panther 8bde58a79c
✏️ Sort link config params alphabetically 2023-12-24 08:11:40 +11:00
James Panther 38dbb52f6d
🔀 Merge pull request #756 from Jh123x/feat/add-other-share-icons
 more profiles and share links
2023-12-24 08:10:30 +11:00
James Panther 8c4831f23d
✏️ Sort link config params alphabetically 2023-12-24 08:09:13 +11:00
James Panther 9c54b590ec
📝 Update changelog 2023-12-24 07:34:41 +11:00
James Panther 99618781bc
🎨 Reformat CSS 2023-12-24 07:31:23 +11:00
James Panther 928aa0ed51
🔀 Merge pull request #753 from ragibson/fix-wide-elements-breaking-layout
🐛 Add CSS overflow/wrapping on KaTeX, tables, and code sections
2023-12-24 07:28:27 +11:00
James Panther 6cfbf4d946
📝 Update changelog 2023-12-23 14:24:03 +11:00
James Panther 2001d17a55
🔀 Merge pull request #733 from kshpdr/dev
Add scrolling over TOC
2023-12-23 14:16:16 +11:00
Wen Junhua 77a0f60b6f
Merge branch 'dev' into feat/add-other-share-icons 2023-12-23 07:45:29 +09:00
Wen Junhua b2319886c9 fix: revert config to match upstream 2023-12-23 07:44:45 +09:00
Wen Junhua 56616242d3
Merge branch 'dev' into feat/add-other-share-icons 2023-12-23 07:41:12 +09:00
Wen Junhua fa8cc5782a feat: add icon to table for other languages 2023-12-21 13:10:32 +09:00
Wen Junhua 8437ea3eb2 feat: update icons page 2023-12-21 12:55:37 +09:00
Wen Junhua 0f7a3bec71 chore: add i18n for finnish 2023-12-21 12:54:09 +09:00
Wen Junhua a12d3f8e5b chore: add i18n for weibo 2023-12-21 12:52:13 +09:00
Wen Junhua 71cc97b4bb feat: add profile for mendeley 2023-12-21 12:47:05 +09:00
Wen Junhua f2da0e6ae7 feat: add share to weibo 2023-12-21 11:30:20 +09:00
Ryan Gibson 00ac16f3ad
🐛 Add CSS overflow/wrapping on KaTeX, tables, and code sections
This fixes a bug where long post elements could break out of the
width of the overall page and break overall formatting or views,
especially on mobile devices.
2023-12-18 17:15:26 -05:00
Denis Koshelev da0ea762d0 Add scrolling over TOC 2023-12-03 17:28:23 -05:00
90 changed files with 612 additions and 458 deletions

View File

@ -1,7 +1,7 @@
i18n: i18n:
- changed-files: - changed-files:
- any-glob-to-any-file: i18n/* - any-glob-to-any-file: i18n/*
documentation: documentation:
- changed-files: - changed-files:
- any-glob-to-any-file: '**/*.md' - any-glob-to-any-file: "**/*.md"

8
.prettierignore 100644
View File

@ -0,0 +1,8 @@
/assets/css/compiled/
/assets/lib/
/layouts/_default/_markup/*.html
/layouts/shortcodes/figure.html
/layouts/shortcodes/screenshot.html
/exampleSite/content/docs/version-2/lighthouse.html

View File

@ -1,5 +1,5 @@
{ {
"plugins": ["prettier-plugin-go-template"], "plugins": ["prettier-plugin-go-template", "prettier-plugin-tailwindcss"],
"goTemplateBracketSpacing": true, "goTemplateBracketSpacing": true,
"htmlWhitespaceSensitivity": "css", "htmlWhitespaceSensitivity": "css",
"printWidth": 100, "printWidth": 100,
@ -9,7 +9,7 @@
"trailingComma": "es5", "trailingComma": "es5",
"overrides": [ "overrides": [
{ {
"files": ["*.html"], "files": ["*.html", "layouts/_default/*.json"],
"options": { "options": {
"parser": "go-template" "parser": "go-template"
} }

View File

@ -12,7 +12,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
- Automatic support for WebP images ([#693](https://github.com/jpanther/congo/pull/693)) - Automatic support for WebP images ([#693](https://github.com/jpanther/congo/pull/693))
- Warning when building if links to Markdown files cannot be resolved ([#691](https://github.com/jpanther/congo/pull/691)) - Warning when building if links to Markdown files cannot be resolved ([#691](https://github.com/jpanther/congo/pull/691))
- Ability to share articles to Telegram and Line ([#719](https://github.com/jpanther/congo/pull/719)) - Ability to share articles to Telegram and Line ([#719](https://github.com/jpanther/congo/pull/719))
- New icons for `line` and `google-scholar` ([#719](https://github.com/jpanther/congo/pull/719), [#755](https://github.com/jpanther/congo/pull/755)) - New icons for `line`, `google-scholar`, `mendeley` and `weibo` ([#719](https://github.com/jpanther/congo/pull/719), [#755](https://github.com/jpanther/congo/pull/755), [#756](https://github.com/jpanther/congo/pull/756))
- Weibo sharing links ([#756](https://github.com/jpanther/congo/pull/756))
- Table of contents will now scroll if taller than the browser height ([#733](https://github.com/jpanther/congo/pull/733))
- Korean translation ([#731](https://github.com/jpanther/congo/pull/731)) - Korean translation ([#731](https://github.com/jpanther/congo/pull/731))
### Changed ### Changed
@ -21,16 +23,17 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
- ⚠️ Author params block in language configuration has been moved to `params.author` ([#704](https://github.com/jpanther/congo/pull/704)) - ⚠️ Author params block in language configuration has been moved to `params.author` ([#704](https://github.com/jpanther/congo/pull/704))
- Refactored image logic into a new `picture.html` partial ([#693](https://github.com/jpanther/congo/pull/693)) - Refactored image logic into a new `picture.html` partial ([#693](https://github.com/jpanther/congo/pull/693))
- Upgrade to ChartJS v4.4.1 ([#736](https://github.com/jpanther/congo/pull/736)) - Upgrade to ChartJS v4.4.1 ([#736](https://github.com/jpanther/congo/pull/736))
- Upgrade to Tailwind v3.3.7 ([#737](https://github.com/jpanther/congo/pull/737), [#752](https://github.com/jpanther/congo/pull/752)) - Upgrade to Tailwind v3.4.0 ([#737](https://github.com/jpanther/congo/pull/737), [#752](https://github.com/jpanther/congo/pull/752), [#759](https://github.com/jpanther/congo/pull/759))
- Updated Japanese translation ([#750](https://github.com/jpanther/congo/pull/750)) - Updated Japanese translation ([#750](https://github.com/jpanther/congo/pull/750))
### Fixed ### Fixed
- Hamburger menu is not dismissed when links are clicked ([#705](https://github.com/jpanther/congo/pull/705)) - Hamburger menu is not dismissed when links are clicked ([#705](https://github.com/jpanther/congo/pull/705))
- KaTeX, table and code elements wider than the page are not formatted correctly ([#753](https://github.com/jpanther/congo/pull/753))
### Removed ### Removed
- Fathom Analytics custom domain parameter as this is no longer supported by Fathom - Fathom Analytics custom domain parameter, as this is no longer supported by Fathom
## [2.7.6] - 2023-11-26 ## [2.7.6] - 2023-11-26

View File

@ -1,6 +1,6 @@
/*! Congo v2.7.6 | MIT License | https://github.com/jpanther/congo */ /*! Congo v2.7.6 | MIT License | https://github.com/jpanther/congo */
/*! tailwindcss v3.3.7 | MIT License | https://tailwindcss.com */ /*! tailwindcss v3.4.0 | MIT License | https://tailwindcss.com */
/* /*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) 1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
@ -32,9 +32,11 @@
4. Use the user's configured `sans` font-family by default. 4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default. 5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default. 6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/ */
html { html,
:host {
line-height: 1.5; line-height: 1.5;
/* 1 */ /* 1 */
-webkit-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;
@ -44,12 +46,14 @@ html {
-o-tab-size: 4; -o-tab-size: 4;
tab-size: 4; tab-size: 4;
/* 3 */ /* 3 */
font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
/* 4 */ /* 4 */
font-feature-settings: normal; font-feature-settings: normal;
/* 5 */ /* 5 */
font-variation-settings: normal; font-variation-settings: normal;
/* 6 */ /* 6 */
-webkit-tap-highlight-color: transparent;
/* 7 */
} }
/* /*
@ -1100,31 +1104,31 @@ body:has(#menu-controller:checked) {
/* RTL support */ /* RTL support */
:is([dir="rtl"] .prose blockquote) { :is(:where([dir="rtl"]) .prose blockquote) {
border-left-width: 0px; border-left-width: 0px;
border-right-width: 4px; border-right-width: 4px;
padding-right: 1rem; padding-right: 1rem;
} }
:is([dir="rtl"] .prose ul > li),:is([dir="rtl"] :is(:where([dir="rtl"]) .prose ul > li),:is(:where([dir="rtl"])
.prose ol > li) { .prose ol > li) {
margin-right: 1.75rem; margin-right: 1.75rem;
padding-left: 0px; padding-left: 0px;
padding-right: 0.5rem; padding-right: 0.5rem;
} }
:is([dir="rtl"] .prose ol > li):before,:is([dir="rtl"] :is(:where([dir="rtl"]) .prose ol > li):before,:is(:where([dir="rtl"])
.prose ul > li):before { .prose ul > li):before {
left: auto; left: auto;
right: 0.25rem; right: 0.25rem;
} }
:is([dir="rtl"] .prose thead td:first-child),:is([dir="rtl"] :is(:where([dir="rtl"]) .prose thead td:first-child),:is(:where([dir="rtl"])
.prose thead th:first-child) { .prose thead th:first-child) {
padding-right: 0px; padding-right: 0px;
} }
:is([dir="rtl"] .prose thead td:last-child),:is([dir="rtl"] :is(:where([dir="rtl"]) .prose thead td:last-child),:is(:where([dir="rtl"])
.prose thead th:last-child) { .prose thead th:last-child) {
padding-left: 0px; padding-left: 0px;
} }
@ -1137,6 +1141,12 @@ body:has(#menu-controller:checked) {
/* Table of Contents */ /* Table of Contents */
.toc {
max-height: 100vh;
overflow-y: auto;
padding-bottom: 50px;
}
.toc ul, .toc ul,
.toc li { .toc li {
list-style-type: none; list-style-type: none;
@ -1155,12 +1165,12 @@ body:has(#menu-controller:checked) {
color: rgba(var(--color-neutral-700), var(--tw-text-opacity)); color: rgba(var(--color-neutral-700), var(--tw-text-opacity));
} }
:is(.dark .toc a) { :is(:where(.dark) .toc a) {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgba(var(--color-neutral-400), var(--tw-text-opacity)); color: rgba(var(--color-neutral-400), var(--tw-text-opacity));
} }
:is([dir="rtl"] .toc ul > li) { :is(:where([dir="rtl"]) .toc ul > li) {
margin-right: 0px; margin-right: 0px;
} }
@ -1202,7 +1212,7 @@ body:has(#menu-controller:checked) {
opacity: 0.9; opacity: 0.9;
} }
:is(.dark .copy-button) { :is(:where(.dark) .copy-button) {
--tw-bg-opacity: 1; --tw-bg-opacity: 1;
background-color: rgba(var(--color-neutral-600), var(--tw-bg-opacity)); background-color: rgba(var(--color-neutral-600), var(--tw-bg-opacity));
--tw-text-opacity: 1; --tw-text-opacity: 1;
@ -1217,9 +1227,9 @@ body:has(#menu-controller:checked) {
background-color: rgba(var(--color-primary-100), var(--tw-bg-opacity)); background-color: rgba(var(--color-primary-100), var(--tw-bg-opacity));
} }
:is(.dark .copy-button:hover),:is(.dark :is(:where(.dark) .copy-button:hover),:is(:where(.dark)
.copy-button:focus),:is(.dark .copy-button:focus),:is(:where(.dark)
.copy-button:active),:is(.dark .copy-button:active),:is(:where(.dark)
.copy-button:active:hover) { .copy-button:active:hover) {
--tw-bg-opacity: 1; --tw-bg-opacity: 1;
background-color: rgba(var(--color-primary-600), var(--tw-bg-opacity)); background-color: rgba(var(--color-primary-600), var(--tw-bg-opacity));
@ -1231,6 +1241,28 @@ body:has(#menu-controller:checked) {
opacity: 0.05; opacity: 0.05;
} }
/* Fix long KaTeX equations on mobile (see https://katex.org/docs/issues.html#css-customization) */
.katex-display {
overflow: auto hidden;
}
/* Fix long tables breaking out of article on mobile */
table {
display: block;
overflow: auto;
}
/* Fix long inline code sections breaking out of article on mobile */
code {
word-wrap: break-word;
/* All browsers since IE 5.5+ */
overflow-wrap: break-word;
/* Renamed property in CSS3 draft spec */
}
/* -- Chroma Highlight -- */ /* -- Chroma Highlight -- */
/* Background */ /* Background */
@ -1245,7 +1277,7 @@ body:has(#menu-controller:checked) {
color: rgba(var(--color-neutral-700), var(--tw-text-opacity)); color: rgba(var(--color-neutral-700), var(--tw-text-opacity));
} }
:is(.dark .chroma) { :is(:where(.dark) .chroma) {
--tw-bg-opacity: 1; --tw-bg-opacity: 1;
background-color: rgba(var(--color-neutral-700), var(--tw-bg-opacity)); background-color: rgba(var(--color-neutral-700), var(--tw-bg-opacity));
--tw-text-opacity: 1; --tw-text-opacity: 1;
@ -1281,7 +1313,7 @@ body:has(#menu-controller:checked) {
color: rgba(var(--color-neutral-600), var(--tw-text-opacity)); color: rgba(var(--color-neutral-600), var(--tw-text-opacity));
} }
:is(.dark .chroma .lnt),:is(.dark :is(:where(.dark) .chroma .lnt),:is(:where(.dark)
.chroma .ln) { .chroma .ln) {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgba(var(--color-neutral-300), var(--tw-text-opacity)); color: rgba(var(--color-neutral-300), var(--tw-text-opacity));
@ -1305,7 +1337,7 @@ body:has(#menu-controller:checked) {
background-color: rgba(var(--color-primary-100), var(--tw-bg-opacity)); background-color: rgba(var(--color-primary-100), var(--tw-bg-opacity));
} }
:is(.dark .chroma .hl) { :is(:where(.dark) .chroma .hl) {
--tw-bg-opacity: 1; --tw-bg-opacity: 1;
background-color: rgba(var(--color-primary-900), var(--tw-bg-opacity)); background-color: rgba(var(--color-primary-900), var(--tw-bg-opacity));
} }
@ -1344,15 +1376,15 @@ body:has(#menu-controller:checked) {
color: rgba(var(--color-primary-600), var(--tw-text-opacity)); color: rgba(var(--color-primary-600), var(--tw-text-opacity));
} }
:is(.dark .chroma .k),:is(.dark :is(:where(.dark) .chroma .k),:is(:where(.dark)
.chroma .kd),:is(.dark .chroma .kd),:is(:where(.dark)
.chroma .kn),:is(.dark .chroma .kn),:is(:where(.dark)
.chroma .kp),:is(.dark .chroma .kp),:is(:where(.dark)
.chroma .kr),:is(.dark .chroma .kr),:is(:where(.dark)
.chroma .nc),:is(.dark .chroma .nc),:is(:where(.dark)
.chroma .fm),:is(.dark .chroma .fm),:is(:where(.dark)
.chroma .nn),:is(.dark .chroma .nn),:is(:where(.dark)
.chroma .vc),:is(.dark .chroma .vc),:is(:where(.dark)
.chroma .o) { .chroma .o) {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgba(var(--color-primary-300), var(--tw-text-opacity)); color: rgba(var(--color-primary-300), var(--tw-text-opacity));
@ -1366,7 +1398,7 @@ body:has(#menu-controller:checked) {
color: rgba(var(--color-secondary-400), var(--tw-text-opacity)); color: rgba(var(--color-secondary-400), var(--tw-text-opacity));
} }
:is(.dark .chroma .kc) { :is(:where(.dark) .chroma .kc) {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgba(var(--color-secondary-500), var(--tw-text-opacity)); color: rgba(var(--color-secondary-500), var(--tw-text-opacity));
} }
@ -1408,16 +1440,16 @@ body:has(#menu-controller:checked) {
color: rgba(var(--color-secondary-400), var(--tw-text-opacity)); color: rgba(var(--color-secondary-400), var(--tw-text-opacity));
} }
:is(.dark .chroma .kt),:is(.dark :is(:where(.dark) .chroma .kt),:is(:where(.dark)
.chroma .nv),:is(.dark .chroma .nv),:is(:where(.dark)
.chroma .vi),:is(.dark .chroma .vi),:is(:where(.dark)
.chroma .vm),:is(.dark .chroma .vm),:is(:where(.dark)
.chroma .m),:is(.dark .chroma .m),:is(:where(.dark)
.chroma .mb),:is(.dark .chroma .mb),:is(:where(.dark)
.chroma .mf),:is(.dark .chroma .mf),:is(:where(.dark)
.chroma .mh),:is(.dark .chroma .mh),:is(:where(.dark)
.chroma .mi),:is(.dark .chroma .mi),:is(:where(.dark)
.chroma .il),:is(.dark .chroma .il),:is(:where(.dark)
.chroma .mo) { .chroma .mo) {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgba(var(--color-secondary-600), var(--tw-text-opacity)); color: rgba(var(--color-secondary-600), var(--tw-text-opacity));
@ -1439,9 +1471,9 @@ body:has(#menu-controller:checked) {
color: rgba(var(--color-secondary-900), var(--tw-text-opacity)); color: rgba(var(--color-secondary-900), var(--tw-text-opacity));
} }
:is(.dark .chroma .n),:is(.dark :is(:where(.dark) .chroma .n),:is(:where(.dark)
.chroma .nd),:is(.dark .chroma .nd),:is(:where(.dark)
.chroma .ni),:is(.dark .chroma .ni),:is(:where(.dark)
.chroma .nl) { .chroma .nl) {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgba(var(--color-secondary-200), var(--tw-text-opacity)); color: rgba(var(--color-secondary-200), var(--tw-text-opacity));
@ -1469,11 +1501,11 @@ body:has(#menu-controller:checked) {
color: rgba(var(--color-secondary-800), var(--tw-text-opacity)); color: rgba(var(--color-secondary-800), var(--tw-text-opacity));
} }
:is(.dark .chroma .na),:is(.dark :is(:where(.dark) .chroma .na),:is(:where(.dark)
.chroma .nb),:is(.dark .chroma .nb),:is(:where(.dark)
.chroma .bp),:is(.dark .chroma .bp),:is(:where(.dark)
.chroma .nx),:is(.dark .chroma .nx),:is(:where(.dark)
.chroma .py),:is(.dark .chroma .py),:is(:where(.dark)
.chroma .nt) { .chroma .nt) {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgba(var(--color-secondary-300), var(--tw-text-opacity)); color: rgba(var(--color-secondary-300), var(--tw-text-opacity));
@ -1493,8 +1525,8 @@ body:has(#menu-controller:checked) {
color: rgba(var(--color-secondary-400), var(--tw-text-opacity)); color: rgba(var(--color-secondary-400), var(--tw-text-opacity));
} }
:is(.dark .chroma .no),:is(.dark :is(:where(.dark) .chroma .no),:is(:where(.dark)
.chroma .ne),:is(.dark .chroma .ne),:is(:where(.dark)
.chroma .vg) { .chroma .vg) {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgba(var(--color-secondary-500), var(--tw-text-opacity)); color: rgba(var(--color-secondary-500), var(--tw-text-opacity));
@ -1507,7 +1539,7 @@ body:has(#menu-controller:checked) {
color: rgba(var(--color-secondary-600), var(--tw-text-opacity)); color: rgba(var(--color-secondary-600), var(--tw-text-opacity));
} }
:is(.dark .chroma .nf) { :is(:where(.dark) .chroma .nf) {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgba(var(--color-secondary-500), var(--tw-text-opacity)); color: rgba(var(--color-secondary-500), var(--tw-text-opacity));
} }
@ -1564,21 +1596,21 @@ body:has(#menu-controller:checked) {
color: rgba(var(--color-primary-800), var(--tw-text-opacity)); color: rgba(var(--color-primary-800), var(--tw-text-opacity));
} }
:is(.dark .chroma .l),:is(.dark :is(:where(.dark) .chroma .l),:is(:where(.dark)
.chroma .ld),:is(.dark .chroma .ld),:is(:where(.dark)
.chroma .s),:is(.dark .chroma .s),:is(:where(.dark)
.chroma .sa),:is(.dark .chroma .sa),:is(:where(.dark)
.chroma .sb),:is(.dark .chroma .sb),:is(:where(.dark)
.chroma .sc),:is(.dark .chroma .sc),:is(:where(.dark)
.chroma .dl),:is(.dark .chroma .dl),:is(:where(.dark)
.chroma .sd),:is(.dark .chroma .sd),:is(:where(.dark)
.chroma .s2),:is(.dark .chroma .s2),:is(:where(.dark)
.chroma .sh),:is(.dark .chroma .sh),:is(:where(.dark)
.chroma .si),:is(.dark .chroma .si),:is(:where(.dark)
.chroma .sx),:is(.dark .chroma .sx),:is(:where(.dark)
.chroma .s1),:is(.dark .chroma .s1),:is(:where(.dark)
.chroma .gi),:is(.dark .chroma .gi),:is(:where(.dark)
.chroma .go),:is(.dark .chroma .go),:is(:where(.dark)
.chroma .gp) { .chroma .gp) {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgba(var(--color-primary-400), var(--tw-text-opacity)); color: rgba(var(--color-primary-400), var(--tw-text-opacity));
@ -1592,7 +1624,7 @@ body:has(#menu-controller:checked) {
color: rgba(var(--color-secondary-400), var(--tw-text-opacity)); color: rgba(var(--color-secondary-400), var(--tw-text-opacity));
} }
:is(.dark .chroma .se) { :is(:where(.dark) .chroma .se) {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgba(var(--color-secondary-500), var(--tw-text-opacity)); color: rgba(var(--color-secondary-500), var(--tw-text-opacity));
} }
@ -1608,7 +1640,7 @@ body:has(#menu-controller:checked) {
color: rgba(var(--color-primary-800), var(--tw-text-opacity)); color: rgba(var(--color-primary-800), var(--tw-text-opacity));
} }
:is(.dark .chroma .sr),:is(.dark :is(:where(.dark) .chroma .sr),:is(:where(.dark)
.chroma .ss) { .chroma .ss) {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgba(var(--color-primary-400), var(--tw-text-opacity)); color: rgba(var(--color-primary-400), var(--tw-text-opacity));
@ -1622,7 +1654,7 @@ body:has(#menu-controller:checked) {
color: rgba(var(--color-primary-400), var(--tw-text-opacity)); color: rgba(var(--color-primary-400), var(--tw-text-opacity));
} }
:is(.dark .chroma .ow) { :is(:where(.dark) .chroma .ow) {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgba(var(--color-primary-600), var(--tw-text-opacity)); color: rgba(var(--color-primary-600), var(--tw-text-opacity));
} }
@ -1650,11 +1682,11 @@ body:has(#menu-controller:checked) {
color: rgba(var(--color-neutral-500), var(--tw-text-opacity)); color: rgba(var(--color-neutral-500), var(--tw-text-opacity));
} }
:is(.dark .chroma .c),:is(.dark :is(:where(.dark) .chroma .c),:is(:where(.dark)
.chroma .cm),:is(.dark .chroma .cm),:is(:where(.dark)
.chroma .c1),:is(.dark .chroma .c1),:is(:where(.dark)
.chroma .cs),:is(.dark .chroma .cs),:is(:where(.dark)
.chroma .cp),:is(.dark .chroma .cp),:is(:where(.dark)
.chroma .cpf) { .chroma .cpf) {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgba(var(--color-neutral-400), var(--tw-text-opacity)); color: rgba(var(--color-neutral-400), var(--tw-text-opacity));
@ -1669,7 +1701,7 @@ body:has(#menu-controller:checked) {
color: rgba(var(--color-neutral-500), var(--tw-text-opacity)); color: rgba(var(--color-neutral-500), var(--tw-text-opacity));
} }
:is(.dark .chroma .ch) { :is(:where(.dark) .chroma .ch) {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgba(var(--color-neutral-400), var(--tw-text-opacity)); color: rgba(var(--color-neutral-400), var(--tw-text-opacity));
} }
@ -2616,7 +2648,7 @@ body:has(#menu-controller:checked) {
transition-duration: 150ms; transition-duration: 150ms;
} }
:is(.dark .dark\:prose-invert) { :is(:where(.dark) .dark\:prose-invert) {
--tw-prose-body: var(--tw-prose-invert-body); --tw-prose-body: var(--tw-prose-invert-body);
--tw-prose-headings: var(--tw-prose-invert-headings); --tw-prose-headings: var(--tw-prose-invert-headings);
--tw-prose-lead: var(--tw-prose-invert-lead); --tw-prose-lead: var(--tw-prose-invert-lead);
@ -2637,16 +2669,16 @@ body:has(#menu-controller:checked) {
--tw-prose-td-borders: var(--tw-prose-invert-td-borders); --tw-prose-td-borders: var(--tw-prose-invert-td-borders);
} }
:is(.dark .dark\:prose-invert) :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) { :is(:where(.dark) .dark\:prose-invert) :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
text-decoration-color: rgba(var(--color-neutral-600), 1); text-decoration-color: rgba(var(--color-neutral-600), 1);
} }
:is(.dark .dark\:prose-invert) :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) { :is(:where(.dark) .dark\:prose-invert) :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
color: rgba(var(--color-neutral-200), 1); color: rgba(var(--color-neutral-200), 1);
background-color: rgba(var(--color-neutral-700), 1); background-color: rgba(var(--color-neutral-700), 1);
} }
:is(.dark .dark\:prose-invert) :where(mark):not(:where([class~="not-prose"],[class~="not-prose"] *)) { :is(:where(.dark) .dark\:prose-invert) :where(mark):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
background-color: rgba(var(--color-secondary-400), 1); background-color: rgba(var(--color-secondary-400), 1);
} }
@ -2782,183 +2814,6 @@ body:has(#menu-controller:checked) {
opacity: 1; opacity: 1;
} }
:is([dir="ltr"] .ltr\:right-0) {
right: 0px;
}
:is([dir="ltr"] .ltr\:block) {
display: block;
}
:is([dir="ltr"] .ltr\:inline) {
display: inline;
}
:is([dir="ltr"] .ltr\:hidden) {
display: none;
}
:is([dir="rtl"] .rtl\:left-0) {
left: 0px;
}
:is([dir="rtl"] .rtl\:block) {
display: block;
}
:is([dir="rtl"] .rtl\:inline) {
display: inline;
}
:is([dir="rtl"] .rtl\:hidden) {
display: none;
}
:is(.dark .dark\:inline) {
display: inline;
}
:is(.dark .dark\:flex) {
display: flex;
}
:is(.dark .dark\:hidden) {
display: none;
}
:is(.dark .dark\:border-neutral-600) {
--tw-border-opacity: 1;
border-color: rgba(var(--color-neutral-600), var(--tw-border-opacity));
}
:is(.dark .dark\:border-neutral-700) {
--tw-border-opacity: 1;
border-color: rgba(var(--color-neutral-700), var(--tw-border-opacity));
}
:is(.dark .dark\:border-primary-600) {
--tw-border-opacity: 1;
border-color: rgba(var(--color-primary-600), var(--tw-border-opacity));
}
:is(.dark .dark\:bg-neutral-600) {
--tw-bg-opacity: 1;
background-color: rgba(var(--color-neutral-600), var(--tw-bg-opacity));
}
:is(.dark .dark\:bg-neutral-700) {
--tw-bg-opacity: 1;
background-color: rgba(var(--color-neutral-700), var(--tw-bg-opacity));
}
:is(.dark .dark\:bg-neutral-800) {
--tw-bg-opacity: 1;
background-color: rgba(var(--color-neutral-800), var(--tw-bg-opacity));
}
:is(.dark .dark\:bg-neutral-800\/50) {
background-color: rgba(var(--color-neutral-800), 0.5);
}
:is(.dark .dark\:bg-neutral-900\/50) {
background-color: rgba(var(--color-neutral-900), 0.5);
}
:is(.dark .dark\:bg-primary-400) {
--tw-bg-opacity: 1;
background-color: rgba(var(--color-primary-400), var(--tw-bg-opacity));
}
:is(.dark .dark\:bg-primary-800) {
--tw-bg-opacity: 1;
background-color: rgba(var(--color-primary-800), var(--tw-bg-opacity));
}
:is(.dark .dark\:bg-primary-900) {
--tw-bg-opacity: 1;
background-color: rgba(var(--color-primary-900), var(--tw-bg-opacity));
}
:is(.dark .dark\:text-neutral) {
--tw-text-opacity: 1;
color: rgba(var(--color-neutral), var(--tw-text-opacity));
}
:is(.dark .dark\:text-neutral-100) {
--tw-text-opacity: 1;
color: rgba(var(--color-neutral-100), var(--tw-text-opacity));
}
:is(.dark .dark\:text-neutral-300) {
--tw-text-opacity: 1;
color: rgba(var(--color-neutral-300), var(--tw-text-opacity));
}
:is(.dark .dark\:text-neutral-400) {
--tw-text-opacity: 1;
color: rgba(var(--color-neutral-400), var(--tw-text-opacity));
}
:is(.dark .dark\:text-neutral-500) {
--tw-text-opacity: 1;
color: rgba(var(--color-neutral-500), var(--tw-text-opacity));
}
:is(.dark .dark\:text-neutral-800) {
--tw-text-opacity: 1;
color: rgba(var(--color-neutral-800), var(--tw-text-opacity));
}
:is(.dark .dark\:text-primary-400) {
--tw-text-opacity: 1;
color: rgba(var(--color-primary-400), var(--tw-text-opacity));
}
:is(.dark .dark\:hover\:border-primary-600:hover) {
--tw-border-opacity: 1;
border-color: rgba(var(--color-primary-600), var(--tw-border-opacity));
}
:is(.dark .dark\:hover\:\!bg-primary-700:hover) {
--tw-bg-opacity: 1 !important;
background-color: rgba(var(--color-primary-700), var(--tw-bg-opacity)) !important;
}
:is(.dark .dark\:hover\:bg-primary-400:hover) {
--tw-bg-opacity: 1;
background-color: rgba(var(--color-primary-400), var(--tw-bg-opacity));
}
:is(.dark .dark\:hover\:bg-primary-900:hover) {
--tw-bg-opacity: 1;
background-color: rgba(var(--color-primary-900), var(--tw-bg-opacity));
}
:is(.dark .dark\:hover\:text-neutral-800:hover) {
--tw-text-opacity: 1;
color: rgba(var(--color-neutral-800), var(--tw-text-opacity));
}
:is(.dark .dark\:hover\:text-primary-400:hover) {
--tw-text-opacity: 1;
color: rgba(var(--color-primary-400), var(--tw-text-opacity));
}
:is(.dark .dark\:focus\:bg-primary-900:focus) {
--tw-bg-opacity: 1;
background-color: rgba(var(--color-primary-900), var(--tw-bg-opacity));
}
:is(.dark .group:hover .dark\:group-hover\:text-neutral-700) {
--tw-text-opacity: 1;
color: rgba(var(--color-neutral-700), var(--tw-text-opacity));
}
:is(.dark .group:hover .dark\:group-hover\:text-primary-400) {
--tw-text-opacity: 1;
color: rgba(var(--color-primary-400), var(--tw-text-opacity));
}
@media print { @media print {
.print\:hidden { .print\:hidden {
display: none; display: none;
@ -3105,3 +2960,180 @@ body:has(#menu-controller:checked) {
width: 20%; width: 20%;
} }
} }
:is(:where([dir="ltr"]) .ltr\:right-0) {
right: 0px;
}
:is(:where([dir="ltr"]) .ltr\:block) {
display: block;
}
:is(:where([dir="ltr"]) .ltr\:inline) {
display: inline;
}
:is(:where([dir="ltr"]) .ltr\:hidden) {
display: none;
}
:is(:where([dir="rtl"]) .rtl\:left-0) {
left: 0px;
}
:is(:where([dir="rtl"]) .rtl\:block) {
display: block;
}
:is(:where([dir="rtl"]) .rtl\:inline) {
display: inline;
}
:is(:where([dir="rtl"]) .rtl\:hidden) {
display: none;
}
:is(:where(.dark) .dark\:inline) {
display: inline;
}
:is(:where(.dark) .dark\:flex) {
display: flex;
}
:is(:where(.dark) .dark\:hidden) {
display: none;
}
:is(:where(.dark) .dark\:border-neutral-600) {
--tw-border-opacity: 1;
border-color: rgba(var(--color-neutral-600), var(--tw-border-opacity));
}
:is(:where(.dark) .dark\:border-neutral-700) {
--tw-border-opacity: 1;
border-color: rgba(var(--color-neutral-700), var(--tw-border-opacity));
}
:is(:where(.dark) .dark\:border-primary-600) {
--tw-border-opacity: 1;
border-color: rgba(var(--color-primary-600), var(--tw-border-opacity));
}
:is(:where(.dark) .dark\:bg-neutral-600) {
--tw-bg-opacity: 1;
background-color: rgba(var(--color-neutral-600), var(--tw-bg-opacity));
}
:is(:where(.dark) .dark\:bg-neutral-700) {
--tw-bg-opacity: 1;
background-color: rgba(var(--color-neutral-700), var(--tw-bg-opacity));
}
:is(:where(.dark) .dark\:bg-neutral-800) {
--tw-bg-opacity: 1;
background-color: rgba(var(--color-neutral-800), var(--tw-bg-opacity));
}
:is(:where(.dark) .dark\:bg-neutral-800\/50) {
background-color: rgba(var(--color-neutral-800), 0.5);
}
:is(:where(.dark) .dark\:bg-neutral-900\/50) {
background-color: rgba(var(--color-neutral-900), 0.5);
}
:is(:where(.dark) .dark\:bg-primary-400) {
--tw-bg-opacity: 1;
background-color: rgba(var(--color-primary-400), var(--tw-bg-opacity));
}
:is(:where(.dark) .dark\:bg-primary-800) {
--tw-bg-opacity: 1;
background-color: rgba(var(--color-primary-800), var(--tw-bg-opacity));
}
:is(:where(.dark) .dark\:bg-primary-900) {
--tw-bg-opacity: 1;
background-color: rgba(var(--color-primary-900), var(--tw-bg-opacity));
}
:is(:where(.dark) .dark\:text-neutral) {
--tw-text-opacity: 1;
color: rgba(var(--color-neutral), var(--tw-text-opacity));
}
:is(:where(.dark) .dark\:text-neutral-100) {
--tw-text-opacity: 1;
color: rgba(var(--color-neutral-100), var(--tw-text-opacity));
}
:is(:where(.dark) .dark\:text-neutral-300) {
--tw-text-opacity: 1;
color: rgba(var(--color-neutral-300), var(--tw-text-opacity));
}
:is(:where(.dark) .dark\:text-neutral-400) {
--tw-text-opacity: 1;
color: rgba(var(--color-neutral-400), var(--tw-text-opacity));
}
:is(:where(.dark) .dark\:text-neutral-500) {
--tw-text-opacity: 1;
color: rgba(var(--color-neutral-500), var(--tw-text-opacity));
}
:is(:where(.dark) .dark\:text-neutral-800) {
--tw-text-opacity: 1;
color: rgba(var(--color-neutral-800), var(--tw-text-opacity));
}
:is(:where(.dark) .dark\:text-primary-400) {
--tw-text-opacity: 1;
color: rgba(var(--color-primary-400), var(--tw-text-opacity));
}
:is(:where(.dark) .dark\:hover\:border-primary-600:hover) {
--tw-border-opacity: 1;
border-color: rgba(var(--color-primary-600), var(--tw-border-opacity));
}
:is(:where(.dark) .dark\:hover\:\!bg-primary-700:hover) {
--tw-bg-opacity: 1 !important;
background-color: rgba(var(--color-primary-700), var(--tw-bg-opacity)) !important;
}
:is(:where(.dark) .dark\:hover\:bg-primary-400:hover) {
--tw-bg-opacity: 1;
background-color: rgba(var(--color-primary-400), var(--tw-bg-opacity));
}
:is(:where(.dark) .dark\:hover\:bg-primary-900:hover) {
--tw-bg-opacity: 1;
background-color: rgba(var(--color-primary-900), var(--tw-bg-opacity));
}
:is(:where(.dark) .dark\:hover\:text-neutral-800:hover) {
--tw-text-opacity: 1;
color: rgba(var(--color-neutral-800), var(--tw-text-opacity));
}
:is(:where(.dark) .dark\:hover\:text-primary-400:hover) {
--tw-text-opacity: 1;
color: rgba(var(--color-primary-400), var(--tw-text-opacity));
}
:is(:where(.dark) .dark\:focus\:bg-primary-900:focus) {
--tw-bg-opacity: 1;
background-color: rgba(var(--color-primary-900), var(--tw-bg-opacity));
}
:is(:where(.dark) .group:hover .dark\:group-hover\:text-neutral-700) {
--tw-text-opacity: 1;
color: rgba(var(--color-neutral-700), var(--tw-text-opacity));
}
:is(:where(.dark) .group:hover .dark\:group-hover\:text-primary-400) {
--tw-text-opacity: 1;
color: rgba(var(--color-primary-400), var(--tw-text-opacity));
}

View File

@ -59,6 +59,12 @@ body:has(#menu-controller:checked) {
} }
/* Table of Contents */ /* Table of Contents */
.toc {
max-height: 100vh;
overflow-y: auto;
padding-bottom: 50px;
}
.toc ul, .toc ul,
.toc li { .toc li {
@apply list-none px-0 leading-snug; @apply list-none px-0 leading-snug;
@ -96,6 +102,23 @@ body:has(#menu-controller:checked) {
@apply absolute -z-10 opacity-5; @apply absolute -z-10 opacity-5;
} }
/* Fix long KaTeX equations on mobile (see https://katex.org/docs/issues.html#css-customization) */
.katex-display {
overflow: auto hidden;
}
/* Fix long tables breaking out of article on mobile */
table {
display: block;
overflow: auto;
}
/* Fix long inline code sections breaking out of article on mobile */
code {
word-wrap: break-word; /* All browsers since IE 5.5+ */
overflow-wrap: break-word; /* Renamed property in CSS3 draft spec */
}
/* -- Chroma Highlight -- */ /* -- Chroma Highlight -- */
/* Background */ /* Background */
.chroma { .chroma {

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="20" viewBox="0 0 640 512"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2023 Fonticons, Inc.--><path opacity="1" fill="currentColor" d="M624.6 325.2c-12.3-12.4-29.7-19.2-48.4-17.2-43.3-1-49.7-34.9-37.5-98.8 22.8-57.5-14.9-131.5-87.4-130.8-77.4 .7-81.7 82-130.9 82-48.1 0-54-81.3-130.9-82-72.9-.8-110.1 73.3-87.4 130.8 12.2 63.9 5.8 97.8-37.5 98.8-21.2-2.3-37 6.5-53 22.5-19.9 19.7-19.3 94.8 42.6 102.6 47.1 5.9 81.6-42.9 61.2-87.8-47.3-103.7 185.9-106.1 146.5-8.2-.1 .1-.2 .2-.3 .4-26.8 42.8 6.8 97.4 58.8 95.2 52.1 2.1 85.4-52.6 58.8-95.2-.1-.2-.2-.3-.3-.4-39.4-97.9 193.8-95.5 146.5 8.2-4.6 10-6.7 21.3-5.7 33 4.9 53.4 68.7 74.1 104.9 35.2 17.8-14.8 23.1-65.6 0-88.3zm-303.9-19.1h-.6c-43.4 0-62.8-37.5-62.8-62.8 0-34.7 28.2-62.8 62.8-62.8h.6c34.7 0 62.8 28.1 62.8 62.8 0 25-19.2 62.8-62.8 62.8z"/></svg>

After

Width:  |  Height:  |  Size: 946 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16" viewBox="0 0 512 512"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2023 Fonticons, Inc.--><path fill="currentColor" d="M407 177.6c7.6-24-13.4-46.8-37.4-41.7-22 4.8-28.8-28.1-7.1-32.8 50.1-10.9 92.3 37.1 76.5 84.8-6.8 21.2-38.8 10.8-32-10.3zM214.8 446.7C108.5 446.7 0 395.3 0 310.4c0-44.3 28-95.4 76.3-143.7C176 67 279.5 65.8 249.9 161c-4 13.1 12.3 5.7 12.3 6 79.5-33.6 140.5-16.8 114 51.4-3.7 9.4 1.1 10.9 8.3 13.1 135.7 42.3 34.8 215.2-169.7 215.2zm143.7-146.3c-5.4-55.7-78.5-94-163.4-85.7-84.8 8.6-148.8 60.3-143.4 116s78.5 94 163.4 85.7c84.8-8.6 148.8-60.3 143.4-116zM347.9 35.1c-25.9 5.6-16.8 43.7 8.3 38.3 72.3-15.2 134.8 52.8 111.7 124-7.4 24.2 29.1 37 37.4 12 31.9-99.8-55.1-195.9-157.4-174.3zm-78.5 311c-17.1 38.8-66.8 60-109.1 46.3-40.8-13.1-58-53.4-40.3-89.7 17.7-35.4 63.1-55.4 103.4-45.1 42 10.8 63.1 50.2 46 88.5zm-86.3-30c-12.9-5.4-30 .3-38 12.9-8.3 12.9-4.3 28 8.6 34 13.1 6 30.8 .3 39.1-12.9 8-13.1 3.7-28.3-9.7-34zm32.6-13.4c-5.1-1.7-11.4 .6-14.3 5.4-2.9 5.1-1.4 10.6 3.7 12.9 5.1 2 11.7-.3 14.6-5.4 2.8-5.2 1.1-10.9-4-12.9z"/></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -2,5 +2,5 @@
Closes the hamburger menu when a link is clicked. Closes the hamburger menu when a link is clicked.
*/ */
function close_menu() { function close_menu() {
document.getElementById('menu-controller').checked=false document.getElementById("menu-controller").checked = false;
} }

View File

@ -1,4 +1,3 @@
window.addEventListener("load", () => { window.addEventListener("load", () => {
quicklink.listen(); quicklink.listen();
}); });

View File

@ -133,6 +133,7 @@ function executeQuery(term) {
let resultsHTML = ""; let resultsHTML = "";
if (results.length > 0) { if (results.length > 0) {
// prettier-ignore
resultsHTML = results.map(function (value, key) { resultsHTML = results.map(function (value, key) {
return `<li class="mb-2"> return `<li class="mb-2">
<a class="flex items-center px-3 py-2 rounded-md appearance-none bg-neutral-100 dark:bg-neutral-700 focus:bg-primary-100 hover:bg-primary-100 dark:hover:bg-primary-900 dark:focus:bg-primary-900 focus:outline-dotted focus:outline-transparent focus:outline-2" href="${value.item.permalink}" tabindex="0"> <a class="flex items-center px-3 py-2 rounded-md appearance-none bg-neutral-100 dark:bg-neutral-700 focus:bg-primary-100 hover:bg-primary-100 dark:hover:bg-primary-900 dark:focus:bg-primary-900 focus:outline-dotted focus:outline-transparent focus:outline-2" href="${value.item.permalink}" tabindex="0">

View File

@ -33,6 +33,7 @@ title = "Congo"
# { github = "https://github.com/username" }, # { github = "https://github.com/username" },
# { gitlab = "https://gitlab.com/username" }, # { gitlab = "https://gitlab.com/username" },
# { google = "https://www.google.com/" }, # { google = "https://www.google.com/" },
# { google-scholar = "https://scholar.google.com/citations?user=user-id" },
# { hashnode = "https://username.hashnode.dev" }, # { hashnode = "https://username.hashnode.dev" },
# { instagram = "https://instagram.com/username" }, # { instagram = "https://instagram.com/username" },
# { keybase = "https://keybase.io/username" }, # { keybase = "https://keybase.io/username" },
@ -41,6 +42,7 @@ title = "Congo"
# { linkedin = "https://linkedin.com/in/username" }, # { linkedin = "https://linkedin.com/in/username" },
# { mastodon = "https://mastodon.instance/@username" }, # { mastodon = "https://mastodon.instance/@username" },
# { medium = "https://medium.com/username" }, # { medium = "https://medium.com/username" },
# { mendeley = "https://www.mendeley.com/" },
# { microsoft = "https://www.microsoft.com/" }, # { microsoft = "https://www.microsoft.com/" },
# { orcid = "https://orcid.org/userid" }, # { orcid = "https://orcid.org/userid" },
# { patreon = "https://www.patreon.com/username" }, # { patreon = "https://www.patreon.com/username" },
@ -59,5 +61,4 @@ title = "Congo"
# { whatsapp = "https://wa.me/phone-number" }, # { whatsapp = "https://wa.me/phone-number" },
# { x-twitter = "https://twitter.com/username" }, # { x-twitter = "https://twitter.com/username" },
# { youtube = "https://youtube.com/username" }, # { youtube = "https://youtube.com/username" },
# { google-scholar = "https://scholar.google.com/citations?user=user-id"}
# ] # ]

View File

@ -51,7 +51,7 @@ fingerprintAlgorithm = "sha256"
showTaxonomies = false showTaxonomies = false
showWordCount = false showWordCount = false
showComments = false showComments = false
# sharingLinks = ["facebook", "twitter", "mastodon", "pinterest", "reddit", "linkedin", "email", "telegram", "line"] # sharingLinks = ["facebook", "twitter", "mastodon", "pinterest", "reddit", "linkedin", "email", "telegram", "line", "weibo"]
[list] [list]
showBreadcrumbs = false showBreadcrumbs = false

View File

@ -43,5 +43,10 @@
"icon": "line", "icon": "line",
"title": "sharing.line", "title": "sharing.line",
"url": "https://line.me/R/share?text=%s%s" "url": "https://line.me/R/share?text=%s%s"
},
"weibo": {
"icon": "weibo",
"title": "sharing.weibo",
"url": "https://service.weibo.com/share/share.php?url=%s&appkey=&title=%s&pic=&ralateUid=&lang"
} }
} }

View File

@ -52,7 +52,7 @@ fingerprintAlgorithm = "sha256"
showTaxonomies = false showTaxonomies = false
showWordCount = false showWordCount = false
showComments = false showComments = false
# sharingLinks = ["facebook", "twitter", "mastodon", "pinterest", "reddit", "linkedin", "email", "telegram", "line"] # sharingLinks = ["facebook", "twitter", "mastodon", "pinterest", "reddit", "linkedin", "email", "telegram", "line", "weibo"]
[list] [list]
showBreadcrumbs = true showBreadcrumbs = true

View File

@ -18,7 +18,7 @@ tags: ["content", "example"]
## ブランチページ ## ブランチページ
Hugoのブランチページバンドルは、ホームページ、セクションリスト、Taxonomyページのような項目をカバーしています。ブランチバンドルについて覚えておくべき重要なことは、このコンテンツタイプのファイル名は **_index.md`** であるということです。 Hugoのブランチページバンドルは、ホームページ、セクションリスト、Taxonomyページのような項目をカバーしています。ブランチバンドルについて覚えておくべき重要なことは、このコンテンツタイプのファイル名は **`_index.md`** であるということです。
Congoはブランチページで指定されたフロントマターを尊重し、デフォルト設定を上書きします。例えば、ブランチページで `title` パラメーターを設定すると、ページタイトルを上書きすることができます。 Congoはブランチページで指定されたフロントマターを尊重し、デフォルト設定を上書きします。例えば、ブランチページで `title` パラメーターを設定すると、ページタイトルを上書きすることができます。

View File

@ -100,7 +100,7 @@ Congoは、テーマ全体で使用される3色のパレットを定義して
## コンテンツの整理 ## コンテンツの整理
Congoは特定のコンテンツタイプを強制しません。そのため、自由にコンテンツを定義することができます。静的なサイトには_pages_、ブログには_posts_、ポートフォリオには_projects_がいいかもしれません。 Congoは特定のコンテンツタイプを強制しません。そのため、自由にコンテンツを定義することができます。静的なサイトには*pages*、ブログには*posts*、ポートフォリオには*projects*がいいかもしれません。
### ディレクトリ構造 ### ディレクトリ構造

View File

@ -195,5 +195,4 @@ Congo 2.0では `figure` ショートコードの振る舞いが変わります
エラーに遭遇した場合は、設定が正しいことを確認し、[ドキュメント]({{<ref "docs" >}})を参照してください。テーマに同梱されている設定ファイルの例には、デフォルトのパラメーターがすべて含まれており、出発点として最適です。 エラーに遭遇した場合は、設定が正しいことを確認し、[ドキュメント]({{<ref "docs" >}})を参照してください。テーマに同梱されている設定ファイルの例には、デフォルトのパラメーターがすべて含まれており、出発点として最適です。
🙋‍♀️ それでもまだ助けが必要な場合は、[GitHub Discussions](https://github.com/jpanther/congo/discussions)で遠慮なく質問してください。
🙋‍♀️ それでもまだ助けが必要な場合は、[GitHub Discussions](https://github.com/jpanther/congo/discussions)で遠慮なく質問してください。

View File

@ -53,6 +53,7 @@ Die vollständige Liste der integrierten Icons und ihre entsprechenden Namen fin
| list | {{< icon list >}} | | list | {{< icon list >}} |
| mastodon | {{< icon mastodon >}} | | mastodon | {{< icon mastodon >}} |
| medium | {{< icon medium >}} | | medium | {{< icon medium >}} |
| mendeley | {{< icon mendeley>}} |
| microsoft | {{< icon microsoft >}} | | microsoft | {{< icon microsoft >}} |
| mobile | {{< icon mobile >}} | | mobile | {{< icon mobile >}} |
| moon | {{< icon moon >}} | | moon | {{< icon moon >}} |
@ -80,6 +81,7 @@ Die vollständige Liste der integrierten Icons und ihre entsprechenden Namen fin
| tumblr | {{< icon tumblr >}} | | tumblr | {{< icon tumblr >}} |
| twitch | {{< icon twitch >}} | | twitch | {{< icon twitch >}} |
| twitter | {{< icon twitter >}} | | twitter | {{< icon twitter >}} |
| weibo | {{< icon weibo >}} |
| whatsapp | {{< icon whatsapp >}} | | whatsapp | {{< icon whatsapp >}} |
| x-twitter | {{< icon x-twitter >}} | | x-twitter | {{< icon x-twitter >}} |
| xmark | {{< icon xmark >}} | | xmark | {{< icon xmark >}} |

View File

@ -53,6 +53,7 @@ La lista completa de íconos incorporados y sus nombres correspondientes se pued
| list | {{< icon list >}} | | list | {{< icon list >}} |
| mastodon | {{< icon mastodon >}} | | mastodon | {{< icon mastodon >}} |
| medium | {{< icon medium >}} | | medium | {{< icon medium >}} |
| mendeley | {{< icon mendeley>}} |
| microsoft | {{< icon microsoft >}} | | microsoft | {{< icon microsoft >}} |
| mobile | {{< icon mobile >}} | | mobile | {{< icon mobile >}} |
| moon | {{< icon moon >}} | | moon | {{< icon moon >}} |
@ -80,6 +81,7 @@ La lista completa de íconos incorporados y sus nombres correspondientes se pued
| tumblr | {{< icon tumblr >}} | | tumblr | {{< icon tumblr >}} |
| twitch | {{< icon twitch >}} | | twitch | {{< icon twitch >}} |
| twitter | {{< icon twitter >}} | | twitter | {{< icon twitter >}} |
| weibo | {{< icon weibo >}} |
| whatsapp | {{< icon whatsapp >}} | | whatsapp | {{< icon whatsapp >}} |
| x-twitter | {{< icon x-twitter >}} | | x-twitter | {{< icon x-twitter >}} |
| xmark | {{< icon xmark >}} | | xmark | {{< icon xmark >}} |

View File

@ -53,6 +53,7 @@ Congo は[FontAwesome 6](https://fontawesome.com/icons)のアイコンをサポ
| list | {{< icon list >}} | | list | {{< icon list >}} |
| mastodon | {{< icon mastodon >}} | | mastodon | {{< icon mastodon >}} |
| medium | {{< icon medium >}} | | medium | {{< icon medium >}} |
| mendeley | {{< icon mendeley>}} |
| microsoft | {{< icon microsoft >}} | | microsoft | {{< icon microsoft >}} |
| mobile | {{< icon mobile >}} | | mobile | {{< icon mobile >}} |
| moon | {{< icon moon >}} | | moon | {{< icon moon >}} |
@ -80,6 +81,7 @@ Congo は[FontAwesome 6](https://fontawesome.com/icons)のアイコンをサポ
| tumblr | {{< icon tumblr >}} | | tumblr | {{< icon tumblr >}} |
| twitch | {{< icon twitch >}} | | twitch | {{< icon twitch >}} |
| twitter | {{< icon twitter >}} | | twitter | {{< icon twitter >}} |
| weibo | {{< icon weibo >}} |
| whatsapp | {{< icon whatsapp >}} | | whatsapp | {{< icon whatsapp >}} |
| x-twitter | {{< icon x-twitter >}} | | x-twitter | {{< icon x-twitter >}} |
| xmark | {{< icon xmark >}} | | xmark | {{< icon xmark >}} |

View File

@ -53,6 +53,7 @@ The full list of built-in icons and their corresponding names can referenced bel
| list | {{< icon list >}} | | list | {{< icon list >}} |
| mastodon | {{< icon mastodon >}} | | mastodon | {{< icon mastodon >}} |
| medium | {{< icon medium >}} | | medium | {{< icon medium >}} |
| mendeley | {{< icon mendeley>}} |
| microsoft | {{< icon microsoft >}} | | microsoft | {{< icon microsoft >}} |
| mobile | {{< icon mobile >}} | | mobile | {{< icon mobile >}} |
| moon | {{< icon moon >}} | | moon | {{< icon moon >}} |
@ -80,6 +81,7 @@ The full list of built-in icons and their corresponding names can referenced bel
| tumblr | {{< icon tumblr >}} | | tumblr | {{< icon tumblr >}} |
| twitch | {{< icon twitch >}} | | twitch | {{< icon twitch >}} |
| twitter | {{< icon twitter >}} | | twitter | {{< icon twitter >}} |
| weibo | {{< icon weibo >}} |
| whatsapp | {{< icon whatsapp >}} | | whatsapp | {{< icon whatsapp >}} |
| x-twitter | {{< icon x-twitter >}} | | x-twitter | {{< icon x-twitter >}} |
| xmark | {{< icon xmark >}} | | xmark | {{< icon xmark >}} |

View File

@ -67,7 +67,7 @@ Tabellen sind nicht Teil der Markdown-Kernspezifikation, aber Hugo unterstützt
### Code-Block mit backticks ### Code-Block mit backticks
```html ```html
<!DOCTYPE html> <!doctype html>
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
@ -134,7 +134,7 @@ Tabellen sind nicht Teil der Markdown-Kernspezifikation, aber Hugo unterstützt
## Andere Elemente — abbr, sub, sup, kbd, mark ## Andere Elemente — abbr, sub, sup, kbd, mark
<abbr title="Graphics Interchange Format">GIF</abbr> ist ein Bitmap-Bildformat. <abbr title="Graphics Interchange Format">GIF</abbr> ist ein Bitmap-Bildformat.
H<sub>2</sub>O H<sub>2</sub>O

View File

@ -59,7 +59,7 @@ Las tablas no forman parte de la especificación principal de Markdown, pero Hug
### Markdown dentro de las tablas ### Markdown dentro de las tablas
| Cursiva | Negritas | Código | | Cursiva | Negritas | Código |
| --------- | ---------- | -------- | | --------- | ----------- | -------- |
| _Cursiva_ | **Negrita** | `Código` | | _Cursiva_ | **Negrita** | `Código` |
## Bloques de código ## Bloques de código
@ -67,7 +67,7 @@ Las tablas no forman parte de la especificación principal de Markdown, pero Hug
### Bloque de código con acentos graves ### Bloque de código con acentos graves
```html ```html
<!DOCTYPE html> <!doctype html>
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />

View File

@ -52,9 +52,9 @@ Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sap
表はMarkdownのコア仕様には含まれていませんが、Hugoはサポートしています。 表はMarkdownのコア仕様には含まれていませんが、Hugoはサポートしています。
| 名前 | 年齢 | | 名前 | 年齢 |
| ----- | --- | | ----- | ---- |
| Bob | 27 | | Bob | 27 |
| Alice | 23 | | Alice | 23 |
### 表中のMarkdown ### 表中のMarkdown
@ -67,7 +67,7 @@ Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sap
### Code block with backticks ### Code block with backticks
```html ```html
<!DOCTYPE html> <!doctype html>
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />

View File

@ -67,7 +67,7 @@ Tables aren't part of the core Markdown spec, but Hugo supports supports them ou
### Code block with backticks ### Code block with backticks
```html ```html
<!DOCTYPE html> <!doctype html>
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />

View File

@ -44,7 +44,7 @@ La lista a continuación es solo un puñado de sitios web creados con el tema Co
| [medical-humanities](https://medical-humanities.org) | Academic site | | [medical-humanities](https://medical-humanities.org) | Academic site |
| [boyersnet.com](https://boyersnet.com) | Personal site and Blog | | [boyersnet.com](https://boyersnet.com) | Personal site and Blog |
| [major.io](https://major.io) | Personal site and Blog | | [major.io](https://major.io) | Personal site and Blog |
| [顾宇的博客](https://www.guyu.me/) | Personal Blog (in Chinese) | | [顾宇的博客](https://www.guyu.me/) | Personal Blog (in Chinese) |
| [cgutierr-zgz.github.io](https://cgutierr-zgz.github.io/) | Personal site and Tech blog | | [cgutierr-zgz.github.io](https://cgutierr-zgz.github.io/) | Personal site and Tech blog |
| [adam.sr](https://adam.sr) | Personal site and Blog | | [adam.sr](https://adam.sr) | Personal site and Blog |
| [kpavlov.me](https://kpavlov.me) | Personal site and Blog | | [kpavlov.me](https://kpavlov.me) | Personal site and Blog |

View File

@ -44,7 +44,7 @@ Congoを使用して構築された実際のウェブサイト。
| [medical-humanities](https://medical-humanities.org) | Academic site | | [medical-humanities](https://medical-humanities.org) | Academic site |
| [boyersnet.com](https://boyersnet.com) | Personal site and Blog | | [boyersnet.com](https://boyersnet.com) | Personal site and Blog |
| [major.io](https://major.io) | Personal site and Blog | | [major.io](https://major.io) | Personal site and Blog |
| [顾宇的博客](https://www.guyu.me/) | Personal Blog (in Chinese) | | [顾宇的博客](https://www.guyu.me/) | Personal Blog (in Chinese) |
| [cgutierr-zgz.github.io](https://cgutierr-zgz.github.io/) | Personal site and Tech blog | | [cgutierr-zgz.github.io](https://cgutierr-zgz.github.io/) | Personal site and Tech blog |
| [adam.sr](https://adam.sr) | Personal site and Blog | | [adam.sr](https://adam.sr) | Personal site and Blog |
| [kpavlov.me](https://kpavlov.me) | Personal site and Blog | | [kpavlov.me](https://kpavlov.me) | Personal site and Blog |

View File

@ -44,7 +44,7 @@ The list below is just a handful of the websites that are built using the Congo
| [medical-humanities](https://medical-humanities.org) | Academic site | | [medical-humanities](https://medical-humanities.org) | Academic site |
| [boyersnet.com](https://boyersnet.com) | Personal site and Blog | | [boyersnet.com](https://boyersnet.com) | Personal site and Blog |
| [major.io](https://major.io) | Personal site and Blog | | [major.io](https://major.io) | Personal site and Blog |
| [顾宇的博客](https://www.guyu.me/) | Personal Blog (in Chinese) | | [顾宇的博客](https://www.guyu.me/) | Personal Blog (in Chinese) |
| [cgutierr-zgz.github.io](https://cgutierr-zgz.github.io/) | Personal site and Tech blog | | [cgutierr-zgz.github.io](https://cgutierr-zgz.github.io/) | Personal site and Tech blog |
| [adam.sr](https://adam.sr) | Personal site and Blog | | [adam.sr](https://adam.sr) | Personal site and Blog |
| [kpavlov.me](https://kpavlov.me) | Personal site and Blog | | [kpavlov.me](https://kpavlov.me) | Personal site and Blog |

View File

@ -5,4 +5,9 @@
<div id="profile" class="hidden h-full"> <div id="profile" class="hidden h-full">
{{ partial "partials/home/profile.html" . }} {{ partial "partials/home/profile.html" . }}
</div> </div>
<script defer type="text/javascript" src="{{ $jsHome.RelPermalink }}" integrity="{{ $jsHome.Data.Integrity }}"></script> <script
defer
type="text/javascript"
src="{{ $jsHome.RelPermalink }}"
integrity="{{ $jsHome.Data.Integrity }}"
></script>

View File

@ -53,6 +53,7 @@ sharing:
twitter: "تغريد على تويتر" twitter: "تغريد على تويتر"
telegram: "شارك على تيليجرام" telegram: "شارك على تيليجرام"
line: "شارك على لاين" line: "شارك على لاين"
# weibo: "Share on Weibo"
shortcode: shortcode:
recent_articles: "حديثًا" recent_articles: "حديثًا"

View File

@ -52,7 +52,8 @@ sharing:
reddit: "Публикуване в Reddit" reddit: "Публикуване в Reddit"
twitter: "Туит в Twitter" twitter: "Туит в Twitter"
telegram: "Споделете в Telegram" telegram: "Споделете в Telegram"
line: Споделете в LINE"" line: "Споделете в LINE"
weibo: "Споделете в Weibo"
shortcode: shortcode:
recent_articles: "Последни" recent_articles: "Последни"

View File

@ -53,6 +53,7 @@ sharing:
twitter: "ট্যুইট করুন" twitter: "ট্যুইট করুন"
telegram: "টেলিগ্রামে শেয়ার করুন" telegram: "টেলিগ্রামে শেয়ার করুন"
line: "লাইনে শেয়ার করুন" line: "লাইনে শেয়ার করুন"
# weibo: "Share on Weibo"
shortcode: shortcode:
recent_articles: "সাম্প্রতিক" recent_articles: "সাম্প্রতিক"

View File

@ -53,6 +53,7 @@ sharing:
twitter: "Tweet na Twitter" twitter: "Tweet na Twitter"
telegram: "Sdílejte na Telegram" telegram: "Sdílejte na Telegram"
line: "Sdílejte na LINE" line: "Sdílejte na LINE"
weibo: "Sdílejte na Weibo"
shortcode: shortcode:
recent_articles: "Nedávné" recent_articles: "Nedávné"

View File

@ -53,6 +53,7 @@ sharing:
twitter: "Auf Twitter teilen" twitter: "Auf Twitter teilen"
telegram: "Auf Telegram teilen" telegram: "Auf Telegram teilen"
line: "Auf LINE teilen" line: "Auf LINE teilen"
weibo: "Auf Weibo teilen"
shortcode: shortcode:
recent_articles: "Neue Beiträge" recent_articles: "Neue Beiträge"

View File

@ -53,6 +53,7 @@ sharing:
twitter: "Tweet on Twitter" twitter: "Tweet on Twitter"
telegram: "Share on Telegram" telegram: "Share on Telegram"
line: "Share on LINE" line: "Share on LINE"
weibo: "Share on Weibo"
shortcode: shortcode:
recent_articles: "Recent" recent_articles: "Recent"

View File

@ -53,6 +53,7 @@ sharing:
twitter: "Tuitear en Twitter" twitter: "Tuitear en Twitter"
telegram: "Compartir en Telegram" telegram: "Compartir en Telegram"
line: "Compartir en LINE" line: "Compartir en LINE"
weibo: "Compartir en Weibo"
shortcode: shortcode:
recent_articles: "Reciente" recent_articles: "Reciente"

View File

@ -53,6 +53,7 @@ sharing:
twitter: "Twiittaa Twitterissä" twitter: "Twiittaa Twitterissä"
telegram: "Jaa Telegramissa" telegram: "Jaa Telegramissa"
line: "Jaa LINEssä" line: "Jaa LINEssä"
weibo: "Jaa Weibossä"
shortcode: shortcode:
recent_articles: "Viimeaikaiset" recent_articles: "Viimeaikaiset"

View File

@ -53,6 +53,7 @@ sharing:
twitter: "Tweeter" twitter: "Tweeter"
telegram: "Partager sur Telegram" telegram: "Partager sur Telegram"
line: "Partager sur LINE" line: "Partager sur LINE"
weibo: "Partager sur Weibo"
shortcode: shortcode:
recent_articles: "Articles récents" recent_articles: "Articles récents"

View File

@ -53,6 +53,7 @@ sharing:
twitter: "ציוץ בטוויטר" twitter: "ציוץ בטוויטר"
telegram: "שיתוף בטלגרם" telegram: "שיתוף בטלגרם"
line: "שיתוף בליין" line: "שיתוף בליין"
# weibo: "Share on Weibo"
shortcode: shortcode:
recent_articles: "חדשים" recent_articles: "חדשים"

View File

@ -53,6 +53,7 @@ sharing:
twitter: "Megosztás a Twitteren" twitter: "Megosztás a Twitteren"
telegram: "Megosztás a Telegramon" telegram: "Megosztás a Telegramon"
line: "Megosztás a LINE-on" line: "Megosztás a LINE-on"
weibo: "Megosztás a Weibo-on"
shortcode: shortcode:
recent_articles: "Friss" recent_articles: "Friss"

View File

@ -53,6 +53,7 @@ sharing:
twitter: "Tweet di Twitter" twitter: "Tweet di Twitter"
telegram: "Bagikan ke Telegram" telegram: "Bagikan ke Telegram"
line: "Bagikan ke LINE" line: "Bagikan ke LINE"
weibo: "Bagikan ke Weibo"
shortcode: shortcode:
recent_articles: "Terbaru" recent_articles: "Terbaru"

View File

@ -53,6 +53,7 @@ sharing:
twitter: "Tweetta su Twitter" twitter: "Tweetta su Twitter"
telegram: "Condividi su Telegram" telegram: "Condividi su Telegram"
line: "Condividi su LINE" line: "Condividi su LINE"
weibo: "Condividi su Weibo"
shortcode: shortcode:
recent_articles: "Recenti" recent_articles: "Recenti"

View File

@ -53,6 +53,7 @@ sharing:
twitter: "Twitterに投稿する" twitter: "Twitterに投稿する"
telegram: "Telegramでシェアする" telegram: "Telegramでシェアする"
line: "LINEでシェアする" line: "LINEでシェアする"
weibo: "Weiboでシェアする"
shortcode: shortcode:
recent_articles: "最近の記事" recent_articles: "最近の記事"

View File

@ -53,6 +53,7 @@ sharing:
twitter: "Twitter에 트윗하기" twitter: "Twitter에 트윗하기"
telegram: "Telegram에 공유하기" telegram: "Telegram에 공유하기"
line: "LINE에 공유하기" line: "LINE에 공유하기"
weibo: "Weibo에 공유하기"
shortcode: shortcode:
recent_articles: "최신 글" recent_articles: "최신 글"

View File

@ -53,6 +53,7 @@ sharing:
twitter: "Tweet op Twitter" twitter: "Tweet op Twitter"
telegram: "Deel op Telegram" telegram: "Deel op Telegram"
line: "Deel op LINE" line: "Deel op LINE"
weibo: "Deel op Weibo"
shortcode: shortcode:
recent_articles: "Recent" recent_articles: "Recent"

View File

@ -53,6 +53,7 @@ sharing:
twitter: "Udostępnij na Twitter" twitter: "Udostępnij na Twitter"
telegram: "Udostępnij na Telegram" telegram: "Udostępnij na Telegram"
line: "Udostępnij na LINE" line: "Udostępnij na LINE"
weibo: "Udostępnij na Weibo"
shortcode: shortcode:
recent_articles: "Ostatnie" recent_articles: "Ostatnie"

View File

@ -53,6 +53,7 @@ sharing:
twitter: "Tweet no Twitter" twitter: "Tweet no Twitter"
telegram: "Compartilhar pelo Telegram" telegram: "Compartilhar pelo Telegram"
line: "Compartilhar pelo LINE" line: "Compartilhar pelo LINE"
weibo: "Compartilhar pelo weibo"
shortcode: shortcode:
recent_articles: "Recente" recent_articles: "Recente"

View File

@ -53,6 +53,7 @@ sharing:
twitter: "Partilhar no Twitter" twitter: "Partilhar no Twitter"
telegram: "Partilhar pelo Telegram" telegram: "Partilhar pelo Telegram"
line: "Partilhar pelo LINE" line: "Partilhar pelo LINE"
weibo: "Partilhar pelo Weibo"
shortcode: shortcode:
recent_articles: "Recente" recent_articles: "Recente"

View File

@ -53,6 +53,7 @@ sharing:
twitter: "Scrie pe Twitter" twitter: "Scrie pe Twitter"
telegram: "Trimite pe Telegram" telegram: "Trimite pe Telegram"
line: "Trimite pe LINE" line: "Trimite pe LINE"
weibo: "Trimite pe Weibo"
shortcode: shortcode:
recent_articles: "Cele mai noi" recent_articles: "Cele mai noi"

View File

@ -57,6 +57,7 @@ sharing:
twitter: "Опубликовать на Twitter" twitter: "Опубликовать на Twitter"
telegram: "Поделиться на Telegram" telegram: "Поделиться на Telegram"
line: "Поделиться на LINE" line: "Поделиться на LINE"
weibo: "Поделиться на Weibo"
shortcode: shortcode:
recent_articles: "Последние" recent_articles: "Последние"

View File

@ -53,6 +53,7 @@ sharing:
twitter: "Tweet na Twitteri" twitter: "Tweet na Twitteri"
telegram: "Zdieľaj na Telegram" telegram: "Zdieľaj na Telegram"
line: "Zdieľaj na LINE" line: "Zdieľaj na LINE"
weibo: "Zdieľaj na Weibo"
shortcode: shortcode:
recent_articles: "Nedávne" recent_articles: "Nedávne"

View File

@ -52,6 +52,7 @@ sharing:
twitter: "Twitter'da Tweetle" twitter: "Twitter'da Tweetle"
telegram: "Telegram'da paylaş" telegram: "Telegram'da paylaş"
line: "LINE'da paylaş" line: "LINE'da paylaş"
weibo: "Weibo'da paylaş"
shortcode: shortcode:
recent_articles: "Güncel" recent_articles: "Güncel"

View File

@ -57,6 +57,7 @@ sharing:
twitter: "Поширити на Twitter" twitter: "Поширити на Twitter"
telegram: "Поширити на Telegram" telegram: "Поширити на Telegram"
line: "Поширити на LINE" line: "Поширити на LINE"
weibo: "Поширити на Weibo"
shortcode: shortcode:
recent_articles: "Недавні дописи" recent_articles: "Недавні дописи"

View File

@ -52,6 +52,7 @@ sharing:
twitter: "分享到 Twitter" twitter: "分享到 Twitter"
telegram: "分享到 Telegram" telegram: "分享到 Telegram"
line: "分享到 LINE" line: "分享到 LINE"
weibo: "分享到 微博"
shortcode: shortcode:
recent_articles: "最近的文章" recent_articles: "最近的文章"

View File

@ -53,6 +53,7 @@ sharing:
twitter: "推到 Twitter" twitter: "推到 Twitter"
telegram: "分享到 Telegram" telegram: "分享到 Telegram"
line: "分享到 LINE" line: "分享到 LINE"
weibo: "分享到 微博"
shortcode: shortcode:
recent_articles: "最近的文章" recent_articles: "最近的文章"

View File

@ -1,6 +1,6 @@
{{ define "main" }} {{ define "main" }}
<h1 class="mb-3 text-4xl font-extrabold">{{ i18n "error.404_title" | emojify }}</h1> <h1 class="mb-3 text-4xl font-extrabold">{{ i18n "error.404_title" | emojify }}</h1>
<p class="mt-8 mb-12 text-neutral-400 dark:text-neutral-500"> <p class="mb-12 mt-8 text-neutral-400 dark:text-neutral-500">
{{ i18n "error.404_error" | emojify }} {{ i18n "error.404_error" | emojify }}
</p> </p>
<div class="prose dark:prose-invert"> <div class="prose dark:prose-invert">

View File

@ -6,8 +6,8 @@
{{ $file := $url.Path }} {{ $file := $url.Path }}
{{ $img := .Page.Resources.GetMatch $file }} {{ $img := .Page.Resources.GetMatch $file }}
{{- if and (not $img) .Page.File }} {{- if and (not $img) .Page.File }}
{{ $path := path.Join .Page.File.Dir $file }} {{ $path := path.Join .Page.File.Dir $file }}
{{ $img = resources.Get $path }} {{ $img = resources.Get $path }}
{{ end -}} {{ end -}}
{{/* https://github.com/gohugoio/hugo/pull/10666 */}} {{/* https://github.com/gohugoio/hugo/pull/10666 */}}
@ -15,14 +15,14 @@
{{- $x2Param := $params.Get "2x" -}} {{- $x2Param := $params.Get "2x" -}}
{{- $x2 := false -}} {{- $x2 := false -}}
{{- if eq $x2Param "true" -}} {{- if eq $x2Param "true" -}}
{{- $x2 = true -}} {{- $x2 = true -}}
{{- end -}} {{- end -}}
<figure> <figure>
{{- with $img -}} {{- with $img -}}
{{ partial "picture.html" (dict "img" . "alt" $altText "class" $class "x2" $x2) }} {{ partial "picture.html" (dict "img" . "alt" $altText "class" $class "x2" $x2) }}
{{- else -}} {{- else -}}
<img src="{{ .Destination | safeURL }}" alt="{{ $altText }}" class="{{ $class }}"/> <img src="{{ .Destination | safeURL }}" alt="{{ $altText }}" class="{{ $class }}" />
{{- end -}} {{- end -}}
{{ with $caption }}<figcaption class="text-center">{{ . | markdownify }}</figcaption>{{ end }} {{ with $caption }}<figcaption class="text-center">{{ . | markdownify }}</figcaption>{{ end }}
</figure> </figure>

View File

@ -14,4 +14,5 @@
{{ end -}} {{ end -}}
{{ end -}} {{ end -}}
{{ end -}} {{ end -}}
<!-- prettier-ignore -->
<a href="{{ $link | safeURL }}"{{ with .Title }} title="{{ . }}"{{ end }}{{ if $isRemote }} target="_blank" rel="noreferrer"{{ end }}>{{- .Text | safeHTML -}}</a> <a href="{{ $link | safeURL }}"{{ with .Title }} title="{{ . }}"{{ end }}{{ if $isRemote }} target="_blank" rel="noreferrer"{{ end }}>{{- .Text | safeHTML -}}</a>

View File

@ -1,6 +1,6 @@
{{- partial "partials/functions/warnings.html" .Site -}} {{- partial "partials/functions/warnings.html" .Site -}}
{{- partial "partials/functions/init.html" . -}} {{- partial "partials/functions/init.html" . -}}
<!DOCTYPE html> <!doctype html>
<html <html
lang="{{- site.Language.LanguageCode | default "" -}}" lang="{{- site.Language.LanguageCode | default "" -}}"
dir="{{- site.Language.LanguageDirection | default "ltr" -}}" dir="{{- site.Language.LanguageDirection | default "ltr" -}}"
@ -10,13 +10,13 @@
> >
{{- partial "head.html" . -}} {{- partial "head.html" . -}}
<body <body
class="flex flex-col h-screen px-6 m-auto text-lg leading-7 max-w-7xl bg-neutral text-neutral-900 dark:bg-neutral-800 dark:text-neutral sm:px-14 md:px-24 lg:px-32" class="m-auto flex h-screen max-w-7xl flex-col bg-neutral px-6 text-lg leading-7 text-neutral-900 sm:px-14 md:px-24 lg:px-32 dark:bg-neutral-800 dark:text-neutral"
> >
<div id="the-top" class="absolute flex self-center"> <div id="the-top" class="absolute flex self-center">
<a <a
class="px-3 py-1 text-sm -translate-y-8 rounded-b-lg bg-primary-200 focus:translate-y-0 dark:bg-neutral-600" class="-translate-y-8 rounded-b-lg bg-primary-200 px-3 py-1 text-sm focus:translate-y-0 dark:bg-neutral-600"
href="#main-content" href="#main-content"
><span class="font-bold pe-2 text-primary-600 dark:text-primary-400">&darr;</span ><span class="pe-2 font-bold text-primary-600 dark:text-primary-400">&darr;</span
>{{ i18n "nav.skip_to_main" }}</a >{{ i18n "nav.skip_to_main" }}</a
> >
</div> </div>
@ -26,7 +26,7 @@
{{ else }} {{ else }}
{{ partial "partials/header/basic.html" . }} {{ partial "partials/header/basic.html" . }}
{{ end }} {{ end }}
<div class="relative flex flex-col grow"> <div class="relative flex grow flex-col">
<main id="main-content" class="grow"> <main id="main-content" class="grow">
{{ block "main" . }}{{ end }} {{ block "main" . }}{{ end }}
{{ if and (.Site.Params.footer.showScrollToTop | default true) (gt .WordCount 200) }} {{ if and (.Site.Params.footer.showScrollToTop | default true) (gt .WordCount 200) }}

View File

@ -9,6 +9,7 @@
"summary" (.Summary | emojify | safeJS) "summary" (.Summary | emojify | safeJS)
"content" (.Plain | emojify | safeJS) "content" (.Plain | emojify | safeJS)
"permalink" .RelPermalink "permalink" .RelPermalink
) -}} )
-}}
{{- end -}} {{- end -}}
{{- $index | jsonify -}} {{- $index | jsonify -}}

View File

@ -20,7 +20,7 @@
</div> </div>
</div> </div>
{{ end }} {{ end }}
<div class="min-w-0 min-h-0 max-w-prose grow"> <div class="min-h-0 min-w-0 max-w-prose grow">
{{ .Content | emojify }} {{ .Content | emojify }}
</div> </div>
</section> </section>
@ -31,7 +31,7 @@
<h2 class="mt-12 text-2xl font-bold text-neutral-700 first:mt-8 dark:text-neutral-300"> <h2 class="mt-12 text-2xl font-bold text-neutral-700 first:mt-8 dark:text-neutral-300">
{{ .Key }} {{ .Key }}
</h2> </h2>
<hr class="border-dotted w-36 border-neutral-400" /> <hr class="w-36 border-dotted border-neutral-400" />
{{ range .Pages }} {{ range .Pages }}
{{ partial "article-link.html" . }} {{ partial "article-link.html" . }}
{{ end }} {{ end }}
@ -44,8 +44,8 @@
</section> </section>
{{ partial "pagination.html" . }} {{ partial "pagination.html" . }}
{{ else }} {{ else }}
<section class="mt-10 prose dark:prose-invert"> <section class="prose mt-10 dark:prose-invert">
<p class="py-8 border-t"> <p class="border-t py-8">
<em>{{ i18n "list.no_articles" | emojify }}</em> <em>{{ i18n "list.no_articles" | emojify }}</em>
</p> </p>
</section> </section>

View File

@ -8,7 +8,7 @@
{{ .Title | emojify }} {{ .Title | emojify }}
</h1> </h1>
</header> </header>
<section class="max-w-full mt-6 prose dark:prose-invert"> <section class="prose mt-6 max-w-full dark:prose-invert">
{{ .Content | emojify }} {{ .Content | emojify }}
</section> </section>
<footer class="pt-8"> <footer class="pt-8">

View File

@ -10,21 +10,22 @@
<h1 class="mt-0 text-4xl font-extrabold text-neutral-900 dark:text-neutral"> <h1 class="mt-0 text-4xl font-extrabold text-neutral-900 dark:text-neutral">
{{ .Title | emojify }} {{ .Title | emojify }}
</h1> </h1>
<div class="mt-8 mb-12 text-base text-neutral-500 dark:text-neutral-400 print:hidden"> <div class="mb-12 mt-8 text-base text-neutral-500 print:hidden dark:text-neutral-400">
{{ partial "article-meta.html" (dict "context" . "scope" "single") }} {{ partial "article-meta.html" (dict "context" . "scope" "single") }}
</div> </div>
ß
{{ with $feature }} {{ with $feature }}
<div class="prose"> <div class="prose">
{{ $altText := $.Params.featureAlt | default $.Params.coverAlt | default "" }} {{ $altText := $.Params.featureAlt | default $.Params.coverAlt | default "" }}
{{ $class := "mb-6 -mt-4 rounded-md" }} {{ $class := "mb-6 -mt-4 rounded-md" }}
{{ partial "picture.html" (dict "img" . "alt" $altText "class" $class "lazy" false) }} {{ partial "picture.html" (dict "img" . "alt" $altText "class" $class "lazy" false) }}
{{ with $.Params.coverCaption }} {{ with $.Params.coverCaption }}
<figcaption class="mb-6 -mt-3 text-center">{{ . | markdownify }}</figcaption> <figcaption class="-mt-3 mb-6 text-center">{{ . | markdownify }}</figcaption>
{{ end }} {{ end }}
</div> </div>
{{ end }} {{ end }}
</header> </header>
<section class="flex flex-col max-w-full mt-0 prose dark:prose-invert lg:flex-row"> <section class="prose mt-0 flex max-w-full flex-col dark:prose-invert lg:flex-row">
{{ if and (.Params.showTableOfContents | default (.Site.Params.article.showTableOfContents | default false)) (in .TableOfContents "<ul") }} {{ if and (.Params.showTableOfContents | default (.Site.Params.article.showTableOfContents | default false)) (in .TableOfContents "<ul") }}
<div class="order-first px-0 lg:order-last lg:max-w-xs lg:ps-8"> <div class="order-first px-0 lg:order-last lg:max-w-xs lg:ps-8">
<div class="toc pe-5 print:hidden lg:sticky lg:top-10"> <div class="toc pe-5 print:hidden lg:sticky lg:top-10">
@ -32,11 +33,11 @@
</div> </div>
</div> </div>
{{ end }} {{ end }}
<div class="min-w-0 min-h-0 max-w-prose grow"> <div class="min-h-0 min-w-0 max-w-prose grow">
{{ .Content | emojify }} {{ .Content | emojify }}
</div> </div>
</section> </section>
<footer class="pt-8 max-w-prose print:hidden"> <footer class="max-w-prose pt-8 print:hidden">
{{ partial "author.html" . }} {{ partial "author.html" . }}
{{ partial "sharing-links.html" . }} {{ partial "sharing-links.html" . }}
{{ partial "article-pagination.html" . }} {{ partial "article-pagination.html" . }}

View File

@ -6,15 +6,15 @@
<h1 class="mt-0 text-4xl font-extrabold text-neutral-900 dark:text-neutral">{{ .Title }}</h1> <h1 class="mt-0 text-4xl font-extrabold text-neutral-900 dark:text-neutral">{{ .Title }}</h1>
</header> </header>
{{ if .Content }} {{ if .Content }}
<section class="flex flex-col max-w-full mt-0 prose dark:prose-invert lg:flex-row"> <section class="prose mt-0 flex max-w-full flex-col dark:prose-invert lg:flex-row">
<div class="min-w-0 min-h-0 max-w-prose grow"> <div class="min-h-0 min-w-0 max-w-prose grow">
{{ .Content | emojify }} {{ .Content | emojify }}
</div> </div>
</section> </section>
{{ end }} {{ end }}
<section class="flex flex-wrap -mx-2 overflow-hidden"> <section class="-mx-2 flex flex-wrap overflow-hidden">
{{ range .Data.Terms }} {{ range .Data.Terms }}
<article class="w-full px-2 my-3 overflow-hidden sm:w-1/2 md:w-1/3 lg:w-1/4 xl:w-1/5"> <article class="my-3 w-full overflow-hidden px-2 sm:w-1/2 md:w-1/3 lg:w-1/4 xl:w-1/5">
<h2 class="flex items-center"> <h2 class="flex items-center">
<a <a
class="text-xl font-medium decoration-primary-500 hover:underline hover:underline-offset-2" class="text-xl font-medium decoration-primary-500 hover:underline hover:underline-offset-2"

View File

@ -6,8 +6,8 @@
<h1 class="mt-0 text-4xl font-extrabold text-neutral-900 dark:text-neutral">{{ .Title }}</h1> <h1 class="mt-0 text-4xl font-extrabold text-neutral-900 dark:text-neutral">{{ .Title }}</h1>
</header> </header>
{{ if .Content }} {{ if .Content }}
<section class="flex flex-col max-w-full mt-0 prose dark:prose-invert lg:flex-row"> <section class="prose mt-0 flex max-w-full flex-col dark:prose-invert lg:flex-row">
<div class="min-w-0 min-h-0 max-w-prose grow"> <div class="min-h-0 min-w-0 max-w-prose grow">
{{ .Content | emojify }} {{ .Content | emojify }}
</div> </div>
</section> </section>
@ -20,7 +20,7 @@
<h2 class="mt-12 text-2xl font-bold text-neutral-700 first:mt-8 dark:text-neutral-300"> <h2 class="mt-12 text-2xl font-bold text-neutral-700 first:mt-8 dark:text-neutral-300">
{{ .Key }} {{ .Key }}
</h2> </h2>
<hr class="border-dotted w-36 border-neutral-400" /> <hr class="w-36 border-dotted border-neutral-400" />
{{ range .Pages }} {{ range .Pages }}
{{ partial "article-link.html" . }} {{ partial "article-link.html" . }}
{{ end }} {{ end }}
@ -33,8 +33,8 @@
</section> </section>
{{ partial "pagination.html" . }} {{ partial "pagination.html" . }}
{{ else }} {{ else }}
<section class="mt-10 prose dark:prose-invert"> <section class="prose mt-10 dark:prose-invert">
<p class="py-8 border-t"> <p class="border-t py-8">
<em>{{ i18n "list.no_articles" | emojify }}</em> <em>{{ i18n "list.no_articles" | emojify }}</em>
</p> </p>
</section> </section>

View File

@ -3,10 +3,12 @@
<script defer src="https://cdn.usefathom.com/script.js" data-site="{{ . }}"></script> <script defer src="https://cdn.usefathom.com/script.js" data-site="{{ . }}"></script>
{{ end }} {{ end }}
{{ with site.Params.plausibleAnalytics.domain }} {{ with site.Params.plausibleAnalytics.domain }}
<script defer <script
defer
data-domain="{{ . }}" data-domain="{{ . }}"
data-api="{{ default "https://plausible.io/api/event" site.Params.plausibleAnalytics.event }}" data-api="{{ default "https://plausible.io/api/event" site.Params.plausibleAnalytics.event }}"
src="{{ default "https://plausible.io/js/script.js" site.Params.plausibleAnalytics.script }}"></script> src="{{ default "https://plausible.io/js/script.js" site.Params.plausibleAnalytics.script }}"
></script>
{{ end }} {{ end }}
{{ template "_internal/google_analytics.html" . }} {{ template "_internal/google_analytics.html" . }}
{{ end }} {{ end }}

View File

@ -21,9 +21,7 @@
class="w-24 rounded-md sm:w-40" srcset=" class="w-24 rounded-md sm:w-40" srcset="
{{- (.Fill "160x120 smart").RelPermalink }} {{- (.Fill "160x120 smart").RelPermalink }}
160w, {{- (.Fill "320x240 smart").RelPermalink }} 2x" 160w, {{- (.Fill "320x240 smart").RelPermalink }} 2x"
src="{{ (.Fill "160x120 smart").RelPermalink }}" src="{{ (.Fill "160x120 smart").RelPermalink }}" width="160" height="120"
width="160"
height="120"
{{ end }} {{ end }}
{{ if $.Site.Params.enableImageLazyLoading | default true }} {{ if $.Site.Params.enableImageLazyLoading | default true }}
loading="lazy" loading="lazy"

View File

@ -50,7 +50,7 @@
(and (ne $scope "single") (.Params.showTaxonomies | default (.Site.Params.list.showTaxonomies | default (.Site.Params.article.showTaxonomies | default false)))) (and (ne $scope "single") (.Params.showTaxonomies | default (.Site.Params.list.showTaxonomies | default (.Site.Params.article.showTaxonomies | default false))))
(and (eq $scope "single") (.Params.showTaxonomies | default (.Site.Params.article.showTaxonomies | default false))) (and (eq $scope "single") (.Params.showTaxonomies | default (.Site.Params.article.showTaxonomies | default false)))
}} }}
<div class="flex flex-wrap my-1 text-xs leading-relaxed text-neutral-500 dark:text-neutral-400 "> <div class="my-1 flex flex-wrap text-xs leading-relaxed text-neutral-500 dark:text-neutral-400">
{{ range $taxonomy, $terms := .Site.Taxonomies }} {{ range $taxonomy, $terms := .Site.Taxonomies }}
{{ if (gt (len ($context.GetTerms $taxonomy)) 0) }} {{ if (gt (len ($context.GetTerms $taxonomy)) 0) }}
{{ range $context.GetTerms $taxonomy }} {{ range $context.GetTerms $taxonomy }}

View File

@ -1,4 +1,4 @@
<ol class="text-sm text-neutral-500 dark:text-neutral-400 print:hidden"> <ol class="text-sm text-neutral-500 print:hidden dark:text-neutral-400">
{{ template "crumb" (dict "p1" . "p2" .) }} {{ template "crumb" (dict "p1" . "p2" .) }}
</ol> </ol>
{{ define "crumb" }} {{ define "crumb" }}
@ -7,9 +7,9 @@
{{ else if not .p1.IsHome }} {{ else if not .p1.IsHome }}
{{ template "crumb" (dict "p1" .p1.Site.Home "p2" .p2 ) }} {{ template "crumb" (dict "p1" .p1.Site.Home "p2" .p2 ) }}
{{ end }} {{ end }}
<li class="inline {{ if or (eq .p1 .p2) (.p1.IsHome) }}hidden{{ end }}"> <li class="{{ if or (eq .p1 .p2) (.p1.IsHome) }}hidden{{ end }} inline">
<a <a
class="hover:underline decoration-neutral-300 dark:underline-neutral-600" class="dark:underline-neutral-600 decoration-neutral-300 hover:underline"
href="{{ .p1.RelPermalink }}" href="{{ .p1.RelPermalink }}"
>{{ if .p1.Title }} >{{ if .p1.Title }}
{{- .p1.Title -}} {{- .p1.Title -}}

View File

@ -2,12 +2,12 @@
{{/* Footer menu */}} {{/* Footer menu */}}
{{ if .Site.Menus.footer }} {{ if .Site.Menus.footer }}
<nav class="pb-4 text-base font-medium text-neutral-500 dark:text-neutral-400"> <nav class="pb-4 text-base font-medium text-neutral-500 dark:text-neutral-400">
<ul class="flex flex-col list-none sm:flex-row"> <ul class="flex list-none flex-col sm:flex-row">
{{ range .Site.Menus.footer }} {{ range .Site.Menus.footer }}
{{ if and (eq .Params.action "locale") (or (not page.IsTranslated) (not site.IsMultiLingual)) }} {{ if and (eq .Params.action "locale") (or (not page.IsTranslated) (not site.IsMultiLingual)) }}
{{ continue }} {{ continue }}
{{ end }} {{ end }}
<li class="mb-1 group text-end sm:mb-0 sm:me-7 sm:last:me-0"> <li class="group mb-1 text-end sm:mb-0 sm:me-7 sm:last:me-0">
{{ if eq .Params.action "search" }} {{ if eq .Params.action "search" }}
{{ $.Scratch.Add "searchCount" 1 }} {{ $.Scratch.Add "searchCount" 1 }}
{{ if $.Site.Params.enableSearch | default false }} {{ if $.Site.Params.enableSearch | default false }}
@ -17,7 +17,7 @@
> >
{{ with .Params.icon }} {{ with .Params.icon }}
<span <span
class="transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600" class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600"
> >
{{- partial "icon.html" . -}} {{- partial "icon.html" . -}}
</span> </span>
@ -37,13 +37,13 @@
aria-label="appearance switcher" aria-label="appearance switcher"
> >
<span <span
class="inline transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600 dark:hidden" class="group-dark:hover:text-primary-400 inline transition-colors group-hover:text-primary-600 dark:hidden"
title="{{ i18n "footer.dark_appearance" }}" title="{{ i18n "footer.dark_appearance" }}"
> >
{{ partial "icon.html" "moon" }} {{ partial "icon.html" "moon" }}
</span> </span>
<span <span
class="hidden transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600 dark:inline" class="group-dark:hover:text-primary-400 hidden transition-colors group-hover:text-primary-600 dark:inline"
title="{{ i18n "footer.light_appearance" }}" title="{{ i18n "footer.light_appearance" }}"
> >
{{ partial "icon.html" "sun" }} {{ partial "icon.html" "sun" }}
@ -59,7 +59,7 @@
{{ with .Params.target }}target="{{ . }}"{{ end }} {{ with .Params.target }}target="{{ . }}"{{ end }}
>{{ with .Params.icon }} >{{ with .Params.icon }}
<span <span
class="transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600" class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600"
> >
{{- partial "icon.html" . -}} {{- partial "icon.html" . -}}
</span> </span>
@ -117,13 +117,13 @@
> >
<button id="appearance-switcher-0" type="button" aria-label="appearance switcher"> <button id="appearance-switcher-0" type="button" aria-label="appearance switcher">
<div <div
class="flex items-center justify-center w-12 h-12 dark:hidden" class="flex h-12 w-12 items-center justify-center dark:hidden"
title="{{ i18n "footer.dark_appearance" }}" title="{{ i18n "footer.dark_appearance" }}"
> >
{{ partial "icon.html" "moon" }} {{ partial "icon.html" "moon" }}
</div> </div>
<div <div
class="items-center justify-center hidden w-12 h-12 dark:flex" class="hidden h-12 w-12 items-center justify-center dark:flex"
title="{{ i18n "footer.light_appearance" }}" title="{{ i18n "footer.light_appearance" }}"
> >
{{ partial "icon.html" "sun" }} {{ partial "icon.html" "sun" }}

View File

@ -1,4 +1,4 @@
<header class="py-6 font-semibold text-neutral-900 dark:text-neutral print:hidden sm:py-10"> <header class="py-6 font-semibold text-neutral-900 print:hidden sm:py-10 dark:text-neutral">
<nav class="flex items-start justify-between sm:items-center"> <nav class="flex items-start justify-between sm:items-center">
{{/* Site logo/title */}} {{/* Site logo/title */}}
<div class="flex flex-row items-center"> <div class="flex flex-row items-center">
@ -6,7 +6,7 @@
</div> </div>
{{/* Main menu */}} {{/* Main menu */}}
{{ if or .Site.Menus.main (.Site.Params.enableSearch | default false) }} {{ if or .Site.Menus.main (.Site.Params.enableSearch | default false) }}
<ul class="flex flex-col list-none text-end sm:flex-row"> <ul class="flex list-none flex-col text-end sm:flex-row">
{{ if .Site.Menus.main }} {{ if .Site.Menus.main }}
{{ range .Site.Menus.main }} {{ range .Site.Menus.main }}
{{ if and (eq .Params.action "locale") (or (not page.IsTranslated) (not site.IsMultiLingual)) }} {{ if and (eq .Params.action "locale") (or (not page.IsTranslated) (not site.IsMultiLingual)) }}
@ -22,7 +22,7 @@
> >
{{ with .Params.icon | default "search" }} {{ with .Params.icon | default "search" }}
<span <span
class="transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600" class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600"
> >
{{- partial "icon.html" . -}} {{- partial "icon.html" . -}}
</span> </span>
@ -42,7 +42,7 @@
aria-label="appearance switcher" aria-label="appearance switcher"
> >
<span <span
class="inline transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600 dark:hidden" class="group-dark:hover:text-primary-400 inline transition-colors group-hover:text-primary-600 dark:hidden"
title="{{ i18n "footer.dark_appearance" }}" title="{{ i18n "footer.dark_appearance" }}"
> >
{{ with .Params.icon | default "moon" }} {{ with .Params.icon | default "moon" }}
@ -56,7 +56,7 @@
{{ end }} {{ end }}
</span> </span>
<span <span
class="hidden transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600 dark:inline" class="group-dark:hover:text-primary-400 hidden transition-colors group-hover:text-primary-600 dark:inline"
title="{{ i18n "footer.light_appearance" }}" title="{{ i18n "footer.light_appearance" }}"
> >
{{ with .Params.icon | default "sun" }} {{ with .Params.icon | default "sun" }}
@ -80,7 +80,7 @@
{{ with .Params.target }}target="{{ . }}"{{ end }} {{ with .Params.target }}target="{{ . }}"{{ end }}
>{{ with .Params.icon }} >{{ with .Params.icon }}
<span <span
class="transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600" class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600"
> >
{{- partial "icon.html" . -}} {{- partial "icon.html" . -}}
</span> </span>
@ -95,10 +95,10 @@
</li> </li>
{{ end }} {{ end }}
{{ if and ($.Site.Params.enableSearch | default false) (eq ($.Scratch.Get "searchCount") 0) }} {{ if and ($.Site.Params.enableSearch | default false) (eq ($.Scratch.Get "searchCount") 0) }}
<li class="mb-1 group sm:mb-0 sm:me-7 sm:last:me-0"> <li class="group mb-1 sm:mb-0 sm:me-7 sm:last:me-0">
<button id="search-button-m0" title="{{ i18n "search.open_button_title" }}"> <button id="search-button-m0" title="{{ i18n "search.open_button_title" }}">
<span <span
class="transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600" class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600"
> >
{{ partial "icon.html" "search" }} {{ partial "icon.html" "search" }}
</span> </span>

View File

@ -1,4 +1,4 @@
<header class="py-6 font-semibold text-neutral-900 dark:text-neutral print:hidden sm:py-10"> <header class="py-6 font-semibold text-neutral-900 print:hidden sm:py-10 dark:text-neutral">
<nav class="flex items-start justify-between sm:items-center"> <nav class="flex items-start justify-between sm:items-center">
{{/* Site logo/title */}} {{/* Site logo/title */}}
<div class="z-40 flex flex-row items-center"> <div class="z-40 flex flex-row items-center">
@ -13,10 +13,10 @@
</div> </div>
<div <div
id="menu-wrapper" id="menu-wrapper"
class="fixed inset-0 z-30 invisible w-full h-full m-auto overflow-auto transition-opacity opacity-0 cursor-default bg-neutral-100/50 backdrop-blur-sm dark:bg-neutral-900/50" class="invisible fixed inset-0 z-30 m-auto h-full w-full cursor-default overflow-auto bg-neutral-100/50 opacity-0 backdrop-blur-sm transition-opacity dark:bg-neutral-900/50"
> >
<ul <ul
class="flex flex-col w-full px-6 py-6 mx-auto overflow-visible list-none max-w-7xl text-end sm:px-14 sm:py-10 sm:pt-10 md:px-24 lg:px-32" class="mx-auto flex w-full max-w-7xl list-none flex-col overflow-visible px-6 py-6 text-end sm:px-14 sm:py-10 sm:pt-10 md:px-24 lg:px-32"
> >
<li class="mb-1"> <li class="mb-1">
<span class="cursor-pointer hover:text-primary-600 dark:hover:text-primary-400" <span class="cursor-pointer hover:text-primary-600 dark:hover:text-primary-400"
@ -28,7 +28,7 @@
{{ if and (eq .Params.action "locale") (or (not page.IsTranslated) (not site.IsMultiLingual)) }} {{ if and (eq .Params.action "locale") (or (not page.IsTranslated) (not site.IsMultiLingual)) }}
{{ continue }} {{ continue }}
{{ end }} {{ end }}
<li class="mb-1 group"> <li class="group mb-1">
{{ if eq .Params.action "search" }} {{ if eq .Params.action "search" }}
{{ $.Scratch.Add "searchCount" 1 }} {{ $.Scratch.Add "searchCount" 1 }}
{{ if $.Site.Params.enableSearch | default false }} {{ if $.Site.Params.enableSearch | default false }}
@ -38,7 +38,7 @@
> >
{{ with .Params.icon | default "search" }} {{ with .Params.icon | default "search" }}
<span <span
class="transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600" class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600"
> >
{{- partial "icon.html" . -}} {{- partial "icon.html" . -}}
</span> </span>
@ -58,7 +58,7 @@
aria-label="appearance switcher" aria-label="appearance switcher"
> >
<span <span
class="inline transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600 dark:hidden" class="group-dark:hover:text-primary-400 inline transition-colors group-hover:text-primary-600 dark:hidden"
title="{{ i18n "footer.dark_appearance" }}" title="{{ i18n "footer.dark_appearance" }}"
> >
{{ with .Params.icon | default "moon" }} {{ with .Params.icon | default "moon" }}
@ -72,7 +72,7 @@
{{ end }} {{ end }}
</span> </span>
<span <span
class="hidden transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600 dark:inline" class="group-dark:hover:text-primary-400 hidden transition-colors group-hover:text-primary-600 dark:inline"
title="{{ i18n "footer.light_appearance" }}" title="{{ i18n "footer.light_appearance" }}"
> >
{{ with .Params.icon | default "sun" }} {{ with .Params.icon | default "sun" }}
@ -97,7 +97,7 @@
{{ with .Params.target }}target="{{ . }}"{{ end }} {{ with .Params.target }}target="{{ . }}"{{ end }}
>{{ with .Params.icon }} >{{ with .Params.icon }}
<span <span
class="transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600" class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600"
> >
{{- partial "icon.html" . -}} {{- partial "icon.html" . -}}
</span> </span>
@ -112,10 +112,10 @@
</li> </li>
{{ end }} {{ end }}
{{ if and ($.Site.Params.enableSearch | default false) (eq ($.Scratch.Get "searchCount") 0) }} {{ if and ($.Site.Params.enableSearch | default false) (eq ($.Scratch.Get "searchCount") 0) }}
<li class="mb-1 group"> <li class="group mb-1">
<button id="search-button-m0" title="{{ i18n "search.open_button_title" }}"> <button id="search-button-m0" title="{{ i18n "search.open_button_title" }}">
<span <span
class="transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600" class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600"
> >
{{ partial "icon.html" "search" }} {{ partial "icon.html" "search" }}
</span> </span>

View File

@ -1,4 +1,4 @@
<header class="py-6 font-semibold text-neutral-900 dark:text-neutral print:hidden sm:py-10"> <header class="py-6 font-semibold text-neutral-900 print:hidden sm:py-10 dark:text-neutral">
<nav class="flex items-start justify-between sm:items-center"> <nav class="flex items-start justify-between sm:items-center">
{{/* Site logo/title */}} {{/* Site logo/title */}}
<div class="z-40 flex flex-row items-center"> <div class="z-40 flex flex-row items-center">
@ -13,10 +13,10 @@
</div> </div>
<div <div
id="menu-wrapper" id="menu-wrapper"
class="fixed inset-0 z-30 invisible w-full h-full m-auto overflow-auto transition-opacity opacity-0 cursor-default bg-neutral-100/50 backdrop-blur-sm dark:bg-neutral-900/50" class="invisible fixed inset-0 z-30 m-auto h-full w-full cursor-default overflow-auto bg-neutral-100/50 opacity-0 backdrop-blur-sm transition-opacity dark:bg-neutral-900/50"
> >
<ul <ul
class="flex flex-col w-full px-6 py-6 mx-auto overflow-visible list-none max-w-7xl text-end sm:px-14 sm:py-10 sm:pt-10 md:px-24 lg:px-32" class="mx-auto flex w-full max-w-7xl list-none flex-col overflow-visible px-6 py-6 text-end sm:px-14 sm:py-10 sm:pt-10 md:px-24 lg:px-32"
> >
<li class="mb-1"> <li class="mb-1">
<span class="cursor-pointer hover:text-primary-600 dark:hover:text-primary-400" <span class="cursor-pointer hover:text-primary-600 dark:hover:text-primary-400"
@ -28,7 +28,7 @@
{{ if and (eq .Params.action "locale") (or (not page.IsTranslated) (not site.IsMultiLingual)) }} {{ if and (eq .Params.action "locale") (or (not page.IsTranslated) (not site.IsMultiLingual)) }}
{{ continue }} {{ continue }}
{{ end }} {{ end }}
<li class="mb-1 group"> <li class="group mb-1">
{{ if eq .Params.action "search" }} {{ if eq .Params.action "search" }}
{{ $.Scratch.Add "searchCount" 1 }} {{ $.Scratch.Add "searchCount" 1 }}
{{ if $.Site.Params.enableSearch | default false }} {{ if $.Site.Params.enableSearch | default false }}
@ -38,7 +38,7 @@
> >
{{ with .Params.icon | default "search" }} {{ with .Params.icon | default "search" }}
<span <span
class="transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600" class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600"
> >
{{- partial "icon.html" . -}} {{- partial "icon.html" . -}}
</span> </span>
@ -58,7 +58,7 @@
aria-label="appearance switcher" aria-label="appearance switcher"
> >
<span <span
class="inline transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600 dark:hidden" class="group-dark:hover:text-primary-400 inline transition-colors group-hover:text-primary-600 dark:hidden"
title="{{ i18n "footer.dark_appearance" }}" title="{{ i18n "footer.dark_appearance" }}"
> >
{{ with .Params.icon | default "moon" }} {{ with .Params.icon | default "moon" }}
@ -72,7 +72,7 @@
{{ end }} {{ end }}
</span> </span>
<span <span
class="hidden transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600 dark:inline" class="group-dark:hover:text-primary-400 hidden transition-colors group-hover:text-primary-600 dark:inline"
title="{{ i18n "footer.light_appearance" }}" title="{{ i18n "footer.light_appearance" }}"
> >
{{ with .Params.icon | default "sun" }} {{ with .Params.icon | default "sun" }}
@ -97,7 +97,7 @@
{{ with .Params.target }}target="{{ . }}"{{ end }} {{ with .Params.target }}target="{{ . }}"{{ end }}
>{{ with .Params.icon }} >{{ with .Params.icon }}
<span <span
class="transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600" class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600"
> >
{{- partial "icon.html" . -}} {{- partial "icon.html" . -}}
</span> </span>
@ -112,10 +112,10 @@
</li> </li>
{{ end }} {{ end }}
{{ if and ($.Site.Params.enableSearch | default false) (eq ($.Scratch.Get "searchCount") 0) }} {{ if and ($.Site.Params.enableSearch | default false) (eq ($.Scratch.Get "searchCount") 0) }}
<li class="mb-1 group"> <li class="group mb-1">
<button id="search-button-m0" title="{{ i18n "search.open_button_title" }}"> <button id="search-button-m0" title="{{ i18n "search.open_button_title" }}">
<span <span
class="transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600" class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600"
> >
{{ partial "icon.html" "search" }} {{ partial "icon.html" "search" }}
</span> </span>
@ -127,13 +127,13 @@
</div> </div>
</label> </label>
{{/* Basic menu */}} {{/* Basic menu */}}
<ul class="flex-row hidden list-none text-end sm:flex"> <ul class="hidden list-none flex-row text-end sm:flex">
{{ if .Site.Menus.main }} {{ if .Site.Menus.main }}
{{ range .Site.Menus.main }} {{ range .Site.Menus.main }}
{{ if and (eq .Params.action "locale") (or (not page.IsTranslated) (not site.IsMultiLingual)) }} {{ if and (eq .Params.action "locale") (or (not page.IsTranslated) (not site.IsMultiLingual)) }}
{{ continue }} {{ continue }}
{{ end }} {{ end }}
<li class="mb-1 group sm:mb-0 sm:me-7 sm:last:me-0"> <li class="group mb-1 sm:mb-0 sm:me-7 sm:last:me-0">
{{ if eq .Params.action "search" }} {{ if eq .Params.action "search" }}
{{ $.Scratch.Add "searchCount" 1 }} {{ $.Scratch.Add "searchCount" 1 }}
{{ if $.Site.Params.enableSearch | default false }} {{ if $.Site.Params.enableSearch | default false }}
@ -143,7 +143,7 @@
> >
{{ with .Params.icon | default "search" }} {{ with .Params.icon | default "search" }}
<span <span
class="transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600" class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600"
> >
{{- partial "icon.html" . -}} {{- partial "icon.html" . -}}
</span> </span>
@ -163,7 +163,7 @@
aria-label="appearance switcher" aria-label="appearance switcher"
> >
<span <span
class="inline transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600 dark:hidden" class="group-dark:hover:text-primary-400 inline transition-colors group-hover:text-primary-600 dark:hidden"
title="{{ i18n "footer.dark_appearance" }}" title="{{ i18n "footer.dark_appearance" }}"
> >
{{ with .Params.icon | default "moon" }} {{ with .Params.icon | default "moon" }}
@ -177,7 +177,7 @@
{{ end }} {{ end }}
</span> </span>
<span <span
class="hidden transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600 dark:inline" class="group-dark:hover:text-primary-400 hidden transition-colors group-hover:text-primary-600 dark:inline"
title="{{ i18n "footer.light_appearance" }}" title="{{ i18n "footer.light_appearance" }}"
> >
{{ with .Params.icon | default "sun" }} {{ with .Params.icon | default "sun" }}
@ -201,7 +201,7 @@
{{ with .Params.target }}target="{{ . }}"{{ end }} {{ with .Params.target }}target="{{ . }}"{{ end }}
>{{ with .Params.icon }} >{{ with .Params.icon }}
<span <span
class="transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600" class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600"
> >
{{- partial "icon.html" . -}} {{- partial "icon.html" . -}}
</span> </span>
@ -216,10 +216,10 @@
</li> </li>
{{ end }} {{ end }}
{{ if and ($.Site.Params.enableSearch | default false) (eq ($.Scratch.Get "searchCount") 0) }} {{ if and ($.Site.Params.enableSearch | default false) (eq ($.Scratch.Get "searchCount") 0) }}
<li class="mb-1 group sm:mb-0 sm:me-7 sm:last:me-0"> <li class="group mb-1 sm:mb-0 sm:me-7 sm:last:me-0">
<button id="search-button-m1" title="{{ i18n "search.open_button_title" }}"> <button id="search-button-m1" title="{{ i18n "search.open_button_title" }}">
<span <span
class="transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600" class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600"
> >
{{ partial "icon.html" "search" }} {{ partial "icon.html" "search" }}
</span> </span>

View File

@ -1,4 +1,4 @@
<article class="max-w-full prose dark:prose-invert"> <article class="prose max-w-full dark:prose-invert">
{{ with .Title }} {{ with .Title }}
<header> <header>
<h1>{{ . | emojify }}</h1> <h1>{{ . | emojify }}</h1>

View File

@ -1,6 +1,6 @@
{{- $icon := resources.Get (print "icons/" . ".svg") -}} {{- $icon := resources.Get (print "icons/" . ".svg") -}}
{{- if $icon -}} {{- if $icon -}}
<span class="relative inline-block align-text-bottom px-1 icon"> <span class="icon relative inline-block px-1 align-text-bottom">
{{- $icon.Content | safeHTML -}} {{- $icon.Content | safeHTML -}}
</span> </span>
{{- end -}} {{- end -}}

View File

@ -3,22 +3,24 @@
{{- $logo_dark := resources.Get .Site.Params.header.logoDark }} {{- $logo_dark := resources.Get .Site.Params.header.logoDark }}
{{- if $logo }} {{- if $logo }}
<a href="{{ "" | relLangURL }}" class="mr-2"> <a href="{{ "" | relLangURL }}" class="mr-2">
<!-- prettier-ignore-attribute -->
<img <img
src="{{ $logo.RelPermalink }}" src="{{ $logo.RelPermalink }}"
width="{{ div $logo.Width 2 }}" width="{{ div $logo.Width 2 }}"
height="{{ div $logo.Height 2 }}" height="{{ div $logo.Height 2 }}"
class="max-h-[10rem] max-w-[10rem] object-scale-down object-left{{ if $logo_dark }} hidden dark:flex{{ end }}" class="max-h-[10rem] max-w-[10rem] object-scale-down object-left
{{ if $logo_dark }}hidden dark:flex{{ end }}"
alt="{{ .Site.Title }}" alt="{{ .Site.Title }}"
/> />
{{- if $logo_dark }} {{- if $logo_dark }}
<img <img
src="{{ $logo_dark.RelPermalink }}" src="{{ $logo_dark.RelPermalink }}"
width="{{ div $logo_dark.Width 2 }}" width="{{ div $logo_dark.Width 2 }}"
height="{{ div $logo_dark.Height 2 }}" height="{{ div $logo_dark.Height 2 }}"
class="max-h-[10rem] max-w-[10rem] object-scale-down object-left dark:hidden" class="max-h-[10rem] max-w-[10rem] object-scale-down object-left dark:hidden"
alt="{{ .Site.Title }}" alt="{{ .Site.Title }}"
/> />
{{- end}} {{- end }}
</a> </a>
{{- end }} {{- end }}
{{- end }} {{- end }}

View File

@ -4,8 +4,7 @@
{{- if gt .TotalPages 1 }} {{- if gt .TotalPages 1 }}
{{- $start := math.Max 1 (sub .PageNumber $width) }} {{- $start := math.Max 1 (sub .PageNumber $width) }}
{{- $end := math.Min .TotalPages (add $start (mul $width 2)) }} {{- $end := math.Min .TotalPages (add $start (mul $width 2)) }}
<ul class="mt-8 flex flex-row">
<ul class="flex flex-row mt-8">
{{- with .Prev }} {{- with .Prev }}
<li> <li>
<a <a
@ -18,7 +17,6 @@
</a> </a>
</li> </li>
{{- end }} {{- end }}
{{- with .First }} {{- with .First }}
{{- if gt $currentPageNumber (add 1 $width) }} {{- if gt $currentPageNumber (add 1 $width) }}
<li class="mx-1 min-w-[1.8rem] text-center"> <li class="mx-1 min-w-[1.8rem] text-center">
@ -35,14 +33,13 @@
{{- end }} {{- end }}
{{- end }} {{- end }}
{{- end }} {{- end }}
{{- range $i := seq $start $end }} {{- range $i := seq $start $end }}
<li class="mx-1 min-w-[1.8rem] text-center"> <li class="mx-1 min-w-[1.8rem] text-center">
{{- if eq $.Paginator.PageNumber $i }} {{- if eq $.Paginator.PageNumber $i }}
<span <span
aria-current="page" aria-current="page"
aria-label="Page {{ $i }}" aria-label="Page {{ $i }}"
class="block font-semibold rounded bg-primary-200 text-primary-700 dark:bg-primary-400 dark:text-neutral-800" class="block rounded bg-primary-200 font-semibold text-primary-700 dark:bg-primary-400 dark:text-neutral-800"
> >
{{ $i }} {{ $i }}
</span> </span>
@ -57,7 +54,6 @@
{{- end }} {{- end }}
</li> </li>
{{- end }} {{- end }}
{{- with .Last }} {{- with .Last }}
{{- if and (lt $currentPageNumber (sub .TotalPages $width)) (lt $end .TotalPages) }} {{- if and (lt $currentPageNumber (sub .TotalPages $width)) (lt $end .TotalPages) }}
{{- if lt $currentPageNumber (sub .TotalPages (add $width 1)) }} {{- if lt $currentPageNumber (sub .TotalPages (add $width 1)) }}
@ -74,7 +70,6 @@
</li> </li>
{{- end }} {{- end }}
{{- end }} {{- end }}
{{- with .Next }} {{- with .Next }}
<li> <li>
<a <a

View File

@ -8,8 +8,8 @@
{{ with $img }} {{ with $img }}
{{ if (eq .MediaType.SubType "svg") }} {{ if (eq .MediaType.SubType "svg") }}
{{ $width := ""}} {{ $width := "" }}
{{ $height := ""}} {{ $height := "" }}
{{ $svgContent := .Content }} {{ $svgContent := .Content }}
{{ range (findRESubmatch `<svg[^>]*width=["']([.0-9]*)["'a-zA-Z]` $svgContent 1) }} {{ range (findRESubmatch `<svg[^>]*width=["']([.0-9]*)["'a-zA-Z]` $svgContent 1) }}
{{ $width = index . 1 }} {{ $width = index . 1 }}
@ -28,39 +28,39 @@
{{/* do not use lazy without dimensions */}} {{/* do not use lazy without dimensions */}}
{{ $lazy = false }} {{ $lazy = false }}
{{ end }} {{ end }}
<!-- prettier-ignore -->
<picture {{ with $class }} class="{{ . }}" {{ end }}> <picture {{ with $class }} class="{{ . }}" {{ end }}>
<img <img
src="{{ .RelPermalink }}" src="{{ .RelPermalink }}"
{{ with $width }} width="{{ . }}" {{ end }} {{ with $width }}width="{{ . }}"{{ end }}
{{ with $height }} height="{{ . }}" {{ end }} {{ with $height }}height="{{ . }}"{{ end }}
{{ with $class }} class="{{ . }}" {{ end }} {{ with $class }}class="{{ . }}"{{ end }}
{{ with $alt }} alt="{{ . }}" {{ end }} {{ with $alt }}alt="{{ . }}"{{ end }}
{{ with $lazy }} loading="lazy" decoding="async" {{ end }} {{ with $lazy }}loading="lazy" decoding="async"{{ end }}
> />
</picture> </picture>
{{ else }} {{ else }}
<picture <picture
{{ with $class }} class="{{ . }}" {{ end }} {{ with $class }}class="{{ . }}"{{ end }}
{{ if $lqip }} {{ if $lqip }}
{{ $bg := (.Resize "20x webp q20").Content | base64Encode }} {{ $bg := (.Resize "20x webp q20").Content | base64Encode }}
style="background-image:url(data:image/webp;base64,{{ $bg }});background-size:cover" style="background-image:url(data:image/webp;base64,{{ $bg }});background-size:cover"
{{ end }} {{ end }}
> >
{{ $width := .Width }} {{ $width := .Width }}
{{ $height := .Height }} {{ $height := .Height }}
{{ if $x2 }} {{ if $x2 }}
{{ $width = div .Width 2 }} {{ $width = div .Width 2 }}
{{ $height = div .Height 2 }} {{ $height = div .Height 2 }}
{{ end }} {{ end }}
{{ if $webp }} {{ if $webp }}
<source <source
{{ if lt .Width 660 }} {{ if lt .Width 660 }}
{{ with .Resize (printf "%dx%d webp" .Width .Height) }} {{ with .Resize (printf "%dx%d webp" .Width .Height) }}
src="{{ .RelPermalink }}" src="{{ .RelPermalink }}"
{{ end }} {{ end }}
{{ else }} {{ else }}
srcset=" srcset=" {{- (.Resize "330x webp").RelPermalink }} 330w,
{{- (.Resize "330x webp").RelPermalink }} 330w,
{{- (.Resize "660x webp").RelPermalink }} 660w {{- (.Resize "660x webp").RelPermalink }} 660w
{{ if gt .Width 1024 }} {{ if gt .Width 1024 }}
,{{ (.Resize "1024x webp").RelPermalink }} 1024w ,{{ (.Resize "1024x webp").RelPermalink }} 1024w
@ -76,24 +76,24 @@
,{{ .RelPermalink }} {{ .Width }}w ,{{ .RelPermalink }} {{ .Width }}w
{{ end }} {{ end }}
{{ end }}" {{ end }}"
src="{{ (.Resize "660x webp").RelPermalink }}" src="{{ (.Resize "660x webp").RelPermalink }}"
{{ end }} {{ end }}
type="image/webp" type="image/webp"
/> />
{{ end }} {{ end }}
<img <img
src="{{ .RelPermalink }}" src="{{ .RelPermalink }}"
width="{{ $width }}" width="{{ $width }}"
height="{{ $height }}" height="{{ $height }}"
{{ with $class }} class="{{ . }}" {{ end }} {{ with $class }}class="{{ . }}"{{ end }}
{{ with $alt }} alt="{{ . }}" {{ end }} {{ with $alt }}alt="{{ . }}"{{ end }}
{{ with $lazy }} loading="lazy" decoding="async" {{ end }} {{ with $lazy }}loading="lazy" decoding="async"{{ end }}
{{ if lt .Width 660 }} {{ if lt .Width 660 }}
src="{{ .RelPermalink }}" src="{{ .RelPermalink }}"
{{ else }} {{ else }}
srcset=" srcset=" {{- (.Resize "330x").RelPermalink }} 330w,
{{- (.Resize "330x").RelPermalink }} 330w, {{- (.Resize "660x").RelPermalink }}
{{- (.Resize "660x").RelPermalink }} 660w 660w
{{ if gt .Width 1024 }} {{ if gt .Width 1024 }}
,{{ (.Resize "1024x").RelPermalink }} 1024w ,{{ (.Resize "1024x").RelPermalink }} 1024w
{{ else }} {{ else }}
@ -106,7 +106,7 @@
{{ end }}" {{ end }}"
src="{{ (.Resize "660x").RelPermalink }}" src="{{ (.Resize "660x").RelPermalink }}"
{{ end }} {{ end }}
> />
</picture> </picture>
{{ end }} {{ end }}
{{ end }} {{ end }}

View File

@ -1,34 +1,34 @@
<div <div
id="search-wrapper" id="search-wrapper"
class="invisible fixed inset-0 z-50 flex h-screen w-screen cursor-default flex-col bg-neutral-500/50 p-4 backdrop-blur-sm dark:bg-neutral-900/50 sm:p-6 md:p-[10vh] lg:p-[12vh]" class="invisible fixed inset-0 z-50 flex h-screen w-screen cursor-default flex-col bg-neutral-500/50 p-4 backdrop-blur-sm sm:p-6 md:p-[10vh] lg:p-[12vh] dark:bg-neutral-900/50"
data-url="{{ "" | absLangURL }}" data-url="{{ "" | absLangURL }}"
> >
<div <div
id="search-modal" id="search-modal"
class="flex flex-col w-full max-w-3xl min-h-0 mx-auto border rounded-md shadow-lg top-20 border-neutral-200 bg-neutral dark:border-neutral-700 dark:bg-neutral-800" class="top-20 mx-auto flex min-h-0 w-full max-w-3xl flex-col rounded-md border border-neutral-200 bg-neutral shadow-lg dark:border-neutral-700 dark:bg-neutral-800"
> >
<header class="relative z-10 flex items-center justify-between flex-none px-2"> <header class="relative z-10 flex flex-none items-center justify-between px-2">
<form class="flex items-center flex-auto min-w-0"> <form class="flex min-w-0 flex-auto items-center">
<div class="flex items-center justify-center w-8 h-8 text-neutral-400"> <div class="flex h-8 w-8 items-center justify-center text-neutral-400">
{{ partial "icon.html" "search" }} {{ partial "icon.html" "search" }}
</div> </div>
<input <input
type="search" type="search"
id="search-query" id="search-query"
class="flex flex-auto h-12 mx-1 bg-transparent appearance-none focus:outline-dotted focus:outline-2 focus:outline-transparent" class="mx-1 flex h-12 flex-auto appearance-none bg-transparent focus:outline-dotted focus:outline-2 focus:outline-transparent"
placeholder="{{ i18n "search.input_placeholder" }}" placeholder="{{ i18n "search.input_placeholder" }}"
tabindex="0" tabindex="0"
/> />
</form> </form>
<button <button
id="close-search-button" id="close-search-button"
class="flex items-center justify-center w-8 h-8 text-neutral-700 hover:text-primary-600 dark:text-neutral dark:hover:text-primary-400" class="flex h-8 w-8 items-center justify-center text-neutral-700 hover:text-primary-600 dark:text-neutral dark:hover:text-primary-400"
title="{{ i18n "search.close_button_title" }}" title="{{ i18n "search.close_button_title" }}"
> >
{{ partial "icon.html" "xmark" }} {{ partial "icon.html" "xmark" }}
</button> </button>
</header> </header>
<section class="flex-auto px-2 overflow-auto"> <section class="flex-auto overflow-auto px-2">
<ul id="search-results"> <ul id="search-results">
<!-- <li class="mb-2"> <!-- <li class="mb-2">
<a class="flex items-center px-3 py-2 rounded-md appearance-none bg-neutral-100 dark:bg-neutral-700 focus:bg-primary-100 hover:bg-primary-100 dark:hover:bg-primary-900 dark:focus:bg-primary-900 focus:outline-dotted focus:outline-transparent focus:outline-2" href="${value.item.permalink}" tabindex="0"> <a class="flex items-center px-3 py-2 rounded-md appearance-none bg-neutral-100 dark:bg-neutral-700 focus:bg-primary-100 hover:bg-primary-100 dark:hover:bg-primary-900 dark:focus:bg-primary-900 focus:outline-dotted focus:outline-transparent focus:outline-2" href="${value.item.permalink}" tabindex="0">

View File

@ -1,6 +1,6 @@
<details open class="-ms-5 mt-0 overflow-hidden rounded-lg ps-5"> <details open class="-ms-5 mt-0 overflow-hidden rounded-lg ps-5">
<summary <summary
class="-ms-5 block cursor-pointer bg-neutral-100 py-1 ps-5 text-lg font-semibold text-neutral-800 dark:bg-neutral-700 dark:text-neutral-100 lg:hidden" class="-ms-5 block cursor-pointer bg-neutral-100 py-1 ps-5 text-lg font-semibold text-neutral-800 lg:hidden dark:bg-neutral-700 dark:text-neutral-100"
> >
{{ i18n "article.table_of_contents" }} {{ i18n "article.table_of_contents" }}
</summary> </summary>

View File

@ -10,9 +10,9 @@
{{ if .IsTranslated }} {{ if .IsTranslated }}
{{ $currentLang := .Page.Lang }} {{ $currentLang := .Page.Lang }}
{{ if site.IsMultiLingual }} {{ if site.IsMultiLingual }}
<div class="relative group"> <div class="group relative">
<button <button
class="flex items-center justify-end w-full transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600" class="group-dark:hover:text-primary-400 flex w-full items-center justify-end transition-colors group-hover:text-primary-600"
> >
{{ partial "icon.html" "translate" }}<span class="text-sm">{{ .Lang | upper }}</span {{ partial "icon.html" "translate" }}<span class="text-sm">{{ .Lang | upper }}</span
><span class="text-[0.6rem]" ><span class="text-[0.6rem]"
@ -20,10 +20,10 @@
> >
</button> </button>
{{ if eq $dir "down" }} {{ if eq $dir "down" }}
<div class="invisible w-full h-2 bg-transparent group-hover:visible"></div> <div class="invisible h-2 w-full bg-transparent group-hover:visible"></div>
{{ end }} {{ end }}
<div <div
class="{{ cond (eq $dir "down") "top-8" "bottom-7" }} invisible absolute ltr:right-0 rtl:left-0 z-50 flex flex-col whitespace-nowrap rounded border border-neutral-300 bg-neutral text-start text-base shadow group-hover:visible dark:border-neutral-600 dark:bg-neutral-800" class="{{ cond (eq $dir "down") "top-8" "bottom-7" }} invisible absolute z-50 flex flex-col whitespace-nowrap rounded border border-neutral-300 bg-neutral text-start text-base shadow group-hover:visible ltr:right-0 rtl:left-0 dark:border-neutral-600 dark:bg-neutral-800"
> >
{{ $siteLanguages := site.Languages }} {{ $siteLanguages := site.Languages }}
{{ $pageLang := .Page.Lang }} {{ $pageLang := .Page.Lang }}
@ -36,9 +36,9 @@
{{ if eq $pageLang .Lang }} {{ if eq $pageLang .Lang }}
<a <a
href="{{ $translation.RelPermalink }}" href="{{ $translation.RelPermalink }}"
class="flex items-center justify-between w-full px-2 py-1 bg-primary-100 dark:bg-primary-900" class="flex w-full items-center justify-between bg-primary-100 px-2 py-1 dark:bg-primary-900"
>{{ .LanguageName }}<span >{{ .LanguageName }}<span
class="w-6 ms-2 text-primary-600 dark:text-primary-400" class="ms-2 w-6 text-primary-600 dark:text-primary-400"
>{{ partial "icon.html" "check" }}</span >{{ partial "icon.html" "check" }}</span
></a ></a
> >

View File

@ -4,7 +4,12 @@
{{ $mermaidConfig := resources.Get "js/mermaid.js" }} {{ $mermaidConfig := resources.Get "js/mermaid.js" }}
{{ $mermaidConfig := $mermaidConfig | resources.Minify }} {{ $mermaidConfig := $mermaidConfig | resources.Minify }}
{{ $mermaidJS := slice $mermaidLib $mermaidConfig | resources.Concat "js/mermaid.bundle.js" | resources.Fingerprint "sha512" }} {{ $mermaidJS := slice $mermaidLib $mermaidConfig | resources.Concat "js/mermaid.bundle.js" | resources.Fingerprint "sha512" }}
<script defer type="text/javascript" src="{{ $mermaidJS.RelPermalink }}" integrity="{{ $mermaidJS.Data.Integrity }}"></script> <script
defer
type="text/javascript"
src="{{ $mermaidJS.RelPermalink }}"
integrity="{{ $mermaidJS.Data.Integrity }}"
></script>
{{ end }} {{ end }}
{{/* Chart */}} {{/* Chart */}}
{{ if .Page.HasShortcode "chart" }} {{ if .Page.HasShortcode "chart" }}
@ -12,23 +17,38 @@
{{ $chartConfig := resources.Get "js/chart.js" }} {{ $chartConfig := resources.Get "js/chart.js" }}
{{ $chartConfig := $chartConfig | resources.Minify }} {{ $chartConfig := $chartConfig | resources.Minify }}
{{ $chartJS := slice $chartLib $chartConfig | resources.Concat "js/chart.bundle.js" | resources.Fingerprint "sha512" }} {{ $chartJS := slice $chartLib $chartConfig | resources.Concat "js/chart.bundle.js" | resources.Fingerprint "sha512" }}
<script defer type="text/javascript" src="{{ $chartJS.RelPermalink }}" integrity="{{ $chartJS.Data.Integrity }}"></script> <script
defer
type="text/javascript"
src="{{ $chartJS.RelPermalink }}"
integrity="{{ $chartJS.Data.Integrity }}"
></script>
{{ end }} {{ end }}
{{/* Katex */}} {{/* Katex */}}
{{ if .Page.HasShortcode "katex" }} {{ if .Page.HasShortcode "katex" }}
{{ $katexCSS := resources.Get "lib/katex/katex.min.css" }} {{ $katexCSS := resources.Get "lib/katex/katex.min.css" }}
{{ $katexCSS := $katexCSS | resources.Fingerprint "sha512" }} {{ $katexCSS := $katexCSS | resources.Fingerprint "sha512" }}
<link <link
type="text/css" rel="stylesheet" type="text/css"
rel="stylesheet"
href="{{ $katexCSS.RelPermalink }}" href="{{ $katexCSS.RelPermalink }}"
integrity="{{ $katexCSS.Data.Integrity }}" integrity="{{ $katexCSS.Data.Integrity }}"
/> />
{{ $katexJS := resources.Get "lib/katex/katex.min.js" }} {{ $katexJS := resources.Get "lib/katex/katex.min.js" }}
{{ $katexJS := $katexJS | resources.Fingerprint "sha512" }} {{ $katexJS := $katexJS | resources.Fingerprint "sha512" }}
<script defer src="{{ $katexJS.RelPermalink }}" integrity="{{ $katexJS.Data.Integrity }}"></script> <script
defer
src="{{ $katexJS.RelPermalink }}"
integrity="{{ $katexJS.Data.Integrity }}"
></script>
{{ $katexRenderJS := resources.Get "lib/katex/auto-render.min.js" }} {{ $katexRenderJS := resources.Get "lib/katex/auto-render.min.js" }}
{{ $katexRenderJS := $katexRenderJS | resources.Fingerprint "sha512" }} {{ $katexRenderJS := $katexRenderJS | resources.Fingerprint "sha512" }}
<script defer src="{{ $katexRenderJS.RelPermalink }}" integrity="{{ $katexRenderJS.Data.Integrity }}" onload="renderMathInElement(document.body);"></script> <script
defer
src="{{ $katexRenderJS.RelPermalink }}"
integrity="{{ $katexRenderJS.Data.Integrity }}"
onload="renderMathInElement(document.body);"
></script>
{{ $katexFonts := resources.Match "lib/katex/fonts/*" }} {{ $katexFonts := resources.Match "lib/katex/fonts/*" }}
{{ range $katexFonts }} {{ range $katexFonts }}
{{ .Publish }} {{ .Publish }}

View File

@ -1,4 +1,4 @@
<div class="flex px-4 py-3 rounded-md bg-primary-100 dark:bg-primary-900"> <div class="flex rounded-md bg-primary-100 px-4 py-3 dark:bg-primary-900">
<span class="pe-3 text-primary-400"> <span class="pe-3 text-primary-400">
{{ partial "icon.html" (.Get 0 | default "triangle-exclamation") }} {{ partial "icon.html" (.Get 0 | default "triangle-exclamation") }}
</span> </span>

View File

@ -14,6 +14,7 @@
{{ $img = resources.Get $path }} {{ $img = resources.Get $path }}
{{ end -}} {{ end -}}
<!-- prettier-ignore -->
<figure{{ with $class }} class="{{ . }}"{{ end }}> <figure{{ with $class }} class="{{ . }}"{{ end }}>
{{ with $href }}<a href="{{ . }}">{{ end }} {{ with $href }}<a href="{{ . }}">{{ end }}

View File

@ -1,6 +1,6 @@
{{ $icon := resources.Get (printf "icons/%s.svg" ($.Get 0)) }} {{ $icon := resources.Get (printf "icons/%s.svg" ($.Get 0)) }}
{{ if $icon }} {{ if $icon }}
<span class="relative inline-block align-text-bottom icon"> <span class="icon relative inline-block align-text-bottom">
{{ $icon.Content | safeHTML }} {{ $icon.Content | safeHTML }}
</span> </span>
{{ else }} {{ else }}

View File

@ -1,5 +1,6 @@
{{ if .Get "src" }} {{ if .Get "src" }}
{{ $image := .Page.Resources.GetMatch (printf "*%s*" (.Get "src")) }} {{ $image := .Page.Resources.GetMatch (printf "*%s*" (.Get "src")) }}
<!-- prettier-ignore -->
<figure{{ with .Get "class" }} class="{{ . }}"{{ end }}> <figure{{ with .Get "class" }} class="{{ . }}"{{ end }}>
{{- if .Get "href" -}} {{- if .Get "href" -}}
<a href="{{ .Get "href" }}"> <a href="{{ .Get "href" }}">

14
package-lock.json generated
View File

@ -20,7 +20,7 @@
"prettier-plugin-tailwindcss": "^0.5.9", "prettier-plugin-tailwindcss": "^0.5.9",
"quicklink": "^2.3.0", "quicklink": "^2.3.0",
"rimraf": "^5.0.5", "rimraf": "^5.0.5",
"tailwindcss": "^3.3.7", "tailwindcss": "^3.4.0",
"vendor-copy": "^3.0.1" "vendor-copy": "^3.0.1"
}, },
"funding": { "funding": {
@ -2896,9 +2896,9 @@
} }
}, },
"node_modules/tailwindcss": { "node_modules/tailwindcss": {
"version": "3.3.7", "version": "3.4.0",
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.7.tgz", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.0.tgz",
"integrity": "sha512-pjgQxDZPvyS/nG3ZYkyCvsbONJl7GdOejfm24iMt2ElYQQw8Jc4p0m8RdMp7mznPD0kUhfzwV3zAwa80qI0zmQ==", "integrity": "sha512-VigzymniH77knD1dryXbyxR+ePHihHociZbXnLZHUyzf2MMs2ZVqlUrZ3FvpXP8pno9JzmILt1sZPD19M3IxtA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@alloc/quick-lru": "^5.2.0", "@alloc/quick-lru": "^5.2.0",
@ -5199,9 +5199,9 @@
"dev": true "dev": true
}, },
"tailwindcss": { "tailwindcss": {
"version": "3.3.7", "version": "3.4.0",
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.7.tgz", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.0.tgz",
"integrity": "sha512-pjgQxDZPvyS/nG3ZYkyCvsbONJl7GdOejfm24iMt2ElYQQw8Jc4p0m8RdMp7mznPD0kUhfzwV3zAwa80qI0zmQ==", "integrity": "sha512-VigzymniH77knD1dryXbyxR+ePHihHociZbXnLZHUyzf2MMs2ZVqlUrZ3FvpXP8pno9JzmILt1sZPD19M3IxtA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@alloc/quick-lru": "^5.2.0", "@alloc/quick-lru": "^5.2.0",

View File

@ -39,7 +39,7 @@
"prettier-plugin-tailwindcss": "^0.5.9", "prettier-plugin-tailwindcss": "^0.5.9",
"quicklink": "^2.3.0", "quicklink": "^2.3.0",
"rimraf": "^5.0.5", "rimraf": "^5.0.5",
"tailwindcss": "^3.3.7", "tailwindcss": "^3.4.0",
"vendor-copy": "^3.0.1" "vendor-copy": "^3.0.1"
}, },
"vendorCopy": [], "vendorCopy": [],

View File

@ -1 +1,21 @@
{"name":"Congo","short_name":"Congo","icons":[{"src": "/android-chrome-192x192.png","sizes": "192x192","type": "image/png","purpose": "any maskable"},{"src": "/android-chrome-512x512.png","sizes": "512x512","type": "image/png","purpose": "any maskable"}],"theme_color":"#ffffff","background_color":"#7c3aed","display":"standalone"} {
"name": "Congo",
"short_name": "Congo",
"icons": [
{
"src": "/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png",
"purpose": "any maskable"
},
{
"src": "/android-chrome-512x512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "any maskable"
}
],
"theme_color": "#ffffff",
"background_color": "#7c3aed",
"display": "standalone"
}