Compare commits

...

16 Commits

Author SHA1 Message Date
Azkellas 024d5140b5
Merge 98892944c4 into f31082dec8 2023-10-01 11:03:19 +00:00
Etienne 98892944c4 Properly render KaTeX formulas
Add block and inline parameter to katex shortcode to encapsulate
katex notation
2023-10-01 13:03:05 +02:00
James Panther f31082dec8
🚸 Remove env check in robots.txt generation
Fixes: #620
2023-09-12 11:37:25 +10:00
James Panther 09797137b6
📝 Update changelog 2023-09-12 09:50:26 +10:00
James Panther 5a4c8b5450
🔀 Merge pull request #645 from stereobooster/provide-width-height
Provide width and height for images
2023-09-12 09:46:58 +10:00
James Panther ad8a1b0390
Add new locale picker and related improvements
Closes: #583
2023-09-12 09:22:49 +10:00
stereobooster 22e1f1727e More images 2023-09-11 08:40:21 +02:00
stereobooster 30d506af0f Provide width and height for images 2023-09-11 08:28:56 +02:00
James Panther 1e90d7f077
🎨 Remove redundant `HUGO_VERSION` var in Netlify config 2023-09-10 10:48:20 +10:00
James Panther f34a827cea
🐛 Don't lazy load prominent images
Fixes: #591
2023-09-10 10:38:54 +10:00
James Panther 743104db52
🐛 Remove array from LD+JSON data
Fixes: #596
2023-09-10 10:20:10 +10:00
James Panther c98a7f8efb
📝 Update emoji reference URL to Emojipedia
Fixes: #617
2023-09-10 10:01:45 +10:00
James Panther 4818b3a116
📝 2023-09-10 09:44:31 +10:00
James Panther 0be8ec4177
🔀 Merge pull request #641 from jpanther/dependabot/npm_and_yarn/tailwindcss/typography-0.5.10
📌 Bump @tailwindcss/typography from 0.5.9 to 0.5.10
2023-09-10 09:32:02 +10:00
dependabot[bot] 7b8a23696a 💄 Rebuild CSS 2023-09-09 23:28:26 +00:00
dependabot[bot] 8991555a28
📌 Bump @tailwindcss/typography from 0.5.9 to 0.5.10
Bumps [@tailwindcss/typography](https://github.com/tailwindcss/typography) from 0.5.9 to 0.5.10.
- [Release notes](https://github.com/tailwindcss/typography/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss-typography/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindcss/typography/compare/v0.5.9...v0.5.10)

---
updated-dependencies:
- dependency-name: "@tailwindcss/typography"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-09 23:28:05 +00:00
55 changed files with 526 additions and 321 deletions

View File

@ -8,21 +8,39 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
### Added
- New portable locale picker that can be placed in any menu using the `locale` action ([#583](https://github.com/jpanther/congo/issues/583))
- New icons for `chevron-down`, `chevron-up`, `globe` and `translate`
- Plausible Analytics support ([#584](https://github.com/jpanther/congo/pull/584))
- Spanish translation of example site samples ([#606](https://github.com/jpanther/congo/pull/606))
- Japanese translation of docs and example site ([#618](https://github.com/jpanther/congo/pull/618))
- German translation of example site ([#631](https://github.com/jpanther/congo/pull/631))
- Properly render KaTeX formulas by adding `block` or `inline` parameter to `katex` shortcode [#634](https://github.com/jpanther/congo/pull/634)
### Changed
- Upgrade to Mermaid v10.3.1 ([#577](https://github.com/jpanther/congo/pull/577), [#582](https://github.com/jpanther/congo/pull/582), [#626](https://github.com/jpanther/congo/pull/626))
- ⚠️ Renamed the `params.rtl` language parameter to `languageDirection` as this is now supported by Hugo ([#583](https://github.com/jpanther/congo/issues/583))
- Robots.txt file now allows all by default without concern for whether the environment is set to production ([#620](https://github.com/jpanther/congo/pull/620))
- Upgrade to Mermaid v10.4.0 ([#577](https://github.com/jpanther/congo/pull/577), [#582](https://github.com/jpanther/congo/pull/582), [#626](https://github.com/jpanther/congo/pull/626), [#638](https://github.com/jpanther/congo/pull/638))
- Upgrade to KaTeX v0.16.8 ([#590](https://github.com/jpanther/congo/pull/590))
- Upgrade to Tailwind v3.3.3 ([#602](https://github.com/jpanther/congo/pull/602))
- Upgrade to ChartJS v4.3.3 ([#616](https://github.com/jpanther/congo/pull/616), [#627](https://github.com/jpanther/congo/pull/627))
- Upgrade to ChartJS v4.3.3 ([#616](https://github.com/jpanther/congo/pull/616), [#627](https://github.com/jpanther/congo/pull/627), [#635](https://github.com/jpanther/congo/pull/635))
- Upgrade to Typography v0.5.10 ([#641](https://github.com/jpanther/congo/pull/641))
### Fixed
- URL to Congo project in footer used deprecated git.io short link ([#605](https://github.com/jpanther/congo/pull/605))
- Prominent images in content and site layout are lazy loaded ([#591](https://github.com/jpanther/congo/issues/591))
- TypeError is output to console when viewing leaf pages ([#596](https://github.com/jpanther/congo/issues/596))
- URL to Congo project in footer used deprecated git.io short link ([#605](https://github.com/jpanther/congo/issues/605))
- Various typos in the docs and example site ([#608](https://github.com/jpanther/congo/pull/608), [#609](https://github.com/jpanther/congo/pull/609), [#613](https://github.com/jpanther/congo/pull/613))
- Incorrect `render` value is used in the 'external' archetype ([#630](https://github.com/jpanther/congo/pull/630))
- Images are missing `width` and `height` attributes ([#645](https://github.com/jpanther/congo/pull/645))
- Minor CSS improvements, mainly relating to RTL styling
### Removed
- Locales no longer appear next to the site name/logo as they are now part of the menu system ([#583](https://github.com/jpanther/congo/issues/583))
- Language parameters `isoCode` and `displayName` are no longer supported ([#583](https://github.com/jpanther/congo/issues/583))
- Meta `content-language` tag as it was not conveying the intended data (which is already inclded via the HTML `lang` attribute)
## [2.6.1] - 2023-06-04

View File

@ -539,12 +539,12 @@ video {
max-width: 65ch;
}
.prose :where(p):not(:where([class~="not-prose"] *)) {
.prose :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
margin-top: 1.25em;
margin-bottom: 1.25em;
}
.prose :where([class~="lead"]):not(:where([class~="not-prose"] *)) {
.prose :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
color: var(--tw-prose-lead);
font-size: 1.25em;
line-height: 1.6;
@ -552,104 +552,110 @@ video {
margin-bottom: 1.2em;
}
.prose :where(a):not(:where([class~="not-prose"] *)) {
.prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
color: var(--tw-prose-links);
text-decoration: underline;
font-weight: 500;
text-decoration-color: rgba(var(--color-primary-300), 1);
}
.prose :where(a):not(:where([class~="not-prose"] *)):hover {
.prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)):hover {
color: rgba(var(--color-neutral), 1);
text-decoration: none;
background-color: rgba(var(--color-primary-600), 1);
border-radius: 0.09rem;
}
.prose :where(strong):not(:where([class~="not-prose"] *)) {
.prose :where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
color: var(--tw-prose-bold);
font-weight: 600;
}
.prose :where(a strong):not(:where([class~="not-prose"] *)) {
.prose :where(a strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
color: inherit;
}
.prose :where(blockquote strong):not(:where([class~="not-prose"] *)) {
.prose :where(blockquote strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
color: inherit;
}
.prose :where(thead th strong):not(:where([class~="not-prose"] *)) {
.prose :where(thead th strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
color: inherit;
}
.prose :where(ol):not(:where([class~="not-prose"] *)) {
.prose :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
list-style-type: decimal;
margin-top: 1.25em;
margin-bottom: 1.25em;
padding-left: 1.625em;
}
.prose :where(ol[type="A"]):not(:where([class~="not-prose"] *)) {
.prose :where(ol[type="A"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
list-style-type: upper-alpha;
}
.prose :where(ol[type="a"]):not(:where([class~="not-prose"] *)) {
.prose :where(ol[type="a"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
list-style-type: lower-alpha;
}
.prose :where(ol[type="A" s]):not(:where([class~="not-prose"] *)) {
.prose :where(ol[type="A" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
list-style-type: upper-alpha;
}
.prose :where(ol[type="a" s]):not(:where([class~="not-prose"] *)) {
.prose :where(ol[type="a" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
list-style-type: lower-alpha;
}
.prose :where(ol[type="I"]):not(:where([class~="not-prose"] *)) {
.prose :where(ol[type="I"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
list-style-type: upper-roman;
}
.prose :where(ol[type="i"]):not(:where([class~="not-prose"] *)) {
.prose :where(ol[type="i"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
list-style-type: lower-roman;
}
.prose :where(ol[type="I" s]):not(:where([class~="not-prose"] *)) {
.prose :where(ol[type="I" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
list-style-type: upper-roman;
}
.prose :where(ol[type="i" s]):not(:where([class~="not-prose"] *)) {
.prose :where(ol[type="i" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
list-style-type: lower-roman;
}
.prose :where(ol[type="1"]):not(:where([class~="not-prose"] *)) {
.prose :where(ol[type="1"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
list-style-type: decimal;
}
.prose :where(ul):not(:where([class~="not-prose"] *)) {
.prose :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
list-style-type: disc;
margin-top: 1.25em;
margin-bottom: 1.25em;
padding-left: 1.625em;
}
.prose :where(ol > li):not(:where([class~="not-prose"] *))::marker {
.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
font-weight: 400;
color: var(--tw-prose-counters);
}
.prose :where(ul > li):not(:where([class~="not-prose"] *))::marker {
.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
color: var(--tw-prose-bullets);
}
.prose :where(hr):not(:where([class~="not-prose"] *)) {
.prose :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
color: var(--tw-prose-headings);
font-weight: 600;
margin-top: 1.25em;
}
.prose :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
border-color: var(--tw-prose-hr);
border-top-width: 1px;
margin-top: 3em;
margin-bottom: 3em;
}
.prose :where(blockquote):not(:where([class~="not-prose"] *)) {
.prose :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
font-weight: 500;
font-style: italic;
color: var(--tw-prose-quotes);
@ -661,15 +667,15 @@ video {
padding-left: 1em;
}
.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"] *))::before {
.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
content: open-quote;
}
.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"] *))::after {
.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
content: close-quote;
}
.prose :where(h1):not(:where([class~="not-prose"] *)) {
.prose :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
color: var(--tw-prose-headings);
font-weight: 800;
font-size: 2.25em;
@ -678,12 +684,12 @@ video {
line-height: 1.1111111;
}
.prose :where(h1 strong):not(:where([class~="not-prose"] *)) {
.prose :where(h1 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
font-weight: 900;
color: inherit;
}
.prose :where(h2):not(:where([class~="not-prose"] *)) {
.prose :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
color: var(--tw-prose-headings);
font-weight: 700;
font-size: 1.5em;
@ -692,12 +698,12 @@ video {
line-height: 1.3333333;
}
.prose :where(h2 strong):not(:where([class~="not-prose"] *)) {
.prose :where(h2 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
font-weight: 800;
color: inherit;
}
.prose :where(h3):not(:where([class~="not-prose"] *)) {
.prose :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
color: var(--tw-prose-headings);
font-weight: 600;
font-size: 1.25em;
@ -706,12 +712,12 @@ video {
line-height: 1.6;
}
.prose :where(h3 strong):not(:where([class~="not-prose"] *)) {
.prose :where(h3 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
font-weight: 700;
color: inherit;
}
.prose :where(h4):not(:where([class~="not-prose"] *)) {
.prose :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
color: var(--tw-prose-headings);
font-weight: 600;
margin-top: 1.5em;
@ -719,73 +725,82 @@ video {
line-height: 1.5;
}
.prose :where(h4 strong):not(:where([class~="not-prose"] *)) {
.prose :where(h4 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
font-weight: 700;
color: inherit;
}
.prose :where(img):not(:where([class~="not-prose"] *)) {
.prose :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
margin-top: 2em;
margin-bottom: 2em;
}
.prose :where(figure > *):not(:where([class~="not-prose"] *)) {
margin-top: 0;
margin-bottom: 0;
.prose :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
display: block;
margin-top: 2em;
margin-bottom: 2em;
}
.prose :where(figcaption):not(:where([class~="not-prose"] *)) {
color: var(--tw-prose-captions);
font-size: 0.875em;
line-height: 1.4285714;
margin-top: 0.8571429em;
.prose :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
font-weight: 600;
font-family: inherit;
color: var(--tw-prose-kbd);
box-shadow: 0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%), 0 3px 0 rgb(var(--tw-prose-kbd-shadows) / 10%);
font-size: 0.9rem;
border-radius: 0.25rem;
padding-top: 0.1875em;
padding-right: 0.375em;
padding-bottom: 0.1875em;
padding-left: 0.375em;
background-color: rgba(var(--color-neutral-200), 1);
padding: 0.1rem 0.4rem;
}
.prose :where(code):not(:where([class~="not-prose"] *)) {
.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
color: var(--tw-prose-code);
font-weight: 600;
font-size: 0.875em;
}
.prose :where(code):not(:where([class~="not-prose"] *))::before {
.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
content: "`";
}
.prose :where(code):not(:where([class~="not-prose"] *))::after {
.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
content: "`";
}
.prose :where(a code):not(:where([class~="not-prose"] *)) {
.prose :where(a code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
color: var(--tw-prose-code);
}
.prose :where(h1 code):not(:where([class~="not-prose"] *)) {
.prose :where(h1 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
color: inherit;
}
.prose :where(h2 code):not(:where([class~="not-prose"] *)) {
.prose :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
color: inherit;
font-size: 0.875em;
}
.prose :where(h3 code):not(:where([class~="not-prose"] *)) {
.prose :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
color: inherit;
font-size: 0.9em;
}
.prose :where(h4 code):not(:where([class~="not-prose"] *)) {
.prose :where(h4 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
color: inherit;
}
.prose :where(blockquote code):not(:where([class~="not-prose"] *)) {
.prose :where(blockquote code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
color: inherit;
}
.prose :where(thead th code):not(:where([class~="not-prose"] *)) {
.prose :where(thead th code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
color: inherit;
}
.prose :where(pre):not(:where([class~="not-prose"] *)) {
.prose :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
color: var(--tw-prose-pre-code);
background-color: var(--tw-prose-pre-bg);
overflow-x: auto;
@ -801,7 +816,7 @@ video {
padding-left: 1.1428571em;
}
.prose :where(pre code):not(:where([class~="not-prose"] *)) {
.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
background-color: transparent;
border-width: 0;
border-radius: 0;
@ -813,15 +828,15 @@ video {
line-height: inherit;
}
.prose :where(pre code):not(:where([class~="not-prose"] *))::before {
.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
content: none;
}
.prose :where(pre code):not(:where([class~="not-prose"] *))::after {
.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
content: none;
}
.prose :where(table):not(:where([class~="not-prose"] *)) {
.prose :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
width: 100%;
table-layout: auto;
text-align: left;
@ -831,12 +846,12 @@ video {
line-height: 1.7142857;
}
.prose :where(thead):not(:where([class~="not-prose"] *)) {
.prose :where(thead):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
border-bottom-width: 1px;
border-bottom-color: var(--tw-prose-th-borders);
}
.prose :where(thead th):not(:where([class~="not-prose"] *)) {
.prose :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
color: var(--tw-prose-headings);
font-weight: 600;
vertical-align: bottom;
@ -845,28 +860,40 @@ video {
padding-left: 0.5714286em;
}
.prose :where(tbody tr):not(:where([class~="not-prose"] *)) {
.prose :where(tbody tr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
border-bottom-width: 1px;
border-bottom-color: var(--tw-prose-td-borders);
}
.prose :where(tbody tr:last-child):not(:where([class~="not-prose"] *)) {
.prose :where(tbody tr:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
border-bottom-width: 0;
}
.prose :where(tbody td):not(:where([class~="not-prose"] *)) {
.prose :where(tbody td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
vertical-align: baseline;
}
.prose :where(tfoot):not(:where([class~="not-prose"] *)) {
.prose :where(tfoot):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
border-top-width: 1px;
border-top-color: var(--tw-prose-th-borders);
}
.prose :where(tfoot td):not(:where([class~="not-prose"] *)) {
.prose :where(tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
vertical-align: top;
}
.prose :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
margin-top: 0;
margin-bottom: 0;
}
.prose :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
color: var(--tw-prose-captions);
font-size: 0.875em;
line-height: 1.4285714;
margin-top: 0.8571429em;
}
.prose {
--tw-prose-body: rgba(var(--color-neutral-700), 1);
--tw-prose-headings: rgba(var(--color-neutral-800), 1);
@ -879,6 +906,8 @@ video {
--tw-prose-quotes: rgba(var(--color-neutral-700), 1);
--tw-prose-quote-borders: rgba(var(--color-primary-200), 1);
--tw-prose-captions: rgba(var(--color-neutral-500), 1);
--tw-prose-kbd: #111827;
--tw-prose-kbd-shadows: 17 24 39;
--tw-prose-code: rgba(var(--color-secondary-700), 1);
--tw-prose-pre-code: rgba(var(--color-neutral-700), 1);
--tw-prose-pre-bg: rgba(var(--color-neutral-50), 1);
@ -895,6 +924,8 @@ video {
--tw-prose-invert-quotes: rgba(var(--color-neutral-200), 1);
--tw-prose-invert-quote-borders: rgba(var(--color-primary-900), 1);
--tw-prose-invert-captions: rgba(var(--color-neutral-400), 1);
--tw-prose-invert-kbd: #fff;
--tw-prose-invert-kbd-shadows: 255 255 255;
--tw-prose-invert-code: rgba(var(--color-secondary-400), 1);
--tw-prose-invert-pre-code: rgba(var(--color-neutral-200), 1);
--tw-prose-invert-pre-bg: rgba(var(--color-neutral-700), 1);
@ -904,111 +935,118 @@ video {
line-height: 1.75;
}
.prose :where(video):not(:where([class~="not-prose"] *)) {
.prose :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
margin-top: 0;
margin-bottom: 0;
}
.prose :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
margin-top: 2em;
margin-bottom: 2em;
}
.prose :where(figure):not(:where([class~="not-prose"] *)) {
margin-top: 2em;
margin-bottom: 2em;
}
.prose :where(li):not(:where([class~="not-prose"] *)) {
.prose :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
margin-top: 0.5em;
margin-bottom: 0.5em;
}
.prose :where(ol > li):not(:where([class~="not-prose"] *)) {
.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
padding-left: 0.375em;
}
.prose :where(ul > li):not(:where([class~="not-prose"] *)) {
.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
padding-left: 0.375em;
}
.prose :where(.prose > ul > li p):not(:where([class~="not-prose"] *)) {
.prose :where(.prose > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
margin-top: 0.75em;
margin-bottom: 0.75em;
}
.prose :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)) {
.prose :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
margin-top: 1.25em;
}
.prose :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)) {
.prose :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
margin-bottom: 1.25em;
}
.prose :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)) {
.prose :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
margin-top: 1.25em;
}
.prose :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)) {
.prose :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
margin-bottom: 1.25em;
}
.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"] *)) {
.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
margin-top: 0.75em;
margin-bottom: 0.75em;
}
.prose :where(hr + *):not(:where([class~="not-prose"] *)) {
.prose :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
margin-top: 1.25em;
margin-bottom: 1.25em;
}
.prose :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
margin-top: 0.5em;
padding-left: 1.625em;
}
.prose :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
margin-top: 0;
}
.prose :where(h2 + *):not(:where([class~="not-prose"] *)) {
.prose :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
margin-top: 0;
}
.prose :where(h3 + *):not(:where([class~="not-prose"] *)) {
.prose :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
margin-top: 0;
}
.prose :where(h4 + *):not(:where([class~="not-prose"] *)) {
.prose :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
margin-top: 0;
}
.prose :where(thead th:first-child):not(:where([class~="not-prose"] *)) {
.prose :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
padding-left: 0;
}
.prose :where(thead th:last-child):not(:where([class~="not-prose"] *)) {
.prose :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
padding-right: 0;
}
.prose :where(tbody td, tfoot td):not(:where([class~="not-prose"] *)) {
.prose :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
padding-top: 0.5714286em;
padding-right: 0.5714286em;
padding-bottom: 0.5714286em;
padding-left: 0.5714286em;
}
.prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"] *)) {
.prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
padding-left: 0;
}
.prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"] *)) {
.prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
padding-right: 0;
}
.prose :where(.prose > :first-child):not(:where([class~="not-prose"] *)) {
.prose :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
margin-top: 2em;
margin-bottom: 2em;
}
.prose :where(.prose > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
margin-top: 0;
}
.prose :where(.prose > :last-child):not(:where([class~="not-prose"] *)) {
.prose :where(.prose > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
margin-bottom: 0;
}
.prose :where(kbd):not(:where([class~="not-prose"] *)) {
background-color: rgba(var(--color-neutral-200), 1);
padding: 0.1rem 0.4rem;
border-radius: 0.25rem;
font-size: 0.9rem;
font-weight: 600;
}
.prose :where(mark):not(:where([class~="not-prose"] *)) {
.prose :where(mark):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
color: rgba(var(--color-neutral-800), 1);
background-color: rgba(var(--color-secondary-200), 1);
padding: 0.1rem 0.2rem;
@ -1707,6 +1745,10 @@ body:has(#menu-controller:checked) {
bottom: 0px;
}
.bottom-7 {
bottom: 1.75rem;
}
.end-0 {
inset-inline-end: 0px;
}
@ -1719,6 +1761,10 @@ body:has(#menu-controller:checked) {
top: 5rem;
}
.top-8 {
top: 2rem;
}
.top-\[100vh\] {
top: 100vh;
}
@ -1923,6 +1969,10 @@ body:has(#menu-controller:checked) {
height: 3rem;
}
.h-2 {
height: 0.5rem;
}
.h-24 {
height: 6rem;
}
@ -2027,6 +2077,10 @@ body:has(#menu-controller:checked) {
flex: none;
}
.flex-grow {
flex-grow: 1;
}
.grow {
flex-grow: 1;
}
@ -2074,6 +2128,10 @@ body:has(#menu-controller:checked) {
align-items: center;
}
.justify-end {
justify-content: flex-end;
}
.justify-center {
justify-content: center;
}
@ -2106,6 +2164,10 @@ body:has(#menu-controller:checked) {
scroll-behavior: smooth;
}
.whitespace-nowrap {
white-space: nowrap;
}
.\!rounded-md {
border-radius: 0.375rem !important;
}
@ -2300,6 +2362,11 @@ body:has(#menu-controller:checked) {
padding-bottom: 1rem;
}
.pe-10 {
-webkit-padding-end: 2.5rem;
padding-inline-end: 2.5rem;
}
.pe-2 {
-webkit-padding-end: 0.5rem;
padding-inline-end: 0.5rem;
@ -2350,6 +2417,14 @@ body:has(#menu-controller:checked) {
text-align: right;
}
.text-start {
text-align: start;
}
.text-end {
text-align: end;
}
.align-top {
vertical-align: top;
}
@ -2507,6 +2582,12 @@ body:has(#menu-controller:checked) {
opacity: 0;
}
.shadow {
--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg {
--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
@ -2555,6 +2636,8 @@ body:has(#menu-controller:checked) {
--tw-prose-quotes: var(--tw-prose-invert-quotes);
--tw-prose-quote-borders: var(--tw-prose-invert-quote-borders);
--tw-prose-captions: var(--tw-prose-invert-captions);
--tw-prose-kbd: var(--tw-prose-invert-kbd);
--tw-prose-kbd-shadows: var(--tw-prose-invert-kbd-shadows);
--tw-prose-code: var(--tw-prose-invert-code);
--tw-prose-pre-code: var(--tw-prose-invert-pre-code);
--tw-prose-pre-bg: var(--tw-prose-invert-pre-bg);
@ -2562,16 +2645,16 @@ body:has(#menu-controller:checked) {
--tw-prose-td-borders: var(--tw-prose-invert-td-borders);
}
:is(.dark .dark\:prose-invert) :where(a):not(:where([class~="not-prose"] *)) {
:is(.dark .dark\:prose-invert) :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
text-decoration-color: rgba(var(--color-neutral-600), 1);
}
:is(.dark .dark\:prose-invert) :where(kbd):not(:where([class~="not-prose"] *)) {
:is(.dark .dark\:prose-invert) :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
color: rgba(var(--color-neutral-200), 1);
background-color: rgba(var(--color-neutral-700), 1);
}
:is(.dark .dark\:prose-invert) :where(mark):not(:where([class~="not-prose"] *)) {
:is(.dark .dark\:prose-invert) :where(mark):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
background-color: rgba(var(--color-secondary-400), 1);
}
@ -2668,6 +2751,10 @@ body:has(#menu-controller:checked) {
outline-color: transparent;
}
.group:hover .group-hover\:visible {
visibility: visible;
}
.group:hover .group-hover\:-translate-x-\[2px\] {
--tw-translate-x: -2px;
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
@ -2703,6 +2790,10 @@ body:has(#menu-controller:checked) {
opacity: 1;
}
:is([dir="ltr"] .ltr\:right-0) {
right: 0px;
}
:is([dir="ltr"] .ltr\:block) {
display: block;
}
@ -2715,8 +2806,8 @@ body:has(#menu-controller:checked) {
display: none;
}
:is([dir="ltr"] .ltr\:text-right) {
text-align: right;
:is([dir="rtl"] .rtl\:left-0) {
left: 0px;
}
:is([dir="rtl"] .rtl\:block) {
@ -2731,10 +2822,6 @@ body:has(#menu-controller:checked) {
display: none;
}
:is([dir="rtl"] .rtl\:text-left) {
text-align: left;
}
:is(.dark .dark\:inline) {
display: inline;
}

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"/></svg>

After

Width:  |  Height:  |  Size: 269 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M233.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 173.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z"/></svg>

After

Width:  |  Height:  |  Size: 269 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M352 256c0 22.2-1.2 43.6-3.3 64H163.3c-2.2-20.4-3.3-41.8-3.3-64s1.2-43.6 3.3-64H348.7c2.2 20.4 3.3 41.8 3.3 64zm28.8-64H503.9c5.3 20.5 8.1 41.9 8.1 64s-2.8 43.5-8.1 64H380.8c2.1-20.6 3.2-42 3.2-64s-1.1-43.4-3.2-64zm112.6-32H376.7c-10-63.9-29.8-117.4-55.3-151.6c78.3 20.7 142 77.5 171.9 151.6zm-149.1 0H167.7c6.1-36.4 15.5-68.6 27-94.7c10.5-23.6 22.2-40.7 33.5-51.5C239.4 3.2 248.7 0 256 0s16.6 3.2 27.8 13.8c11.3 10.8 23 27.9 33.5 51.5c11.6 26 20.9 58.2 27 94.7zm-209 0H18.6C48.6 85.9 112.2 29.1 190.6 8.4C165.1 42.6 145.3 96.1 135.3 160zM8.1 192H131.2c-2.1 20.6-3.2 42-3.2 64s1.1 43.4 3.2 64H8.1C2.8 299.5 0 278.1 0 256s2.8-43.5 8.1-64zM194.7 446.6c-11.6-26-20.9-58.2-27-94.6H344.3c-6.1 36.4-15.5 68.6-27 94.6c-10.5 23.6-22.2 40.7-33.5 51.5C272.6 508.8 263.3 512 256 512s-16.6-3.2-27.8-13.8c-11.3-10.8-23-27.9-33.5-51.5zM135.3 352c10 63.9 29.8 117.4 55.3 151.6C112.2 482.9 48.6 426.1 18.6 352H135.3zm358.1 0c-30 74.1-93.6 130.9-171.9 151.6c25.5-34.2 45.2-87.7 55.3-151.6H493.4z"/></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
<path fill="currentColor" d="M4.545 6.714 4.11 8H3l1.862-5h1.284L8 8H6.833l-.435-1.286H4.545zm1.634-.736L5.5 3.956h-.049l-.679 2.022H6.18z"/>
<path fill="currentColor" d="M0 2a2 2 0 0 1 2-2h7a2 2 0 0 1 2 2v3h3a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-3H2a2 2 0 0 1-2-2V2zm2-1a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H2zm7.138 9.995c.193.301.402.583.63.846-.748.575-1.673 1.001-2.768 1.292.178.217.451.635.555.867 1.125-.359 2.08-.844 2.886-1.494.777.665 1.739 1.165 2.93 1.472.133-.254.414-.673.629-.89-1.125-.253-2.057-.694-2.82-1.284.681-.747 1.222-1.651 1.621-2.757H14V8h-3v1.047h.765c-.318.844-.74 1.546-1.272 2.13a6.066 6.066 0 0 1-.415-.492 1.988 1.988 0 0 1-.94.31z"/>
</svg>

After

Width:  |  Height:  |  Size: 775 B

View File

@ -1,15 +1,12 @@
languageCode = "en"
languageName = "English"
languageDirection = "ltr"
weight = 1
title = "Congo"
# copyright = "Copy, _right?_ :thinking_face:"
[params]
isoCode = "en"
displayName = "EN"
rtl = false
dateFormat = "2 January 2006"
# mainSections = ["section1", "section2"]

View File

@ -31,6 +31,12 @@
[main.params]
action = "search"
[[main]]
identifier = "locale"
weight = 100
[main.params]
action = "locale"
# -- Footer Menu --
# The footer menu is displayed at the bottom of the page, just before
# the copyright notice. Configure as per the main menu above.

View File

@ -1,15 +1,12 @@
languageCode = "de-de"
languageCode = "de-DE"
languageName = "Deutsch (Deutschland)"
languageDirection = "ltr"
weight = 4
title = "Congo"
copyright = "&copy; 2023 Congo contributors"
[params]
isoCode = "de-de"
displayName = ":de:"
rtl = false
dateFormat = "2. January 2006"
mainSections = ["samples"]

View File

@ -1,15 +1,12 @@
languageCode = "en-au"
languageCode = "en-AU"
languageName = "English (Australia)"
languageDirection = "ltr"
weight = 1
title = "Congo"
copyright = "&copy; 2023 Congo contributors"
[params]
isoCode = "en-AU"
displayName = ":flag-au:"
rtl = false
dateFormat = "2 January 2006"
mainSections = ["samples"]

View File

@ -1,15 +1,12 @@
languageCode = "es-mx"
languageCode = "es-MX"
languageName = "Español (México)"
languageDirection = "ltr"
weight = 2
title = "Congo"
copyright = "&copy; 2023 Congo contributors"
[params]
isoCode = "es-MX"
displayName = ":flag-mx:"
rtl = false
dateFormat = "2 January 2006"
mainSections = ["samples"]

View File

@ -1,15 +1,12 @@
languageCode = "ja"
languageName = "日本語"
languageDirection = "ltr"
weight = 2
title = "Congo"
copyright = "&copy; 2023 Congo contributors"
[params]
isoCode = "ja"
displayName = ":jp:"
rtl = false
dateFormat = "2006年1月2日"
mainSections = ["samples"]

View File

@ -40,6 +40,12 @@
[main.params]
action = "search"
[[main]]
identifier = "locale"
weight = 100
[main.params]
action = "locale"
# -- Footer Menu --
# The footer menu is displayed at the bottom of the page, just before
# the copyright notice. Configure as per the main menu above.

View File

@ -40,6 +40,12 @@
[main.params]
action = "search"
[[main]]
identifier = "locale"
weight = 100
[main.params]
action = "locale"
# -- Footer Menu --
# The footer menu is displayed at the bottom of the page, just before
# the copyright notice. Configure as per the main menu above.

View File

@ -40,6 +40,12 @@
[main.params]
action = "search"
[[main]]
identifier = "locale"
weight = 100
[main.params]
action = "locale"
# -- Footer Menu --
# The footer menu is displayed at the bottom of the page, just before
# the copyright notice. Configure as per the main menu above.

View File

@ -40,6 +40,12 @@
[main.params]
action = "search"
[[main]]
identifier = "locale"
weight = 100
[main.params]
action = "locale"
# -- Footer Menu --
# The footer menu is displayed at the bottom of the page, just before
# the copyright notice. Configure as per the main menu above.

View File

@ -89,14 +89,12 @@ Congoは現在、以下の言語に対応しています:
<!-- prettier-ignore-start -->
|Name|Default|Description|
|---|---|---|
|`languageCode`|`"en"`|このファイルの言語コード。トップレベル言語 (例 `en`)またはサブ変数 (例 `en-au`)で、ファイル名の `[language-code]` と一致する必要があります。Hugoはこの値が常に小文字であることを期待しています。HTMLに正しく準拠するためには、大文字と小文字を区別する `params.isoCode` パラメーターを設定してください。|
|`languageCode`|`"en"`|このファイルの言語コード。トップレベル言語 (例 `en`)またはサブ変数 (例 `en-AU`)で、ファイル名の `[language-code]` と一致する必要があります。|
|`languageName`|`"English"`|言語名。|
|`languageDirection`|`"ltr"`|RTL言語かどうか。 `"rtl"` に設定すると、コンテンツを右から左にリフローする。CongoはRTL言語とLTR言語の同時使用を完全にサポートしており、動的に両方の言語に調整します。|
|`weight`|`1`|多言語サイトを構築する際の優先順序。|
|`title`|`"Congo"`|ウェブサイトのタイトル。サイトのヘッダーとフッターに表示されます。|
|`copyright`|_Not set_|サイトのフッターに表示する著作権メッセージを含むMarkdown文字列。何も指定されない場合、Congoは `title` を使って自動的にコピーライト文字列を生成します。|
|`params.isoCode`|`"en"`|HTMLメタデータ用のISO言語コード。トップレベル言語 (例 `en`)またはサブバリアント (例 `en-AU`)です。|
|`params.displayName`|`"EN"`|ウェブサイトに表示される際に使用される言語名。|
|`params.rtl`|`false`|RTL言語かどうか。 `true` に設定すると、コンテンツを右から左にリフローする。CongoはRTL言語とLTR言語の同時使用を完全にサポートしており、動的に両方の言語に調整します。|
|`params.dateFormat`|`"2 January 2006"`|日付の書式。許容される書式については、[Hugo docs](https://gohugo.io/functions/format/#gos-layout-string)を参照してください。|
|`params.mainSections`|_Not set_|最近の記事リストに表示するセクション。指定されていない場合は、記事の数が最も多いセクションが使われます。|
|`params.description`|_Not set_|ウェブサイトの説明。これはサイトのメタデータに使用されます。|

View File

@ -89,14 +89,12 @@ The default file can be used as a template to create additional languages, or re
<!-- prettier-ignore-start -->
|Name|Default|Description|
|---|---|---|
|`languageCode`|`"en"`|The Hugo language code for this file. It can be a top-level language (ie. `en`) or a sub-variant (ie. `en-au`) and should match the language code in the filename. Hugo expects this value to always be in lowercase. For proper HTML compliance, set the `params.isoCode` parameter which is case-sensitive.|
|`languageCode`|`"en"`|The Hugo language code for this file. It can be a top-level language (ie. `en`) or a sub-variant (ie. `en-AU`) and should match the language code in the filename.|
|`languageName`|`"English"`|The name of the language.|
|`languageDirection`|`"ltr"`|Whether or not this is an RTL language. Set to `"rtl"` to reflow content from right-to-left. Congo fully supports using RTL and LTR languages at the same time and will dynamically adjust to both.|
|`weight`|`1`|The weight determines the order of languages when building multilingual sites.|
|`title`|`"Congo"`|The title of the website. This will be displayed in the site header and footer.|
|`copyright`|_Not set_|A Markdown string containing the copyright message to be displayed in the site footer. If none is provided, Congo will automatically generate a copyright string using the site `title`.|
|`params.isoCode`|`"en"`|The ISO language code for HTML metadata purposes. It can be a top-level language (ie. `en`) or a sub-variant (ie. `en-AU`).|
|`params.displayName`|`"EN"`|The name used when the language appears on the website.|
|`params.rtl`|`false`|Whether or not this is a RTL language. Set to `true` to reflow content from right-to-left. Congo fully supports using RTL and LTR languages at the same time and will dynamically adjust to both.|
|`params.dateFormat`|`"2 January 2006"`|How dates are formatted in this language. Refer to the [Hugo docs](https://gohugo.io/functions/format/#gos-layout-string) for acceptable formats.|
|`params.mainSections`|_Not set_|The sections that should be displayed in the recent articles list. If not provided the section with the greatest number of articles is used.|
|`params.description`|_Not set_|The website description. This will be used in the site metadata.|

View File

@ -231,9 +231,10 @@ Further customisation can be achieved through the use of special theme parameter
There is a special case for creating menu items for links that take theme actions. These are denoted using the `action` parameter, and a value of the action the link should perform. Action links allow for all the same custom parameters as other links and can be styled with an icon or text name.
There are two valid theme actions:
There are three valid theme actions:
- `appearance` will create a link to the appearance switcher
- `locale` will create a drop down picker to access translated content
- `search` will create a link to the site search
Both menus are completely optional and can be commented out if not required. Use the template provided in the default file as a guide.

View File

@ -95,16 +95,13 @@ jobs:
publish = "public"
[build.environment]
HUGO_VERSION = "0.118.2"
NODE_ENV = "production"
GO_VERSION = "1.20"
TZ = "UTC" # Set to preferred timezone
[context.production.environment]
HUGO_VERSION = "0.112.7"
HUGO_ENV = "production"
[context.deploy-preview.environment]
HUGO_VERSION = "0.112.7"
```
上の例は、CongoをHugoモジュールとしてデプロイすることを想定しています。別の方法でテーマをインストールした場合は、ビルドコマンドを `hugo --gc --minify -b $URL` に変更してください。

View File

@ -95,16 +95,13 @@ Then in the root of your site repository, create a `netlify.toml` file:
publish = "public"
[build.environment]
HUGO_VERSION = "0.118.2"
NODE_ENV = "production"
GO_VERSION = "1.20"
TZ = "UTC" # Set to preferred timezone
[context.production.environment]
HUGO_VERSION = "0.112.7"
HUGO_ENV = "production"
[context.deploy-preview.environment]
HUGO_VERSION = "0.112.7"
```
This configuration assumes you are deploying Congo as a Hugo module. If you have installed the theme using another method, change the build command to simply `hugo --gc --minify -b $URL`.

View File

@ -175,21 +175,28 @@ Congoは、標準的なMarkdown構文を使用した場合の画像について
## Katex
`katex` を使うと、KaTeXパッケージを使って記事の内容に数式を追加することができます。利用可能な構文については[supported TeX functions](https://katex.org/docs/supported.html)のオンラインリファレンスを参照してください。
数式は `katex` ショートコードを使用し、パラメータに `block` (ブロック式の場合) または `inline` を指定してレンダリングすることができます。詳細は[数学的表記]({{< ref "mathematical-notation" >}})を参照してください。
記事中に数式を含めるには、コンテンツ内の任意の場所にショートコードを配置するだけです。記事ごとに一度記述するだけで、KaTeXが自動的にそのページのマークアップをレンダリングします。インライン表記とブロック表記の両方がサポートされています。
インライン記法は、式を区切り記号 `\\(``\\)` で囲むことで生成できます。ブロック記法の場合は `$$` です。
利用可能な構文については[サポートされているTeX関数](https://katex.org/docs/supported.html)のオンラインリファレンスを参照してください。
**例:**
```
インライン記法: {{</* katex inline */>}}f(a,b,c) = (a^2+b^2+c^2)^3{{</* /katex */>}}
```
インライン記法: {{< katex inline >}}f(a,b,c) = (a^2+b^2+c^2)^3{{< /katex >}}
ブロック表記
```md
{{</* katex */>}}
\\(f(a,b,c) = (a^2+b^2+c^2)^3\\)
{{</* katex block */>}}
f(a,b,c) = (a^2+b^2+c^2)^3
{{</* /katex */>}}
```
{{< katex >}}
\\(f(a,b,c) = (a^2+b^2+c^2)^3\\)
{{< katex block>}}
f(a,b,c) = (a^2+b^2+c^2)^3
{{< /katex>}}
[数学的表記のサンプル]({{< ref "mathematical-notation" >}})でより多くの例をチェックしてください。

View File

@ -175,21 +175,28 @@ Icons can also be used in partials by calling the [icon partial]({{< ref "partia
## Katex
The `katex` shortcode can be used to add mathematical expressions to article content using the KaTeX package. Refer to the online reference of [supported TeX functions](https://katex.org/docs/supported.html) for the available syntax.
Mathematical expressions can be rendered using either the `katex` shortcode, with either `block` (for block expression) or `inline` as parameter. See [mathematical notation]({{< ref "mathematical-notation" >}}) for more details.
It uses the KaTeX library to render mathematical notation within articles.
To include mathematical expressions in an article, simply place the shortcode anywhere with the content. It only needs to be included once per article and KaTeX will automatically render any markup on that page. Both inline and block notation are supported.
Inline notation can be generated by wrapping the expression in `\\(` and `\\)` delimiters. Alternatively, block notation can be generated using `$$` delimiters.
Refer to the online reference of [supported TeX functions](https://katex.org/docs/supported.html) for the available syntax.
**Example:**
```md
{{</* katex */>}}
\\(f(a,b,c) = (a^2+b^2+c^2)^3\\)
```
Inline notation: {{</* katex inline */>}}f(a,b,c) = (a^2+b^2+c^2)^3{{</* /katex */>}}
```
Inline notation: {{< katex inline >}}f(a,b,c) = (a^2+b^2+c^2)^3{{< /katex >}}
Block notation:
```
{{</* katex block */>}}
f(a,b,c) = (a^2+b^2+c^2)^3
{{</* /katex */>}}
```
{{< katex >}}
\\(f(a,b,c) = (a^2+b^2+c^2)^3\\)
{{< katex block >}}
f(a,b,c) = (a^2+b^2+c^2)^3
{{< /katex >}}
Check out the [mathematical notation samples]({{< ref "mathematical-notation" >}}) page for more examples.

View File

@ -16,4 +16,4 @@ Die Ersetzung von Emoji erfolgt in Congo automatisch, so dass du in deinen Inhal
**Beispiele für Kurzzeichen:** `see_no_evil` :see_no_evil:, `hear_no_evil` :hear_no_evil:, `speak_no_evil` :speak_no_evil:.
Der [Emoji-Spickzettel](http://www.emoji-cheat-sheet.com/) ist eine nützliche Referenz für Emoji-Kurzzeichen.
[Emojipedia](https://emojipedia.org/) ist eine nützliche Referenz für Emoji-Kurzzeichen.

View File

@ -16,4 +16,4 @@ El reemplazo de emojis es automático en Congo, por lo que puedes usar las forma
**Ejemplo:** `see_no_evil` :see_no_evil:, `hear_no_evil` :hear_no_evil:, `speak_no_evil` :speak_no_evil:.
La [Emoji cheat sheet](http://www.emoji-cheat-sheet.com/) es una referencia útil para los códigos abreviados de los emojis.
[Emojipedia](https://emojipedia.org/) es una referencia útil para los códigos abreviados de los emojis.

View File

@ -16,4 +16,4 @@ Congo全体で絵文字Emojiをサポートしています。絵文字は
**例:** `see_no_evil` :see_no_evil:, `hear_no_evil` :hear_no_evil:, `speak_no_evil` :speak_no_evil:
[Emoji cheat sheet](http://www.emoji-cheat-sheet.com/)は、絵文字を探すための便利なリファレンスです。
[Emojipedia](https://emojipedia.org/)は、絵文字を探すための便利なリファレンスです。

View File

@ -16,4 +16,4 @@ Emoji replacements are automatic throughout Congo, so you can use shorthand code
**Example:** `see_no_evil` :see_no_evil:, `hear_no_evil` :hear_no_evil:, `speak_no_evil` :speak_no_evil:.
The [Emoji cheat sheet](https://www.emoji-cheat-sheet.com/) is a useful reference for emoji shorthand codes.
[Emojipedia](https://emojipedia.org/) is a useful reference for emoji shorthand codes.

View File

@ -23,6 +23,8 @@ Die vollständige Liste der integrierten Icons und ihre entsprechenden Namen fin
| blogger | {{< icon blogger >}} |
| bug | {{< icon bug >}} |
| check | {{< icon check >}} |
| chevron-down | {{< icon chevron-down >}} |
| chevron-up | {{< icon chevron-up >}} |
| circle-info | {{< icon circle-info >}} |
| codepen | {{< icon codepen >}} |
| comment | {{< icon comment >}} |
@ -35,6 +37,7 @@ Die vollständige Liste der integrierten Icons und ihre entsprechenden Namen fin
| foursquare | {{< icon foursquare >}} |
| github | {{< icon github >}} |
| gitlab | {{< icon gitlab >}} |
| globe | {{< icon globe >}} |
| google | {{< icon google >}} |
| hashnode | {{< icon hashnode >}} |
| instagram | {{< icon instagram >}} |
@ -68,6 +71,7 @@ Die vollständige Liste der integrierten Icons und ihre entsprechenden Namen fin
| tag | {{< icon tag >}} |
| telegram | {{< icon telegram >}} |
| tiktok | {{< icon tiktok >}} |
| translate | {{< icon translate >}} |
| triangle-exclamation | {{< icon triangle-exclamation >}} |
| tumblr | {{< icon tumblr >}} |
| twitch | {{< icon twitch >}} |

View File

@ -23,6 +23,8 @@ La lista completa de íconos incorporados y sus nombres correspondientes se pued
| blogger | {{< icon blogger >}} |
| bug | {{< icon bug >}} |
| check | {{< icon check >}} |
| chevron-down | {{< icon chevron-down >}} |
| chevron-up | {{< icon chevron-up >}} |
| circle-info | {{< icon circle-info >}} |
| codepen | {{< icon codepen >}} |
| comment | {{< icon comment >}} |
@ -35,6 +37,7 @@ La lista completa de íconos incorporados y sus nombres correspondientes se pued
| foursquare | {{< icon foursquare >}} |
| github | {{< icon github >}} |
| gitlab | {{< icon gitlab >}} |
| globe | {{< icon globe >}} |
| google | {{< icon google >}} |
| hashnode | {{< icon hashnode >}} |
| instagram | {{< icon instagram >}} |
@ -68,6 +71,7 @@ La lista completa de íconos incorporados y sus nombres correspondientes se pued
| tag | {{< icon tag >}} |
| telegram | {{< icon telegram >}} |
| tiktok | {{< icon tiktok >}} |
| translate | {{< icon translate >}} |
| triangle-exclamation | {{< icon triangle-exclamation >}} |
| tumblr | {{< icon tumblr >}} |
| twitch | {{< icon twitch >}} |

View File

@ -23,6 +23,8 @@ Congoは[FontAwesome 6](https://fontawesome.com/icons)のアイコンをサポ
| blogger | {{< icon blogger >}} |
| bug | {{< icon bug >}} |
| check | {{< icon check >}} |
| chevron-down | {{< icon chevron-down >}} |
| chevron-up | {{< icon chevron-up >}} |
| circle-info | {{< icon circle-info >}} |
| codepen | {{< icon codepen >}} |
| comment | {{< icon comment >}} |
@ -35,6 +37,7 @@ Congoは[FontAwesome 6](https://fontawesome.com/icons)のアイコンをサポ
| foursquare | {{< icon foursquare >}} |
| github | {{< icon github >}} |
| gitlab | {{< icon gitlab >}} |
| globe | {{< icon globe >}} |
| google | {{< icon google >}} |
| hashnode | {{< icon hashnode >}} |
| instagram | {{< icon instagram >}} |
@ -68,6 +71,7 @@ Congoは[FontAwesome 6](https://fontawesome.com/icons)のアイコンをサポ
| tag | {{< icon tag >}} |
| telegram | {{< icon telegram >}} |
| tiktok | {{< icon tiktok >}} |
| translate | {{< icon translate >}} |
| triangle-exclamation | {{< icon triangle-exclamation >}} |
| tumblr | {{< icon tumblr >}} |
| twitch | {{< icon twitch >}} |

View File

@ -23,6 +23,8 @@ The full list of built-in icons and their corresponding names can referenced bel
| blogger | {{< icon blogger >}} |
| bug | {{< icon bug >}} |
| check | {{< icon check >}} |
| chevron-down | {{< icon chevron-down >}} |
| chevron-up | {{< icon chevron-up >}} |
| circle-info | {{< icon circle-info >}} |
| codepen | {{< icon codepen >}} |
| comment | {{< icon comment >}} |
@ -35,6 +37,7 @@ The full list of built-in icons and their corresponding names can referenced bel
| foursquare | {{< icon foursquare >}} |
| github | {{< icon github >}} |
| gitlab | {{< icon gitlab >}} |
| globe | {{< icon globe >}} |
| google | {{< icon google >}} |
| hashnode | {{< icon hashnode >}} |
| instagram | {{< icon instagram >}} |
@ -68,6 +71,7 @@ The full list of built-in icons and their corresponding names can referenced bel
| tag | {{< icon tag >}} |
| telegram | {{< icon telegram >}} |
| tiktok | {{< icon tiktok >}} |
| translate | {{< icon translate >}} |
| triangle-exclamation | {{< icon triangle-exclamation >}} |
| tumblr | {{< icon tumblr >}} |
| twitch | {{< icon twitch >}} |

View File

@ -9,38 +9,39 @@ KaTeX kann verwendet werden, um mathematische Notationen in Artikeln darzustelle
<!--more-->
{{< katex >}}
Congo bindet die KaTeX-Assets nur dann in das Projekt ein, wenn die mathematische Notation verwendet wird. Damit dies funktioniert, kann einfach der Shortcode [`katex`]({{< ref path="docs/shortcodes#katex" lang="en" >}}) in den Artikel eingefügt werden. Jede KaTeX-Syntax auf dieser Seite wird dann automatisch gerendert.
Congo bindet die KaTeX-Assets nur dann in das Projekt ein, wenn die mathematische Notation verwendet wird. Damit dies funktioniert, kann einfach der Shortcode [`katex`]({{< ref path="docs/shortcodes#katex" lang="en" >}}) der entweder mit `katex block` oder `katex inline` verwendet werden kann in den Artikel eingefügt werden. Jede KaTeX-Syntax auf dieser Seite wird dann automatisch gerendert.
Die Online-Referenz der [unterstützten TeX-Funktionen](https://katex.org/docs/supported.html) zeigt Syntax-Beispiele.
## Inline-Schreibweise
Die Inline-Schreibweise kann erzeugt werden, indem der Ausdruck in die Trennzeichen `\(` und `\)` eingeschlossen wird.
Die Inline-Schreibweise kann erzeugt werden, indem der Ausdruck in den Shortcode `katex inline` oder `katex` eingeschlossen wird.
**Beispiel:**
```tex
% KaTeX Inline-Schreibweise
Inline-Schreibweise: \\(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\\)
Inline-Schreibweise: {{</* katex inline */>}}\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…{{</* /katex */>}}
Kurzfassung: {{</* katex */>}}\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…{{</* /katex */>}}
```
Inline-Schreibweise: \\(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\\)
Inline-Schreibweise: {{< katex inline >}}\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…{{< /katex >}}
Kurzfassung: {{< katex >}}\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…{{< /katex >}}
## Schreibweise als Block
Alternativ kann die Blockschreibweise mit Hilfe von `$$`-Trennzeichen erzeugt werden. Dadurch wird der Ausdruck in einem eigenen HTML-Block ausgegeben.
Alternativ kann die Blockschreibweise mit dem Parameter `block` erzeugt werden. Dadurch wird der Ausdruck in einem eigenen HTML-Block ausgegeben.
**Beispiel:**
```tex
% KaTeX mit Block-Schreibweise
$$
{{</* katex block */>}}
\varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } }
$$
{{</* /katex */>}}
```
$$
{{< katex block >}}
\varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } }
$$
{{< /katex >}}

View File

@ -9,38 +9,41 @@ Una breve muestra de notación matemática en Congo.
<!--more-->
{{< katex >}}
Congo solo incluirá los assets de KaTeX en su proyecto si utiliza notación matemática. Para que esto funcione, simplemente incluya el [`katex` shortcode]({{< ref path="docs/shortcodes#katex" lang="en" >}}) dentro del artículo. Cualquier sintaxis de KaTeX en esa página se renderizará automáticamente.
Congo sólo incluirá los recursos de KaTeX en su proyecto si hace uso de la notación matemática. Para que esto funcione, congo proporciona un shortcode [`katex`]({{< ref path="docs/shortcodes#katex" lang="en" >}}) que puede usarse con `katex block` o `katex inline`.
Cualquier sintaxis KaTeX dentro del shortcode se renderizará automáticamente.
Utilice la documentación en línea de [funciones TeX admitidas](https://katex.org/docs/supported.html) para conocer la sintaxis disponible.
## Notación en línea
La notación en línea se puede generar envolviendo la expresión en los delimitadores `\\(` y `\\)`.
La notación inline puede generarse envolviendo la expresión en el shortcode `katex inline` o `katex`.
**Ejemplo:**
```tex
% KaTeX notación en línea
Notación en línea: \\(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\\)
Notación en línea: {{</* katex inline */>}}\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…{{</* /katex */>}}
Versión abreviada: {{</* katex */>}}\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…{{</* /katex */>}}
```
Notación en línea: \\(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\\)
Notación en línea: {{< katex inline >}}\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…{{< /katex >}}
Versión abreviada: {{< katex >}}\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…{{< /katex >}}
## Notación en bloque
Alternativamente, la notación en bloque se puede generar usando delimitadores `$$`. Esto generará la expresión en su propio bloque HTML.
Alternativamente, puede generarse una notación en bloque utilizando el parámetro `block`. Esto mostrará la expresión en su propio bloque HTML.
**Ejemplo:**
```tex
% KaTeX notación en bloque
$$
{{</* katex block */>}}
\varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } }
$$
{{</* /katex */>}}
```
$$
{{< katex block >}}
\varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } }
$$
{{< /katex >}}

View File

@ -9,38 +9,40 @@ tags: ["sample", "katex", "maths", "shortcodes"]
<!--more-->
{{< katex >}}
Congoは、数学的記法を使用する場合にのみ、KaTeXアセットをプロジェクトにバンドルします。これを動作させるために、congoは `katex block` または `katex inline` で使用できるショートコード [`katex`]({{< ref path="docs/shortcodes#katex" lang="en" >}}) を提供しています。
ショートコード内のKaTeX構文は自動的にレンダリングされます。
Congoは、数学的表記を使用する場合にのみ、KaTeXアセットをプロジェクトにバンドルします。これを動作させるには、単に記事内に[`katex` ショートコード]({{< ref "docs/shortcodes#katex" >}})をインクルードしてください。そのページ上のKaTeX構文は自動的にレンダリングされます
利用可能な構文については[サポートされているTeX関数](https://katex.org/docs/supported.html)のオンラインリファレンスを参照してください
使用可能な構文については、[supported TeX functions](https://katex.org/docs/supported.html)のオンラインリファレンスを参照してください。
## インライン記法
インライン記法は、式を `\\(``\\)` で囲むことで生成できます
インライン記法は `katex inline` または `katex` ショートコードで式をラップすることで生成できる
**例:**
```tex
% KaTeX inline notation
インライン記法: \\(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\\)
インライン記法: {{</* katex inline */>}}\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…{{</* /katex */>}}
速記版: {{</* katex */>}}\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…{{</* /katex */>}}
```
インライン記法: {{< katex inline >}}\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…{{< /katex >}}
インライン記法: \\(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\\)
速記版: {{< katex >}}\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…{{< /katex >}}
## ブロック記法
あるいは、 `$$` を使ってブロック記法で生成することもできます。これは式を独自のHTMLブロックとして出力します。
また、`block` パラメータを使ってブロック表記を生成することもできます。これは式を独自のHTMLブロックで出力します。
**例:**
```tex
% KaTeX block notation
$$
{{</* katex block */>}}
\varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } }
$$
{{</* /katex */>}}
```
$$
{{< katex block >}}
\varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } }
$$
{{< /katex >}}

View File

@ -9,38 +9,40 @@ KaTeX can be used to render mathematical notation within articles.
<!--more-->
{{< katex >}}
Congo will only bundle the KaTeX assets into your project if you make use of mathematical notation. In order for this to work, simply include the [`katex` shortcode]({{< ref "docs/shortcodes#katex" >}}) within the article. Any KaTeX syntax on that page will then be automatically rendered.
Congo will only bundle the KaTeX assets into your project if you make use of mathematical notation. In order for this to work, congo provides a shortcode [`katex`]({{< ref "docs/shortcodes#katex" >}}) than can be used with either `katex block` or `katex inline`.
Any KaTeX syntax inside the shortcode will be automatically rendered.
Use the online reference of [supported TeX functions](https://katex.org/docs/supported.html) for the available syntax.
## Inline notation
Inline notation can be generated by wrapping the expression in `\\(` and `\\)` delimiters.
Inline notation can be generated by wrapping the expression in the `katex inline` or `katex` shortcode.
**Example:**
```tex
% KaTeX inline notation
Inline notation: \\(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\\)
Inline notation: {{</* katex inline */>}}\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…{{</* /katex */>}}
Shorthand version: {{</* katex */>}}\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…{{</* /katex */>}}
```
Inline notation: \\(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\\)
Inline notation: {{< katex inline >}}\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…{{< /katex >}}
Shorthand version: {{< katex >}}\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…{{< /katex >}}
## Block notation
Alternatively, block notation can be generated using `$$` delimiters. This will output the expression in its own HTML block.
Alternatively, block notation can be generated using the `block` parameter. This will output the expression in its own HTML block.
**Example:**
```tex
% KaTeX block notation
$$
{{</* katex block */>}}
\varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } }
$$
{{</* /katex */>}}
```
$$
{{< katex block >}}
\varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } }
$$
{{< /katex >}}

View File

@ -28,6 +28,8 @@
{{ if eq .MediaType.SubType "svg" }}
src="{{ .RelPermalink }}"
{{ else }}
width="{{ .Width }}"
height="{{ .Height }}"
{{ if lt .Width 660 }}
src="{{ .RelPermalink }}"
{{ else }}

View File

@ -2,17 +2,11 @@
{{- partial "partials/functions/init.html" . -}}
<!DOCTYPE html>
<html
lang="{{ with .Site.Params.isoCode | default (.Site.LanguageCode | default "en") }}
{{- . -}}
{{ end }}"
dir="{{ if .Site.Params.rtl | default false -}}
rtl
{{- else -}}
ltr
{{- end }}"
lang="{{- site.Language.LanguageCode | default "" -}}"
dir="{{- site.Language.LanguageDirection | default "ltr" -}}"
class="scroll-smooth"
data-default-appearance="{{ .Site.Params.defaultAppearance | default "light" }}"
data-auto-appearance="{{ .Site.Params.autoSwitchAppearance | default "true" }}"
data-default-appearance="{{- .Site.Params.defaultAppearance | default "light" -}}"
data-auto-appearance="{{- .Site.Params.autoSwitchAppearance | default "true" -}}"
>
{{- partial "head.html" . -}}
<body

View File

@ -20,6 +20,8 @@
{{ if eq .MediaType.SubType "svg" }}
src="{{ .RelPermalink }}"
{{ else }}
width="{{ .Width }}"
height="{{ .Height }}"
{{ if lt .Width 660 }}
src="{{ .RelPermalink }}"
{{ else }}
@ -31,9 +33,6 @@
{{ end }}
{{ end }}
alt="{{ $.Params.featureAlt | default $.Params.coverAlt | default "" }}"
{{ if $.Site.Params.enableImageLazyLoading | default true }}
loading="lazy"
{{ end }}
/>
{{ with $.Params.coverCaption }}
<figcaption class="mb-6 -mt-3 text-center">{{ . | markdownify }}</figcaption>

View File

@ -22,6 +22,8 @@
{{- (.Fill "160x120 smart").RelPermalink }}
160w, {{- (.Fill "320x240 smart").RelPermalink }} 2x"
src="{{ (.Fill "160x120 smart").RelPermalink }}"
width="160"
height="120"
{{ end }}
{{ if $.Site.Params.enableImageLazyLoading | default true }}
loading="lazy"

View File

@ -4,7 +4,7 @@
<nav class="pb-4 text-base font-medium text-neutral-500 dark:text-neutral-400">
<ul class="flex list-none flex-col sm:flex-row">
{{ range .Site.Menus.footer }}
<li class="group mb-1 ltr:text-right rtl:text-left 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" }}
{{ $.Scratch.Add "searchCount" 1 }}
{{ if $.Site.Params.enableSearch | default false }}
@ -46,6 +46,9 @@
{{ partial "icon.html" "sun" }}
</span>
</button>
{{ else if eq .Params.action "locale" }}
{{ $.Scratch.Add "localeCount" 1 }}
{{ partial "translations.html" (dict "ctx" . "dir" "up") }}
{{ else }}
<a
href="{{ .URL }}"
@ -95,6 +98,13 @@
</p>
{{ end }}
</div>
<div class="flex flex-row items-center">
{{/* Locale switcher */}}
{{ if and (.IsTranslated) (eq ($.Scratch.Get "localeCount") 0) }}
<div>
{{ partial "translations.html" (dict "ctx" . "dir" "up") }}
</div>
{{ end }}
{{/* Appearance switcher */}}
{{ if .Site.Params.footer.showAppearanceSwitcher | default false }}
<div
@ -119,6 +129,7 @@
</div>
{{ end }}
</div>
</div>
{{/* Extend footer - eg. for extra scripts, etc. */}}
{{ if templates.Exists "partials/extend-footer.html" }}
{{ partial "extend-footer.html" . }}

View File

@ -1,2 +1,3 @@
{{ $.Scratch.Set "searchCount" 0 }}
{{ $.Scratch.Set "switchCount" 0 }}
{{ $.Scratch.Set "localeCount" 0 }}

View File

@ -1,8 +1,5 @@
<head>
<meta charset="utf-8" />
{{ with site.Params.htmlCode | default .Site.LanguageCode }}
<meta http-equiv="content-language" content="{{ . }}" />
{{ end }}
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="theme-color" content="rgb(255,255,255)" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
@ -17,7 +14,7 @@
{{/* Metadata */}}
<meta name="description" content="{{ with .Description }}{{ . }}{{ else }}{{ if .IsPage }}{{ .Summary }}{{ else }}{{ with .Site.Params.description }}{{ . }}{{ end }}{{ end }}{{ end }}" />
{{ with union .Site.Params.keywords .Params.keywords -}}
<meta name="keywords" content="{{ delimit . `, `}}" />
<meta name="keywords" content="{{ delimit . `, ` }}" />
{{- end }}
{{ with .Site.Params.robots }}
<meta name="robots" content="{{ . }}" />
@ -62,7 +59,7 @@
{{ $jsCode := resources.Get "js/code.js" }}
{{ $assets.Add "js" (slice $jsCode) }}
{{ end }}
{{ if .Site.Params.rtl | default false }}
{{ if eq (site.Language.LanguageDirection | default "ltr") "rtl" }}
{{ $jsRTL := resources.Get "js/rtl.js" }}
{{ $assets.Add "js" (slice $jsRTL) }}
{{ end }}

View File

@ -3,11 +3,10 @@
{{/* Site logo/title */}}
<div class="flex flex-row items-center">
{{ partial "logo.html" . }}
{{ partial "translations.html" . }}
</div>
{{/* Main menu */}}
{{ if or .Site.Menus.main (.Site.Params.enableSearch | default false) }}
<ul class="flex list-none flex-col ltr:text-right rtl:text-left sm:flex-row">
<ul class="flex list-none flex-col text-end sm:flex-row">
{{ if .Site.Menus.main }}
{{ range .Site.Menus.main }}
<li class="group mb-1 sm:mb-0 sm:me-7 sm:last:me-0.5">
@ -68,6 +67,9 @@
{{ end }}
</span>
</button>
{{ else if eq .Params.action "locale" }}
{{ $.Scratch.Add "localeCount" 1 }}
{{ partial "translations.html" . }}
{{ else }}
<a
href="{{ .URL }}"

View File

@ -3,7 +3,6 @@
{{/* Site logo/title */}}
<div class="z-40 flex flex-row items-center">
{{ partial "logo.html" . }}
{{ partial "translations.html" . }}
</div>
{{/* Hamburger menu */}}
{{ if or .Site.Menus.main (.Site.Params.enableSearch | default false) }}
@ -14,10 +13,10 @@
</div>
<div
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
class="flex flex-col w-full px-6 py-6 mx-auto overflow-visible list-none max-w-7xl ltr:text-right rtl:text-left 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">
<span class="cursor-pointer hover:text-primary-600 dark:hover:text-primary-400"
@ -26,7 +25,7 @@
</li>
{{ if .Site.Menus.main }}
{{ range .Site.Menus.main }}
<li class="mb-1 group">
<li class="group mb-1">
{{ if eq .Params.action "search" }}
{{ $.Scratch.Add "searchCount" 1 }}
{{ if $.Site.Params.enableSearch | default false }}
@ -36,7 +35,7 @@
>
{{ with .Params.icon | default "search" }}
<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" . -}}
</span>
@ -56,7 +55,7 @@
aria-label="appearance switcher"
>
<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" }}"
>
{{ with .Params.icon | default "moon" }}
@ -70,7 +69,7 @@
{{ end }}
</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" }}"
>
{{ with .Params.icon | default "sun" }}
@ -84,6 +83,9 @@
{{ end }}
</span>
</button>
{{ else if eq .Params.action "locale" }}
{{ $.Scratch.Add "localeCount" 1 }}
{{ partial "translations.html" . }}
{{ else }}
<a
href="{{ .URL }}"
@ -91,7 +93,7 @@
{{ with .Params.target }}target="{{ . }}"{{ end }}
>{{ with .Params.icon }}
<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" . -}}
</span>
@ -106,10 +108,10 @@
</li>
{{ end }}
{{ 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" }}">
<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" }}
</span>

View File

@ -3,7 +3,6 @@
{{/* Site logo/title */}}
<div class="z-40 flex flex-row items-center">
{{ partial "logo.html" . }}
{{ partial "translations.html" . }}
</div>
{{ if or .Site.Menus.main (.Site.Params.enableSearch | default false) }}
{{/* Hamburger menu */}}
@ -17,7 +16,7 @@
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
class="mx-auto flex w-full max-w-7xl list-none flex-col overflow-visible px-6 py-6 ltr:text-right rtl:text-left 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">
<span class="cursor-pointer hover:text-primary-600 dark:hover:text-primary-400"
@ -84,6 +83,9 @@
{{ end }}
</span>
</button>
{{ else if eq .Params.action "locale" }}
{{ $.Scratch.Add "localeCount" 1 }}
{{ partial "translations.html" . }}
{{ else }}
<a
href="{{ .URL }}"
@ -121,7 +123,7 @@
</div>
</label>
{{/* Basic menu */}}
<ul class="hidden list-none flex-row ltr:text-right rtl:text-left sm:flex">
<ul class="hidden list-none flex-row text-end sm:flex">
{{ if .Site.Menus.main }}
{{ range .Site.Menus.main }}
<li class="group mb-1 sm:mb-0 sm:me-7 sm:last:me-0">
@ -182,6 +184,9 @@
{{ end }}
</span>
</button>
{{ else if eq .Params.action "locale" }}
{{ $.Scratch.Add "localeCount" 1 }}
{{ partial "translations.html" . }}
{{ else }}
<a
href="{{ .URL }}"

View File

@ -3,20 +3,17 @@
h-full
{{ end }} flex flex-col items-center justify-center text-center"
>
<header class="flex flex-col items-center mb-3">
<header class="mb-3 flex flex-col items-center">
{{ with .Site.Author.image }}
{{ $authorImage := resources.Get . }}
{{ if $authorImage }}
{{ $authorImage := $authorImage.Fill "288x288 Center" }}
<img
class="mb-2 rounded-full h-36 w-36"
class="mb-2 h-36 w-36 rounded-full"
width="144"
height="144"
alt="{{ $.Site.Author.name | default "Author" }}"
src="{{ $authorImage.RelPermalink }}"
{{ if $.Site.Params.enableImageLazyLoading | default true }}
loading="lazy"
{{ end }}
/>
{{ end }}
{{ end }}

View File

@ -9,9 +9,6 @@
height="{{ div $logo.Height 2 }}"
class="max-h-[10rem] max-w-[10rem] object-scale-down object-left{{ if $logo_dark }} hidden dark:flex{{ end }}"
alt="{{ .Site.Title }}"
{{ if .Site.Params.enableImageLazyLoading | default true }}
loading="lazy"
{{ end }}
/>
{{- if $logo_dark }}
<img
@ -20,9 +17,6 @@
height="{{ div $logo_dark.Height 2 }}"
class="max-h-[10rem] max-w-[10rem] object-scale-down object-left dark:hidden"
alt="{{ .Site.Title }}"
{{ if .Site.Params.enableImageLazyLoading | default true }}
loading="lazy"
{{ end }}
/>
{{- end}}
</a>

View File

@ -18,7 +18,7 @@
{{ else if .IsPage }}
{{- $iso8601 := "2006-01-02T15:04:05-07:00" -}}
<script type="application/ld+json">
[{
{
"@context": "https://schema.org",
"@type": "Article",
"articleSection": "{{ (site.GetPage .Section).Title | safeJS }}",
@ -44,6 +44,6 @@
{{ end }}
"mainEntityOfPage": "true",
"wordCount": "{{ .WordCount }}"
}]
}
</script>
{{ end }}

View File

@ -1,16 +1,60 @@
{{ if .IsTranslated }}
{{- $ctx := "" -}}
{{- $dir := default "down" -}}
{{- if (reflect.IsMap . ) -}}
{{- $ctx = .ctx -}}
{{- $dir = cond (not .dir) nil .dir -}}
{{- else -}}
{{- $ctx = . -}}
{{- end -}}
{{ with page }}
{{ if .IsTranslated }}
{{ $currentLang := .Page.Lang }}
<ul class="flex list-none flex-row">
{{ range .AllTranslations }}
{{ if ne $currentLang .Lang }}
<li class="ml-2">
<a
href="{{ .RelPermalink }}"
class="decoration-primary-500 hover:underline hover:decoration-2 hover:underline-offset-2"
>{{ .Site.Params.displayName | emojify }}</a
{{ if site.IsMultiLingual }}
<div class="relative group">
<button
class="flex items-center justify-end w-full transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600"
>
</li>
{{ partial "icon.html" "translate" }}<span class="text-sm">{{ .Lang | upper }}</span
><span class="text-[0.6rem]"
>{{ partial "icon.html" (cond (eq $dir "down") "chevron-down" "chevron-up") }}</span
>
</button>
{{ if eq $dir "down" }}
<div class="invisible w-full h-2 bg-transparent group-hover:visible"></div>
{{ end }}
<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"
>
{{ $siteLanguages := site.Languages }}
{{ $pageLang := .Page.Lang }}
{{ range .Page.AllTranslations }}
{{ $translation := . }}
{{ range $siteLanguages }}
{{ if eq $translation.Lang .Lang }}
{{ $selected := false }}
<div class="flex flex-grow">
{{ if eq $pageLang .Lang }}
<a
href="{{ $translation.RelPermalink }}"
class="flex items-center justify-between w-full px-2 py-1 bg-primary-100 dark:bg-primary-900"
>{{ .LanguageName }}<span
class="w-6 ms-2 text-primary-600 dark:text-primary-400"
>{{ partial "icon.html" "check" }}</span
></a
>
{{ else }}
<a
href="{{ $translation.RelPermalink }}"
class="w-full py-1 pe-10 ps-2 decoration-primary-500 hover:underline hover:decoration-2 hover:underline-offset-2"
>{{ .LanguageName }}</a
>
{{ end }}
</div>
{{ end }}
{{ end }}
{{ end }}
</div>
</div>
{{ end }}
{{ end }}
</ul>
{{ end }}

View File

@ -1,7 +1,3 @@
User-agent: *
{{- if hugo.IsProduction | or (eq .Site.Params.env "production") }}
Allow: /
{{- else }}
Disallow: /
{{- end }}
Sitemap: {{ "sitemap.xml" | absURL }}

View File

@ -27,6 +27,8 @@
{{ if eq .MediaType.SubType "svg" }}
src="{{ .RelPermalink }}"
{{ else }}
width="{{ .Width }}"
height="{{ .Height }}"
{{ if lt .Width 660 }}
src="{{ .RelPermalink }}"
{{ else }}

View File

@ -1 +1,8 @@
{{/* Nothing to see here */}}
{{ $mode := .Get 0 }}
{{ if eq $mode "block" }}
$${{.Inner}}$$
{{ else if or (eq $mode "inline") (eq $mode nil) }}
\({{.Inner}}\)
{{ else }}
{{ errorf "Invalid katex mode: expected block or inline" }}
{{ end }}

View File

@ -3,22 +3,16 @@
publish = "exampleSite/public"
[build.environment]
HUGO_VERSION = "0.118.2"
HUGO_THEMESDIR = "../.."
HUGO_THEME = "repo"
TZ = "Australia/Melbourne"
[context.production.environment]
HUGO_VERSION = "0.112.7"
HUGO_ENV = "production"
[context.deploy-preview]
command = "cd exampleSite && hugo --gc --minify -D -b $DEPLOY_PRIME_URL"
[context.deploy-preview.environment]
HUGO_VERSION = "0.112.7"
[context.branch-deploy]
command = "cd exampleSite && hugo --gc --minify -D -b $DEPLOY_PRIME_URL"
[context.branch-deploy.environment]
HUGO_VERSION = "0.112.7"

14
package-lock.json generated
View File

@ -10,7 +10,7 @@
"hasInstallScript": true,
"license": "MIT",
"devDependencies": {
"@tailwindcss/typography": "^0.5.9",
"@tailwindcss/typography": "^0.5.10",
"chart.js": "^4.4.0",
"fuse.js": "^6.6.2",
"katex": "^0.16.8",
@ -167,9 +167,9 @@
}
},
"node_modules/@tailwindcss/typography": {
"version": "0.5.9",
"resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.9.tgz",
"integrity": "sha512-t8Sg3DyynFysV9f4JDOVISGsjazNb48AeIYQwcL+Bsq5uf4RYL75C1giZ43KISjeDGBaTN3Kxh7Xj/vRSMJUUg==",
"version": "0.5.10",
"resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.10.tgz",
"integrity": "sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==",
"dev": true,
"dependencies": {
"lodash.castarray": "^4.4.0",
@ -3191,9 +3191,9 @@
"optional": true
},
"@tailwindcss/typography": {
"version": "0.5.9",
"resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.9.tgz",
"integrity": "sha512-t8Sg3DyynFysV9f4JDOVISGsjazNb48AeIYQwcL+Bsq5uf4RYL75C1giZ43KISjeDGBaTN3Kxh7Xj/vRSMJUUg==",
"version": "0.5.10",
"resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.10.tgz",
"integrity": "sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==",
"dev": true,
"requires": {
"lodash.castarray": "^4.4.0",

View File

@ -29,7 +29,7 @@
},
"homepage": "https://github.com/jpanther/congo#readme",
"devDependencies": {
"@tailwindcss/typography": "^0.5.9",
"@tailwindcss/typography": "^0.5.10",
"chart.js": "^4.4.0",
"fuse.js": "^6.6.2",
"katex": "^0.16.8",