mirror of https://github.com/jpanther/congo.git
commit
3dd7fe455d
|
@ -10,7 +10,7 @@ jobs:
|
|||
issues: write
|
||||
pull-requests: write
|
||||
steps:
|
||||
- uses: actions/stale@v7
|
||||
- uses: actions/stale@v8
|
||||
with:
|
||||
days-before-stale: 30
|
||||
days-before-close: 14
|
||||
|
|
32
CHANGELOG.md
32
CHANGELOG.md
|
@ -6,6 +6,35 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|||
|
||||
## [Unreleased]
|
||||
|
||||
## [2.6.0] - 2023-05-25
|
||||
|
||||
### Added
|
||||
|
||||
- Support for Hugo v0.112.0
|
||||
- Ability to specify an alternate logo image when dark appearance is active (\[#533], ([#521](https://github.com/jpanther/congo/pull/521))(https://github.com/jpanther/congo/pull/533), [#543](https://github.com/jpanther/congo/pull/543))
|
||||
- Ability to specify the hashing algorithm that is used when fingerprinting assets ([#478](https://github.com/jpanther/congo/issues/478))
|
||||
- Arabic translation ([#521](https://github.com/jpanther/congo/pull/521))
|
||||
- Slovak translation ([#541](https://github.com/jpanther/congo/pull/541))
|
||||
- Czech translation ([#541](https://github.com/jpanther/congo/pull/541))
|
||||
|
||||
### Changed
|
||||
|
||||
- ⚠️ Some parameters in the root of the Languages config file have been nested under the `params` block
|
||||
- Search results now respect `showDate` value when displaying article metadata ([#511](https://github.com/jpanther/congo/pull/511))
|
||||
- Adopted new Tailwind logical properties for RTL styling
|
||||
- Article sharing links now open in a new tab/window
|
||||
- Updated Dutch translation ([#544](https://github.com/jpanther/congo/pull/544))
|
||||
- Upgrade to Tailwind v3.3.1 ([#523](https://github.com/jpanther/congo/pull/523))
|
||||
- Upgrade to KaTeX v0.16.7 ([#538](https://github.com/jpanther/congo/pull/538), [#549](https://github.com/jpanther/congo/pull/549))
|
||||
- Upgrade to Chart.js v4.3.0 ([#551](https://github.com/jpanther/congo/pull/551))
|
||||
- Upgrade to Mermaid v10.2.0 ([#563](https://github.com/jpanther/congo/pull/563))
|
||||
|
||||
### Fixed
|
||||
|
||||
- Some `srcset` values are broken when using Hugo `--minify` option ([#508](https://github.com/jpanther/congo/pull/508))
|
||||
- Author images are cropped off-centre during image processing ([#527](https://github.com/jpanther/congo/pull/527))
|
||||
- Site doesn't build when using Hugo v0.112.0 ([#561](https://github.com/jpanther/congo/pull/561))
|
||||
|
||||
## [2.5.4] - 2023-03-20
|
||||
|
||||
### Added
|
||||
|
@ -659,7 +688,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|||
- Advanced customisation using simple Tailwind colour definitions and styles
|
||||
- Fully documented
|
||||
|
||||
[Unreleased]: https://github.com/jpanther/congo/compare/v2.5.4...HEAD
|
||||
[Unreleased]: https://github.com/jpanther/congo/compare/v2.6.0...HEAD
|
||||
[2.6.0]: https://github.com/jpanther/congo/compare/v2.5.4...v2.6.0
|
||||
[2.5.4]: https://github.com/jpanther/congo/compare/v2.5.3...v2.5.4
|
||||
[2.5.3]: https://github.com/jpanther/congo/compare/v2.5.2...v2.5.3
|
||||
[2.5.2]: https://github.com/jpanther/congo/compare/v2.5.1...v2.5.2
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*! Congo v2.5.4 | MIT License | https://github.com/jpanther/congo */
|
||||
/*! Congo v2.6.0 | MIT License | https://github.com/jpanther/congo */
|
||||
|
||||
/*! tailwindcss v3.2.7 | MIT License | https://tailwindcss.com */
|
||||
/*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com */
|
||||
|
||||
/*
|
||||
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
|
||||
|
@ -31,6 +31,7 @@
|
|||
3. Use a more readable tab size.
|
||||
4. Use the user's configured `sans` font-family 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.
|
||||
*/
|
||||
|
||||
html {
|
||||
|
@ -47,6 +48,8 @@ html {
|
|||
/* 4 */
|
||||
font-feature-settings: normal;
|
||||
/* 5 */
|
||||
font-variation-settings: normal;
|
||||
/* 6 */
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -433,6 +436,9 @@ video {
|
|||
--tw-pan-y: ;
|
||||
--tw-pinch-zoom: ;
|
||||
--tw-scroll-snap-strictness: proximity;
|
||||
--tw-gradient-from-position: ;
|
||||
--tw-gradient-via-position: ;
|
||||
--tw-gradient-to-position: ;
|
||||
--tw-ordinal: ;
|
||||
--tw-slashed-zero: ;
|
||||
--tw-numeric-figure: ;
|
||||
|
@ -480,6 +486,9 @@ video {
|
|||
--tw-pan-y: ;
|
||||
--tw-pinch-zoom: ;
|
||||
--tw-scroll-snap-strictness: proximity;
|
||||
--tw-gradient-from-position: ;
|
||||
--tw-gradient-via-position: ;
|
||||
--tw-gradient-to-position: ;
|
||||
--tw-ordinal: ;
|
||||
--tw-slashed-zero: ;
|
||||
--tw-numeric-figure: ;
|
||||
|
@ -1035,32 +1044,32 @@ body:has(#menu-controller:checked) {
|
|||
|
||||
/* RTL support */
|
||||
|
||||
[dir="rtl"] .prose blockquote {
|
||||
:is([dir="rtl"] .prose blockquote) {
|
||||
border-left-width: 0px;
|
||||
border-right-width: 4px;
|
||||
padding-right: 1rem;
|
||||
}
|
||||
|
||||
[dir="rtl"] .prose ul > li,[dir="rtl"]
|
||||
.prose ol > li {
|
||||
:is([dir="rtl"] .prose ul > li),:is([dir="rtl"]
|
||||
.prose ol > li) {
|
||||
margin-right: 1.75rem;
|
||||
padding-left: 0px;
|
||||
padding-right: 0.5rem;
|
||||
}
|
||||
|
||||
[dir="rtl"] .prose ol > li:before,[dir="rtl"]
|
||||
.prose ul > li:before {
|
||||
:is([dir="rtl"] .prose ol > li):before,:is([dir="rtl"]
|
||||
.prose ul > li):before {
|
||||
left: auto;
|
||||
right: 0.25rem;
|
||||
}
|
||||
|
||||
[dir="rtl"] .prose thead td:first-child,[dir="rtl"]
|
||||
.prose thead th:first-child {
|
||||
:is([dir="rtl"] .prose thead td:first-child),:is([dir="rtl"]
|
||||
.prose thead th:first-child) {
|
||||
padding-right: 0px;
|
||||
}
|
||||
|
||||
[dir="rtl"] .prose thead td:last-child,[dir="rtl"]
|
||||
.prose thead th:last-child {
|
||||
:is([dir="rtl"] .prose thead td:last-child),:is([dir="rtl"]
|
||||
.prose thead th:last-child) {
|
||||
padding-left: 0px;
|
||||
}
|
||||
|
||||
|
@ -1080,12 +1089,9 @@ body:has(#menu-controller:checked) {
|
|||
line-height: 1.375;
|
||||
}
|
||||
|
||||
[dir="ltr"] .toc ul ul {
|
||||
padding-left: 1rem;
|
||||
}
|
||||
|
||||
[dir="rtl"] .toc ul ul {
|
||||
padding-right: 1rem;
|
||||
.toc ul ul {
|
||||
-webkit-padding-start: 1rem;
|
||||
padding-inline-start: 1rem;
|
||||
}
|
||||
|
||||
.toc a {
|
||||
|
@ -1094,12 +1100,12 @@ body:has(#menu-controller:checked) {
|
|||
color: rgba(var(--color-neutral-700), var(--tw-text-opacity));
|
||||
}
|
||||
|
||||
.dark .toc a {
|
||||
:is(.dark .toc a) {
|
||||
--tw-text-opacity: 1;
|
||||
color: rgba(var(--color-neutral-400), var(--tw-text-opacity));
|
||||
}
|
||||
|
||||
[dir="rtl"] .toc ul > li {
|
||||
:is([dir="rtl"] .toc ul > li) {
|
||||
margin-right: 0px;
|
||||
}
|
||||
|
||||
|
@ -1121,8 +1127,8 @@ body:has(#menu-controller:checked) {
|
|||
.copy-button {
|
||||
visibility: hidden;
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
right: 0px;
|
||||
top: 0px;
|
||||
z-index: 10;
|
||||
width: 5rem;
|
||||
cursor: pointer;
|
||||
|
@ -1141,7 +1147,7 @@ body:has(#menu-controller:checked) {
|
|||
opacity: 0.9;
|
||||
}
|
||||
|
||||
.dark .copy-button {
|
||||
:is(.dark .copy-button) {
|
||||
--tw-bg-opacity: 1;
|
||||
background-color: rgba(var(--color-neutral-600), var(--tw-bg-opacity));
|
||||
--tw-text-opacity: 1;
|
||||
|
@ -1156,10 +1162,10 @@ body:has(#menu-controller:checked) {
|
|||
background-color: rgba(var(--color-primary-100), var(--tw-bg-opacity));
|
||||
}
|
||||
|
||||
.dark .copy-button:hover,.dark
|
||||
.copy-button:focus,.dark
|
||||
.copy-button:active,.dark
|
||||
.copy-button:active:hover {
|
||||
:is(.dark .copy-button:hover),:is(.dark
|
||||
.copy-button:focus),:is(.dark
|
||||
.copy-button:active),:is(.dark
|
||||
.copy-button:active:hover) {
|
||||
--tw-bg-opacity: 1;
|
||||
background-color: rgba(var(--color-primary-600), var(--tw-bg-opacity));
|
||||
}
|
||||
|
@ -1184,7 +1190,7 @@ body:has(#menu-controller:checked) {
|
|||
color: rgba(var(--color-neutral-700), var(--tw-text-opacity));
|
||||
}
|
||||
|
||||
.dark .chroma {
|
||||
:is(.dark .chroma) {
|
||||
--tw-bg-opacity: 1;
|
||||
background-color: rgba(var(--color-neutral-700), var(--tw-bg-opacity));
|
||||
--tw-text-opacity: 1;
|
||||
|
@ -1220,8 +1226,8 @@ body:has(#menu-controller:checked) {
|
|||
color: rgba(var(--color-neutral-600), var(--tw-text-opacity));
|
||||
}
|
||||
|
||||
.dark .chroma .lnt,.dark
|
||||
.chroma .ln {
|
||||
:is(.dark .chroma .lnt),:is(.dark
|
||||
.chroma .ln) {
|
||||
--tw-text-opacity: 1;
|
||||
color: rgba(var(--color-neutral-300), var(--tw-text-opacity));
|
||||
}
|
||||
|
@ -1244,7 +1250,7 @@ body:has(#menu-controller:checked) {
|
|||
background-color: rgba(var(--color-primary-100), var(--tw-bg-opacity));
|
||||
}
|
||||
|
||||
.dark .chroma .hl {
|
||||
:is(.dark .chroma .hl) {
|
||||
--tw-bg-opacity: 1;
|
||||
background-color: rgba(var(--color-primary-900), var(--tw-bg-opacity));
|
||||
}
|
||||
|
@ -1283,16 +1289,16 @@ body:has(#menu-controller:checked) {
|
|||
color: rgba(var(--color-primary-600), var(--tw-text-opacity));
|
||||
}
|
||||
|
||||
.dark .chroma .k,.dark
|
||||
.chroma .kd,.dark
|
||||
.chroma .kn,.dark
|
||||
.chroma .kp,.dark
|
||||
.chroma .kr,.dark
|
||||
.chroma .nc,.dark
|
||||
.chroma .fm,.dark
|
||||
.chroma .nn,.dark
|
||||
.chroma .vc,.dark
|
||||
.chroma .o {
|
||||
:is(.dark .chroma .k),:is(.dark
|
||||
.chroma .kd),:is(.dark
|
||||
.chroma .kn),:is(.dark
|
||||
.chroma .kp),:is(.dark
|
||||
.chroma .kr),:is(.dark
|
||||
.chroma .nc),:is(.dark
|
||||
.chroma .fm),:is(.dark
|
||||
.chroma .nn),:is(.dark
|
||||
.chroma .vc),:is(.dark
|
||||
.chroma .o) {
|
||||
--tw-text-opacity: 1;
|
||||
color: rgba(var(--color-primary-300), var(--tw-text-opacity));
|
||||
}
|
||||
|
@ -1305,7 +1311,7 @@ body:has(#menu-controller:checked) {
|
|||
color: rgba(var(--color-secondary-400), var(--tw-text-opacity));
|
||||
}
|
||||
|
||||
.dark .chroma .kc {
|
||||
:is(.dark .chroma .kc) {
|
||||
--tw-text-opacity: 1;
|
||||
color: rgba(var(--color-secondary-500), var(--tw-text-opacity));
|
||||
}
|
||||
|
@ -1347,17 +1353,17 @@ body:has(#menu-controller:checked) {
|
|||
color: rgba(var(--color-secondary-400), var(--tw-text-opacity));
|
||||
}
|
||||
|
||||
.dark .chroma .kt,.dark
|
||||
.chroma .nv,.dark
|
||||
.chroma .vi,.dark
|
||||
.chroma .vm,.dark
|
||||
.chroma .m,.dark
|
||||
.chroma .mb,.dark
|
||||
.chroma .mf,.dark
|
||||
.chroma .mh,.dark
|
||||
.chroma .mi,.dark
|
||||
.chroma .il,.dark
|
||||
.chroma .mo {
|
||||
:is(.dark .chroma .kt),:is(.dark
|
||||
.chroma .nv),:is(.dark
|
||||
.chroma .vi),:is(.dark
|
||||
.chroma .vm),:is(.dark
|
||||
.chroma .m),:is(.dark
|
||||
.chroma .mb),:is(.dark
|
||||
.chroma .mf),:is(.dark
|
||||
.chroma .mh),:is(.dark
|
||||
.chroma .mi),:is(.dark
|
||||
.chroma .il),:is(.dark
|
||||
.chroma .mo) {
|
||||
--tw-text-opacity: 1;
|
||||
color: rgba(var(--color-secondary-600), var(--tw-text-opacity));
|
||||
}
|
||||
|
@ -1378,10 +1384,10 @@ body:has(#menu-controller:checked) {
|
|||
color: rgba(var(--color-secondary-900), var(--tw-text-opacity));
|
||||
}
|
||||
|
||||
.dark .chroma .n,.dark
|
||||
.chroma .nd,.dark
|
||||
.chroma .ni,.dark
|
||||
.chroma .nl {
|
||||
:is(.dark .chroma .n),:is(.dark
|
||||
.chroma .nd),:is(.dark
|
||||
.chroma .ni),:is(.dark
|
||||
.chroma .nl) {
|
||||
--tw-text-opacity: 1;
|
||||
color: rgba(var(--color-secondary-200), var(--tw-text-opacity));
|
||||
}
|
||||
|
@ -1408,12 +1414,12 @@ body:has(#menu-controller:checked) {
|
|||
color: rgba(var(--color-secondary-800), var(--tw-text-opacity));
|
||||
}
|
||||
|
||||
.dark .chroma .na,.dark
|
||||
.chroma .nb,.dark
|
||||
.chroma .bp,.dark
|
||||
.chroma .nx,.dark
|
||||
.chroma .py,.dark
|
||||
.chroma .nt {
|
||||
:is(.dark .chroma .na),:is(.dark
|
||||
.chroma .nb),:is(.dark
|
||||
.chroma .bp),:is(.dark
|
||||
.chroma .nx),:is(.dark
|
||||
.chroma .py),:is(.dark
|
||||
.chroma .nt) {
|
||||
--tw-text-opacity: 1;
|
||||
color: rgba(var(--color-secondary-300), var(--tw-text-opacity));
|
||||
}
|
||||
|
@ -1432,9 +1438,9 @@ body:has(#menu-controller:checked) {
|
|||
color: rgba(var(--color-secondary-400), var(--tw-text-opacity));
|
||||
}
|
||||
|
||||
.dark .chroma .no,.dark
|
||||
.chroma .ne,.dark
|
||||
.chroma .vg {
|
||||
:is(.dark .chroma .no),:is(.dark
|
||||
.chroma .ne),:is(.dark
|
||||
.chroma .vg) {
|
||||
--tw-text-opacity: 1;
|
||||
color: rgba(var(--color-secondary-500), var(--tw-text-opacity));
|
||||
}
|
||||
|
@ -1446,7 +1452,7 @@ body:has(#menu-controller:checked) {
|
|||
color: rgba(var(--color-secondary-600), var(--tw-text-opacity));
|
||||
}
|
||||
|
||||
.dark .chroma .nf {
|
||||
:is(.dark .chroma .nf) {
|
||||
--tw-text-opacity: 1;
|
||||
color: rgba(var(--color-secondary-500), var(--tw-text-opacity));
|
||||
}
|
||||
|
@ -1503,22 +1509,22 @@ body:has(#menu-controller:checked) {
|
|||
color: rgba(var(--color-primary-800), var(--tw-text-opacity));
|
||||
}
|
||||
|
||||
.dark .chroma .l,.dark
|
||||
.chroma .ld,.dark
|
||||
.chroma .s,.dark
|
||||
.chroma .sa,.dark
|
||||
.chroma .sb,.dark
|
||||
.chroma .sc,.dark
|
||||
.chroma .dl,.dark
|
||||
.chroma .sd,.dark
|
||||
.chroma .s2,.dark
|
||||
.chroma .sh,.dark
|
||||
.chroma .si,.dark
|
||||
.chroma .sx,.dark
|
||||
.chroma .s1,.dark
|
||||
.chroma .gi,.dark
|
||||
.chroma .go,.dark
|
||||
.chroma .gp {
|
||||
:is(.dark .chroma .l),:is(.dark
|
||||
.chroma .ld),:is(.dark
|
||||
.chroma .s),:is(.dark
|
||||
.chroma .sa),:is(.dark
|
||||
.chroma .sb),:is(.dark
|
||||
.chroma .sc),:is(.dark
|
||||
.chroma .dl),:is(.dark
|
||||
.chroma .sd),:is(.dark
|
||||
.chroma .s2),:is(.dark
|
||||
.chroma .sh),:is(.dark
|
||||
.chroma .si),:is(.dark
|
||||
.chroma .sx),:is(.dark
|
||||
.chroma .s1),:is(.dark
|
||||
.chroma .gi),:is(.dark
|
||||
.chroma .go),:is(.dark
|
||||
.chroma .gp) {
|
||||
--tw-text-opacity: 1;
|
||||
color: rgba(var(--color-primary-400), var(--tw-text-opacity));
|
||||
}
|
||||
|
@ -1531,7 +1537,7 @@ body:has(#menu-controller:checked) {
|
|||
color: rgba(var(--color-secondary-400), var(--tw-text-opacity));
|
||||
}
|
||||
|
||||
.dark .chroma .se {
|
||||
:is(.dark .chroma .se) {
|
||||
--tw-text-opacity: 1;
|
||||
color: rgba(var(--color-secondary-500), var(--tw-text-opacity));
|
||||
}
|
||||
|
@ -1547,8 +1553,8 @@ body:has(#menu-controller:checked) {
|
|||
color: rgba(var(--color-primary-800), var(--tw-text-opacity));
|
||||
}
|
||||
|
||||
.dark .chroma .sr,.dark
|
||||
.chroma .ss {
|
||||
:is(.dark .chroma .sr),:is(.dark
|
||||
.chroma .ss) {
|
||||
--tw-text-opacity: 1;
|
||||
color: rgba(var(--color-primary-400), var(--tw-text-opacity));
|
||||
}
|
||||
|
@ -1561,7 +1567,7 @@ body:has(#menu-controller:checked) {
|
|||
color: rgba(var(--color-primary-400), var(--tw-text-opacity));
|
||||
}
|
||||
|
||||
.dark .chroma .ow {
|
||||
:is(.dark .chroma .ow) {
|
||||
--tw-text-opacity: 1;
|
||||
color: rgba(var(--color-primary-600), var(--tw-text-opacity));
|
||||
}
|
||||
|
@ -1589,12 +1595,12 @@ body:has(#menu-controller:checked) {
|
|||
color: rgba(var(--color-neutral-500), var(--tw-text-opacity));
|
||||
}
|
||||
|
||||
.dark .chroma .c,.dark
|
||||
.chroma .cm,.dark
|
||||
.chroma .c1,.dark
|
||||
.chroma .cs,.dark
|
||||
.chroma .cp,.dark
|
||||
.chroma .cpf {
|
||||
:is(.dark .chroma .c),:is(.dark
|
||||
.chroma .cm),:is(.dark
|
||||
.chroma .c1),:is(.dark
|
||||
.chroma .cs),:is(.dark
|
||||
.chroma .cp),:is(.dark
|
||||
.chroma .cpf) {
|
||||
--tw-text-opacity: 1;
|
||||
color: rgba(var(--color-neutral-400), var(--tw-text-opacity));
|
||||
}
|
||||
|
@ -1608,7 +1614,7 @@ body:has(#menu-controller:checked) {
|
|||
color: rgba(var(--color-neutral-500), var(--tw-text-opacity));
|
||||
}
|
||||
|
||||
.dark .chroma .ch {
|
||||
:is(.dark .chroma .ch) {
|
||||
--tw-text-opacity: 1;
|
||||
color: rgba(var(--color-neutral-400), var(--tw-text-opacity));
|
||||
}
|
||||
|
@ -1678,16 +1684,21 @@ body:has(#menu-controller:checked) {
|
|||
}
|
||||
|
||||
.inset-0 {
|
||||
top: 0px;
|
||||
right: 0px;
|
||||
bottom: 0px;
|
||||
left: 0px;
|
||||
inset: 0px;
|
||||
}
|
||||
|
||||
.-start-6 {
|
||||
inset-inline-start: -1.5rem;
|
||||
}
|
||||
|
||||
.bottom-0 {
|
||||
bottom: 0px;
|
||||
}
|
||||
|
||||
.end-0 {
|
||||
inset-inline-end: 0px;
|
||||
}
|
||||
|
||||
.top-0 {
|
||||
top: 0px;
|
||||
}
|
||||
|
@ -1778,6 +1789,11 @@ body:has(#menu-controller:checked) {
|
|||
margin-bottom: -0.25rem;
|
||||
}
|
||||
|
||||
.-ms-5 {
|
||||
-webkit-margin-start: -1.25rem;
|
||||
margin-inline-start: -1.25rem;
|
||||
}
|
||||
|
||||
.-mt-3 {
|
||||
margin-top: -0.75rem;
|
||||
}
|
||||
|
@ -1810,6 +1826,21 @@ body:has(#menu-controller:checked) {
|
|||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
.me-14 {
|
||||
-webkit-margin-end: 3.5rem;
|
||||
margin-inline-end: 3.5rem;
|
||||
}
|
||||
|
||||
.me-2 {
|
||||
-webkit-margin-end: 0.5rem;
|
||||
margin-inline-end: 0.5rem;
|
||||
}
|
||||
|
||||
.me-4 {
|
||||
-webkit-margin-end: 1rem;
|
||||
margin-inline-end: 1rem;
|
||||
}
|
||||
|
||||
.ml-2 {
|
||||
margin-left: 0.5rem;
|
||||
}
|
||||
|
@ -1818,6 +1849,16 @@ body:has(#menu-controller:checked) {
|
|||
margin-right: 0.5rem;
|
||||
}
|
||||
|
||||
.ms-1 {
|
||||
-webkit-margin-start: 0.25rem;
|
||||
margin-inline-start: 0.25rem;
|
||||
}
|
||||
|
||||
.ms-2 {
|
||||
-webkit-margin-start: 0.5rem;
|
||||
margin-inline-start: 0.5rem;
|
||||
}
|
||||
|
||||
.mt-0 {
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
@ -2082,6 +2123,10 @@ body:has(#menu-controller:checked) {
|
|||
border-width: 1px;
|
||||
}
|
||||
|
||||
.border-s {
|
||||
border-inline-start-width: 1px;
|
||||
}
|
||||
|
||||
.border-t {
|
||||
border-top-width: 1px;
|
||||
}
|
||||
|
@ -2243,12 +2288,34 @@ body:has(#menu-controller:checked) {
|
|||
padding-bottom: 1rem;
|
||||
}
|
||||
|
||||
.pl-2 {
|
||||
padding-left: 0.5rem;
|
||||
.pe-2 {
|
||||
-webkit-padding-end: 0.5rem;
|
||||
padding-inline-end: 0.5rem;
|
||||
}
|
||||
|
||||
.pr-4 {
|
||||
padding-right: 1rem;
|
||||
.pe-3 {
|
||||
-webkit-padding-end: 0.75rem;
|
||||
padding-inline-end: 0.75rem;
|
||||
}
|
||||
|
||||
.pe-4 {
|
||||
-webkit-padding-end: 1rem;
|
||||
padding-inline-end: 1rem;
|
||||
}
|
||||
|
||||
.pe-5 {
|
||||
-webkit-padding-end: 1.25rem;
|
||||
padding-inline-end: 1.25rem;
|
||||
}
|
||||
|
||||
.ps-2 {
|
||||
-webkit-padding-start: 0.5rem;
|
||||
padding-inline-start: 0.5rem;
|
||||
}
|
||||
|
||||
.ps-5 {
|
||||
-webkit-padding-start: 1.25rem;
|
||||
padding-inline-start: 1.25rem;
|
||||
}
|
||||
|
||||
.pt-3 {
|
||||
|
@ -2464,7 +2531,7 @@ body:has(#menu-controller:checked) {
|
|||
transition-duration: 150ms;
|
||||
}
|
||||
|
||||
.dark .dark\:prose-invert {
|
||||
:is(.dark .dark\:prose-invert) {
|
||||
--tw-prose-body: var(--tw-prose-invert-body);
|
||||
--tw-prose-headings: var(--tw-prose-invert-headings);
|
||||
--tw-prose-lead: var(--tw-prose-invert-lead);
|
||||
|
@ -2483,16 +2550,16 @@ body:has(#menu-controller:checked) {
|
|||
--tw-prose-td-borders: var(--tw-prose-invert-td-borders);
|
||||
}
|
||||
|
||||
.dark .dark\:prose-invert :where(a):not(:where([class~="not-prose"] *)) {
|
||||
:is(.dark .dark\:prose-invert) :where(a):not(:where([class~="not-prose"] *)) {
|
||||
text-decoration-color: rgba(var(--color-neutral-600), 1);
|
||||
}
|
||||
|
||||
.dark .dark\:prose-invert :where(kbd):not(:where([class~="not-prose"] *)) {
|
||||
:is(.dark .dark\:prose-invert) :where(kbd):not(:where([class~="not-prose"] *)) {
|
||||
color: rgba(var(--color-neutral-200), 1);
|
||||
background-color: rgba(var(--color-neutral-700), 1);
|
||||
}
|
||||
|
||||
.dark .dark\:prose-invert :where(mark):not(:where([class~="not-prose"] *)) {
|
||||
:is(.dark .dark\:prose-invert) :where(mark):not(:where([class~="not-prose"] *)) {
|
||||
background-color: rgba(var(--color-secondary-400), 1);
|
||||
}
|
||||
|
||||
|
@ -2594,11 +2661,6 @@ body:has(#menu-controller:checked) {
|
|||
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));
|
||||
}
|
||||
|
||||
.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));
|
||||
}
|
||||
|
||||
.group:hover .group-hover\:text-primary-300 {
|
||||
--tw-text-opacity: 1;
|
||||
color: rgba(var(--color-primary-300), var(--tw-text-opacity));
|
||||
|
@ -2629,267 +2691,179 @@ body:has(#menu-controller:checked) {
|
|||
opacity: 1;
|
||||
}
|
||||
|
||||
[dir="ltr"] .ltr\:-left-6 {
|
||||
left: -1.5rem;
|
||||
}
|
||||
|
||||
[dir="ltr"] .ltr\:right-0 {
|
||||
right: 0px;
|
||||
}
|
||||
|
||||
[dir="ltr"] .ltr\:-ml-5 {
|
||||
margin-left: -1.25rem;
|
||||
}
|
||||
|
||||
[dir="ltr"] .ltr\:ml-1 {
|
||||
margin-left: 0.25rem;
|
||||
}
|
||||
|
||||
[dir="ltr"] .ltr\:ml-2 {
|
||||
margin-left: 0.5rem;
|
||||
}
|
||||
|
||||
[dir="ltr"] .ltr\:mr-14 {
|
||||
margin-right: 3.5rem;
|
||||
}
|
||||
|
||||
[dir="ltr"] .ltr\:mr-4 {
|
||||
margin-right: 1rem;
|
||||
}
|
||||
|
||||
[dir="ltr"] .ltr\:block {
|
||||
:is([dir="ltr"] .ltr\:block) {
|
||||
display: block;
|
||||
}
|
||||
|
||||
[dir="ltr"] .ltr\:inline {
|
||||
:is([dir="ltr"] .ltr\:inline) {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
[dir="ltr"] .ltr\:hidden {
|
||||
:is([dir="ltr"] .ltr\:hidden) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
[dir="ltr"] .ltr\:border-l {
|
||||
border-left-width: 1px;
|
||||
}
|
||||
|
||||
[dir="ltr"] .ltr\:pl-5 {
|
||||
padding-left: 1.25rem;
|
||||
}
|
||||
|
||||
[dir="ltr"] .ltr\:pr-2 {
|
||||
padding-right: 0.5rem;
|
||||
}
|
||||
|
||||
[dir="ltr"] .ltr\:pr-3 {
|
||||
padding-right: 0.75rem;
|
||||
}
|
||||
|
||||
[dir="ltr"] .ltr\:text-right {
|
||||
:is([dir="ltr"] .ltr\:text-right) {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
[dir="rtl"] .rtl\:-right-6 {
|
||||
right: -1.5rem;
|
||||
}
|
||||
|
||||
[dir="rtl"] .rtl\:left-0 {
|
||||
left: 0px;
|
||||
}
|
||||
|
||||
[dir="rtl"] .rtl\:-mr-5 {
|
||||
margin-right: -1.25rem;
|
||||
}
|
||||
|
||||
[dir="rtl"] .rtl\:ml-14 {
|
||||
margin-left: 3.5rem;
|
||||
}
|
||||
|
||||
[dir="rtl"] .rtl\:ml-4 {
|
||||
margin-left: 1rem;
|
||||
}
|
||||
|
||||
[dir="rtl"] .rtl\:mr-1 {
|
||||
margin-right: 0.25rem;
|
||||
}
|
||||
|
||||
[dir="rtl"] .rtl\:mr-2 {
|
||||
margin-right: 0.5rem;
|
||||
}
|
||||
|
||||
[dir="rtl"] .rtl\:block {
|
||||
:is([dir="rtl"] .rtl\:block) {
|
||||
display: block;
|
||||
}
|
||||
|
||||
[dir="rtl"] .rtl\:inline {
|
||||
:is([dir="rtl"] .rtl\:inline) {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
[dir="rtl"] .rtl\:hidden {
|
||||
:is([dir="rtl"] .rtl\:hidden) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
[dir="rtl"] .rtl\:border-r {
|
||||
border-right-width: 1px;
|
||||
}
|
||||
|
||||
[dir="rtl"] .rtl\:pl-2 {
|
||||
padding-left: 0.5rem;
|
||||
}
|
||||
|
||||
[dir="rtl"] .rtl\:pl-3 {
|
||||
padding-left: 0.75rem;
|
||||
}
|
||||
|
||||
[dir="rtl"] .rtl\:pr-5 {
|
||||
padding-right: 1.25rem;
|
||||
}
|
||||
|
||||
[dir="rtl"] .rtl\:text-left {
|
||||
:is([dir="rtl"] .rtl\:text-left) {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.dark .dark\:inline {
|
||||
:is(.dark .dark\:inline) {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
.dark .dark\:flex {
|
||||
:is(.dark .dark\:flex) {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.dark .dark\:hidden {
|
||||
:is(.dark .dark\:hidden) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.dark .dark\:border-neutral-600 {
|
||||
:is(.dark .dark\:border-neutral-600) {
|
||||
--tw-border-opacity: 1;
|
||||
border-color: rgba(var(--color-neutral-600), var(--tw-border-opacity));
|
||||
}
|
||||
|
||||
.dark .dark\:border-neutral-700 {
|
||||
:is(.dark .dark\:border-neutral-700) {
|
||||
--tw-border-opacity: 1;
|
||||
border-color: rgba(var(--color-neutral-700), var(--tw-border-opacity));
|
||||
}
|
||||
|
||||
.dark .dark\:border-primary-600 {
|
||||
:is(.dark .dark\:border-primary-600) {
|
||||
--tw-border-opacity: 1;
|
||||
border-color: rgba(var(--color-primary-600), var(--tw-border-opacity));
|
||||
}
|
||||
|
||||
.dark .dark\:bg-neutral-600 {
|
||||
:is(.dark .dark\:bg-neutral-600) {
|
||||
--tw-bg-opacity: 1;
|
||||
background-color: rgba(var(--color-neutral-600), var(--tw-bg-opacity));
|
||||
}
|
||||
|
||||
.dark .dark\:bg-neutral-700 {
|
||||
:is(.dark .dark\:bg-neutral-700) {
|
||||
--tw-bg-opacity: 1;
|
||||
background-color: rgba(var(--color-neutral-700), var(--tw-bg-opacity));
|
||||
}
|
||||
|
||||
.dark .dark\:bg-neutral-800 {
|
||||
:is(.dark .dark\:bg-neutral-800) {
|
||||
--tw-bg-opacity: 1;
|
||||
background-color: rgba(var(--color-neutral-800), var(--tw-bg-opacity));
|
||||
}
|
||||
|
||||
.dark .dark\:bg-neutral-800\/50 {
|
||||
:is(.dark .dark\:bg-neutral-800\/50) {
|
||||
background-color: rgba(var(--color-neutral-800), 0.5);
|
||||
}
|
||||
|
||||
.dark .dark\:bg-neutral-900\/50 {
|
||||
:is(.dark .dark\:bg-neutral-900\/50) {
|
||||
background-color: rgba(var(--color-neutral-900), 0.5);
|
||||
}
|
||||
|
||||
.dark .dark\:bg-primary-400 {
|
||||
:is(.dark .dark\:bg-primary-400) {
|
||||
--tw-bg-opacity: 1;
|
||||
background-color: rgba(var(--color-primary-400), var(--tw-bg-opacity));
|
||||
}
|
||||
|
||||
.dark .dark\:bg-primary-800 {
|
||||
:is(.dark .dark\:bg-primary-800) {
|
||||
--tw-bg-opacity: 1;
|
||||
background-color: rgba(var(--color-primary-800), var(--tw-bg-opacity));
|
||||
}
|
||||
|
||||
.dark .dark\:bg-primary-900 {
|
||||
:is(.dark .dark\:bg-primary-900) {
|
||||
--tw-bg-opacity: 1;
|
||||
background-color: rgba(var(--color-primary-900), var(--tw-bg-opacity));
|
||||
}
|
||||
|
||||
.dark .dark\:text-neutral {
|
||||
:is(.dark .dark\:text-neutral) {
|
||||
--tw-text-opacity: 1;
|
||||
color: rgba(var(--color-neutral), var(--tw-text-opacity));
|
||||
}
|
||||
|
||||
.dark .dark\:text-neutral-100 {
|
||||
:is(.dark .dark\:text-neutral-100) {
|
||||
--tw-text-opacity: 1;
|
||||
color: rgba(var(--color-neutral-100), var(--tw-text-opacity));
|
||||
}
|
||||
|
||||
.dark .dark\:text-neutral-300 {
|
||||
:is(.dark .dark\:text-neutral-300) {
|
||||
--tw-text-opacity: 1;
|
||||
color: rgba(var(--color-neutral-300), var(--tw-text-opacity));
|
||||
}
|
||||
|
||||
.dark .dark\:text-neutral-400 {
|
||||
:is(.dark .dark\:text-neutral-400) {
|
||||
--tw-text-opacity: 1;
|
||||
color: rgba(var(--color-neutral-400), var(--tw-text-opacity));
|
||||
}
|
||||
|
||||
.dark .dark\:text-neutral-500 {
|
||||
:is(.dark .dark\:text-neutral-500) {
|
||||
--tw-text-opacity: 1;
|
||||
color: rgba(var(--color-neutral-500), var(--tw-text-opacity));
|
||||
}
|
||||
|
||||
.dark .dark\:text-neutral-800 {
|
||||
:is(.dark .dark\:text-neutral-800) {
|
||||
--tw-text-opacity: 1;
|
||||
color: rgba(var(--color-neutral-800), var(--tw-text-opacity));
|
||||
}
|
||||
|
||||
.dark .dark\:text-primary-400 {
|
||||
:is(.dark .dark\:text-primary-400) {
|
||||
--tw-text-opacity: 1;
|
||||
color: rgba(var(--color-primary-400), var(--tw-text-opacity));
|
||||
}
|
||||
|
||||
.dark .dark\:hover\:border-primary-600:hover {
|
||||
:is(.dark .dark\:hover\:border-primary-600:hover) {
|
||||
--tw-border-opacity: 1;
|
||||
border-color: rgba(var(--color-primary-600), var(--tw-border-opacity));
|
||||
}
|
||||
|
||||
.dark .dark\:hover\:\!bg-primary-700:hover {
|
||||
: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;
|
||||
}
|
||||
|
||||
.dark .dark\:hover\:bg-primary-400:hover {
|
||||
:is(.dark .dark\:hover\:bg-primary-400:hover) {
|
||||
--tw-bg-opacity: 1;
|
||||
background-color: rgba(var(--color-primary-400), var(--tw-bg-opacity));
|
||||
}
|
||||
|
||||
.dark .dark\:hover\:bg-primary-900:hover {
|
||||
:is(.dark .dark\:hover\:bg-primary-900:hover) {
|
||||
--tw-bg-opacity: 1;
|
||||
background-color: rgba(var(--color-primary-900), var(--tw-bg-opacity));
|
||||
}
|
||||
|
||||
.dark .dark\:hover\:text-neutral-800:hover {
|
||||
:is(.dark .dark\:hover\:text-neutral-800:hover) {
|
||||
--tw-text-opacity: 1;
|
||||
color: rgba(var(--color-neutral-800), var(--tw-text-opacity));
|
||||
}
|
||||
|
||||
.dark .dark\:hover\:text-primary-400:hover {
|
||||
:is(.dark .dark\:hover\:text-primary-400:hover) {
|
||||
--tw-text-opacity: 1;
|
||||
color: rgba(var(--color-primary-400), var(--tw-text-opacity));
|
||||
}
|
||||
|
||||
.dark .dark\:focus\:bg-primary-900:focus {
|
||||
:is(.dark .dark\:focus\:bg-primary-900:focus) {
|
||||
--tw-bg-opacity: 1;
|
||||
background-color: rgba(var(--color-primary-900), var(--tw-bg-opacity));
|
||||
}
|
||||
|
||||
.dark .group:hover .dark\:group-hover\:text-neutral-700 {
|
||||
:is(.dark .group:hover .dark\:group-hover\:text-neutral-700) {
|
||||
--tw-text-opacity: 1;
|
||||
color: rgba(var(--color-neutral-700), var(--tw-text-opacity));
|
||||
}
|
||||
|
||||
.dark .group:hover .dark\:group-hover\:text-primary-400 {
|
||||
:is(.dark .group:hover .dark\:group-hover\:text-primary-400) {
|
||||
--tw-text-opacity: 1;
|
||||
color: rgba(var(--color-primary-400), var(--tw-text-opacity));
|
||||
}
|
||||
|
@ -2905,6 +2879,11 @@ body:has(#menu-controller:checked) {
|
|||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.sm\:me-7 {
|
||||
-webkit-margin-end: 1.75rem;
|
||||
margin-inline-end: 1.75rem;
|
||||
}
|
||||
|
||||
.sm\:flex {
|
||||
display: flex;
|
||||
}
|
||||
|
@ -2951,8 +2930,9 @@ body:has(#menu-controller:checked) {
|
|||
padding-bottom: 2.5rem;
|
||||
}
|
||||
|
||||
.sm\:pr-6 {
|
||||
padding-right: 1.5rem;
|
||||
.sm\:pe-6 {
|
||||
-webkit-padding-end: 1.5rem;
|
||||
padding-inline-end: 1.5rem;
|
||||
}
|
||||
|
||||
.sm\:pt-10 {
|
||||
|
@ -2964,20 +2944,14 @@ body:has(#menu-controller:checked) {
|
|||
line-height: 1.75rem;
|
||||
}
|
||||
|
||||
[dir="ltr"] .ltr\:sm\:mr-7 {
|
||||
margin-right: 1.75rem;
|
||||
.sm\:last\:me-0:last-child {
|
||||
-webkit-margin-end: 0px;
|
||||
margin-inline-end: 0px;
|
||||
}
|
||||
|
||||
[dir="ltr"] .ltr\:sm\:last\:mr-0:last-child {
|
||||
margin-right: 0px;
|
||||
}
|
||||
|
||||
[dir="rtl"] .rtl\:sm\:ml-7 {
|
||||
margin-left: 1.75rem;
|
||||
}
|
||||
|
||||
[dir="rtl"] .rtl\:sm\:last\:ml-0:last-child {
|
||||
margin-left: 0px;
|
||||
.sm\:last\:me-0\.5:last-child {
|
||||
-webkit-margin-end: 0.125rem;
|
||||
margin-inline-end: 0.125rem;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3034,12 +3008,9 @@ body:has(#menu-controller:checked) {
|
|||
padding-right: 8rem;
|
||||
}
|
||||
|
||||
[dir="ltr"] .ltr\:lg\:pl-8 {
|
||||
padding-left: 2rem;
|
||||
}
|
||||
|
||||
[dir="rtl"] .rtl\:lg\:pr-8 {
|
||||
padding-right: 2rem;
|
||||
.lg\:ps-8 {
|
||||
-webkit-padding-start: 2rem;
|
||||
padding-inline-start: 2rem;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/*! Congo v2.5.4 | MIT License | https://github.com/jpanther/congo */
|
||||
/*! Congo v2.6.0 | MIT License | https://github.com/jpanther/congo */
|
||||
|
||||
@tailwind base;
|
||||
@tailwind components;
|
||||
|
@ -61,10 +61,10 @@ body:has(#menu-controller:checked) {
|
|||
/* Table of Contents */
|
||||
.toc ul,
|
||||
.toc li {
|
||||
@apply px-0 leading-snug list-none;
|
||||
@apply list-none px-0 leading-snug;
|
||||
}
|
||||
.toc ul ul {
|
||||
@apply ltr:pl-4 rtl:pr-4;
|
||||
@apply ps-4;
|
||||
}
|
||||
.toc a {
|
||||
@apply font-normal text-neutral-700 dark:text-neutral-400;
|
||||
|
@ -84,7 +84,7 @@ body:has(#menu-controller:checked) {
|
|||
@apply visible;
|
||||
}
|
||||
.copy-button {
|
||||
@apply absolute top-0 right-0 z-10 invisible w-20 py-1 font-mono text-sm cursor-pointer whitespace-nowrap rounded-bl-md rounded-tr-md bg-neutral-200 text-neutral-700 opacity-90 dark:bg-neutral-600 dark:text-neutral-200;
|
||||
@apply invisible absolute right-0 top-0 z-10 w-20 cursor-pointer whitespace-nowrap rounded-bl-md rounded-tr-md bg-neutral-200 py-1 font-mono text-sm text-neutral-700 opacity-90 dark:bg-neutral-600 dark:text-neutral-200;
|
||||
}
|
||||
.copy-button:hover,
|
||||
.copy-button:focus,
|
||||
|
@ -99,20 +99,20 @@ body:has(#menu-controller:checked) {
|
|||
/* -- Chroma Highlight -- */
|
||||
/* Background */
|
||||
.chroma {
|
||||
@apply py-3 rounded-md bg-neutral-50 text-neutral-700 dark:bg-neutral-700 dark:text-neutral-200;
|
||||
@apply rounded-md bg-neutral-50 py-3 text-neutral-700 dark:bg-neutral-700 dark:text-neutral-200;
|
||||
}
|
||||
.chroma pre {
|
||||
@apply p-0 m-0;
|
||||
@apply m-0 p-0;
|
||||
}
|
||||
/* LineTable */
|
||||
.chroma .lntable {
|
||||
@apply block w-auto m-0 overflow-auto text-base;
|
||||
@apply m-0 block w-auto overflow-auto text-base;
|
||||
}
|
||||
/* LineNumbersTable */
|
||||
/* LineNumbers */
|
||||
.chroma .lnt,
|
||||
.chroma .ln {
|
||||
@apply px-2 mr-2 text-neutral-600 dark:text-neutral-300;
|
||||
@apply mr-2 px-2 text-neutral-600 dark:text-neutral-300;
|
||||
}
|
||||
.chroma .lntd {
|
||||
@apply p-0 align-top;
|
||||
|
@ -274,7 +274,7 @@ body:has(#menu-controller:checked) {
|
|||
}
|
||||
/* CommentHashbang */
|
||||
.chroma .ch {
|
||||
@apply italic font-semibold text-neutral-500 dark:text-neutral-400;
|
||||
@apply font-semibold italic text-neutral-500 dark:text-neutral-400;
|
||||
}
|
||||
/* GenericEmph */
|
||||
.chroma .ge {
|
||||
|
|
|
@ -140,7 +140,7 @@ function executeQuery(term) {
|
|||
<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">
|
||||
<div class="grow">
|
||||
<div class="-mb-1 text-lg font-bold">${value.item.title}</div>
|
||||
<div class="text-sm text-neutral-500 dark:text-neutral-400">${value.item.section}<span class="px-2 text-primary-500">·</span>${value.item.date}</span></div>
|
||||
<div class="text-sm text-neutral-500 dark:text-neutral-400">${value.item.section}${value.item.date == null ? '' : `<span class="px-2 text-primary-500">·</span>${value.item.date}</span>`}</div>
|
||||
<div class="text-sm italic">${value.item.summary}</div>
|
||||
</div>
|
||||
<div class="ml-2 ltr:block rtl:hidden text-neutral-500">→</div>
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,18 +1,19 @@
|
|||
languageCode = "en"
|
||||
languageName = "English"
|
||||
displayName = "EN"
|
||||
isoCode = "en"
|
||||
weight = 1
|
||||
rtl = false
|
||||
|
||||
title = "Congo"
|
||||
# description = "My awesome website"
|
||||
# copyright = "Copy, _right?_ :thinking_face:"
|
||||
|
||||
dateFormat = "2 January 2006"
|
||||
|
||||
[params]
|
||||
isoCode = "en"
|
||||
displayName = "EN"
|
||||
rtl = false
|
||||
|
||||
dateFormat = "2 January 2006"
|
||||
|
||||
# mainSections = ["section1", "section2"]
|
||||
# description = "My awesome website"
|
||||
|
||||
[author]
|
||||
# name = "Your name here"
|
||||
|
|
|
@ -13,10 +13,12 @@ enableSearch = false
|
|||
enableCodeCopy = false
|
||||
|
||||
# robots = ""
|
||||
fingerprintAlgorithm = "sha256"
|
||||
|
||||
[header]
|
||||
layout = "basic" # valid options: basic, hamburger, hybrid, custom
|
||||
# logo = "img/logo.jpg"
|
||||
# logoDark = "img/dark-logo.jpg"
|
||||
showTitle = true
|
||||
|
||||
[footer]
|
||||
|
|
|
@ -1,18 +1,19 @@
|
|||
languageCode = "en-au"
|
||||
languageName = "English (Australia)"
|
||||
displayName = ":flag-au:"
|
||||
isoCode = "en-AU"
|
||||
weight = 1
|
||||
rtl = false
|
||||
|
||||
title = "Congo"
|
||||
description = "A powerful, lightweight theme for Hugo built with Tailwind CSS."
|
||||
copyright = "© 2023 Congo contributors"
|
||||
|
||||
dateFormat = "2 January 2006"
|
||||
|
||||
[params]
|
||||
isoCode = "en-AU"
|
||||
displayName = ":flag-au:"
|
||||
rtl = false
|
||||
|
||||
dateFormat = "2 January 2006"
|
||||
|
||||
mainSections = ["samples"]
|
||||
description = "A powerful, lightweight theme for Hugo built with Tailwind CSS."
|
||||
|
||||
[author]
|
||||
name = "Congo"
|
||||
|
|
|
@ -13,10 +13,12 @@ enableSearch = true
|
|||
enableCodeCopy = true
|
||||
|
||||
# robots = ""
|
||||
fingerprintAlgorithm = "sha256"
|
||||
|
||||
[header]
|
||||
layout = "basic" # valid options: basic, hamburger, hybrid, custom
|
||||
# logo = "img/logo.jpg"
|
||||
# logoDark = "img/dark-logo.jpg"
|
||||
showTitle = true
|
||||
|
||||
[footer]
|
||||
|
|
|
@ -10,7 +10,7 @@ A powerful, lightweight theme for Hugo built with Tailwind CSS.
|
|||
This is a demo site built entirely using Congo. It also contains a complete set of [theme documentation]({{< ref "docs" >}}). Congo is flexible and is great for both static page-based content (like this demo) or a traditional blog with a feed of recent posts.
|
||||
|
||||
<div class="flex px-4 py-2 mb-8 text-base rounded-md bg-primary-100 dark:bg-primary-900">
|
||||
<span class="flex items-center ltr:pr-3 rtl:pl-3 text-primary-400">
|
||||
<span class="flex items-center pe-3 text-primary-400">
|
||||
{{< icon "triangle-exclamation" >}}
|
||||
</span>
|
||||
<span class="flex items-center justify-between grow dark:text-neutral-300">
|
||||
|
|
|
@ -51,9 +51,11 @@ The theme currently supports the following languages out of the box:
|
|||
| Language | Code |
|
||||
| --------------------------------------- | ------- |
|
||||
| :gb: **English (default)** | `en` |
|
||||
| :egypt: Arabic | `ar` |
|
||||
| :bangladesh: Bengali | `bn` |
|
||||
| :cn: Chinese - Simplified (China) | `zh-cn` |
|
||||
| :taiwan: Chinese - Traditional (Taiwan) | `zh-tw` |
|
||||
| :flag-cz: Czech | `cs` |
|
||||
| :netherlands: Dutch | `nl` |
|
||||
| :finland: Finnish | `fi` |
|
||||
| :fr: French | `fr` |
|
||||
|
@ -68,6 +70,7 @@ The theme currently supports the following languages out of the box:
|
|||
| :portugal: Portuguese (Portugal) | `pt-pt` |
|
||||
| :romania: Romanian | `ro` |
|
||||
| :ru: Russian | `ru` |
|
||||
| :slovakia: Slovak | `sk` |
|
||||
| :es: Spanish (Spain) | `es` |
|
||||
| :tr: Turkish | `tr` |
|
||||
|
||||
|
@ -86,17 +89,17 @@ 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 `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. Hugo expects this value to always be in lowercase. For proper HTML compliance, set the `params.isoCode` parameter which is case-sensitive.|
|
||||
|`languageName`|`"English"`|The name of the language.|
|
||||
|`displayName`|`"EN"`|The name used when the language appears on the website.|
|
||||
|`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`).|
|
||||
|`weight`|`1`|The weight determines the order of languages when building multilingual sites.|
|
||||
|`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.|
|
||||
|`title`|`"Congo"`|The title of the website. This will be displayed in the site header and footer.|
|
||||
|`description`|_Not set_|The website description. This will be used in the site metadata.|
|
||||
|`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`.|
|
||||
|`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.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.|
|
||||
|`author.name`|_Not set_|The author's name. This will be displayed in article footers, and on the homepage when the profile layout is used.|
|
||||
|`author.image`|_Not set_|Path to the image file of the author. The image should be a 1:1 aspect ratio and placed in the site's `assets/` folder.|
|
||||
|`author.headline`|_Not set_|A Markdown string containing the author's headline. It will be displayed on the profile homepage under the author's name.|
|
||||
|
@ -127,8 +130,10 @@ Many of the article defaults here can be overridden on a per article basis by sp
|
|||
|`enableSearch`|`false`|Whether site search is enabled. Set to `true` to enable search functionality. Note that the search feature depends on the `outputs.home` setting in the [site configuration](#site-configuration) being set correctly.|
|
||||
|`enableCodeCopy`|`false`|Whether copy-to-clipboard buttons are enabled for `<code>` blocks. The `highlight.noClasses` parameter must be set to `false` for code copy to function correctly. Read more about [other configuration files](#other-configuration-files) below.|
|
||||
|`robots`|_Not set_|String that indicates how robots should handle your site. If set, it will be output in the page head. Refer to [Google's docs](https://developers.google.com/search/docs/advanced/robots/robots_meta_tag#directives) for valid values.|
|
||||
|`fingerprintAlgorithm`|`"sha256"`|String that indicates which hashing algorithm is used when fingerprinting assets. Valid options include `md5`, `sha256`, `sha384` and `sha512`.|
|
||||
|`header.layout`|`"basic"`|The layout of the page header and menu. Valid values are `basic`, `hamburger`, `hybrid` or `custom`. When set to `custom`, you must provide your own layout by creating a `/layouts/partials/header/custom.html` file.|
|
||||
|`header.logo`|_Not set_|The relative path to the site logo file within the `assets/` folder. The logo file should be provided at 2x resolution and supports any image dimensions.|
|
||||
|`header.logoDark`|_Not set_|As per the `header.logo` parameter, however this image is used whenever dark mode is active.|
|
||||
|`header.showTitle`|`true`|Whether the site title is displayed in the header.|
|
||||
|`footer.showCopyright`|`true`|Whether or not to show the copyright string in the site footer. Note that the string itself can be customised using the `copyright` parameter in the [languages configuration](#language-and-i18n).|
|
||||
|`footer.showThemeAttribution`|`true`|Whether or not to show the "powered by" theme attribution in the site footer. If you choose to disable this message, please consider attributing the theme somewhere else on your site (for example, on your about page).|
|
||||
|
|
|
@ -96,15 +96,15 @@ Then in the root of your site repository, create a `netlify.toml` file:
|
|||
|
||||
[build.environment]
|
||||
NODE_ENV = "production"
|
||||
GO_VERSION = "1.19"
|
||||
GO_VERSION = "1.20"
|
||||
TZ = "UTC" # Set to preferred timezone
|
||||
|
||||
[context.production.environment]
|
||||
HUGO_VERSION = "0.110.0"
|
||||
HUGO_VERSION = "0.112.3"
|
||||
HUGO_ENV = "production"
|
||||
|
||||
[context.deploy-preview.environment]
|
||||
HUGO_VERSION = "0.110.0"
|
||||
HUGO_VERSION = "0.112.3"
|
||||
```
|
||||
|
||||
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`.
|
||||
|
|
|
@ -17,48 +17,53 @@ Real websites that have been built using Congo.
|
|||
|
||||
The list below is just a handful of the websites that are built using the Congo theme. Check them out to discover some great exampels of what the theme can do.
|
||||
|
||||
| Website | Details |
|
||||
| ---------------------------------------------------------------------- | ----------------------------- |
|
||||
| [jamespanther.com](https://jamespanther.com) | Personal site - Theme author |
|
||||
| [antoinesoetewey.com](https://antoinesoetewey.com/) | Personal site |
|
||||
| [leif.io](https://leif.io/) | Personal site and Tech blog |
|
||||
| [dr460nf1r3.org](https://dr460nf1r3.org/) | Personal site and Blog |
|
||||
| [OCram85.com](https://ocram85.com) | Personal site and Blog |
|
||||
| [mackiser.github.io](https://mackiser.github.io) | Personal site and Blog |
|
||||
| [jamesmillner.dev](https://jamesmillner.dev) | Personal site and Blog |
|
||||
| [jeremic.ca](https://jeremic.ca) | Personal site and Blog |
|
||||
| [rohn.tech](https://rohn.tech) | Personal site |
|
||||
| [klimafreundlicher-kochen.de](https://www.klimafreundlicher-kochen.de) | Food blog (in German) |
|
||||
| [seyslee.github.io](https://seyslee.github.io) | Tech blog (in Korean) |
|
||||
| [datanalyze.be](https://datanalyze.be/) | Professional site |
|
||||
| [sneaky-potato.github.io](https://sneaky-potato.github.io/) | Professional site and Blog |
|
||||
| [kelset.dev](https://kelset.dev) | Personal site |
|
||||
| [docteurelsavancaster.com](https://docteurelsavancaster.com/) | Professional site |
|
||||
| [ruihao-li.github.io](https://ruihao-li.github.io/) | Personal site and Blog |
|
||||
| [phalanxhead.dev](https://phalanxhead.dev) | Personal site and Blog |
|
||||
| [Bible Multi Apps](https://hotlittlewhitedog.gitlab.io/biblemulti) | Personal site and Blog |
|
||||
| [Jh123x](https://jh123x.com/) | Personal site and Blog |
|
||||
| [sforzando LLC. and Inc.](https://sfz.dev/) | Corporate site and Blog |
|
||||
| [aidansmith.me](https://aidansmith.me/) | Personal Site |
|
||||
| [nunocoracao.com](https://nunocoracao.com) | Personal site and Blog |
|
||||
| [szegedkungfu.hu](https://balance-se.github.io/) | Sports association site |
|
||||
| [jcransom.com](https://www.jcransom.com/) | Personal Site and Blog |
|
||||
| [cbrincoveanu.com](https://www.cbrincoveanu.com/) | Personal site and Blog |
|
||||
| [medical-humanities](https://medical-humanities.org) | Academic site |
|
||||
| [boyersnet.com](https://boyersnet.com) | Personal site and Blog |
|
||||
| [major.io](https://major.io) | Personal site and Blog |
|
||||
| [bayas.dev](https://bayas.dev) | Personal site and Blog |
|
||||
| [顾宇的博客](https://www.guyu.me/) | Personal Blog (in Chinese) |
|
||||
| [cgutierr-zgz.github.io](https://cgutierr-zgz.github.io/) | Personal site and Tech blog |
|
||||
| [adam.sr](https://adam.sr) | Personal site and Blog |
|
||||
| [datadi.murgi.org](https://datadi.murgi.org) | Personal site and Blog |
|
||||
| [shim.web.id](https://shim.web.id) | Personal Blog (in Indonesian) |
|
||||
| [kpavlov.me](https://kpavlov.me) | Personal site and Blog |
|
||||
| [pfisterer.dev](https://pfisterer.dev) | Personal site and Blog |
|
||||
| [davidrothera.me](https://davidrothera.me) | Personal site and Blog |
|
||||
| [ethantroy.com](https://ethantroy.com) | Personal Site and Blog |
|
||||
| [sug.bitprism.net](https://sug.bitprism.net) | Personal Site and Blog |
|
||||
| [arjuns.me](https://arjuns.me) | Personal Site and Blog |
|
||||
| [statistix.be](https://statistix.be/) | Professional site |
|
||||
| Website | Details |
|
||||
| ---------------------------------------------------------------------- | ------------------------------- |
|
||||
| [jamespanther.com](https://jamespanther.com) | Personal site - Theme author |
|
||||
| [antoinesoetewey.com](https://antoinesoetewey.com/) | Personal site |
|
||||
| [leif.io](https://leif.io/) | Personal site and Tech blog |
|
||||
| [dr460nf1r3.org](https://dr460nf1r3.org/) | Personal site and Blog |
|
||||
| [OCram85.com](https://ocram85.com) | Personal site and Blog |
|
||||
| [mackiser.github.io](https://mackiser.github.io) | Personal site and Blog |
|
||||
| [jamesmillner.dev](https://jamesmillner.dev) | Personal site and Blog |
|
||||
| [jeremic.ca](https://jeremic.ca) | Personal site and Blog |
|
||||
| [rohn.tech](https://rohn.tech) | Personal site |
|
||||
| [klimafreundlicher-kochen.de](https://www.klimafreundlicher-kochen.de) | Food blog (in German) |
|
||||
| [seyslee.github.io](https://seyslee.github.io) | Tech blog (in Korean) |
|
||||
| [datanalyze.be](https://datanalyze.be/) | Professional site |
|
||||
| [sneaky-potato.github.io](https://sneaky-potato.github.io/) | Professional site and Blog |
|
||||
| [kelset.dev](https://kelset.dev) | Personal site |
|
||||
| [docteurelsavancaster.com](https://docteurelsavancaster.com/) | Professional site |
|
||||
| [ruihao-li.github.io](https://ruihao-li.github.io/) | Personal site and Blog |
|
||||
| [phalanxhead.dev](https://phalanxhead.dev) | Personal site and Blog |
|
||||
| [Bible Multi Apps](https://hotlittlewhitedog.gitlab.io/biblemulti) | Personal site and Blog |
|
||||
| [Jh123x](https://jh123x.com/) | Personal site and Blog |
|
||||
| [sforzando LLC. and Inc.](https://sfz.dev/) | Corporate site and Blog |
|
||||
| [aidansmith.me](https://aidansmith.me/) | Personal Site |
|
||||
| [nunocoracao.com](https://nunocoracao.com) | Personal site and Blog |
|
||||
| [szegedkungfu.hu](https://balance-se.github.io/) | Sports association site |
|
||||
| [jcransom.com](https://www.jcransom.com/) | Personal Site and Blog |
|
||||
| [cbrincoveanu.com](https://www.cbrincoveanu.com/) | Personal site and Blog |
|
||||
| [medical-humanities](https://medical-humanities.org) | Academic site |
|
||||
| [boyersnet.com](https://boyersnet.com) | Personal site and Blog |
|
||||
| [major.io](https://major.io) | Personal site and Blog |
|
||||
| [bayas.dev](https://bayas.dev) | Personal site and Blog |
|
||||
| [顾宇的博客](https://www.guyu.me/) | Personal Blog (in Chinese) |
|
||||
| [cgutierr-zgz.github.io](https://cgutierr-zgz.github.io/) | Personal site and Tech blog |
|
||||
| [adam.sr](https://adam.sr) | Personal site and Blog |
|
||||
| [datadi.murgi.org](https://datadi.murgi.org) | Personal site and Blog |
|
||||
| [shim.web.id](https://shim.web.id) | Personal Blog (in Indonesian) |
|
||||
| [kpavlov.me](https://kpavlov.me) | Personal site and Blog |
|
||||
| [pfisterer.dev](https://pfisterer.dev) | Personal site and Blog |
|
||||
| [davidrothera.me](https://davidrothera.me) | Personal site and Blog |
|
||||
| [ethantroy.com](https://ethantroy.com) | Personal Site and Blog |
|
||||
| [sug.bitprism.net](https://sug.bitprism.net) | Personal Site and Blog |
|
||||
| [arjuns.me](https://arjuns.me) | Personal Site and Blog |
|
||||
| [statistix.be](https://statistix.be/) | Professional site |
|
||||
| [sathyabh.at](https://sathyabh.at) | Personal Site and Blog |
|
||||
| [leonidasv.com](https://leonidasv.com/) | Personal site and Blog |
|
||||
| [andrew-jones.com](https://andrew-jones.com/) | Personal site and tech blog |
|
||||
| [nikita.computer](https://nikita.computer/) | Personal site and tech blog |
|
||||
| [blog.dejavu.moe](https://blog.dejavu.moe/) | Personal blog and weekly issues |
|
||||
|
||||
**Congo user?** To add your site to this list, [submit a pull request](https://github.com/jpanther/congo/blob/dev/exampleSite/content/users/index.md).
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
<div class="flex justify-between">
|
||||
<span
|
||||
class="w-full py-6 mr-2 rounded-md"
|
||||
class="mr-2 w-full rounded-md py-6"
|
||||
{{ with .Get 0 }}style="background-color: {{ . }}"{{ end }}
|
||||
></span>
|
||||
<span
|
||||
class="w-full py-6 mr-2 rounded-md"
|
||||
class="mr-2 w-full rounded-md py-6"
|
||||
{{ with .Get 1 }}style="background-color: {{ . }}"{{ end }}
|
||||
></span>
|
||||
<span
|
||||
class="w-full py-6 mr-2 rounded-md"
|
||||
class="mr-2 w-full rounded-md py-6"
|
||||
{{ with .Get 2 }}style="background-color: {{ . }}"{{ end }}
|
||||
></span>
|
||||
</div>
|
||||
|
|
|
@ -0,0 +1,56 @@
|
|||
article:
|
||||
anchor_label: "رابط الصفحة"
|
||||
date: "{{ .Date }}"
|
||||
date_updated: "تاريخ التحديث: {{ .Date }}"
|
||||
draft: "مسودة"
|
||||
edit_title: "تعديل المحتوى"
|
||||
reading_time:
|
||||
one: "دقيقة واحدة"
|
||||
other: "{{ .Count }} من الدقائق"
|
||||
reading_time_title: "وقت القراءة"
|
||||
table_of_contents: "قائمة المحتويات"
|
||||
word_count:
|
||||
one: "كلمة واحدة"
|
||||
other: "{{ .Count }} من الكلمات"
|
||||
|
||||
author:
|
||||
byline_title: "الكاتب"
|
||||
|
||||
code:
|
||||
copy: "نسخ"
|
||||
copied: "تم النسخ"
|
||||
|
||||
error:
|
||||
404_title: "لم يتم العثور على الصفحة :confused:"
|
||||
404_error: "خطأ 404"
|
||||
404_description: "يبدو بأن الصفحة التي تحاول الوصول إليها غير موجودة."
|
||||
|
||||
footer:
|
||||
dark_appearance: "حوّل إلى النمط الداكن"
|
||||
light_appearance: "حوّل إلى النمط الفاتح"
|
||||
powered_by: "مُمكن باستعمال {{ .Hugo }} & {{ .Congo }}"
|
||||
|
||||
list:
|
||||
externalurl_title: "رابط إلى صفحة خارجية"
|
||||
no_articles: "لا يوجد أي مقالات هنا حتى الآن."
|
||||
|
||||
nav:
|
||||
scroll_to_top_title: "اذهب إلى أعلى"
|
||||
skip_to_main: "التخطي إلى المحتوى الرئيسي"
|
||||
|
||||
search:
|
||||
open_button_title: "بحث (/)"
|
||||
close_button_title: "إغلاق (Esc)"
|
||||
input_placeholder: "بحث"
|
||||
|
||||
sharing:
|
||||
email: "إرسال بواسطة البريد الإلكتروني"
|
||||
facebook: "مشاركة على فيسبوك"
|
||||
linkedin: "مشاركة على لينكد إن"
|
||||
mastodon: "نشر تووت على ماستادون"
|
||||
pinterest: "تثبيت على بينتريست"
|
||||
reddit: "نشر على ريديت"
|
||||
twitter: "تغريد على تويتر"
|
||||
|
||||
shortcode:
|
||||
recent_articles: "حديثًا"
|
|
@ -0,0 +1,56 @@
|
|||
article:
|
||||
anchor_label: "Kotva"
|
||||
date: "{{ .Date }}"
|
||||
date_updated: "Aktualizováno: {{ .Date }}"
|
||||
draft: "Koncept"
|
||||
edit_title: "Upravit obsah"
|
||||
reading_time:
|
||||
one: "{{ .Count }} min"
|
||||
other: "{{ .Count }} min"
|
||||
reading_time_title: "Doba čtení"
|
||||
table_of_contents: "Obsah"
|
||||
word_count:
|
||||
one: "{{ .Count }} slovo"
|
||||
other: "{{ .Count }} slova"
|
||||
|
||||
author:
|
||||
byline_title: "Autor"
|
||||
|
||||
code:
|
||||
copy: "Kopírovat"
|
||||
copied: "Zkopírováno"
|
||||
|
||||
error:
|
||||
404_title: "Stránka nenalezena :confused:"
|
||||
404_error: "Chyba 404"
|
||||
404_description: "Zdá se, že požadovaná stránka neexistuje."
|
||||
|
||||
footer:
|
||||
dark_appearance: "Přepněte na tmavý vzhled"
|
||||
light_appearance: "Přepněte na světlý vzhled"
|
||||
powered_by: "Poháněno {{ .Hugo }} & {{ .Congo }}"
|
||||
|
||||
list:
|
||||
externalurl_title: "Odkaz na externí stránky"
|
||||
no_articles: "Zde zatím nejsou k dispozici žádné články."
|
||||
|
||||
nav:
|
||||
scroll_to_top_title: "Přejděte nahoru"
|
||||
skip_to_main: "Přejít na hlavní obsah"
|
||||
|
||||
search:
|
||||
open_button_title: "Vyhledávání (/)"
|
||||
close_button_title: "Zavřít (Esc)"
|
||||
input_placeholder: "Hledej"
|
||||
|
||||
sharing:
|
||||
email: "Odeslat e-mailem"
|
||||
facebook: "Sdílet na Facebook"
|
||||
linkedin: "Sdílet na LinkedIn"
|
||||
mastodon: "Toot na Mastodon"
|
||||
pinterest: "Pin na Pinterest"
|
||||
reddit: "Odeslat na Reddit"
|
||||
twitter: "Tweet na Twitter"
|
||||
|
||||
shortcode:
|
||||
recent_articles: "Nedávné"
|
|
@ -47,7 +47,7 @@ sharing:
|
|||
email: "Verstuur via email"
|
||||
facebook: "Deel op Facebook"
|
||||
linkedin: "Deel op LinkedIn"
|
||||
# mastodon: "Toot on Mastodon"
|
||||
mastodon: "Toot met Mastodon"
|
||||
pinterest: "Pin op Pinterest"
|
||||
reddit: "Verzend naar Reddit"
|
||||
twitter: "Tweet op Twitter"
|
||||
|
|
|
@ -0,0 +1,56 @@
|
|||
article:
|
||||
anchor_label: "Kotva"
|
||||
date: "{{ .Date }}"
|
||||
date_updated: "Aktualizované: {{ .Date }}"
|
||||
draft: "Koncept"
|
||||
edit_title: "Upraviť obsah"
|
||||
reading_time:
|
||||
one: "{{ .Count }} min"
|
||||
other: "{{ .Count }} min"
|
||||
reading_time_title: "Čas čítania"
|
||||
table_of_contents: "Obsah"
|
||||
word_count:
|
||||
one: "{{ .Count }} slovo"
|
||||
other: "{{ .Count }} slov"
|
||||
|
||||
author:
|
||||
byline_title: "Autor"
|
||||
|
||||
code:
|
||||
copy: "Kopírovať"
|
||||
copied: "Skopírované"
|
||||
|
||||
error:
|
||||
404_title: "Stránka nenájdená :confused:"
|
||||
404_error: "Chyba 404"
|
||||
404_description: "Zdá sa, že požadovaná stránka neexistuje."
|
||||
|
||||
footer:
|
||||
dark_appearance: "Prepnúť na tmavý vzhľad."
|
||||
light_appearance: "Prepnúť na svetlý vzhľad."
|
||||
powered_by: "Používa {{ .Hugo }} & {{ .Congo }}"
|
||||
|
||||
list:
|
||||
externalurl_title: "Odkaz na externú stránku"
|
||||
no_articles: "Zatiaľ tu nie sú žiadne články."
|
||||
|
||||
nav:
|
||||
scroll_to_top_title: "Prejdite na začiatok"
|
||||
skip_to_main: "Preskočiť na hlavný obsah"
|
||||
|
||||
search:
|
||||
open_button_title: "Vyhľadávanie (/)"
|
||||
close_button_title: "Zavrieť (Esc)"
|
||||
input_placeholder: "Hľadaj"
|
||||
|
||||
sharing:
|
||||
email: "Odoslať e-mailom"
|
||||
facebook: "Zdieľaj na Facebooku"
|
||||
linkedin: "Zdieľaj na LinkedIn"
|
||||
mastodon: "Toot na Mastodon"
|
||||
pinterest: "Pin na Pinterest"
|
||||
reddit: "Odoslať na Reddit"
|
||||
twitter: "Tweet na Twitteri"
|
||||
|
||||
shortcode:
|
||||
recent_articles: "Nedávne"
|
|
@ -1 +1 @@
|
|||
<h{{ .Level }} id="{{ .Anchor | safeURL }}" class="relative group">{{ .Text | safeHTML }} {{ if .Page.Params.showHeadingAnchors | default (.Page.Site.Params.article.showHeadingAnchors | default true) }}<span class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100"><a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#{{ .Anchor | safeURL }}" aria-label="{{ i18n "article.anchor_label" }}">#</a></span>{{ end }}</h{{ .Level }}>
|
||||
<h{{ .Level }} id="{{ .Anchor | safeURL }}" class="relative group">{{ .Text | safeHTML }} {{ if .Page.Params.showHeadingAnchors | default (.Page.Site.Params.article.showHeadingAnchors | default true) }}<span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"><a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#{{ .Anchor | safeURL }}" aria-label="{{ i18n "article.anchor_label" }}">#</a></span>{{ end }}</h{{ .Level }}>
|
||||
|
|
|
@ -24,10 +24,10 @@
|
|||
src="{{ .RelPermalink }}"
|
||||
{{ else }}
|
||||
srcset="
|
||||
{{ (.Resize "330x").RelPermalink }} 330w,
|
||||
{{ (.Resize "660x").RelPermalink }} 660w,
|
||||
{{ (.Resize "1024x").RelPermalink }} 1024w,
|
||||
{{ (.Resize "1320x").RelPermalink }} 2x"
|
||||
{{- (.Resize "330x").RelPermalink }} 330w,
|
||||
{{- (.Resize "660x").RelPermalink }} 660w,
|
||||
{{- (.Resize "1024x").RelPermalink }} 1024w,
|
||||
{{- (.Resize "1320x").RelPermalink }} 2x"
|
||||
src="{{ (.Resize "660x").RelPermalink }}"
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
|
|
@ -22,8 +22,7 @@
|
|||
<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"
|
||||
href="#main-content"
|
||||
><span class="font-bold text-primary-600 ltr:pr-2 rtl:pl-2 dark:text-primary-400"
|
||||
>↓</span
|
||||
><span class="font-bold pe-2 text-primary-600 dark:text-primary-400">↓</span
|
||||
>{{ i18n "nav.skip_to_main" }}</a
|
||||
>
|
||||
</div>
|
||||
|
@ -37,9 +36,7 @@
|
|||
<main id="main-content" class="grow">
|
||||
{{ block "main" . }}{{ end }}
|
||||
{{ if and (.Site.Params.footer.showScrollToTop | default true) (gt .WordCount 200) }}
|
||||
<div
|
||||
class="pointer-events-none absolute top-[100vh] bottom-0 w-12 ltr:right-0 rtl:left-0"
|
||||
>
|
||||
<div class="pointer-events-none absolute bottom-0 end-0 top-[100vh] w-12">
|
||||
<a
|
||||
href="#the-top"
|
||||
class="pointer-events-auto sticky top-[calc(100vh-5.5rem)] flex h-12 w-12 items-center justify-center rounded-full bg-neutral/50 text-xl text-neutral-700 backdrop-blur hover:text-primary-600 dark:bg-neutral-800/50 dark:text-neutral dark:hover:text-primary-400"
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
{{- $index := slice -}}
|
||||
{{- range .Site.Pages -}}
|
||||
{{- $section := .Site.GetPage "section" .Section -}}
|
||||
{{- $showDate := .Params.showDate | default .Site.Params.article.showDate -}}
|
||||
{{- $index = $index | append (dict
|
||||
"date" (.Date | time.Format (.Site.Language.Params.dateFormat | default ":date_long"))
|
||||
"date" (cond (and .IsPage $showDate) (.Date | time.Format (site.Params.dateFormat | default ":date_long")) nil)
|
||||
"title" (.Title | emojify | safeJS)
|
||||
"section" ($section.Title | emojify | safeJS)
|
||||
"summary" (.Summary | emojify | safeJS)
|
||||
|
|
|
@ -14,8 +14,8 @@
|
|||
{{- end }} prose flex max-w-full flex-col dark:prose-invert lg:flex-row"
|
||||
>
|
||||
{{ if $toc }}
|
||||
<div class="order-first px-0 lg:order-last lg:max-w-xs ltr:lg:pl-8 rtl:lg:pr-8">
|
||||
<div class="toc ltr:pl-5 rtl:pr-5 lg:sticky lg:top-10">
|
||||
<div class="order-first px-0 lg:order-last lg:max-w-xs lg:ps-8">
|
||||
<div class="toc ps-5 lg:sticky lg:top-10">
|
||||
{{ partial "toc.html" . }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -23,10 +23,11 @@
|
|||
{{ if lt .Width 660 }}
|
||||
src="{{ .RelPermalink }}"
|
||||
{{ else }}
|
||||
srcset=" {{ (.Resize "330x").RelPermalink }} 330w,
|
||||
{{ (.Resize "660x").RelPermalink }} 660w, {{ (.Resize "1024x").RelPermalink }}
|
||||
1024w, {{ (.Resize "1320x").RelPermalink }} 2x"
|
||||
src="{{ (.Resize "660x").RelPermalink }}"
|
||||
srcset="
|
||||
{{- (.Resize "330x").RelPermalink }} 330w,
|
||||
{{- (.Resize "660x").RelPermalink }} 660w,
|
||||
{{- (.Resize "1024x").RelPermalink }} 1024w,
|
||||
{{- (.Resize "1320x").RelPermalink }} 2x"
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
alt="{{ $.Params.featureAlt | default $.Params.coverAlt | default "" }}"
|
||||
|
@ -39,8 +40,8 @@
|
|||
</header>
|
||||
<section class="flex flex-col max-w-full mt-0 prose dark:prose-invert lg:flex-row">
|
||||
{{ 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 ltr:lg:pl-8 rtl:lg:pr-8">
|
||||
<div class="toc ltr:pl-5 rtl:pr-5 print:hidden lg:sticky lg:top-10">
|
||||
<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">
|
||||
{{ partial "toc.html" . }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<article class="flex flex-row mt-6 max-w-prose">
|
||||
<article class="mt-6 flex max-w-prose flex-row">
|
||||
{{- $images := $.Resources.ByType "image" }}
|
||||
{{- $thumbnail := $images.GetMatch (.Params.thumbnail | default "*thumb*") }}
|
||||
{{- $feature := $images.GetMatch (.Params.feature | default "*feature*") | default $thumbnail }}
|
||||
{{- with $feature }}
|
||||
<div class="flex-none pr-4 sm:pr-6 ">
|
||||
<div class="flex-none pe-4 sm:pe-6 ">
|
||||
<a
|
||||
href="{{ with $.Params.externalUrl }}
|
||||
{{ . }}
|
||||
|
@ -39,7 +39,7 @@
|
|||
>{{ $.Title | emojify }}</a
|
||||
>
|
||||
<span
|
||||
class="text-xs align-top cursor-default text-neutral-400 dark:text-neutral-500"
|
||||
class="cursor-default align-top text-xs text-neutral-400 dark:text-neutral-500"
|
||||
title="{{ i18n "list.externalurl_title" }}"
|
||||
>
|
||||
<span class="rtl:hidden">↗</span>
|
||||
|
@ -54,7 +54,7 @@
|
|||
>
|
||||
{{ end }}
|
||||
{{ if and .Draft .Site.Params.article.showDraftLabel }}
|
||||
<div class=" ltr:ml-2 rtl:mr-2">
|
||||
<div class="ms-2">
|
||||
{{ partial "badge.html" (i18n "article.draft" | emojify) }}
|
||||
</div>
|
||||
{{ end }}
|
||||
|
@ -66,7 +66,7 @@
|
|||
{{ partial "article-meta.html" . }}
|
||||
</div>
|
||||
{{ if .Params.showSummary | default (.Site.Params.list.showSummary | default false) }}
|
||||
<div class="py-1 prose dark:prose-invert">
|
||||
<div class="prose py-1 dark:prose-invert">
|
||||
{{ .Summary | emojify }}
|
||||
</div>
|
||||
{{ end }}
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
{{ $meta.Add "partials" (slice (partial "meta/edit.html" .)) }}
|
||||
{{ end }}
|
||||
|
||||
|
||||
<div class="flex flex-row flex-wrap items-center">
|
||||
{{/* Output partials */}}
|
||||
{{ with ($meta.Get "partials") }}
|
||||
|
@ -40,7 +41,7 @@
|
|||
|
||||
{{/* Output draft label */}}
|
||||
{{ if and (eq $scope "single") (and .Draft .Site.Params.article.showDraftLabel) }}
|
||||
<span class="pl-2">{{ partial "badge.html" (i18n "article.draft" | emojify) }}</span>
|
||||
<span class="ps-2">{{ partial "badge.html" (i18n "article.draft" | emojify) }}</span>
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
|
|
|
@ -13,12 +13,9 @@
|
|||
{{ if $prev }}
|
||||
<a class="group flex" href="{{ $prev.RelPermalink }}">
|
||||
<span
|
||||
class="mr-2 text-neutral-700 transition-transform group-hover:-translate-x-[2px] group-hover:text-primary-600 ltr:inline rtl:hidden dark:text-neutral dark:group-hover:text-primary-400"
|
||||
>←</span
|
||||
>
|
||||
<span
|
||||
class="ml-2 text-neutral-700 transition-transform group-hover:translate-x-[2px] group-hover:text-primary-600 ltr:hidden rtl:inline dark:text-neutral dark:group-hover:text-primary-400"
|
||||
>→</span
|
||||
class="me-2 text-neutral-700 transition-transform group-hover:-translate-x-[2px] group-hover:text-primary-600 dark:text-neutral dark:group-hover:text-primary-400"
|
||||
><span class="ltr:inline rtl:hidden">←</span
|
||||
><span class="ltr:hidden rtl:inline">→</span></span
|
||||
>
|
||||
<span class="flex flex-col">
|
||||
<span
|
||||
|
@ -49,12 +46,9 @@
|
|||
</span>
|
||||
</span>
|
||||
<span
|
||||
class="ml-2 text-neutral-700 transition-transform group-hover:translate-x-[2px] group-hover:text-primary-600 ltr:inline rtl:hidden dark:text-neutral dark:group-hover:text-primary-400"
|
||||
>→</span
|
||||
>
|
||||
<span
|
||||
class="mr-2 text-neutral-700 transition-transform group-hover:-translate-x-[2px] group-hover:text-primary-600 ltr:hidden rtl:inline dark:text-neutral dark:group-hover:text-primary-400"
|
||||
>←</span
|
||||
class="ms-2 text-neutral-700 transition-transform group-hover:-translate-x-[2px] group-hover:text-primary-600 dark:text-neutral dark:group-hover:text-primary-400"
|
||||
><span class="ltr:inline rtl:hidden">→</span
|
||||
><span class="ltr:hidden rtl:inline">←</span></span
|
||||
>
|
||||
</a>
|
||||
{{ end }}
|
||||
|
|
|
@ -3,9 +3,9 @@
|
|||
{{ with .Site.Author.image }}
|
||||
{{ $authorImage := resources.Get . }}
|
||||
{{ if $authorImage }}
|
||||
{{ $authorImage := $authorImage.Fill "192x192" }}
|
||||
{{ $authorImage := $authorImage.Fill "192x192 Center" }}
|
||||
<img
|
||||
class="!mt-0 !mb-0 h-24 w-24 rounded-full ltr:mr-4 rtl:ml-4"
|
||||
class="!mb-0 !mt-0 me-4 h-24 w-24 rounded-full"
|
||||
width="96"
|
||||
height="96"
|
||||
alt="{{ $.Site.Author.name | default "Author" }}"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<span class="flex">
|
||||
<span
|
||||
class="rounded-md border border-primary-400 px-1 py-[1px] text-xs font-normal text-primary-700 ltr:ml-1 rtl:mr-1 dark:border-primary-600 dark:text-primary-400"
|
||||
class="ms-1 rounded-md border border-primary-400 px-1 py-[1px] text-xs font-normal text-primary-700 dark:border-primary-600 dark:text-primary-400"
|
||||
>
|
||||
{{ . }}
|
||||
</span>
|
||||
|
|
|
@ -2,11 +2,9 @@
|
|||
{{/* Footer menu */}}
|
||||
{{ if .Site.Menus.footer }}
|
||||
<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 }}
|
||||
<li
|
||||
class="mb-1 group ltr:text-right rtl:text-left sm:mb-0 ltr:sm:mr-7 ltr:sm:last:mr-0 rtl:sm:ml-7 rtl:sm:last:ml-0"
|
||||
>
|
||||
<li class="group mb-1 ltr:text-right rtl:text-left 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 }}
|
||||
|
@ -16,7 +14,7 @@
|
|||
>
|
||||
{{ 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>
|
||||
|
@ -36,13 +34,13 @@
|
|||
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" }}"
|
||||
>
|
||||
{{ partial "icon.html" "moon" }}
|
||||
</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" }}"
|
||||
>
|
||||
{{ partial "icon.html" "sun" }}
|
||||
|
@ -55,7 +53,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>
|
||||
|
@ -101,18 +99,18 @@
|
|||
{{ if .Site.Params.footer.showAppearanceSwitcher | default false }}
|
||||
<div
|
||||
class="{{ if .Site.Params.footer.showScrollToTop | default true -}}
|
||||
ltr:mr-14 rtl:ml-14
|
||||
me-14
|
||||
{{- end }} cursor-pointer text-sm text-neutral-700 hover:text-primary-600 dark:text-neutral dark:hover:text-primary-400"
|
||||
>
|
||||
<button id="appearance-switcher-0" type="button" aria-label="appearance switcher">
|
||||
<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" }}"
|
||||
>
|
||||
{{ partial "icon.html" "moon" }}
|
||||
</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" }}"
|
||||
>
|
||||
{{ partial "icon.html" "sun" }}
|
||||
|
|
|
@ -1 +1 @@
|
|||
{{ return time.Format (site.Language.Params.dateFormat | default ":date_long") . }}
|
||||
{{ return time.Format (site.Params.dateFormat | default ":date_long") . }}
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{{ if ne .Site.Params.showAppearanceSwitcher nil }}
|
||||
{{ if ne .Params.showAppearanceSwitcher nil }}
|
||||
{{ warnf "[CONGO] Theme parameter `showAppearanceSwitcher` has been renamed to `footer.showAppearanceSwitcher`. Please update your site configuration." }}
|
||||
{{ end }}
|
||||
{{ if ne .Site.Params.showScrollToTop nil }}
|
||||
{{ if ne .Params.showScrollToTop nil }}
|
||||
{{ warnf "[CONGO] Theme parameter `showScrollToTop` has been renamed to `footer.showScrollToTop`. Please update your site configuration." }}
|
||||
{{ end }}
|
||||
{{ if ne .Site.Params.logo nil }}
|
||||
{{ if ne .Params.logo nil }}
|
||||
{{ warnf "[CONGO] Theme parameter `logo` has been renamed to `header.logo`. Please update your site configuration." }}
|
||||
{{ end }}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<head>
|
||||
<meta charset="utf-8" />
|
||||
{{ with .Site.Language.Params.htmlCode | default .Site.LanguageCode }}
|
||||
{{ 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" />
|
||||
|
@ -31,6 +31,7 @@
|
|||
{{ end -}}
|
||||
{{/* Asset bundles */}}
|
||||
{{ $assets := newScratch }}
|
||||
{{ $algorithm := .Site.Params.fingerprintAlgorithm | default "sha256" }}
|
||||
{{ $cssScheme := resources.Get (printf "css/schemes/%s.css" (lower .Site.Params.colorScheme | default "congo")) }}
|
||||
{{ if not $cssScheme }}
|
||||
{{ $cssScheme = resources.Get "css/schemes/congo.css" }}
|
||||
|
@ -42,7 +43,7 @@
|
|||
{{ if $cssCustom }}
|
||||
{{ $assets.Add "css" (slice $cssCustom) }}
|
||||
{{ end }}
|
||||
{{ $bundleCSS := $assets.Get "css" | resources.Concat "css/main.bundle.css" | resources.Minify | resources.Fingerprint "sha512" }}
|
||||
{{ $bundleCSS := $assets.Get "css" | resources.Concat "css/main.bundle.css" | resources.Minify | resources.Fingerprint $algorithm }}
|
||||
<link
|
||||
type="text/css"
|
||||
rel="stylesheet"
|
||||
|
@ -50,7 +51,7 @@
|
|||
integrity="{{ $bundleCSS.Data.Integrity }}"
|
||||
/>
|
||||
{{ $jsAppearance := resources.Get "js/appearance.js" }}
|
||||
{{ $jsAppearance = $jsAppearance | resources.Minify | resources.Fingerprint "sha512" }}
|
||||
{{ $jsAppearance = $jsAppearance | resources.Minify | resources.Fingerprint $algorithm }}
|
||||
<script type="text/javascript" src="{{ $jsAppearance.RelPermalink }}" integrity="{{ $jsAppearance.Data.Integrity }}"></script>
|
||||
{{ if .Site.Params.enableSearch | default false }}
|
||||
{{ $jsFuse := resources.Get "lib/fuse/fuse.min.js" }}
|
||||
|
@ -66,7 +67,7 @@
|
|||
{{ $assets.Add "js" (slice $jsRTL) }}
|
||||
{{ end }}
|
||||
{{ if $assets.Get "js" }}
|
||||
{{ $bundleJS := $assets.Get "js" | resources.Concat "js/main.bundle.js" | resources.Minify | resources.Fingerprint "sha512" }}
|
||||
{{ $bundleJS := $assets.Get "js" | resources.Concat "js/main.bundle.js" | resources.Minify | resources.Fingerprint $algorithm }}
|
||||
<script defer type="text/javascript" id="script-bundle" src="{{ $bundleJS.RelPermalink }}" integrity="{{ $bundleJS.Data.Integrity }}" data-copy="{{ i18n "code.copy" }}" data-copied="{{ i18n "code.copied" }}"></script>
|
||||
{{ end }}
|
||||
{{/* Icons */}}
|
||||
|
|
|
@ -7,12 +7,10 @@
|
|||
</div>
|
||||
{{/* Main menu */}}
|
||||
{{ if or .Site.Menus.main (.Site.Params.enableSearch | default false) }}
|
||||
<ul class="flex flex-col list-none ltr:text-right rtl:text-left sm:flex-row">
|
||||
<ul class="flex list-none flex-col ltr:text-right rtl:text-left sm:flex-row">
|
||||
{{ if .Site.Menus.main }}
|
||||
{{ range .Site.Menus.main }}
|
||||
<li
|
||||
class="mb-1 group sm:mb-0 ltr:sm:mr-7 ltr:sm:last:mr-0 rtl:sm:ml-7 rtl:sm:last:ml-0"
|
||||
>
|
||||
<li class="group mb-1 sm:mb-0 sm:me-7 sm:last:me-0.5">
|
||||
{{ if eq .Params.action "search" }}
|
||||
{{ $.Scratch.Add "searchCount" 1 }}
|
||||
{{ if $.Site.Params.enableSearch | default false }}
|
||||
|
@ -22,7 +20,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>
|
||||
|
@ -42,7 +40,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" }}
|
||||
|
@ -56,7 +54,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" }}
|
||||
|
@ -77,7 +75,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>
|
||||
|
@ -92,12 +90,10 @@
|
|||
</li>
|
||||
{{ end }}
|
||||
{{ if and ($.Site.Params.enableSearch | default false) (eq ($.Scratch.Get "searchCount") 0) }}
|
||||
<li
|
||||
class="mb-1 group sm:mb-0 ltr:sm:mr-7 ltr:sm:last:mr-0 rtl:sm:ml-7 rtl:sm:last:ml-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" }}">
|
||||
<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>
|
||||
|
|
|
@ -14,10 +14,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 ltr:text-right rtl:text-left 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 +26,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 +36,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 +56,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 +70,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" }}
|
||||
|
@ -91,7 +91,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 +106,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>
|
||||
|
@ -121,12 +121,10 @@
|
|||
</div>
|
||||
</label>
|
||||
{{/* Basic menu */}}
|
||||
<ul class="flex-row hidden list-none ltr:text-right rtl:text-left sm:flex">
|
||||
<ul class="hidden list-none flex-row ltr:text-right rtl:text-left sm:flex">
|
||||
{{ if .Site.Menus.main }}
|
||||
{{ range .Site.Menus.main }}
|
||||
<li
|
||||
class="mb-1 group sm:mb-0 ltr:sm:mr-7 ltr:sm:last:mr-0 rtl:sm:ml-7 rtl:sm:last:ml-0"
|
||||
>
|
||||
<li class="group mb-1 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 }}
|
||||
|
@ -136,7 +134,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>
|
||||
|
@ -156,7 +154,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" }}
|
||||
|
@ -170,7 +168,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" }}
|
||||
|
@ -191,7 +189,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>
|
||||
|
@ -206,12 +204,10 @@
|
|||
</li>
|
||||
{{ end }}
|
||||
{{ if and ($.Site.Params.enableSearch | default false) (eq ($.Scratch.Get "searchCount") 0) }}
|
||||
<li
|
||||
class="mb-1 group sm:mb-0 ltr:sm:mr-7 ltr:sm:last:mr-0 rtl:sm:ml-7 rtl:sm:last:ml-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" }}">
|
||||
<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>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
{{ with .Site.Author.image }}
|
||||
{{ $authorImage := resources.Get . }}
|
||||
{{ if $authorImage }}
|
||||
{{ $authorImage := $authorImage.Fill "288x288" }}
|
||||
{{ $authorImage := $authorImage.Fill "288x288 Center" }}
|
||||
<img
|
||||
class="mb-2 rounded-full h-36 w-36"
|
||||
width="144"
|
||||
|
|
|
@ -1,14 +1,24 @@
|
|||
{{- if .Site.Params.header.logo }}
|
||||
{{- $logo := resources.Get .Site.Params.header.logo }}
|
||||
{{- $logo_dark := resources.Get .Site.Params.header.logoDark }}
|
||||
{{- if $logo }}
|
||||
<a href="{{ "" | relLangURL }}" class="mr-2">
|
||||
<img
|
||||
src="{{ $logo.RelPermalink }}"
|
||||
width="{{ div $logo.Width 2 }}"
|
||||
height="{{ div $logo.Height 2 }}"
|
||||
class="max-h-[10rem] max-w-[10rem] object-scale-down object-left"
|
||||
class="max-h-[10rem] max-w-[10rem] object-scale-down object-left{{ if $logo_dark }} hidden dark:flex{{ end }}"
|
||||
alt="{{ .Site.Title }}"
|
||||
/>
|
||||
{{- if $logo_dark }}
|
||||
<img
|
||||
src="{{ $logo_dark.RelPermalink }}"
|
||||
width="{{ div $logo_dark.Width 2 }}"
|
||||
height="{{ div $logo_dark.Height 2 }}"
|
||||
class="max-h-[10rem] max-w-[10rem] object-scale-down object-left dark:hidden"
|
||||
alt="{{ .Site.Title }}"
|
||||
/>
|
||||
{{- end}}
|
||||
</a>
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
|
|
@ -8,6 +8,8 @@
|
|||
href="{{ printf .url $.Permalink $.Title }}"
|
||||
title="{{ i18n .title }}"
|
||||
aria-label="{{ i18n .title }}"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>{{ partial "icon.html" .icon }}</a
|
||||
>
|
||||
{{ end }}
|
||||
|
|
|
@ -1,12 +1,10 @@
|
|||
<details open class="mt-0 overflow-hidden rounded-lg ltr:-ml-5 ltr:pl-5 rtl:-mr-5 rtl:pr-5">
|
||||
<details open class="-ms-5 mt-0 overflow-hidden rounded-lg ps-5">
|
||||
<summary
|
||||
class="block py-1 text-lg font-semibold cursor-pointer bg-neutral-100 text-neutral-800 ltr:-ml-5 ltr:pl-5 rtl:-mr-5 rtl:pr-5 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 dark:bg-neutral-700 dark:text-neutral-100 lg:hidden"
|
||||
>
|
||||
{{ i18n "article.table_of_contents" }}
|
||||
</summary>
|
||||
<div
|
||||
class="py-2 border-dotted border-neutral-300 ltr:-ml-5 ltr:border-l ltr:pl-5 rtl:-mr-5 rtl:border-r rtl:pr-5 dark:border-neutral-600"
|
||||
>
|
||||
<div class="-ms-5 border-s border-dotted border-neutral-300 py-2 ps-5 dark:border-neutral-600">
|
||||
{{ .TableOfContents | emojify }}
|
||||
</div>
|
||||
</details>
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{{ if .IsTranslated }}
|
||||
<ul class="flex flex-row list-none">
|
||||
<ul class="flex list-none flex-row">
|
||||
{{ range .AllTranslations }}
|
||||
<li class="ml-2">
|
||||
<a
|
||||
href="{{ .RelPermalink }}"
|
||||
class="decoration-primary-500 hover:underline hover:decoration-2 hover:underline-offset-2"
|
||||
>{{ .Language.Params.displayName | emojify }}</a
|
||||
>{{ site.Params.displayName | emojify }}</a
|
||||
>
|
||||
</li>
|
||||
{{ end }}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<div class="flex px-4 py-3 rounded-md bg-primary-100 dark:bg-primary-900">
|
||||
<span class="text-primary-400 ltr:pr-3 rtl:pl-3">
|
||||
<span class="pe-3 text-primary-400">
|
||||
{{ partial "icon.html" (.Get 0 | default "triangle-exclamation") }}
|
||||
</span>
|
||||
<span class="dark:text-neutral-300">
|
||||
|
|
|
@ -28,10 +28,10 @@
|
|||
src="{{ .RelPermalink }}"
|
||||
{{ else }}
|
||||
srcset="
|
||||
{{ (.Resize "330x").RelPermalink }} 330w,
|
||||
{{ (.Resize "660x").RelPermalink }} 660w,
|
||||
{{ (.Resize "1024x").RelPermalink }} 1024w,
|
||||
{{ (.Resize "1320x").RelPermalink }} 2x"
|
||||
{{- (.Resize "330x").RelPermalink }} 330w,
|
||||
{{- (.Resize "660x").RelPermalink }} 660w,
|
||||
{{- (.Resize "1024x").RelPermalink }} 1024w,
|
||||
{{- (.Resize "1320x").RelPermalink }} 2x"
|
||||
src="{{ (.Resize "660x").RelPermalink }}"
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
|
|
@ -8,17 +8,17 @@ HUGO_THEME = "repo"
|
|||
TZ = "Australia/Melbourne"
|
||||
|
||||
[context.production.environment]
|
||||
HUGO_VERSION = "0.110.0"
|
||||
HUGO_VERSION = "0.112.3"
|
||||
HUGO_ENV = "production"
|
||||
|
||||
[context.deploy-preview]
|
||||
command = "cd exampleSite && hugo --gc --minify -D -b $DEPLOY_PRIME_URL"
|
||||
|
||||
[context.deploy-preview.environment]
|
||||
HUGO_VERSION = "0.110.0"
|
||||
HUGO_VERSION = "0.112.3"
|
||||
|
||||
[context.branch-deploy]
|
||||
command = "cd exampleSite && hugo --gc --minify -D -b $DEPLOY_PRIME_URL"
|
||||
|
||||
[context.branch-deploy.environment]
|
||||
HUGO_VERSION = "0.110.0"
|
||||
HUGO_VERSION = "0.112.3"
|
||||
|
|
File diff suppressed because it is too large
Load Diff
16
package.json
16
package.json
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "hugo-congo-theme",
|
||||
"version": "2.5.4",
|
||||
"version": "2.6.0",
|
||||
"description": "Congo theme for Hugo",
|
||||
"scripts": {
|
||||
"preinstall": "rimraf assets/lib",
|
||||
|
@ -30,15 +30,15 @@
|
|||
"homepage": "https://github.com/jpanther/congo#readme",
|
||||
"devDependencies": {
|
||||
"@tailwindcss/typography": "^0.5.9",
|
||||
"chart.js": "^4.2.1",
|
||||
"chart.js": "^4.3.0",
|
||||
"fuse.js": "^6.6.2",
|
||||
"katex": "^0.16.4",
|
||||
"mermaid": "^9.4.0",
|
||||
"prettier": "^2.8.4",
|
||||
"katex": "^0.16.7",
|
||||
"mermaid": "^10.2.0",
|
||||
"prettier": "^2.8.8",
|
||||
"prettier-plugin-go-template": "^0.0.13",
|
||||
"prettier-plugin-tailwindcss": "^0.2.5",
|
||||
"rimraf": "^4.4.0",
|
||||
"tailwindcss": "^3.2.7",
|
||||
"prettier-plugin-tailwindcss": "^0.3.0",
|
||||
"rimraf": "^5.0.1",
|
||||
"tailwindcss": "^3.3.2",
|
||||
"vendor-copy": "^3.0.1"
|
||||
},
|
||||
"vendorCopy": [],
|
||||
|
|
Loading…
Reference in New Issue