Upgrade Theme
This commit is contained in:
parent
d09d2ccf7f
commit
47b3d30137
@ -12,7 +12,7 @@ Use this template: [CaiJimmy/hugo-theme-stack-starter](https://github.com/CaiJim
|
|||||||
|
|
||||||
## Demo
|
## Demo
|
||||||
|
|
||||||
* Stater template demo: [demo.stack.jimmycai.com](https://demo.stack.jimmycai.com)
|
* Starter template demo: [demo.stack.jimmycai.com](https://demo.stack.jimmycai.com)
|
||||||
* Dev build: [dev.stack.jimmycai.com](https://dev.stack.jimmycai.com)
|
* Dev build: [dev.stack.jimmycai.com](https://dev.stack.jimmycai.com)
|
||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
{
|
{
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"baseUrl": ".",
|
"baseUrl": ".",
|
||||||
"paths": {
|
"paths": {
|
||||||
"*": [
|
"*": [
|
||||||
"*"
|
"*"
|
||||||
]
|
]
|
||||||
}
|
},
|
||||||
}
|
"lib": ["es2020", "dom"],
|
||||||
|
"jsx": "preserve"
|
||||||
|
}
|
||||||
}
|
}
|
@ -3,10 +3,12 @@
|
|||||||
margin-right: auto;
|
margin-right: auto;
|
||||||
|
|
||||||
.left-sidebar {
|
.left-sidebar {
|
||||||
|
order: -3;
|
||||||
max-width: var(--left-sidebar-max-width);
|
max-width: var(--left-sidebar-max-width);
|
||||||
}
|
}
|
||||||
|
|
||||||
.right-sidebar {
|
.right-sidebar {
|
||||||
|
order: -1;
|
||||||
max-width: var(--right-sidebar-max-width);
|
max-width: var(--right-sidebar-max-width);
|
||||||
|
|
||||||
/// Display right sidebar when min-width: lg
|
/// Display right sidebar when min-width: lg
|
||||||
@ -73,6 +75,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
main.main {
|
main.main {
|
||||||
|
order: -2;
|
||||||
min-width: 0;
|
min-width: 0;
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
|
@ -54,6 +54,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.article-title {
|
.article-title {
|
||||||
|
font-family: var(--article-font-family);
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
color: var(--card-text-color-main);
|
color: var(--card-text-color-main);
|
||||||
@ -92,16 +93,15 @@
|
|||||||
.article-time,
|
.article-time,
|
||||||
.article-translations {
|
.article-translations {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
|
||||||
color: var(--card-text-color-tertiary);
|
color: var(--card-text-color-tertiary);
|
||||||
gap: 15px;
|
gap: 15px;
|
||||||
flex-wrap: wrap;
|
|
||||||
|
|
||||||
svg {
|
svg {
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
width: 20px;
|
width: 20px;
|
||||||
height: 20px;
|
height: 20px;
|
||||||
stroke-width: 1.33;
|
stroke-width: 1.33;
|
||||||
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
time,
|
time,
|
||||||
@ -117,6 +117,16 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.article-time {
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.article-translations {
|
||||||
|
& > div {
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.article-category,
|
.article-category,
|
||||||
.article-tags {
|
.article-tags {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -0,0 +1,428 @@
|
|||||||
|
/* Background */
|
||||||
|
.chroma {
|
||||||
|
color: $color;
|
||||||
|
background-color: $background-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Other */
|
||||||
|
.chroma .x {
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Error */
|
||||||
|
.chroma .err {
|
||||||
|
color: $error-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LineTableTD */
|
||||||
|
.chroma .lntd {
|
||||||
|
vertical-align: top;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LineTable */
|
||||||
|
.chroma .lntable {
|
||||||
|
border-spacing: 0;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
border: 0;
|
||||||
|
width: 100%;
|
||||||
|
display: block;
|
||||||
|
|
||||||
|
> tbody {
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
> tr {
|
||||||
|
display: flex;
|
||||||
|
width: 100%;
|
||||||
|
> td:last-child {
|
||||||
|
overflow-x: auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LineHighlight */
|
||||||
|
.chroma .hl {
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
background-color: #ffffcc;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LineNumbersTable */
|
||||||
|
.chroma .lnt {
|
||||||
|
margin-right: 0.4em;
|
||||||
|
padding: 0 0.4em 0 0.4em;
|
||||||
|
color: #7f7f7f;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LineNumbers */
|
||||||
|
.chroma .ln {
|
||||||
|
margin-right: 0.4em;
|
||||||
|
padding: 0 0.4em 0 0.4em;
|
||||||
|
color: #7f7f7f;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Keyword */
|
||||||
|
.chroma .k {
|
||||||
|
color: $keyword-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* KeywordConstant */
|
||||||
|
.chroma .kc {
|
||||||
|
color: $keyword-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* KeywordDeclaration */
|
||||||
|
.chroma .kd {
|
||||||
|
color: $keyword-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* KeywordNamespace */
|
||||||
|
.chroma .kn {
|
||||||
|
color: #f92672;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* KeywordPseudo */
|
||||||
|
.chroma .kp {
|
||||||
|
color: $keyword-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* KeywordReserved */
|
||||||
|
.chroma .kr {
|
||||||
|
color: $keyword-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* KeywordType */
|
||||||
|
.chroma .kt {
|
||||||
|
color: $keyword-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Name */
|
||||||
|
.chroma .n {
|
||||||
|
color: $text-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* NameAttribute */
|
||||||
|
.chroma .na {
|
||||||
|
color: $name-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* NameBuiltin */
|
||||||
|
.chroma .nb {
|
||||||
|
color: $text-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* NameBuiltinPseudo */
|
||||||
|
.chroma .bp {
|
||||||
|
color: $text-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* NameClass */
|
||||||
|
.chroma .nc {
|
||||||
|
color: $name-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* NameConstant */
|
||||||
|
.chroma .no {
|
||||||
|
color: $keyword-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* NameDecorator */
|
||||||
|
.chroma .nd {
|
||||||
|
color: $name-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* NameEntity */
|
||||||
|
.chroma .ni {
|
||||||
|
color: $text-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* NameException */
|
||||||
|
.chroma .ne {
|
||||||
|
color: $name-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* NameFunction */
|
||||||
|
.chroma .nf {
|
||||||
|
color: $name-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* NameFunctionMagic */
|
||||||
|
.chroma .fm {
|
||||||
|
color: $text-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* NameLabel */
|
||||||
|
.chroma .nl {
|
||||||
|
color: $text-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* NameNamespace */
|
||||||
|
.chroma .nn {
|
||||||
|
color: $text-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* NameOther */
|
||||||
|
.chroma .nx {
|
||||||
|
color: $name-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* NameProperty */
|
||||||
|
.chroma .py {
|
||||||
|
color: $text-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* NameTag */
|
||||||
|
.chroma .nt {
|
||||||
|
color: #f92672;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* NameVariable */
|
||||||
|
.chroma .nv {
|
||||||
|
color: $text-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* NameVariableClass */
|
||||||
|
.chroma .vc {
|
||||||
|
color: $text-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* NameVariableGlobal */
|
||||||
|
.chroma .vg {
|
||||||
|
color: $text-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* NameVariableInstance */
|
||||||
|
.chroma .vi {
|
||||||
|
color: $text-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* NameVariableMagic */
|
||||||
|
.chroma .vm {
|
||||||
|
color: $text-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Literal */
|
||||||
|
.chroma .l {
|
||||||
|
color: #ae81ff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LiteralDate */
|
||||||
|
.chroma .ld {
|
||||||
|
color: $literal-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LiteralString */
|
||||||
|
.chroma .s {
|
||||||
|
color: $literal-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LiteralStringAffix */
|
||||||
|
.chroma .sa {
|
||||||
|
color: $literal-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LiteralStringBacktick */
|
||||||
|
.chroma .sb {
|
||||||
|
color: $literal-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LiteralStringChar */
|
||||||
|
.chroma .sc {
|
||||||
|
color: $literal-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LiteralStringDelimiter */
|
||||||
|
.chroma .dl {
|
||||||
|
color: $literal-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LiteralStringDoc */
|
||||||
|
.chroma .sd {
|
||||||
|
color: $literal-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LiteralStringDouble */
|
||||||
|
.chroma .s2 {
|
||||||
|
color: $literal-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LiteralStringEscape */
|
||||||
|
.chroma .se {
|
||||||
|
color: #ae81ff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LiteralStringHeredoc */
|
||||||
|
.chroma .sh {
|
||||||
|
color: $literal-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LiteralStringInterpol */
|
||||||
|
.chroma .si {
|
||||||
|
color: $literal-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LiteralStringOther */
|
||||||
|
.chroma .sx {
|
||||||
|
color: $literal-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LiteralStringRegex */
|
||||||
|
.chroma .sr {
|
||||||
|
color: $literal-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LiteralStringSingle */
|
||||||
|
.chroma .s1 {
|
||||||
|
color: $literal-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LiteralStringSymbol */
|
||||||
|
.chroma .ss {
|
||||||
|
color: $literal-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LiteralNumber */
|
||||||
|
.chroma .m {
|
||||||
|
color: #ae81ff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LiteralNumberBin */
|
||||||
|
.chroma .mb {
|
||||||
|
color: #ae81ff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LiteralNumberFloat */
|
||||||
|
.chroma .mf {
|
||||||
|
color: #ae81ff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LiteralNumberHex */
|
||||||
|
.chroma .mh {
|
||||||
|
color: #ae81ff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LiteralNumberInteger */
|
||||||
|
.chroma .mi {
|
||||||
|
color: #ae81ff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LiteralNumberIntegerLong */
|
||||||
|
.chroma .il {
|
||||||
|
color: #ae81ff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LiteralNumberOct */
|
||||||
|
.chroma .mo {
|
||||||
|
color: #ae81ff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Operator */
|
||||||
|
.chroma .o {
|
||||||
|
color: #f92672;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* OperatorWord */
|
||||||
|
.chroma .ow {
|
||||||
|
color: #f92672;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Punctuation */
|
||||||
|
.chroma .p {
|
||||||
|
color: $text-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Comment */
|
||||||
|
.chroma .c {
|
||||||
|
color: #75715e;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* CommentHashbang */
|
||||||
|
.chroma .ch {
|
||||||
|
color: #75715e;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* CommentMultiline */
|
||||||
|
.chroma .cm {
|
||||||
|
color: #75715e;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* CommentSingle */
|
||||||
|
.chroma .c1 {
|
||||||
|
color: #75715e;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* CommentSpecial */
|
||||||
|
.chroma .cs {
|
||||||
|
color: #75715e;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* CommentPreproc */
|
||||||
|
.chroma .cp {
|
||||||
|
color: #75715e;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* CommentPreprocFile */
|
||||||
|
.chroma .cpf {
|
||||||
|
color: #75715e;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Generic */
|
||||||
|
.chroma .g {
|
||||||
|
}
|
||||||
|
|
||||||
|
/* GenericDeleted */
|
||||||
|
.chroma .gd {
|
||||||
|
color: #f92672;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* GenericEmph */
|
||||||
|
.chroma .ge {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* GenericError */
|
||||||
|
.chroma .gr {
|
||||||
|
}
|
||||||
|
|
||||||
|
/* GenericHeading */
|
||||||
|
.chroma .gh {
|
||||||
|
}
|
||||||
|
|
||||||
|
/* GenericInserted */
|
||||||
|
.chroma .gi {
|
||||||
|
color: $name-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* GenericOutput */
|
||||||
|
.chroma .go {
|
||||||
|
}
|
||||||
|
|
||||||
|
/* GenericPrompt */
|
||||||
|
.chroma .gp {
|
||||||
|
}
|
||||||
|
|
||||||
|
/* GenericStrong */
|
||||||
|
.chroma .gs {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* GenericSubheading */
|
||||||
|
.chroma .gu {
|
||||||
|
color: #75715e;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* GenericTraceback */
|
||||||
|
.chroma .gt {
|
||||||
|
}
|
||||||
|
|
||||||
|
/* GenericUnderline */
|
||||||
|
.chroma .gl {
|
||||||
|
}
|
||||||
|
|
||||||
|
/* TextWhitespace */
|
||||||
|
.chroma .w {
|
||||||
|
}
|
@ -3,382 +3,12 @@
|
|||||||
* https://xyproto.github.io/splash/docs/monokai.html
|
* https://xyproto.github.io/splash/docs/monokai.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Background */
|
$color: #f8f8f2;
|
||||||
.chroma {
|
$background-color: #272822;
|
||||||
color: #f8f8f2;
|
$error-color: #bb0064;
|
||||||
background-color: #272822
|
$keyword-color: #66d9ef;
|
||||||
}
|
$text-color: $color;
|
||||||
|
$name-color: #a6e22e;
|
||||||
/* Other */
|
$literal-color: #e6db74;
|
||||||
.chroma .x {}
|
|
||||||
|
@import "common.scss";
|
||||||
/* Error */
|
|
||||||
.chroma .err {
|
|
||||||
color: #bb0064;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LineTableTD */
|
|
||||||
.chroma .lntd {
|
|
||||||
vertical-align: top;
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
border: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LineTable */
|
|
||||||
.chroma .lntable {
|
|
||||||
border-spacing: 0;
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
border: 0;
|
|
||||||
width: auto;
|
|
||||||
overflow: auto;
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LineHighlight */
|
|
||||||
.chroma .hl {
|
|
||||||
display: block;
|
|
||||||
width: 100%;
|
|
||||||
background-color: #ffffcc
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LineNumbersTable */
|
|
||||||
.chroma .lnt {
|
|
||||||
margin-right: 0.4em;
|
|
||||||
padding: 0 0.4em 0 0.4em;
|
|
||||||
color: #7f7f7f
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LineNumbers */
|
|
||||||
.chroma .ln {
|
|
||||||
margin-right: 0.4em;
|
|
||||||
padding: 0 0.4em 0 0.4em;
|
|
||||||
color: #7f7f7f
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Keyword */
|
|
||||||
.chroma .k {
|
|
||||||
color: #66d9ef
|
|
||||||
}
|
|
||||||
|
|
||||||
/* KeywordConstant */
|
|
||||||
.chroma .kc {
|
|
||||||
color: #66d9ef
|
|
||||||
}
|
|
||||||
|
|
||||||
/* KeywordDeclaration */
|
|
||||||
.chroma .kd {
|
|
||||||
color: #66d9ef
|
|
||||||
}
|
|
||||||
|
|
||||||
/* KeywordNamespace */
|
|
||||||
.chroma .kn {
|
|
||||||
color: #f92672
|
|
||||||
}
|
|
||||||
|
|
||||||
/* KeywordPseudo */
|
|
||||||
.chroma .kp {
|
|
||||||
color: #66d9ef
|
|
||||||
}
|
|
||||||
|
|
||||||
/* KeywordReserved */
|
|
||||||
.chroma .kr {
|
|
||||||
color: #66d9ef
|
|
||||||
}
|
|
||||||
|
|
||||||
/* KeywordType */
|
|
||||||
.chroma .kt {
|
|
||||||
color: #66d9ef
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Name */
|
|
||||||
.chroma .n {}
|
|
||||||
|
|
||||||
/* NameAttribute */
|
|
||||||
.chroma .na {
|
|
||||||
color: #a6e22e
|
|
||||||
}
|
|
||||||
|
|
||||||
/* NameBuiltin */
|
|
||||||
.chroma .nb {}
|
|
||||||
|
|
||||||
/* NameBuiltinPseudo */
|
|
||||||
.chroma .bp {}
|
|
||||||
|
|
||||||
/* NameClass */
|
|
||||||
.chroma .nc {
|
|
||||||
color: #a6e22e
|
|
||||||
}
|
|
||||||
|
|
||||||
/* NameConstant */
|
|
||||||
.chroma .no {
|
|
||||||
color: #66d9ef
|
|
||||||
}
|
|
||||||
|
|
||||||
/* NameDecorator */
|
|
||||||
.chroma .nd {
|
|
||||||
color: #a6e22e
|
|
||||||
}
|
|
||||||
|
|
||||||
/* NameEntity */
|
|
||||||
.chroma .ni {}
|
|
||||||
|
|
||||||
/* NameException */
|
|
||||||
.chroma .ne {
|
|
||||||
color: #a6e22e
|
|
||||||
}
|
|
||||||
|
|
||||||
/* NameFunction */
|
|
||||||
.chroma .nf {
|
|
||||||
color: #a6e22e
|
|
||||||
}
|
|
||||||
|
|
||||||
/* NameFunctionMagic */
|
|
||||||
.chroma .fm {}
|
|
||||||
|
|
||||||
/* NameLabel */
|
|
||||||
.chroma .nl {}
|
|
||||||
|
|
||||||
/* NameNamespace */
|
|
||||||
.chroma .nn {}
|
|
||||||
|
|
||||||
/* NameOther */
|
|
||||||
.chroma .nx {
|
|
||||||
color: #a6e22e
|
|
||||||
}
|
|
||||||
|
|
||||||
/* NameProperty */
|
|
||||||
.chroma .py {}
|
|
||||||
|
|
||||||
/* NameTag */
|
|
||||||
.chroma .nt {
|
|
||||||
color: #f92672
|
|
||||||
}
|
|
||||||
|
|
||||||
/* NameVariable */
|
|
||||||
.chroma .nv {}
|
|
||||||
|
|
||||||
/* NameVariableClass */
|
|
||||||
.chroma .vc {}
|
|
||||||
|
|
||||||
/* NameVariableGlobal */
|
|
||||||
.chroma .vg {}
|
|
||||||
|
|
||||||
/* NameVariableInstance */
|
|
||||||
.chroma .vi {}
|
|
||||||
|
|
||||||
/* NameVariableMagic */
|
|
||||||
.chroma .vm {}
|
|
||||||
|
|
||||||
/* Literal */
|
|
||||||
.chroma .l {
|
|
||||||
color: #ae81ff
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralDate */
|
|
||||||
.chroma .ld {
|
|
||||||
color: #e6db74
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralString */
|
|
||||||
.chroma .s {
|
|
||||||
color: #e6db74
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralStringAffix */
|
|
||||||
.chroma .sa {
|
|
||||||
color: #e6db74
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralStringBacktick */
|
|
||||||
.chroma .sb {
|
|
||||||
color: #e6db74
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralStringChar */
|
|
||||||
.chroma .sc {
|
|
||||||
color: #e6db74
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralStringDelimiter */
|
|
||||||
.chroma .dl {
|
|
||||||
color: #e6db74
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralStringDoc */
|
|
||||||
.chroma .sd {
|
|
||||||
color: #e6db74
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralStringDouble */
|
|
||||||
.chroma .s2 {
|
|
||||||
color: #e6db74
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralStringEscape */
|
|
||||||
.chroma .se {
|
|
||||||
color: #ae81ff
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralStringHeredoc */
|
|
||||||
.chroma .sh {
|
|
||||||
color: #e6db74
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralStringInterpol */
|
|
||||||
.chroma .si {
|
|
||||||
color: #e6db74
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralStringOther */
|
|
||||||
.chroma .sx {
|
|
||||||
color: #e6db74
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralStringRegex */
|
|
||||||
.chroma .sr {
|
|
||||||
color: #e6db74
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralStringSingle */
|
|
||||||
.chroma .s1 {
|
|
||||||
color: #e6db74
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralStringSymbol */
|
|
||||||
.chroma .ss {
|
|
||||||
color: #e6db74
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralNumber */
|
|
||||||
.chroma .m {
|
|
||||||
color: #ae81ff
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralNumberBin */
|
|
||||||
.chroma .mb {
|
|
||||||
color: #ae81ff
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralNumberFloat */
|
|
||||||
.chroma .mf {
|
|
||||||
color: #ae81ff
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralNumberHex */
|
|
||||||
.chroma .mh {
|
|
||||||
color: #ae81ff
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralNumberInteger */
|
|
||||||
.chroma .mi {
|
|
||||||
color: #ae81ff
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralNumberIntegerLong */
|
|
||||||
.chroma .il {
|
|
||||||
color: #ae81ff
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralNumberOct */
|
|
||||||
.chroma .mo {
|
|
||||||
color: #ae81ff
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Operator */
|
|
||||||
.chroma .o {
|
|
||||||
color: #f92672
|
|
||||||
}
|
|
||||||
|
|
||||||
/* OperatorWord */
|
|
||||||
.chroma .ow {
|
|
||||||
color: #f92672
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Punctuation */
|
|
||||||
.chroma .p {}
|
|
||||||
|
|
||||||
/* Comment */
|
|
||||||
.chroma .c {
|
|
||||||
color: #75715e
|
|
||||||
}
|
|
||||||
|
|
||||||
/* CommentHashbang */
|
|
||||||
.chroma .ch {
|
|
||||||
color: #75715e
|
|
||||||
}
|
|
||||||
|
|
||||||
/* CommentMultiline */
|
|
||||||
.chroma .cm {
|
|
||||||
color: #75715e
|
|
||||||
}
|
|
||||||
|
|
||||||
/* CommentSingle */
|
|
||||||
.chroma .c1 {
|
|
||||||
color: #75715e
|
|
||||||
}
|
|
||||||
|
|
||||||
/* CommentSpecial */
|
|
||||||
.chroma .cs {
|
|
||||||
color: #75715e
|
|
||||||
}
|
|
||||||
|
|
||||||
/* CommentPreproc */
|
|
||||||
.chroma .cp {
|
|
||||||
color: #75715e
|
|
||||||
}
|
|
||||||
|
|
||||||
/* CommentPreprocFile */
|
|
||||||
.chroma .cpf {
|
|
||||||
color: #75715e
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Generic */
|
|
||||||
.chroma .g {}
|
|
||||||
|
|
||||||
/* GenericDeleted */
|
|
||||||
.chroma .gd {
|
|
||||||
color: #f92672
|
|
||||||
}
|
|
||||||
|
|
||||||
/* GenericEmph */
|
|
||||||
.chroma .ge {
|
|
||||||
font-style: italic
|
|
||||||
}
|
|
||||||
|
|
||||||
/* GenericError */
|
|
||||||
.chroma .gr {}
|
|
||||||
|
|
||||||
/* GenericHeading */
|
|
||||||
.chroma .gh {}
|
|
||||||
|
|
||||||
/* GenericInserted */
|
|
||||||
.chroma .gi {
|
|
||||||
color: #a6e22e
|
|
||||||
}
|
|
||||||
|
|
||||||
/* GenericOutput */
|
|
||||||
.chroma .go {}
|
|
||||||
|
|
||||||
/* GenericPrompt */
|
|
||||||
.chroma .gp {}
|
|
||||||
|
|
||||||
/* GenericStrong */
|
|
||||||
.chroma .gs {
|
|
||||||
font-weight: bold
|
|
||||||
}
|
|
||||||
|
|
||||||
/* GenericSubheading */
|
|
||||||
.chroma .gu {
|
|
||||||
color: #75715e
|
|
||||||
}
|
|
||||||
|
|
||||||
/* GenericTraceback */
|
|
||||||
.chroma .gt {}
|
|
||||||
|
|
||||||
/* GenericUnderline */
|
|
||||||
.chroma .gl {}
|
|
||||||
|
|
||||||
/* TextWhitespace */
|
|
||||||
.chroma .w {}
|
|
||||||
|
@ -3,407 +3,12 @@
|
|||||||
* https://xyproto.github.io/splash/docs/monokailight.html
|
* https://xyproto.github.io/splash/docs/monokailight.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Background */
|
$color: #272822;
|
||||||
.chroma {
|
$background-color: #fafafa;
|
||||||
color: #272822;
|
$error-color: #960050;
|
||||||
background-color: #fafafa;
|
$keyword-color: #00a8c8;
|
||||||
}
|
$text-color: #111111;
|
||||||
|
$name-color: #75af00;
|
||||||
/* Other */
|
$literal-color: #d88200;
|
||||||
.chroma .x {
|
|
||||||
}
|
@import "common.scss";
|
||||||
|
|
||||||
/* Error */
|
|
||||||
.chroma .err {
|
|
||||||
color: #960050;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LineTableTD */
|
|
||||||
.chroma .lntd {
|
|
||||||
vertical-align: top;
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
border: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LineTable */
|
|
||||||
.chroma .lntable {
|
|
||||||
border-spacing: 0;
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
border: 0;
|
|
||||||
width: auto;
|
|
||||||
overflow: auto;
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LineHighlight */
|
|
||||||
.chroma .hl {
|
|
||||||
display: block;
|
|
||||||
width: 100%;
|
|
||||||
background-color: #ffffcc;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LineNumbersTable */
|
|
||||||
.chroma .lnt {
|
|
||||||
margin-right: 0.4em;
|
|
||||||
padding: 0 0.4em 0 0.4em;
|
|
||||||
color: #7f7f7f;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LineNumbers */
|
|
||||||
.chroma .ln {
|
|
||||||
margin-right: 0.4em;
|
|
||||||
padding: 0 0.4em 0 0.4em;
|
|
||||||
color: #7f7f7f;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Keyword */
|
|
||||||
.chroma .k {
|
|
||||||
color: #00a8c8;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* KeywordConstant */
|
|
||||||
.chroma .kc {
|
|
||||||
color: #00a8c8;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* KeywordDeclaration */
|
|
||||||
.chroma .kd {
|
|
||||||
color: #00a8c8;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* KeywordNamespace */
|
|
||||||
.chroma .kn {
|
|
||||||
color: #f92672;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* KeywordPseudo */
|
|
||||||
.chroma .kp {
|
|
||||||
color: #00a8c8;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* KeywordReserved */
|
|
||||||
.chroma .kr {
|
|
||||||
color: #00a8c8;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* KeywordType */
|
|
||||||
.chroma .kt {
|
|
||||||
color: #00a8c8;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Name */
|
|
||||||
.chroma .n {
|
|
||||||
color: #111111;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* NameAttribute */
|
|
||||||
.chroma .na {
|
|
||||||
color: #75af00;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* NameBuiltin */
|
|
||||||
.chroma .nb {
|
|
||||||
color: #111111;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* NameBuiltinPseudo */
|
|
||||||
.chroma .bp {
|
|
||||||
color: #111111;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* NameClass */
|
|
||||||
.chroma .nc {
|
|
||||||
color: #75af00;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* NameConstant */
|
|
||||||
.chroma .no {
|
|
||||||
color: #00a8c8;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* NameDecorator */
|
|
||||||
.chroma .nd {
|
|
||||||
color: #75af00;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* NameEntity */
|
|
||||||
.chroma .ni {
|
|
||||||
color: #111111;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* NameException */
|
|
||||||
.chroma .ne {
|
|
||||||
color: #75af00;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* NameFunction */
|
|
||||||
.chroma .nf {
|
|
||||||
color: #75af00;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* NameFunctionMagic */
|
|
||||||
.chroma .fm {
|
|
||||||
color: #111111;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* NameLabel */
|
|
||||||
.chroma .nl {
|
|
||||||
color: #111111;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* NameNamespace */
|
|
||||||
.chroma .nn {
|
|
||||||
color: #111111;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* NameOther */
|
|
||||||
.chroma .nx {
|
|
||||||
color: #75af00;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* NameProperty */
|
|
||||||
.chroma .py {
|
|
||||||
color: #111111;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* NameTag */
|
|
||||||
.chroma .nt {
|
|
||||||
color: #f92672;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* NameVariable */
|
|
||||||
.chroma .nv {
|
|
||||||
color: #111111;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* NameVariableClass */
|
|
||||||
.chroma .vc {
|
|
||||||
color: #111111;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* NameVariableGlobal */
|
|
||||||
.chroma .vg {
|
|
||||||
color: #111111;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* NameVariableInstance */
|
|
||||||
.chroma .vi {
|
|
||||||
color: #111111;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* NameVariableMagic */
|
|
||||||
.chroma .vm {
|
|
||||||
color: #111111;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Literal */
|
|
||||||
.chroma .l {
|
|
||||||
color: #ae81ff;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralDate */
|
|
||||||
.chroma .ld {
|
|
||||||
color: #d88200;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralString */
|
|
||||||
.chroma .s {
|
|
||||||
color: #d88200;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralStringAffix */
|
|
||||||
.chroma .sa {
|
|
||||||
color: #d88200;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralStringBacktick */
|
|
||||||
.chroma .sb {
|
|
||||||
color: #d88200;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralStringChar */
|
|
||||||
.chroma .sc {
|
|
||||||
color: #d88200;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralStringDelimiter */
|
|
||||||
.chroma .dl {
|
|
||||||
color: #d88200;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralStringDoc */
|
|
||||||
.chroma .sd {
|
|
||||||
color: #d88200;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralStringDouble */
|
|
||||||
.chroma .s2 {
|
|
||||||
color: #d88200;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralStringEscape */
|
|
||||||
.chroma .se {
|
|
||||||
color: #8045ff;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralStringHeredoc */
|
|
||||||
.chroma .sh {
|
|
||||||
color: #d88200;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralStringInterpol */
|
|
||||||
.chroma .si {
|
|
||||||
color: #d88200;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralStringOther */
|
|
||||||
.chroma .sx {
|
|
||||||
color: #d88200;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralStringRegex */
|
|
||||||
.chroma .sr {
|
|
||||||
color: #d88200;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralStringSingle */
|
|
||||||
.chroma .s1 {
|
|
||||||
color: #d88200;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralStringSymbol */
|
|
||||||
.chroma .ss {
|
|
||||||
color: #d88200;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralNumber */
|
|
||||||
.chroma .m {
|
|
||||||
color: #ae81ff;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralNumberBin */
|
|
||||||
.chroma .mb {
|
|
||||||
color: #ae81ff;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralNumberFloat */
|
|
||||||
.chroma .mf {
|
|
||||||
color: #ae81ff;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralNumberHex */
|
|
||||||
.chroma .mh {
|
|
||||||
color: #ae81ff;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralNumberInteger */
|
|
||||||
.chroma .mi {
|
|
||||||
color: #ae81ff;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralNumberIntegerLong */
|
|
||||||
.chroma .il {
|
|
||||||
color: #ae81ff;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiteralNumberOct */
|
|
||||||
.chroma .mo {
|
|
||||||
color: #ae81ff;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Operator */
|
|
||||||
.chroma .o {
|
|
||||||
color: #f92672;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* OperatorWord */
|
|
||||||
.chroma .ow {
|
|
||||||
color: #f92672;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Punctuation */
|
|
||||||
.chroma .p {
|
|
||||||
color: #111111;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Comment */
|
|
||||||
.chroma .c {
|
|
||||||
color: #75715e;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* CommentHashbang */
|
|
||||||
.chroma .ch {
|
|
||||||
color: #75715e;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* CommentMultiline */
|
|
||||||
.chroma .cm {
|
|
||||||
color: #75715e;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* CommentSingle */
|
|
||||||
.chroma .c1 {
|
|
||||||
color: #75715e;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* CommentSpecial */
|
|
||||||
.chroma .cs {
|
|
||||||
color: #75715e;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* CommentPreproc */
|
|
||||||
.chroma .cp {
|
|
||||||
color: #75715e;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* CommentPreprocFile */
|
|
||||||
.chroma .cpf {
|
|
||||||
color: #75715e;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Generic */
|
|
||||||
.chroma .g {
|
|
||||||
}
|
|
||||||
/* GenericDeleted */
|
|
||||||
.chroma .gd {
|
|
||||||
color: #f92672;
|
|
||||||
}
|
|
||||||
/* GenericEmph */
|
|
||||||
.chroma .ge {
|
|
||||||
font-style: italic;
|
|
||||||
}
|
|
||||||
/* GenericError */
|
|
||||||
.chroma .gr {
|
|
||||||
}
|
|
||||||
/* GenericHeading */
|
|
||||||
.chroma .gh {
|
|
||||||
}
|
|
||||||
/* GenericInserted */
|
|
||||||
.chroma .gi {
|
|
||||||
color: #7ca727;
|
|
||||||
}
|
|
||||||
/* GenericOutput */
|
|
||||||
.chroma .go {
|
|
||||||
}
|
|
||||||
/* GenericPrompt */
|
|
||||||
.chroma .gp {
|
|
||||||
}
|
|
||||||
/* GenericStrong */
|
|
||||||
.chroma .gs {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
/* GenericSubheading */
|
|
||||||
.chroma .gu {
|
|
||||||
color: #75715e;
|
|
||||||
}
|
|
||||||
/* GenericTraceback */
|
|
||||||
.chroma .gt {
|
|
||||||
}
|
|
||||||
/* GenericUnderline */
|
|
||||||
.chroma .gl {
|
|
||||||
}
|
|
||||||
/* TextWhitespace */
|
|
||||||
.chroma .w {
|
|
||||||
}
|
|
||||||
|
@ -33,6 +33,10 @@
|
|||||||
margin: var(--card-padding) 0;
|
margin: var(--card-padding) 0;
|
||||||
color: var(--card-text-color-main);
|
color: var(--card-text-color-main);
|
||||||
|
|
||||||
|
.footnotes {
|
||||||
|
font-family: var(--base-font-family);
|
||||||
|
}
|
||||||
|
|
||||||
img {
|
img {
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
height: auto;
|
height: auto;
|
||||||
@ -218,6 +222,28 @@
|
|||||||
margin-inline-start: calc((var(--card-padding)) * -1);
|
margin-inline-start: calc((var(--card-padding)) * -1);
|
||||||
padding-inline-start: calc(var(--card-padding) - var(--heading-border-size));
|
padding-inline-start: calc(var(--card-padding) - var(--heading-border-size));
|
||||||
border-inline-start: var(--heading-border-size) solid var(--accent-color);
|
border-inline-start: var(--heading-border-size) solid var(--accent-color);
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
a.header-anchor {
|
||||||
|
transition: opacity 0.3s ease;
|
||||||
|
opacity: 0;
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
width: var(--card-padding);
|
||||||
|
text-align: center;
|
||||||
|
color: var(--accent-color);
|
||||||
|
|
||||||
|
&:before {
|
||||||
|
content: "#";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover,
|
||||||
|
&:focus {
|
||||||
|
a.header-anchor {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
figure {
|
figure {
|
||||||
@ -264,6 +290,11 @@
|
|||||||
font-family: var(--code-font-family);
|
font-family: var(--code-font-family);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
a,
|
||||||
|
code {
|
||||||
|
word-break: break-word;
|
||||||
|
}
|
||||||
|
|
||||||
.gallery {
|
.gallery {
|
||||||
position: relative;
|
position: relative;
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -412,4 +443,20 @@
|
|||||||
margin-right: calc((var(--card-padding)) * -1);
|
margin-right: calc((var(--card-padding)) * -1);
|
||||||
width: calc(100% + var(--card-padding) * 2);
|
width: calc(100% + var(--card-padding) * 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Make long KaTeX equations scrollable in the x-axis
|
||||||
|
.katex-display > .katex {
|
||||||
|
overflow-x: auto;
|
||||||
|
overflow-y: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
kbd {
|
||||||
|
border: 1px solid var(--kbd-border-color);
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 0.9em;
|
||||||
|
line-height: 1;
|
||||||
|
padding: 2px 4px;
|
||||||
|
border-radius: 4px;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -127,10 +127,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Menu style */
|
/* Menu style */
|
||||||
.menu {
|
#main-menu {
|
||||||
padding-left: 0;
|
|
||||||
list-style: none;
|
list-style: none;
|
||||||
flex-direction: column;
|
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
font-size: 1.4rem;
|
font-size: 1.4rem;
|
||||||
@ -141,13 +139,15 @@
|
|||||||
margin: 0 calc(var(--container-padding) * -1);
|
margin: 0 calc(var(--container-padding) * -1);
|
||||||
|
|
||||||
padding: 30px 30px;
|
padding: 30px 30px;
|
||||||
|
|
||||||
@include respond(xl) {
|
@include respond(xl) {
|
||||||
padding: 15px 0;
|
padding: 15px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
&,
|
&, .menu-bottom-section ol {
|
||||||
.menu-bottom-section {
|
flex-direction: column;
|
||||||
gap: 30px;
|
gap: 30px;
|
||||||
|
|
||||||
@include respond(xl) {
|
@include respond(xl) {
|
||||||
gap: 25px;
|
gap: 25px;
|
||||||
}
|
}
|
||||||
@ -176,8 +176,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
svg {
|
svg {
|
||||||
|
stroke: currentColor;
|
||||||
stroke-width: 1.33;
|
stroke-width: 1.33;
|
||||||
|
|
||||||
width: 20px;
|
width: 20px;
|
||||||
height: 20px;
|
height: 20px;
|
||||||
}
|
}
|
||||||
@ -200,17 +200,19 @@
|
|||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.menu-bottom-section {
|
&.menu-bottom-section {
|
||||||
margin-top: auto;
|
margin-top: auto;
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
ol {
|
||||||
width: 100%;
|
display: flex;
|
||||||
|
padding-left: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.social-menu {
|
.menu-social {
|
||||||
list-style: none;
|
list-style: none;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
@ -79,6 +79,7 @@
|
|||||||
|
|
||||||
@include respond(lg) {
|
@include respond(lg) {
|
||||||
padding-top: var(--main-top-padding);
|
padding-top: var(--main-top-padding);
|
||||||
|
padding-bottom: var(--main-top-padding);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@ $defaultTagColors: #fff, #fff, #fff, #fff, #fff;
|
|||||||
--accent-color: #34495e;
|
--accent-color: #34495e;
|
||||||
--accent-color-darker: #2c3e50;
|
--accent-color-darker: #2c3e50;
|
||||||
--accent-color-text: #fff;
|
--accent-color-text: #fff;
|
||||||
--body-text-color: #bababa;
|
--body-text-color: #707070;
|
||||||
|
|
||||||
--tag-border-radius: 4px;
|
--tag-border-radius: 4px;
|
||||||
|
|
||||||
@ -44,7 +44,7 @@ $defaultTagColors: #fff, #fff, #fff, #fff, #fff;
|
|||||||
--zh-font-family: "PingFang SC", "Hiragino Sans GB", "Droid Sans Fallback", "Microsoft YaHei";
|
--zh-font-family: "PingFang SC", "Hiragino Sans GB", "Droid Sans Fallback", "Microsoft YaHei";
|
||||||
|
|
||||||
--base-font-family: "Lato", var(--sys-font-family), var(--zh-font-family), sans-serif;
|
--base-font-family: "Lato", var(--sys-font-family), var(--zh-font-family), sans-serif;
|
||||||
--code-font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
|
--code-font-family: Menlo, Monaco, Consolas, "Courier New", var(--zh-font-family), monospace;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -56,7 +56,7 @@ $defaultTagColors: #fff, #fff, #fff, #fff, #fff;
|
|||||||
|
|
||||||
--card-text-color-main: #000;
|
--card-text-color-main: #000;
|
||||||
--card-text-color-secondary: #747474;
|
--card-text-color-secondary: #747474;
|
||||||
--card-text-color-tertiary: #bababa;
|
--card-text-color-tertiary: #767676;
|
||||||
--card-separator-color: rgba(218, 218, 218, 0.5);
|
--card-separator-color: rgba(218, 218, 218, 0.5);
|
||||||
|
|
||||||
--card-border-radius: 10px;
|
--card-border-radius: 10px;
|
||||||
@ -123,6 +123,8 @@ $defaultTagColors: #fff, #fff, #fff, #fff, #fff;
|
|||||||
--table-border-color: #dadada;
|
--table-border-color: #dadada;
|
||||||
--tr-even-background-color: #efefee;
|
--tr-even-background-color: #efefee;
|
||||||
|
|
||||||
|
--kbd-border-color: #dadada;
|
||||||
|
|
||||||
&[data-scheme="dark"] {
|
&[data-scheme="dark"] {
|
||||||
--code-background-color: #272822;
|
--code-background-color: #272822;
|
||||||
--code-text-color: rgba(255, 255, 255, 0.9);
|
--code-text-color: rgba(255, 255, 255, 0.9);
|
||||||
|
@ -227,6 +227,7 @@ class Search {
|
|||||||
Search.updateQueryString(keywords, true);
|
Search.updateQueryString(keywords, true);
|
||||||
|
|
||||||
if (keywords === '') {
|
if (keywords === '') {
|
||||||
|
lastSearch = '';
|
||||||
return this.clear();
|
return this.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ function setupSmoothAnchors() {
|
|||||||
aElement.addEventListener("click", clickEvent => {
|
aElement.addEventListener("click", clickEvent => {
|
||||||
clickEvent.preventDefault();
|
clickEvent.preventDefault();
|
||||||
|
|
||||||
const targetId = aElement.getAttribute("href").substring(1),
|
const targetId = decodeURI(aElement.getAttribute("href").substring(1)),
|
||||||
target = document.getElementById(targetId) as HTMLElement,
|
target = document.getElementById(targetId) as HTMLElement,
|
||||||
offset = target.getBoundingClientRect().top - document.documentElement.getBoundingClientRect().top;
|
offset = target.getBoundingClientRect().top - document.documentElement.getBoundingClientRect().top;
|
||||||
|
|
||||||
|
@ -28,6 +28,7 @@ params:
|
|||||||
src: img/avatar.jpeg
|
src: img/avatar.jpeg
|
||||||
|
|
||||||
article:
|
article:
|
||||||
|
headingAnchor: false
|
||||||
math: false
|
math: false
|
||||||
toc: true
|
toc: true
|
||||||
readingTime: true
|
readingTime: true
|
||||||
@ -51,6 +52,12 @@ params:
|
|||||||
issueTerm: pathname
|
issueTerm: pathname
|
||||||
label:
|
label:
|
||||||
|
|
||||||
|
beaudar:
|
||||||
|
repo:
|
||||||
|
issueTerm: pathname
|
||||||
|
label:
|
||||||
|
theme:
|
||||||
|
|
||||||
remark42:
|
remark42:
|
||||||
host:
|
host:
|
||||||
site:
|
site:
|
||||||
@ -64,7 +71,7 @@ params:
|
|||||||
clientSecret:
|
clientSecret:
|
||||||
autoCreateIssue: false
|
autoCreateIssue: false
|
||||||
|
|
||||||
# Waline client configuration see: https://waline.js.org/en/reference/client.html
|
# Waline client configuration see: https://waline.js.org/en/reference/client/props.html
|
||||||
waline:
|
waline:
|
||||||
serverURL:
|
serverURL:
|
||||||
lang:
|
lang:
|
||||||
@ -73,12 +80,11 @@ params:
|
|||||||
emoji:
|
emoji:
|
||||||
- https://cdn.jsdelivr.net/gh/walinejs/emojis/weibo
|
- https://cdn.jsdelivr.net/gh/walinejs/emojis/weibo
|
||||||
requiredMeta:
|
requiredMeta:
|
||||||
- name
|
- nick
|
||||||
- email
|
- mail
|
||||||
- url
|
|
||||||
placeholder:
|
|
||||||
locale:
|
locale:
|
||||||
admin: Admin
|
admin: Admin
|
||||||
|
placeholder:
|
||||||
|
|
||||||
twikoo:
|
twikoo:
|
||||||
envId:
|
envId:
|
||||||
@ -112,19 +118,8 @@ params:
|
|||||||
id:
|
id:
|
||||||
|
|
||||||
widgets:
|
widgets:
|
||||||
homepage:
|
homepage: []
|
||||||
- type: search
|
page: []
|
||||||
- type: archives
|
|
||||||
params:
|
|
||||||
limit: 10
|
|
||||||
- type: categories
|
|
||||||
params:
|
|
||||||
limit: 20
|
|
||||||
- type: tag-cloud
|
|
||||||
params:
|
|
||||||
limit: 10
|
|
||||||
page:
|
|
||||||
- type: toc
|
|
||||||
|
|
||||||
opengraph:
|
opengraph:
|
||||||
twitter:
|
twitter:
|
||||||
|
@ -21,17 +21,17 @@ PhotoSwipe:
|
|||||||
type: style
|
type: style
|
||||||
|
|
||||||
KaTeX:
|
KaTeX:
|
||||||
- src: https://cdn.jsdelivr.net/npm/katex@0.15.6/dist/katex.min.css
|
- src: https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css
|
||||||
integrity: sha256-J+iAE0sgH8QSz9hpcDxXIftnj65JEZgNhGcgReTTK9s=
|
integrity: sha384-n8MVd4RsNIU0tAv4ct0nTaAbDJwPJzDEaqSD1odI+WdtXRGWt2kTvGFasHpSy3SV
|
||||||
type: style
|
type: style
|
||||||
|
|
||||||
- src: https://cdn.jsdelivr.net/npm/katex@0.15.6/dist/katex.min.js
|
- src: https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.js
|
||||||
integrity: sha256-InsNdER1b2xUewP+pKCUJpkhiqwHgqiPXDlIk7GzBu4=
|
integrity: sha384-XjKyOOlGwcjNTAIQHIpgOno0Hl1YQqzUOEleOLALmuqehneUG+vnGctmUb0ZY0l8
|
||||||
type: script
|
type: script
|
||||||
defer: true
|
defer: true
|
||||||
|
|
||||||
- src: https://cdn.jsdelivr.net/npm/katex@0.15.6/dist/contrib/auto-render.min.js
|
- src: https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/contrib/auto-render.min.js
|
||||||
integrity: sha256-y39Mpg7V3D4lhBX4x6O0bUqTV4pSrfgwEfGKfxkOdgI=
|
integrity: sha384-+VBxd3r6XgURycqtZ117nYw44OOcIax56Z4dCRWbxyPt0Koah1uHoK0o4+/RRE05
|
||||||
type: script
|
type: script
|
||||||
defer: true
|
defer: true
|
||||||
|
|
||||||
|
@ -1 +1,3 @@
|
|||||||
Example site modified from https://github.com/gohugoio/hugoBasicExample
|
This is an example site used for solely for testing purposes. **It is not meant to be used as a template for your site**.
|
||||||
|
|
||||||
|
To create a new site, please use the starter template: [CaiJimmy/hugo-theme-stack-starter](https://github.com/CaiJimmy/hugo-theme-stack-starter/)
|
@ -15,7 +15,7 @@ menu:
|
|||||||
icon: user
|
icon: user
|
||||||
---
|
---
|
||||||
|
|
||||||
Written in Go, Hugo is an open source static site generator available under the [Apache Licence 2.0.](https://github.com/gohugoio/hugo/blob/master/LICENSE) Hugo supports TOML, YAML and JSON data file types, Markdown and HTML content files and uses shortcodes to add rich content. Other notable features are taxonomies, multilingual mode, image processing, custom output formats, HTML/CSS/JS minification and support for Sass SCSS workflows.
|
Written in Go, Hugo is an open source static site generator available under the [Apache License 2.0.](https://github.com/gohugoio/hugo/blob/master/LICENSE) Hugo supports TOML, YAML and JSON data file types, Markdown and HTML content files and uses shortcodes to add rich content. Other notable features are taxonomies, multilingual mode, image processing, custom output formats, HTML/CSS/JS minification and support for Sass SCSS workflows.
|
||||||
|
|
||||||
Hugo makes use of a variety of open source projects including:
|
Hugo makes use of a variety of open source projects including:
|
||||||
|
|
||||||
@ -29,6 +29,6 @@ Hugo is ideal for blogs, corporate websites, creative portfolios, online magazin
|
|||||||
|
|
||||||
Hugo is for people who want to hand code their own website without worrying about setting up complicated runtimes, dependencies and databases.
|
Hugo is for people who want to hand code their own website without worrying about setting up complicated runtimes, dependencies and databases.
|
||||||
|
|
||||||
Websites built with Hugo are extremelly fast, secure and can be deployed anywhere including, AWS, GitHub Pages, Heroku, Netlify and any other hosting provider.
|
Websites built with Hugo are extremely fast, secure and can be deployed anywhere including, AWS, GitHub Pages, Heroku, Netlify and any other hosting provider.
|
||||||
|
|
||||||
Learn more and contribute on [GitHub](https://github.com/gohugoio).
|
Learn more and contribute on [GitHub](https://github.com/gohugoio).
|
||||||
|
@ -159,7 +159,7 @@ H<sub>2</sub>O
|
|||||||
|
|
||||||
X<sup>n</sup> + Y<sup>n</sup> = Z<sup>n</sup>
|
X<sup>n</sup> + Y<sup>n</sup> = Z<sup>n</sup>
|
||||||
|
|
||||||
Press <kbd><kbd>CTRL</kbd>+<kbd>ALT</kbd>+<kbd>Delete</kbd></kbd> to end the session.
|
Press <kbd>CTRL</kbd> + <kbd>ALT</kbd> + <kbd>Delete</kbd> to end the session.
|
||||||
|
|
||||||
Most <mark>salamanders</mark> are nocturnal, and hunt for insects, worms, and other small creatures.
|
Most <mark>salamanders</mark> are nocturnal, and hunt for insects, worms, and other small creatures.
|
||||||
|
|
||||||
|
@ -21,27 +21,23 @@ In this example we will be using [KaTeX](https://katex.org/)
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
```
|
```
|
||||||
|
|
||||||
- To enable KaTex globally set the parameter `math` to `true` in a project's configuration
|
- To enable KaTeX globally set the parameter `math` to `true` in a project's configuration
|
||||||
- To enable KaTex on a per page basis include the parameter `math: true` in content files
|
- To enable KaTeX on a per page basis include the parameter `math: true` in content files
|
||||||
|
|
||||||
**Note:** Use the online reference of [Supported TeX Functions](https://katex.org/docs/supported.html)
|
**Note:** Use the online reference of [Supported TeX Functions](https://katex.org/docs/supported.html)
|
||||||
|
|
||||||
{{< math.inline >}}
|
{{< math.inline >}}
|
||||||
{{ if or .Page.Params.math .Site.Params.math }}
|
{{ if or .Page.Params.math .Site.Params.math }}
|
||||||
<!-- KaTeX -->
|
<!-- KaTeX -->
|
||||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.css" integrity="sha384-zB1R0rpPzHqg7Kpt0Aljp8JPLqbXI3bhnPWROx27a9N0Ll6ZP/+DiW/UqRcLbRjq" crossorigin="anonymous">
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css" integrity="sha384-n8MVd4RsNIU0tAv4ct0nTaAbDJwPJzDEaqSD1odI+WdtXRGWt2kTvGFasHpSy3SV" crossorigin="anonymous">
|
||||||
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.js" integrity="sha384-y23I5Q6l+B6vatafAwxRu/0oK/79VlbSz7Q9aiSZUvyWYIYsd+qj+o24G5ZU2zJz" crossorigin="anonymous"></script>
|
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.js" integrity="sha384-XjKyOOlGwcjNTAIQHIpgOno0Hl1YQqzUOEleOLALmuqehneUG+vnGctmUb0ZY0l8" crossorigin="anonymous"></script>
|
||||||
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/contrib/auto-render.min.js" integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>
|
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/contrib/auto-render.min.js" integrity="sha384-+VBxd3r6XgURycqtZ117nYw44OOcIax56Z4dCRWbxyPt0Koah1uHoK0o4+/RRE05" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{</ math.inline >}}
|
{{</ math.inline >}}
|
||||||
|
|
||||||
### Examples
|
### Examples
|
||||||
|
|
||||||
{{< math.inline >}}
|
Inline math: $\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…$
|
||||||
<p>
|
|
||||||
Inline math: \(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\)
|
|
||||||
</p>
|
|
||||||
{{</ math.inline >}}
|
|
||||||
|
|
||||||
Block math:
|
Block math:
|
||||||
$$
|
$$
|
||||||
|
@ -1,29 +1,9 @@
|
|||||||
baseurl: https://example.com
|
baseurl: https://example.com
|
||||||
languageCode: en-us
|
languageCode: en-us
|
||||||
theme: hugo-theme-stack
|
theme: hugo-theme-stack
|
||||||
paginate: 5
|
paginate: 3
|
||||||
title: Example Site
|
title: Example Site
|
||||||
|
copyright: Example Person
|
||||||
languages:
|
|
||||||
en:
|
|
||||||
languageName: English
|
|
||||||
title: Example Site
|
|
||||||
weight: 1
|
|
||||||
zh-cn:
|
|
||||||
languageName: 中文
|
|
||||||
title: 演示站点
|
|
||||||
weight: 2
|
|
||||||
ar:
|
|
||||||
languageName: عربي
|
|
||||||
languagedirection: rtl
|
|
||||||
title: موقع تجريبي
|
|
||||||
weight: 3
|
|
||||||
|
|
||||||
# Change it to your Disqus shortname before using
|
|
||||||
disqusShortname: hugo-theme-stack
|
|
||||||
|
|
||||||
# GA Tracking ID
|
|
||||||
googleAnalytics:
|
|
||||||
|
|
||||||
# Theme i18n support
|
# Theme i18n support
|
||||||
# Available values: ar, bn, ca, de, el, en, es, fr, hu, id, it, ja, ko, nl, pt-br, th, uk, zh-cn, zh-hk, zh-tw
|
# Available values: ar, bn, ca, de, el, en, es, fr, hu, id, it, ja, ko, nl, pt-br, th, uk, zh-cn, zh-hk, zh-tw
|
||||||
@ -33,6 +13,35 @@ DefaultContentLanguage: en
|
|||||||
# This will make .Summary and .WordCount behave correctly for CJK languages.
|
# This will make .Summary and .WordCount behave correctly for CJK languages.
|
||||||
hasCJKLanguage: false
|
hasCJKLanguage: false
|
||||||
|
|
||||||
|
languages:
|
||||||
|
en:
|
||||||
|
languageName: English
|
||||||
|
title: Example Site
|
||||||
|
weight: 1
|
||||||
|
params:
|
||||||
|
description: Example description
|
||||||
|
zh-cn:
|
||||||
|
languageName: 中文
|
||||||
|
title: 演示站点
|
||||||
|
weight: 2
|
||||||
|
params:
|
||||||
|
description: 演示说明
|
||||||
|
ar:
|
||||||
|
languageName: عربي
|
||||||
|
languagedirection: rtl
|
||||||
|
title: موقع تجريبي
|
||||||
|
weight: 3
|
||||||
|
params:
|
||||||
|
description: وصف تجريبي
|
||||||
|
|
||||||
|
services:
|
||||||
|
# Change it to your Disqus shortname before using
|
||||||
|
disqus:
|
||||||
|
shortname: "hugo-theme-stack"
|
||||||
|
# GA Tracking ID
|
||||||
|
googleAnalytics:
|
||||||
|
id:
|
||||||
|
|
||||||
permalinks:
|
permalinks:
|
||||||
post: /p/:slug/
|
post: /p/:slug/
|
||||||
page: /:slug/
|
page: /:slug/
|
||||||
@ -42,7 +51,7 @@ params:
|
|||||||
- post
|
- post
|
||||||
featuredImageField: image
|
featuredImageField: image
|
||||||
rssFullContent: true
|
rssFullContent: true
|
||||||
favicon:
|
favicon: # e.g.: favicon placed in `static/favicon.ico` of your site folder, then set this field to `/favicon.ico` (`/` is necessary)
|
||||||
|
|
||||||
footer:
|
footer:
|
||||||
since: 2020
|
since: 2020
|
||||||
@ -84,6 +93,12 @@ params:
|
|||||||
issueTerm: pathname
|
issueTerm: pathname
|
||||||
label:
|
label:
|
||||||
|
|
||||||
|
beaudar:
|
||||||
|
repo:
|
||||||
|
issueTerm: pathname
|
||||||
|
label:
|
||||||
|
theme:
|
||||||
|
|
||||||
remark42:
|
remark42:
|
||||||
host:
|
host:
|
||||||
site:
|
site:
|
||||||
@ -188,7 +203,7 @@ params:
|
|||||||
enabled: true
|
enabled: true
|
||||||
|
|
||||||
### Custom menu
|
### Custom menu
|
||||||
### See https://docs.stack.jimmycai.com/configuration/custom-menu.html
|
### See https://stack.jimmycai.com/config/menu
|
||||||
### To remove about, archive and search page menu item, remove `menu` field from their FrontMatter
|
### To remove about, archive and search page menu item, remove `menu` field from their FrontMatter
|
||||||
menu:
|
menu:
|
||||||
main: []
|
main: []
|
||||||
@ -221,7 +236,7 @@ markup:
|
|||||||
goldmark:
|
goldmark:
|
||||||
renderer:
|
renderer:
|
||||||
## Set to true if you have HTML content inside Markdown
|
## Set to true if you have HTML content inside Markdown
|
||||||
unsafe: false
|
unsafe: true
|
||||||
tableOfContents:
|
tableOfContents:
|
||||||
endLevel: 4
|
endLevel: 4
|
||||||
ordered: true
|
ordered: true
|
@ -52,6 +52,10 @@ widget:
|
|||||||
title:
|
title:
|
||||||
other: وسوم
|
other: وسوم
|
||||||
|
|
||||||
|
categoriesCloud:
|
||||||
|
title:
|
||||||
|
other: التصنيفات
|
||||||
|
|
||||||
search:
|
search:
|
||||||
title:
|
title:
|
||||||
other: بحث
|
other: بحث
|
||||||
|
72
themes/hugo-theme-stack/i18n/be.yaml
Normal file
72
themes/hugo-theme-stack/i18n/be.yaml
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
toggleMenu:
|
||||||
|
other: Паказаць/схаваць меню
|
||||||
|
|
||||||
|
darkMode:
|
||||||
|
other: Цёмны рэжым
|
||||||
|
|
||||||
|
list:
|
||||||
|
page:
|
||||||
|
one: "{{ .Count }} старонка"
|
||||||
|
few: "{{ .Count }} старонкі"
|
||||||
|
many: "{{ .Count }} старонак"
|
||||||
|
other: "{{ .Count }} старонкі"
|
||||||
|
|
||||||
|
section:
|
||||||
|
other: Раздзел
|
||||||
|
|
||||||
|
subsection:
|
||||||
|
one: Падраздзел
|
||||||
|
few: Падраздзелы
|
||||||
|
many: Падраздзелы
|
||||||
|
other: Падраздзелы
|
||||||
|
|
||||||
|
article:
|
||||||
|
back:
|
||||||
|
other: Назад
|
||||||
|
|
||||||
|
relatedContent:
|
||||||
|
other: Таксама рэкамендуем
|
||||||
|
|
||||||
|
lastUpdatedOn:
|
||||||
|
other: Абноўлена
|
||||||
|
|
||||||
|
tableOfContents:
|
||||||
|
other: Змест
|
||||||
|
|
||||||
|
readingTime:
|
||||||
|
other: "Час чытання: {{ .Count }} хв."
|
||||||
|
|
||||||
|
notFound:
|
||||||
|
title:
|
||||||
|
other: Не знойдзена
|
||||||
|
|
||||||
|
subtitle:
|
||||||
|
other: Запытваемая старонка не існуе
|
||||||
|
|
||||||
|
widget:
|
||||||
|
archives:
|
||||||
|
title:
|
||||||
|
other: Архівы
|
||||||
|
more:
|
||||||
|
other: Яшчэ
|
||||||
|
|
||||||
|
tagCloud:
|
||||||
|
title:
|
||||||
|
other: Тэгі
|
||||||
|
|
||||||
|
search:
|
||||||
|
title:
|
||||||
|
other: Пошук
|
||||||
|
|
||||||
|
placeholder:
|
||||||
|
other: Увядзіце нешта...
|
||||||
|
|
||||||
|
resultTitle:
|
||||||
|
other: "Знайдзена #PAGES_COUNT старонак (за #TIME_SECONDS с.)"
|
||||||
|
|
||||||
|
footer:
|
||||||
|
builtWith:
|
||||||
|
other: Створана пры дапамозе {{ .Generator }}
|
||||||
|
|
||||||
|
designedBy:
|
||||||
|
other: Тэма {{ .Theme }}, дызайн {{ .DesignedBy }}
|
@ -6,19 +6,19 @@ darkMode:
|
|||||||
|
|
||||||
list:
|
list:
|
||||||
page:
|
page:
|
||||||
one: "{{ .Count }} পৃষ্ঠা"
|
one: "{{ .Count }} পাতা"
|
||||||
other: "{{ .Count }} পৃষ্ঠা"
|
other: "{{ .Count }} পাতা"
|
||||||
|
|
||||||
section:
|
section:
|
||||||
other: অনুচ্ছেদ
|
other: অনুচ্ছেদ
|
||||||
|
|
||||||
subsection:
|
subsection:
|
||||||
one: উপঅনুচ্ছেদ
|
one: উপ-অনুচ্ছেদ
|
||||||
other: উপঅনুচ্ছেদ
|
other: উপ-অনুচ্ছেদ
|
||||||
|
|
||||||
article:
|
article:
|
||||||
back:
|
back:
|
||||||
other: পেছনে যান
|
other: পেছনে
|
||||||
|
|
||||||
tableOfContents:
|
tableOfContents:
|
||||||
other: সূচিপত্র
|
other: সূচিপত্র
|
||||||
@ -27,7 +27,7 @@ article:
|
|||||||
other: সম্পর্কিত বিষয়বস্তু
|
other: সম্পর্কিত বিষয়বস্তু
|
||||||
|
|
||||||
lastUpdatedOn:
|
lastUpdatedOn:
|
||||||
other: শেষ হালনাগাদ করা হয়েছে
|
other: সর্বশেষ আপডেট করা হয়েছে
|
||||||
|
|
||||||
readingTime:
|
readingTime:
|
||||||
one: "{{ .Count }} মিনিটে পড়া যাবে"
|
one: "{{ .Count }} মিনিটে পড়া যাবে"
|
||||||
@ -38,7 +38,7 @@ notFound:
|
|||||||
other: পাওয়া যায়নি
|
other: পাওয়া যায়নি
|
||||||
|
|
||||||
subtitle:
|
subtitle:
|
||||||
other: এই পৃষ্ঠাটি বিদ্যমান নেই
|
other: এই পাতাটি বিদ্যমান নেই
|
||||||
|
|
||||||
widget:
|
widget:
|
||||||
archives:
|
archives:
|
||||||
@ -63,7 +63,7 @@ search:
|
|||||||
other: কিছু টাইপ করুন...
|
other: কিছু টাইপ করুন...
|
||||||
|
|
||||||
resultTitle:
|
resultTitle:
|
||||||
other: "#PAGES_COUNT পৃষ্ঠা (#TIME_SECONDS সেকেন্ড)"
|
other: "#PAGES_COUNT পাতা (#TIME_SECONDS সেকেন্ড)"
|
||||||
|
|
||||||
footer:
|
footer:
|
||||||
builtWith:
|
builtWith:
|
||||||
|
73
themes/hugo-theme-stack/i18n/cs.yaml
Normal file
73
themes/hugo-theme-stack/i18n/cs.yaml
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
toggleMenu:
|
||||||
|
other: Skrýt menu
|
||||||
|
|
||||||
|
darkMode:
|
||||||
|
other: Tmavý režim
|
||||||
|
|
||||||
|
list:
|
||||||
|
page:
|
||||||
|
one: "{{ .Count }} stránka"
|
||||||
|
other: "{{ .Count }} stránek"
|
||||||
|
|
||||||
|
section:
|
||||||
|
other: Kategorie
|
||||||
|
|
||||||
|
subsection:
|
||||||
|
one: Podkategorie
|
||||||
|
other: Podkategorie
|
||||||
|
|
||||||
|
article:
|
||||||
|
back:
|
||||||
|
other: Zpět
|
||||||
|
|
||||||
|
tableOfContents:
|
||||||
|
other: Obsah
|
||||||
|
|
||||||
|
relatedContent:
|
||||||
|
other: Související
|
||||||
|
|
||||||
|
lastUpdatedOn:
|
||||||
|
other: Naposledy aktualizováno
|
||||||
|
|
||||||
|
readingTime:
|
||||||
|
one: "{{ .Count }} minuta"
|
||||||
|
other: "{{ .Count }} minut"
|
||||||
|
|
||||||
|
notFound:
|
||||||
|
title:
|
||||||
|
other: Nenalezeno
|
||||||
|
|
||||||
|
subtitle:
|
||||||
|
other: Tato stránka neexistuje
|
||||||
|
|
||||||
|
widget:
|
||||||
|
archives:
|
||||||
|
title:
|
||||||
|
other: Archivy
|
||||||
|
|
||||||
|
more:
|
||||||
|
other: Více
|
||||||
|
|
||||||
|
tagCloud:
|
||||||
|
title:
|
||||||
|
other: Štítky
|
||||||
|
categoriesCloud:
|
||||||
|
title:
|
||||||
|
other: Kategorie
|
||||||
|
|
||||||
|
search:
|
||||||
|
title:
|
||||||
|
other: Hledat
|
||||||
|
|
||||||
|
placeholder:
|
||||||
|
other: Zadejte něco...
|
||||||
|
|
||||||
|
resultTitle:
|
||||||
|
other: "#PAGES_COUNT stránek (#TIME_SECONDS sekund)"
|
||||||
|
|
||||||
|
footer:
|
||||||
|
builtWith:
|
||||||
|
other: Vytvořeno pomocí {{ .Generator }}
|
||||||
|
|
||||||
|
designedBy:
|
||||||
|
other: Šablona {{ .Theme }} od {{ .DesignedBy }}
|
@ -1,5 +1,5 @@
|
|||||||
toggleMenu:
|
toggleMenu:
|
||||||
other: Toggle Menu
|
other: Ocultar menú
|
||||||
|
|
||||||
darkMode:
|
darkMode:
|
||||||
other: Modo oscuro
|
other: Modo oscuro
|
||||||
@ -27,11 +27,11 @@ article:
|
|||||||
other: Contenidos relacionados
|
other: Contenidos relacionados
|
||||||
|
|
||||||
lastUpdatedOn:
|
lastUpdatedOn:
|
||||||
other: Última vez actualizado
|
other: Última actualización
|
||||||
|
|
||||||
readingTime:
|
readingTime:
|
||||||
one: "{{ .Count }} minuto a leer"
|
one: "Tiempo de lectura {{ .Count }} minuto"
|
||||||
other: "{{ .Count }} minutos a leer"
|
other: "Tiempo de lectura {{ .Count }} minutos"
|
||||||
|
|
||||||
notFound:
|
notFound:
|
||||||
title:
|
title:
|
||||||
@ -60,7 +60,7 @@ search:
|
|||||||
other: Búsqueda
|
other: Búsqueda
|
||||||
|
|
||||||
placeholder:
|
placeholder:
|
||||||
other: Teclea algo...
|
other: Escribe algo...
|
||||||
|
|
||||||
resultTitle:
|
resultTitle:
|
||||||
other: "#PAGES_COUNT páginas en (#TIME_SECONDS segundos)"
|
other: "#PAGES_COUNT páginas en (#TIME_SECONDS segundos)"
|
||||||
|
73
themes/hugo-theme-stack/i18n/hi.yaml
Normal file
73
themes/hugo-theme-stack/i18n/hi.yaml
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
toggleMenu:
|
||||||
|
other: मेनू टॉगल करें
|
||||||
|
|
||||||
|
darkMode:
|
||||||
|
other: डार्क मोड
|
||||||
|
|
||||||
|
list:
|
||||||
|
page:
|
||||||
|
one: "{{ .Count }} पेज"
|
||||||
|
other: "{{ .Count }} पेज"
|
||||||
|
|
||||||
|
section:
|
||||||
|
other: अनुभाग
|
||||||
|
|
||||||
|
subsection:
|
||||||
|
one: उपधारा
|
||||||
|
other: उपखंड
|
||||||
|
|
||||||
|
article:
|
||||||
|
back:
|
||||||
|
other: पीछे
|
||||||
|
|
||||||
|
tableOfContents:
|
||||||
|
other: विषयसूची
|
||||||
|
|
||||||
|
relatedContent:
|
||||||
|
other: संबंधित सामग्री
|
||||||
|
|
||||||
|
lastUpdatedOn:
|
||||||
|
other: अंतिम बार अपडेट किया गया
|
||||||
|
|
||||||
|
readingTime:
|
||||||
|
one: "{{ .Count }} मिनट पढ़ें"
|
||||||
|
other: "{{ .Count }} मिनट पढ़ें"
|
||||||
|
|
||||||
|
notFound:
|
||||||
|
title:
|
||||||
|
other: 404 नहीं मिला।
|
||||||
|
|
||||||
|
subtitle:
|
||||||
|
other: यह पृष्ठ मौजूद नहीं है।
|
||||||
|
|
||||||
|
widget:
|
||||||
|
archives:
|
||||||
|
title:
|
||||||
|
other: अभिलेखागार
|
||||||
|
|
||||||
|
more:
|
||||||
|
other: अधिक
|
||||||
|
|
||||||
|
tagCloud:
|
||||||
|
title:
|
||||||
|
other: टैग
|
||||||
|
categoriesCloud:
|
||||||
|
title:
|
||||||
|
other: श्रेणियाँ
|
||||||
|
|
||||||
|
search:
|
||||||
|
title:
|
||||||
|
other: खोज
|
||||||
|
|
||||||
|
placeholder:
|
||||||
|
other: कुछ लिखें...
|
||||||
|
|
||||||
|
resultTitle:
|
||||||
|
other: "#PAGES_COUNT पेज (#TIME_SECONDS सेकंड)"
|
||||||
|
|
||||||
|
footer:
|
||||||
|
builtWith:
|
||||||
|
other: निर्मित {{ .Generator }} के साथ
|
||||||
|
|
||||||
|
designedBy:
|
||||||
|
other: थीम {{ .Theme }} द्वारा डिज़ाइन किया गया {{ .DesignedBy }}
|
@ -4,6 +4,16 @@ toggleMenu:
|
|||||||
darkMode:
|
darkMode:
|
||||||
other: ダークモード
|
other: ダークモード
|
||||||
|
|
||||||
|
list:
|
||||||
|
page:
|
||||||
|
other: "{{ .Count }} ページ目"
|
||||||
|
|
||||||
|
section:
|
||||||
|
other: セクション
|
||||||
|
|
||||||
|
subsection:
|
||||||
|
other: サブセクション
|
||||||
|
|
||||||
article:
|
article:
|
||||||
back:
|
back:
|
||||||
other: 前のページ
|
other: 前のページ
|
||||||
@ -54,7 +64,7 @@ search:
|
|||||||
|
|
||||||
footer:
|
footer:
|
||||||
builtWith:
|
builtWith:
|
||||||
other: Built with {{ .Generator }}
|
other: "{{ .Generator }} で構築されています。"
|
||||||
|
|
||||||
designedBy:
|
designedBy:
|
||||||
other: テーマ {{ .Theme }} は {{ .DesignedBy }} によって設計されています。
|
other: テーマ {{ .Theme }} は {{ .DesignedBy }} によって設計されています。
|
||||||
|
@ -21,6 +21,8 @@ article:
|
|||||||
other: Gerelateerde inhoud
|
other: Gerelateerde inhoud
|
||||||
lastUpdatedOn:
|
lastUpdatedOn:
|
||||||
other: Laatst bijgewerkt op
|
other: Laatst bijgewerkt op
|
||||||
|
readingTime:
|
||||||
|
other: "{{ .Count }} leestijd"
|
||||||
|
|
||||||
notFound:
|
notFound:
|
||||||
title:
|
title:
|
||||||
|
@ -7,6 +7,8 @@ darkMode:
|
|||||||
list:
|
list:
|
||||||
page:
|
page:
|
||||||
one: "{{ .Count }} strona"
|
one: "{{ .Count }} strona"
|
||||||
|
few: "{{ .Count }} strony"
|
||||||
|
many: "{{ .Count }} stron"
|
||||||
other: "{{ .Count }} stron"
|
other: "{{ .Count }} stron"
|
||||||
|
|
||||||
section:
|
section:
|
||||||
@ -14,7 +16,9 @@ list:
|
|||||||
|
|
||||||
subsection:
|
subsection:
|
||||||
one: Podsekcja
|
one: Podsekcja
|
||||||
other: Podsekcje
|
few: Podsekcje
|
||||||
|
many: Podsekcji
|
||||||
|
other: Podsekcji
|
||||||
|
|
||||||
article:
|
article:
|
||||||
back:
|
back:
|
||||||
@ -31,6 +35,8 @@ article:
|
|||||||
|
|
||||||
readingTime:
|
readingTime:
|
||||||
one: "Przeczytasz w {{ .Count }} minutę"
|
one: "Przeczytasz w {{ .Count }} minutę"
|
||||||
|
few: "Przeczytasz w {{ .Count }} minuty"
|
||||||
|
many: "Przeczytasz w {{ .Count }} minut"
|
||||||
other: "Przeczytasz w {{ .Count }} minut"
|
other: "Przeczytasz w {{ .Count }} minut"
|
||||||
|
|
||||||
notFound:
|
notFound:
|
||||||
@ -63,6 +69,9 @@ search:
|
|||||||
other: Wpisz coś...
|
other: Wpisz coś...
|
||||||
|
|
||||||
resultTitle:
|
resultTitle:
|
||||||
|
one: "#PAGES_COUNT strona (#TIME_SECONDS sekund)"
|
||||||
|
few: "#PAGES_COUNT strony (#TIME_SECONDS sekund)"
|
||||||
|
many: "#PAGES_COUNT stron (#TIME_SECONDS sekund)"
|
||||||
other: "#PAGES_COUNT stron (#TIME_SECONDS sekund)"
|
other: "#PAGES_COUNT stron (#TIME_SECONDS sekund)"
|
||||||
|
|
||||||
footer:
|
footer:
|
||||||
|
@ -48,6 +48,9 @@ widget:
|
|||||||
tagCloud:
|
tagCloud:
|
||||||
title:
|
title:
|
||||||
other: Tags
|
other: Tags
|
||||||
|
categoriesCloud:
|
||||||
|
title:
|
||||||
|
other: Categorias
|
||||||
|
|
||||||
search:
|
search:
|
||||||
title:
|
title:
|
||||||
|
67
themes/hugo-theme-stack/i18n/pt-pt.yaml
Normal file
67
themes/hugo-theme-stack/i18n/pt-pt.yaml
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
toggleMenu:
|
||||||
|
other: Alternar Menu
|
||||||
|
|
||||||
|
darkMode:
|
||||||
|
other: Modo Escuro
|
||||||
|
|
||||||
|
list:
|
||||||
|
page:
|
||||||
|
one: "{{ .Count }} página"
|
||||||
|
other: "{{ .Count }} páginas"
|
||||||
|
|
||||||
|
section:
|
||||||
|
other: Secção
|
||||||
|
|
||||||
|
subsection:
|
||||||
|
one: Subsecção
|
||||||
|
other: Subsecções
|
||||||
|
|
||||||
|
article:
|
||||||
|
back:
|
||||||
|
other: Voltar
|
||||||
|
|
||||||
|
tableOfContents:
|
||||||
|
other: Índice
|
||||||
|
|
||||||
|
relatedContent:
|
||||||
|
other: Conteúdo relacionado
|
||||||
|
|
||||||
|
lastUpdatedOn:
|
||||||
|
other: Última atualização a
|
||||||
|
|
||||||
|
readingTime:
|
||||||
|
one: "{{ .Count }} minuto de leitura"
|
||||||
|
other: "{{ .Count }} minutos de leitura"
|
||||||
|
|
||||||
|
notFound:
|
||||||
|
title:
|
||||||
|
other: Não Encontrado
|
||||||
|
subtitle:
|
||||||
|
other: Esta página não existe.
|
||||||
|
|
||||||
|
widget:
|
||||||
|
archives:
|
||||||
|
title:
|
||||||
|
other: Arquivos
|
||||||
|
more:
|
||||||
|
other: Mais
|
||||||
|
tagCloud:
|
||||||
|
title:
|
||||||
|
other: Tags
|
||||||
|
categoriesCloud:
|
||||||
|
title:
|
||||||
|
other: Categorias
|
||||||
|
|
||||||
|
search:
|
||||||
|
title:
|
||||||
|
other: Pesquisa
|
||||||
|
placeholder:
|
||||||
|
other: Escreva algo...
|
||||||
|
resultTitle:
|
||||||
|
other: "#PAGES_COUNT páginas (#TIME_SECONDS segundos)"
|
||||||
|
|
||||||
|
footer:
|
||||||
|
builtWith:
|
||||||
|
other: Criado com {{ .Generator }}
|
||||||
|
designedBy:
|
||||||
|
other: Tema {{ .Theme }} desenvolvido por {{ .DesignedBy }}
|
71
themes/hugo-theme-stack/i18n/sk.yaml
Normal file
71
themes/hugo-theme-stack/i18n/sk.yaml
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
toggleMenu:
|
||||||
|
other: Skryť menu
|
||||||
|
|
||||||
|
darkMode:
|
||||||
|
other: Tmavý režim
|
||||||
|
|
||||||
|
list:
|
||||||
|
page:
|
||||||
|
one: "{{ .Count }} stránka"
|
||||||
|
other: "{{ .Count }} stránok"
|
||||||
|
|
||||||
|
section:
|
||||||
|
other: Kategórie
|
||||||
|
|
||||||
|
subsection:
|
||||||
|
one: Podkategória
|
||||||
|
other: Podkategórie
|
||||||
|
|
||||||
|
article:
|
||||||
|
back:
|
||||||
|
other: Späť
|
||||||
|
|
||||||
|
tableOfContents:
|
||||||
|
other: Obsah
|
||||||
|
|
||||||
|
relatedContent:
|
||||||
|
other: Súvisiace
|
||||||
|
|
||||||
|
lastUpdatedOn:
|
||||||
|
other: Naposledy aktualizované
|
||||||
|
|
||||||
|
readingTime:
|
||||||
|
one: "{{ .Count }} minúta"
|
||||||
|
other: "{{ .Count }} minút"
|
||||||
|
|
||||||
|
notFound:
|
||||||
|
title:
|
||||||
|
other: Nenájdené
|
||||||
|
|
||||||
|
subtitle:
|
||||||
|
other: Tato stránka neexistuje
|
||||||
|
|
||||||
|
widget:
|
||||||
|
archives:
|
||||||
|
title:
|
||||||
|
other: Archívy
|
||||||
|
more:
|
||||||
|
other: Viac
|
||||||
|
tagCloud:
|
||||||
|
title:
|
||||||
|
other: Štítky
|
||||||
|
categoriesCloud:
|
||||||
|
title:
|
||||||
|
other: Kategórie
|
||||||
|
|
||||||
|
search:
|
||||||
|
title:
|
||||||
|
other: Hladať
|
||||||
|
|
||||||
|
placeholder:
|
||||||
|
other: Zadajte niečo...
|
||||||
|
|
||||||
|
resultTitle:
|
||||||
|
other: "#PAGES_COUNT stránok (#TIME_SECONDS sekúnd)"
|
||||||
|
|
||||||
|
footer:
|
||||||
|
builtWith:
|
||||||
|
other: Vytvorené pomocou {{ .Generator }}
|
||||||
|
|
||||||
|
designedBy:
|
||||||
|
other: Šablóna {{ .Theme }} od {{ .DesignedBy }}
|
74
themes/hugo-theme-stack/i18n/vi.yaml
Normal file
74
themes/hugo-theme-stack/i18n/vi.yaml
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
toggleMenu:
|
||||||
|
other: Hiển thị Menu
|
||||||
|
|
||||||
|
darkMode:
|
||||||
|
other: Chế độ nền tối
|
||||||
|
|
||||||
|
list:
|
||||||
|
page:
|
||||||
|
one: "{{ .Count }} trang"
|
||||||
|
other: "{{ .Count }} trang"
|
||||||
|
|
||||||
|
section:
|
||||||
|
other: Section
|
||||||
|
|
||||||
|
subsection:
|
||||||
|
one: Subsection
|
||||||
|
other: Subsections
|
||||||
|
|
||||||
|
article:
|
||||||
|
back:
|
||||||
|
other: Trở lại
|
||||||
|
|
||||||
|
tableOfContents:
|
||||||
|
other: Mục lục
|
||||||
|
|
||||||
|
relatedContent:
|
||||||
|
other: Bài viết liên quan
|
||||||
|
|
||||||
|
lastUpdatedOn:
|
||||||
|
other: Cập nhật lần cuối
|
||||||
|
|
||||||
|
readingTime:
|
||||||
|
one: "{{ .Count }} phút đọc"
|
||||||
|
other: "{{ .Count }} phút đọc"
|
||||||
|
|
||||||
|
notFound:
|
||||||
|
title:
|
||||||
|
other: Không tìm thấy
|
||||||
|
|
||||||
|
subtitle:
|
||||||
|
other: Trang này không tồn tại
|
||||||
|
|
||||||
|
widget:
|
||||||
|
archives:
|
||||||
|
title:
|
||||||
|
other: Lưu trữ
|
||||||
|
|
||||||
|
more:
|
||||||
|
other: Còn nữa
|
||||||
|
|
||||||
|
tagCloud:
|
||||||
|
title:
|
||||||
|
other: Nhãn dán
|
||||||
|
|
||||||
|
categoriesCloud:
|
||||||
|
title:
|
||||||
|
other: Chuỗi bài
|
||||||
|
|
||||||
|
search:
|
||||||
|
title:
|
||||||
|
other: Tìm kiếm
|
||||||
|
|
||||||
|
placeholder:
|
||||||
|
other: Nhập từ khoá ...
|
||||||
|
|
||||||
|
resultTitle:
|
||||||
|
other: "#PAGES_COUNT trang (#TIME_SECONDS giây)"
|
||||||
|
|
||||||
|
footer:
|
||||||
|
builtWith:
|
||||||
|
other: Built with {{ .Generator }}
|
||||||
|
|
||||||
|
designedBy:
|
||||||
|
other: Theme {{ .Theme }} thiết kế bởi {{ .DesignedBy }}
|
@ -4,6 +4,13 @@ toggleMenu:
|
|||||||
darkMode:
|
darkMode:
|
||||||
other: 暗色模式
|
other: 暗色模式
|
||||||
|
|
||||||
|
list:
|
||||||
|
page: "{{ .Count }} 个页面"
|
||||||
|
|
||||||
|
section: 章节
|
||||||
|
|
||||||
|
subsection: 子章节
|
||||||
|
|
||||||
article:
|
article:
|
||||||
back:
|
back:
|
||||||
other: 返回
|
other: 返回
|
||||||
@ -54,7 +61,7 @@ search:
|
|||||||
|
|
||||||
footer:
|
footer:
|
||||||
builtWith:
|
builtWith:
|
||||||
other: Built with {{ .Generator }}
|
other: 使用 {{ .Generator }} 构建
|
||||||
|
|
||||||
designedBy:
|
designedBy:
|
||||||
other: 主题 {{ .Theme }} 由 {{ .DesignedBy }} 设计
|
other: 主题 {{ .Theme }} 由 {{ .DesignedBy }} 设计
|
||||||
|
@ -4,6 +4,18 @@ toggleMenu:
|
|||||||
darkMode:
|
darkMode:
|
||||||
other: 夜晚模式
|
other: 夜晚模式
|
||||||
|
|
||||||
|
list:
|
||||||
|
page:
|
||||||
|
one: "第 {{ .Count }} 頁"
|
||||||
|
other: "第 {{ .Count }} 頁"
|
||||||
|
|
||||||
|
section:
|
||||||
|
other: 段落
|
||||||
|
|
||||||
|
subsection:
|
||||||
|
one: 小節
|
||||||
|
other: 小節
|
||||||
|
|
||||||
article:
|
article:
|
||||||
back:
|
back:
|
||||||
other: 返回
|
other: 返回
|
||||||
@ -18,11 +30,13 @@ article:
|
|||||||
other: 最後更新
|
other: 最後更新
|
||||||
|
|
||||||
readingTime:
|
readingTime:
|
||||||
|
one: "閱讀時間: {{ .Count }} 分鐘"
|
||||||
other: "閱讀時間: {{ .Count }} 分鐘"
|
other: "閱讀時間: {{ .Count }} 分鐘"
|
||||||
|
|
||||||
notFound:
|
notFound:
|
||||||
title:
|
title:
|
||||||
other: 404 錯誤
|
other: 404 錯誤
|
||||||
|
|
||||||
subtitle:
|
subtitle:
|
||||||
other: 頁面不存在
|
other: 頁面不存在
|
||||||
|
|
||||||
@ -37,6 +51,9 @@ widget:
|
|||||||
tagCloud:
|
tagCloud:
|
||||||
title:
|
title:
|
||||||
other: 標籤雲
|
other: 標籤雲
|
||||||
|
categoriesCloud:
|
||||||
|
title:
|
||||||
|
other: 分類
|
||||||
|
|
||||||
search:
|
search:
|
||||||
title:
|
title:
|
||||||
@ -47,3 +64,10 @@ search:
|
|||||||
|
|
||||||
resultTitle:
|
resultTitle:
|
||||||
other: "#PAGES_COUNT 個結果 (用時 #TIME_SECONDS 秒)"
|
other: "#PAGES_COUNT 個結果 (用時 #TIME_SECONDS 秒)"
|
||||||
|
|
||||||
|
footer:
|
||||||
|
builtWith:
|
||||||
|
other: 使用 {{ .Generator }} 建立
|
||||||
|
|
||||||
|
designedBy:
|
||||||
|
other: 主題 {{ .Theme }} 由 {{ .DesignedBy }} 設計
|
||||||
|
@ -0,0 +1,6 @@
|
|||||||
|
<h{{ .Level }} id="{{ .Anchor }}">
|
||||||
|
{{- if site.Params.Article.HeadingAnchor -}}
|
||||||
|
<a href="#{{ .Anchor }}" class="header-anchor"></a>
|
||||||
|
{{- end -}}
|
||||||
|
{{ .Text | safeHTML }}
|
||||||
|
</h{{ .Level }}>
|
@ -18,10 +18,10 @@
|
|||||||
{{- block "left-sidebar" . -}}
|
{{- block "left-sidebar" . -}}
|
||||||
{{ partial "sidebar/left.html" . }}
|
{{ partial "sidebar/left.html" . }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
{{- block "right-sidebar" . -}}{{ end }}
|
||||||
<main class="main full-width">
|
<main class="main full-width">
|
||||||
{{- block "main" . }}{{- end }}
|
{{- block "main" . }}{{- end }}
|
||||||
</main>
|
</main>
|
||||||
{{- block "right-sidebar" . -}}{{ end }}
|
|
||||||
</div>
|
</div>
|
||||||
{{ partial "footer/include.html" . }}
|
{{ partial "footer/include.html" . }}
|
||||||
</body>
|
</body>
|
||||||
|
@ -18,9 +18,9 @@
|
|||||||
<link>{{ .Permalink }}</link>
|
<link>{{ .Permalink }}</link>
|
||||||
<description>Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }}</description>
|
<description>Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }}</description>
|
||||||
<generator>Hugo -- gohugo.io</generator>{{ with .Site.LanguageCode }}
|
<generator>Hugo -- gohugo.io</generator>{{ with .Site.LanguageCode }}
|
||||||
<language>{{.}}</language>{{end}}{{ with .Site.Author.email }}
|
<language>{{.}}</language>{{end}}{{ with .Site.Params.Author.email }}
|
||||||
<managingEditor>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</managingEditor>{{end}}{{ with .Site.Author.email }}
|
<managingEditor>{{.}}{{ with $.Site.Params.Author.name }} ({{.}}){{end}}</managingEditor>{{end}}{{ with .Site.Params.Author.email }}
|
||||||
<webMaster>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</webMaster>{{end}}{{ with .Site.Copyright }}
|
<webMaster>{{.}}{{ with $.Site.Params.Author.name }} ({{.}}){{end}}</webMaster>{{end}}{{ with .Site.Copyright }}
|
||||||
<copyright>{{.}}</copyright>{{end}}{{ if not .Date.IsZero }}
|
<copyright>{{.}}</copyright>{{end}}{{ if not .Date.IsZero }}
|
||||||
<lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }}
|
<lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }}
|
||||||
{{- with .OutputFormats.Get "RSS" -}}
|
{{- with .OutputFormats.Get "RSS" -}}
|
||||||
@ -35,7 +35,7 @@
|
|||||||
<title>{{ .Title }}</title>
|
<title>{{ .Title }}</title>
|
||||||
<link>{{ .Permalink }}</link>
|
<link>{{ .Permalink }}</link>
|
||||||
<pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
|
<pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
|
||||||
{{ with .Site.Author.email }}<author>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</author>{{end}}
|
{{ with .Site.Params.Author.email }}<author>{{.}}{{ with $.Site.Params.Author.name }} ({{.}}){{end}}</author>{{end}}
|
||||||
<guid>{{ .Permalink }}</guid>
|
<guid>{{ .Permalink }}</guid>
|
||||||
<description>
|
<description>
|
||||||
{{- $image := partial "helper/image" (dict "Context" . "Type" "rss") -}}
|
{{- $image := partial "helper/image" (dict "Context" . "Type" "rss") -}}
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
{{ define "body-class" }}template-search{{ end }}
|
{{ define "body-class" }}template-search{{ end }}
|
||||||
{{ define "head" }}
|
{{ define "head" }}
|
||||||
{{- with .OutputFormats.Get "json" -}}
|
{{- with .OutputFormats.Get "json" -}}
|
||||||
<link rel="preload" href="{{ .Permalink }}" as="fetch" crossorigin="anonymous">
|
<link rel="preload" href="{{ .RelPermalink }}" as="fetch" crossorigin="anonymous">
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ define "main" }}
|
{{ define "main" }}
|
||||||
<form action="{{ .Permalink }}" class="search-form"{{ with .OutputFormats.Get "json" -}} data-json="{{ .Permalink }}"{{- end }}>
|
<form action="{{ .RelPermalink }}" class="search-form"{{ with .OutputFormats.Get "json" -}} data-json="{{ .RelPermalink }}"{{- end }}>
|
||||||
<p>
|
<p>
|
||||||
<label>{{ T "search.title" }}</label>
|
<label>{{ T "search.title" }}</label>
|
||||||
<input name="keyword" placeholder="{{ T `search.placeholder` }}" />
|
<input name="keyword" placeholder="{{ T `search.placeholder` }}" />
|
||||||
|
@ -23,9 +23,12 @@
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{ if or (not .Date.IsZero) (.Site.Params.article.readingTime) }}
|
{{ $showReadingTime := .Params.readingTime | default (.Site.Params.article.readingTime) }}
|
||||||
|
{{ $showDate := not .Date.IsZero }}
|
||||||
|
{{ $showFooter := or $showDate $showReadingTime }}
|
||||||
|
{{ if $showFooter }}
|
||||||
<footer class="article-time">
|
<footer class="article-time">
|
||||||
{{ if not .Date.IsZero }}
|
{{ if $showDate }}
|
||||||
<div>
|
<div>
|
||||||
{{ partial "helper/icon" "date" }}
|
{{ partial "helper/icon" "date" }}
|
||||||
<time class="article-time--published">
|
<time class="article-time--published">
|
||||||
@ -34,7 +37,7 @@
|
|||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ if .Site.Params.article.readingTime }}
|
{{ if $showReadingTime }}
|
||||||
<div>
|
<div>
|
||||||
{{ partial "helper/icon" "clock" }}
|
{{ partial "helper/icon" "clock" }}
|
||||||
<time class="article-time--reading">
|
<time class="article-time--reading">
|
||||||
|
@ -16,8 +16,12 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{ with $link.image }}
|
{{ with $link.image }}
|
||||||
|
{{ $permalink := . }}
|
||||||
|
{{ with ($.Resources.GetMatch (printf "%s" (. | safeURL))) }}
|
||||||
|
{{ $permalink = .RelPermalink }}
|
||||||
|
{{ end }}
|
||||||
<div class="article-image">
|
<div class="article-image">
|
||||||
<img src="{{ . }}" loading="lazy">
|
<img src="{{ $permalink }}" loading="lazy">
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</a>
|
</a>
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
{{- partial "helper/external" (dict "Context" . "Namespace" "KaTeX") -}}
|
{{- partial "helper/external" (dict "Context" . "Namespace" "KaTeX") -}}
|
||||||
<script>
|
<script>
|
||||||
window.addEventListener("DOMContentLoaded", () => {
|
window.addEventListener("DOMContentLoaded", () => {
|
||||||
renderMathInElement(document.querySelector(`.article-content`), {
|
renderMathInElement(document.body, {
|
||||||
delimiters: [
|
delimiters: [
|
||||||
{ left: "$$", right: "$$", display: true },
|
{ left: "$$", right: "$$", display: true },
|
||||||
{ left: "$", right: "$", display: false },
|
{ left: "$", right: "$", display: false },
|
||||||
{ left: "\\(", right: "\\)", display: false },
|
{ left: "\\(", right: "\\)", display: false },
|
||||||
{ left: "\\[", right: "\\]", display: true }
|
{ left: "\\[", right: "\\]", display: true }
|
||||||
]
|
],
|
||||||
|
ignoredClasses: ["gist"]
|
||||||
});})
|
});})
|
||||||
</script>
|
</script>
|
@ -0,0 +1,46 @@
|
|||||||
|
<script
|
||||||
|
src="https://beaudar.lipk.org/client.js"
|
||||||
|
repo="{{ .Site.Params.comments.beaudar.repo }}"
|
||||||
|
issue-term="{{ .Site.Params.comments.beaudar.issueTerm }}"
|
||||||
|
{{ with .Site.Params.comments.beaudar.label }}
|
||||||
|
label="{{ . }}"
|
||||||
|
{{ end }}
|
||||||
|
theme="{{ .Site.Params.comments.beaudar.theme }}"
|
||||||
|
crossorigin="anonymous"
|
||||||
|
async
|
||||||
|
></script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.beaudar {
|
||||||
|
max-width: unset;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
let beaudarLoaded = false;
|
||||||
|
|
||||||
|
function setBeaudarTheme(theme) {
|
||||||
|
let beaudar = document.querySelector(".beaudar iframe");
|
||||||
|
if (beaudar) {
|
||||||
|
beaudar.contentWindow.postMessage(
|
||||||
|
{
|
||||||
|
type: "set-theme",
|
||||||
|
theme: `github-${theme}`,
|
||||||
|
},
|
||||||
|
"https://beaudar.lipk.org"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
addEventListener("message", (event) => {
|
||||||
|
if (event.origin !== "https://beaudar.lipk.org") return;
|
||||||
|
/// Called when Beaudar is ready
|
||||||
|
beaudarLoaded = true;
|
||||||
|
setBeaudarTheme(document.documentElement.dataset.scheme);
|
||||||
|
});
|
||||||
|
|
||||||
|
window.addEventListener("onColorSchemeChange", (e) => {
|
||||||
|
if (!beaudarLoaded) return;
|
||||||
|
setBeaudarTheme(e.detail);
|
||||||
|
});
|
||||||
|
</script>
|
@ -0,0 +1,61 @@
|
|||||||
|
{{- $pc := .Site.Config.Privacy.Disqus -}}
|
||||||
|
{{- $disqusjs := .Site.Params.Comments.disqusjs -}}
|
||||||
|
{{- if and (not $pc.Disable) (and $disqusjs.Shortname $disqusjs.ApiKey) -}}
|
||||||
|
|
||||||
|
{{- $style := resources.Get "scss/partials/comments/disqusjs.scss" | resources.ToCSS | minify -}}
|
||||||
|
<link rel="stylesheet" href="{{ $style.RelPermalink }}">
|
||||||
|
|
||||||
|
<div class="disqus-container">
|
||||||
|
<div id="disqus_thread"></div>
|
||||||
|
<script type="application/javascript">
|
||||||
|
let disqusjs;
|
||||||
|
function loadDisqusJS() {
|
||||||
|
disqusjs = new DisqusJS({
|
||||||
|
shortname: {{ $disqusjs.Shortname }},
|
||||||
|
siteName: {{ .Site.Title }},
|
||||||
|
apikey: {{ $disqusjs.ApiKey }},
|
||||||
|
{{ with $disqusjs.ApiUrl }}api: {{ . }},{{ end }}
|
||||||
|
{{ with $disqusjs.Admin }}admin: {{ . }},{{ end }}
|
||||||
|
{{ with $disqusjs.AdminLabel }}adminLabel: {{ . }}{{ end }}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function lazyLoadDisqusJS() {
|
||||||
|
if (["localhost", "127.0.0.1"].indexOf(window.location.hostname) != -1) {
|
||||||
|
document.getElementById('disqus_thread').innerHTML = 'Disqus comments not available by default when the website is previewed locally.';
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
let d = document.createElement('script');
|
||||||
|
d.src = 'https://cdn.jsdelivr.net/npm/disqusjs@1.3/dist/disqus.js';
|
||||||
|
d.async = false;
|
||||||
|
document.body.appendChild(d);
|
||||||
|
d.onload = () => {
|
||||||
|
loadDisqusJS();
|
||||||
|
window.addEventListener('onColorSchemeChange', (e) => {
|
||||||
|
if (disqusjs) {
|
||||||
|
loadDisqusJS();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let runningOnBrowser = typeof window !== "undefined";
|
||||||
|
let isBot = runningOnBrowser && !("onscroll" in window) || typeof navigator !== "undefined" && /(gle|ing|ro|msn)bot|crawl|spider|yand|duckgo/i.test(navigator.userAgent);
|
||||||
|
let supportsIntersectionObserver = runningOnBrowser && "IntersectionObserver" in window;
|
||||||
|
|
||||||
|
if (!isBot && supportsIntersectionObserver) {
|
||||||
|
let disqus_observer = new IntersectionObserver(function(entries) {
|
||||||
|
if (entries[0].isIntersecting) {
|
||||||
|
lazyLoadDisqusJS();
|
||||||
|
disqus_observer.disconnect();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
disqus_observer.observe(document.getElementById('disqus_thread'));
|
||||||
|
} else {
|
||||||
|
lazyLoadDisqusJS();
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
|
||||||
|
</div>
|
||||||
|
{{- end -}}
|
@ -2,10 +2,10 @@
|
|||||||
<div id="remark42"></div>
|
<div id="remark42"></div>
|
||||||
<script>
|
<script>
|
||||||
var remark_config = {
|
var remark_config = {
|
||||||
host: "{{ .host }}",
|
host: '{{ .host }}',
|
||||||
site_id: '{{ .site }}',
|
site_id: '{{ .site }}',
|
||||||
components: ['embed'],
|
components: ['embed'],
|
||||||
url: "{{ $.Permalink }}",
|
url: '{{ $.Permalink }}',
|
||||||
max_shown_comments: {{ default 15 .max_shown_comments }},
|
max_shown_comments: {{ default 15 .max_shown_comments }},
|
||||||
theme: document.documentElement.dataset.scheme,
|
theme: document.documentElement.dataset.scheme,
|
||||||
page_title: '{{ $.Title }}',
|
page_title: '{{ $.Title }}',
|
||||||
@ -13,14 +13,14 @@
|
|||||||
show_email_subscription: {{ default true .show_email_subscription }}
|
show_email_subscription: {{ default true .show_email_subscription }}
|
||||||
};
|
};
|
||||||
|
|
||||||
(function (c) {
|
!function(e, n) {
|
||||||
for (var i = 0; i < c.length; i++) {
|
for (var o = 0; o < e.length; o++) {
|
||||||
var d = document, s = d.createElement('script');
|
var r = n.createElement('script'),
|
||||||
s.src = remark_config.host + '/web/' + c[i] + '.js';
|
c = '.js',
|
||||||
s.defer = true;
|
d = n.head || n.body;
|
||||||
(d.head || d.body).appendChild(s);
|
'noModule' in r ? (r.type = 'module', c = '.mjs') : r.async = !0, r.defer = !0, r.src = remark_config.host + '/web/' + e[o] + c, d.appendChild(r)
|
||||||
}
|
}
|
||||||
})(remark_config.components || ['embed']);
|
}(remark_config.components || ['embed'], document);
|
||||||
|
|
||||||
window.addEventListener('onColorSchemeChange', (e) => {
|
window.addEventListener('onColorSchemeChange', (e) => {
|
||||||
window.REMARK42.changeTheme(e.detail);
|
window.REMARK42.changeTheme(e.detail);
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<script src="//cdn.jsdelivr.net/npm/twikoo@1.5.11/dist/twikoo.all.min.js"></script>
|
<script src="//cdn.jsdelivr.net/npm/twikoo@1.6.21/dist/twikoo.all.min.js"></script>
|
||||||
<div id="tcomment"></div>
|
<div id="tcomment"></div>
|
||||||
<style>
|
<style>
|
||||||
.twikoo {
|
.twikoo {
|
||||||
@ -13,7 +13,9 @@
|
|||||||
}
|
}
|
||||||
.twikoo .el-input-group__prepend,
|
.twikoo .el-input-group__prepend,
|
||||||
.twikoo .tk-action-icon,
|
.twikoo .tk-action-icon,
|
||||||
|
.twikoo .tk-submit-action-icon,
|
||||||
.twikoo .tk-time,
|
.twikoo .tk-time,
|
||||||
|
.twikoo .tk-comments-no,
|
||||||
.twikoo .tk-comments-count {
|
.twikoo .tk-comments-count {
|
||||||
color: var(--twikoo-body-text-color);
|
color: var(--twikoo-body-text-color);
|
||||||
}
|
}
|
||||||
@ -28,6 +30,9 @@
|
|||||||
.twikoo .el-button{
|
.twikoo .el-button{
|
||||||
color: var(--twikoo-body-text-color)!important;
|
color: var(--twikoo-body-text-color)!important;
|
||||||
}
|
}
|
||||||
|
.twikoo .el-input__count {
|
||||||
|
color: var(--twikoo-body-text-color) !important;
|
||||||
|
}
|
||||||
.OwO .OwO-body {
|
.OwO .OwO-body {
|
||||||
background-color: var(--body-background) !important;
|
background-color: var(--body-background) !important;
|
||||||
color: var(--body-text-color) !important;
|
color: var(--body-text-color) !important;
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
</style>
|
</style>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
let utterancesLoaded = false;
|
||||||
|
|
||||||
function setUtterancesTheme(theme) {
|
function setUtterancesTheme(theme) {
|
||||||
let utterances = document.querySelector('.utterances iframe');
|
let utterances = document.querySelector('.utterances iframe');
|
||||||
if (utterances) {
|
if (utterances) {
|
||||||
@ -31,10 +33,14 @@
|
|||||||
|
|
||||||
addEventListener('message', event => {
|
addEventListener('message', event => {
|
||||||
if (event.origin !== 'https://utteranc.es') return;
|
if (event.origin !== 'https://utteranc.es') return;
|
||||||
|
|
||||||
|
/// Called when Utterances is ready
|
||||||
|
utterancesLoaded = true;
|
||||||
setUtterancesTheme(document.documentElement.dataset.scheme)
|
setUtterancesTheme(document.documentElement.dataset.scheme)
|
||||||
});
|
});
|
||||||
|
|
||||||
window.addEventListener('onColorSchemeChange', (e) => {
|
window.addEventListener('onColorSchemeChange', (e) => {
|
||||||
|
if (!utterancesLoaded) return;
|
||||||
setUtterancesTheme(e.detail)
|
setUtterancesTheme(e.detail)
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
{{- $replaceKeys := dict "serverurl" "serverURL" "requiredmeta" "requiredMeta" "wordlimit" "wordLimit" "pagesize" "pageSize" "imageuploader" "imageUploader" "texrenderer" "texRenderer" -}}
|
{{- $replaceKeys := dict "serverurl" "serverURL" "requiredmeta" "requiredMeta" "wordlimit" "wordLimit" "pagesize" "pageSize" "imageuploader" "imageUploader" "texrenderer" "texRenderer" -}}
|
||||||
|
|
||||||
{{- range $key, $val := . -}}
|
{{- range $key, $val := . -}}
|
||||||
{{- if $val -}}
|
{{- if ne $val nil -}}
|
||||||
{{- $replaceKey := index $replaceKeys $key -}}
|
{{- $replaceKey := index $replaceKeys $key -}}
|
||||||
{{- $k := default $key $replaceKey -}}
|
{{- $k := default $key $replaceKey -}}
|
||||||
|
|
||||||
|
@ -1,6 +1,11 @@
|
|||||||
<!-- Use site subtitle by default -->
|
<!-- Use site subtitle by default -->
|
||||||
{{ $description := .Site.Params.sidebar.subtitle }}
|
{{ $description := .Site.Params.sidebar.subtitle }}
|
||||||
|
|
||||||
|
<!-- Seprate description exists -->
|
||||||
|
{{ if .Site.Params.description }}
|
||||||
|
{{ $description = .Site.Params.description }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
{{ if .Description }}
|
{{ if .Description }}
|
||||||
<!-- Page description exists -->
|
<!-- Page description exists -->
|
||||||
{{ $description = .Description }}
|
{{ $description = .Description }}
|
||||||
@ -9,4 +14,4 @@
|
|||||||
{{ $description = .Summary }}
|
{{ $description = .Summary }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ return ($description | plainify)}}
|
{{ return (replaceRE "\n" " " $description | plainify) }}
|
@ -1,11 +1,11 @@
|
|||||||
{{- $ThemeVersion := "3.13.0" -}}
|
{{- $ThemeVersion := "3.26.0" -}}
|
||||||
<footer class="site-footer">
|
<footer class="site-footer">
|
||||||
<section class="copyright">
|
<section class="copyright">
|
||||||
©
|
©
|
||||||
{{ if and (.Site.Params.footer.since) (ne .Site.Params.footer.since (int (now.Format "2006"))) }}
|
{{ if and (.Site.Params.footer.since) (ne .Site.Params.footer.since (int (now.Format "2006"))) }}
|
||||||
{{ .Site.Params.footer.since }} -
|
{{ .Site.Params.footer.since }} -
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ now.Format "2006" }} {{ .Site.Title }}
|
{{ now.Format "2006" }} {{ default .Site.Title .Site.Copyright }}
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section class="powerby">
|
<section class="powerby">
|
||||||
|
@ -2,9 +2,10 @@
|
|||||||
<meta name='viewport' content='width=device-width, initial-scale=1'>
|
<meta name='viewport' content='width=device-width, initial-scale=1'>
|
||||||
|
|
||||||
{{- $description := partialCached "data/description" . .RelPermalink -}}
|
{{- $description := partialCached "data/description" . .RelPermalink -}}
|
||||||
<meta name='description' content='{{ $description }}'>
|
<meta name='description' {{ printf "content=%q" $description | safeHTMLAttr }}>
|
||||||
|
{{ with .Params.Keywords }}<meta name="keywords" content="{{ delimit . ", " }}">{{ end }}
|
||||||
|
|
||||||
{{- $title := partialCached "data/title" . .RelPermalink -}}
|
{{- $title := partial "data/title" . -}}
|
||||||
<title>{{ $title }}</title>
|
<title>{{ $title }}</title>
|
||||||
|
|
||||||
<link rel='canonical' href='{{ .Permalink }}'>
|
<link rel='canonical' href='{{ .Permalink }}'>
|
||||||
@ -18,7 +19,7 @@
|
|||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
{{ with .Site.Params.favicon }}
|
{{ with .Site.Params.favicon }}
|
||||||
<link rel="shortcut icon" href="{{ . }}" />
|
<link rel="shortcut icon" href="{{ . | relURL }}" />
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{- template "_internal/google_analytics.html" . -}}
|
{{- template "_internal/google_analytics.html" . -}}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
{{- $title := partialCached "data/title" . .RelPermalink -}}
|
{{- $title := partialCached "data/title" . .RelPermalink -}}
|
||||||
{{- $description := partialCached "data/description" . .RelPermalink -}}
|
{{- $description := partialCached "data/description" . .RelPermalink -}}
|
||||||
|
|
||||||
<meta property='og:title' content='{{ $title }}'>
|
<meta property='og:title' {{ printf "content=%q" $title | safeHTMLAttr }}>
|
||||||
<meta property='og:description' content='{{ $description }}'>
|
<meta property='og:description' {{ printf "content=%q" $description | safeHTMLAttr }}>
|
||||||
<meta property='og:url' content='{{ .Permalink }}'>
|
<meta property='og:url' content='{{ .Permalink }}'>
|
||||||
<meta property='og:site_name' content='{{ .Site.Title }}'>
|
<meta property='og:site_name' content='{{ .Site.Title }}'>
|
||||||
<meta property='og:type' content='
|
<meta property='og:type' content='
|
||||||
@ -32,8 +32,8 @@
|
|||||||
<meta property='article:modified_time' content='{{ .Lastmod.Format "2006-01-02T15:04:05-07:00" | safeHTML }}'/>
|
<meta property='article:modified_time' content='{{ .Lastmod.Format "2006-01-02T15:04:05-07:00" | safeHTML }}'/>
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- else -}}
|
{{- else -}}
|
||||||
{{- if not .Site.LastChange.IsZero -}}
|
{{- if not .Site.Lastmod.IsZero -}}
|
||||||
<meta property='og:updated_time' content='{{ .Site.LastChange.Format " 2006-01-02T15:04:05-07:00 " | safeHTML }}'/>
|
<meta property='og:updated_time' content='{{ .Site.Lastmod.Format " 2006-01-02T15:04:05-07:00 " | safeHTML }}'/>
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
|
@ -6,8 +6,8 @@
|
|||||||
{{- $title := partialCached "data/title" . .RelPermalink -}}
|
{{- $title := partialCached "data/title" . .RelPermalink -}}
|
||||||
{{- $description := partialCached "data/description" . .RelPermalink -}}
|
{{- $description := partialCached "data/description" . .RelPermalink -}}
|
||||||
|
|
||||||
<meta name="twitter:title" content="{{ $title }}">
|
<meta name="twitter:title" {{ printf "content=%q" $title | safeHTMLAttr }}>
|
||||||
<meta name="twitter:description" content="{{ $description }}">
|
<meta name="twitter:description" {{ printf "content=%q" $description | safeHTMLAttr }}>
|
||||||
|
|
||||||
{{- $image := partialCached "helper/image" (dict "Context" . "Type" "opengraph") .RelPermalink "opengraph" -}}
|
{{- $image := partialCached "helper/image" (dict "Context" . "Type" "opengraph") .RelPermalink "opengraph" -}}
|
||||||
{{- if $image.exists -}}
|
{{- if $image.exists -}}
|
||||||
|
@ -38,13 +38,14 @@
|
|||||||
</header>
|
</header>
|
||||||
|
|
||||||
{{- with .Site.Menus.social -}}
|
{{- with .Site.Menus.social -}}
|
||||||
<ol class="social-menu">
|
<ol class="menu-social">
|
||||||
{{ range . }}
|
{{ range . }}
|
||||||
<li>
|
<li>
|
||||||
<a
|
<a
|
||||||
href='{{ .URL }}'
|
href='{{ .URL }}'
|
||||||
{{ if eq (default true .Params.newTab) true }}target="_blank"{{ end }}
|
{{ if eq (default true .Params.newTab) true }}target="_blank"{{ end }}
|
||||||
{{ with .Name }}title="{{ . }}"{{ end }}
|
{{ with .Name }}title="{{ . }}"{{ end }}
|
||||||
|
rel="me"
|
||||||
>
|
>
|
||||||
{{ $icon := default "link" .Params.Icon }}
|
{{ $icon := default "link" .Params.Icon }}
|
||||||
{{ with $icon }}
|
{{ with $icon }}
|
||||||
@ -60,12 +61,11 @@
|
|||||||
{{ $currentPage := . }}
|
{{ $currentPage := . }}
|
||||||
{{ range .Site.Menus.main }}
|
{{ range .Site.Menus.main }}
|
||||||
{{ $active := or (eq $currentPage.Title .Name) (or ($currentPage.HasMenuCurrent "main" .) ($currentPage.IsMenuCurrent "main" .)) }}
|
{{ $active := or (eq $currentPage.Title .Name) (or ($currentPage.HasMenuCurrent "main" .) ($currentPage.IsMenuCurrent "main" .)) }}
|
||||||
|
|
||||||
<li {{ if $active }} class='current' {{ end }}>
|
<li {{ if $active }} class='current' {{ end }}>
|
||||||
<a href='{{ .URL | relLangURL }}' {{ if eq .Params.newTab true }}target="_blank"{{ end }}>
|
<a href='{{ .URL }}' {{ if eq .Params.newTab true }}target="_blank"{{ end }}>
|
||||||
{{ $icon := default .Pre .Params.Icon }}
|
{{ $icon := default .Pre .Params.Icon }}
|
||||||
{{ if .Pre }}
|
{{ if .Pre }}
|
||||||
{{ warnf "Menu item [%s] is using [pre] field to set icon, please use [params.icon] instead.\nMore information: https://docs.stack.jimmycai.com/configuration/custom-menu.html" .URL }}
|
{{ warnf "Menu item [%s] is using [pre] field to set icon, please use [params.icon] instead.\nMore information: https://stack.jimmycai.com/config/menu" .URL }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ with $icon }}
|
{{ with $icon }}
|
||||||
{{ partial "helper/icon" . }}
|
{{ partial "helper/icon" . }}
|
||||||
@ -74,27 +74,30 @@
|
|||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
<li class="menu-bottom-section">
|
||||||
|
<ol class="menu">
|
||||||
|
{{- $currentLanguageCode := .Language.Lang -}}
|
||||||
|
{{ if ( compare.Gt .Site.Home.AllTranslations.Len 1 ) }}
|
||||||
|
{{ with .Site.Home.AllTranslations }}
|
||||||
|
<li id="i18n-switch">
|
||||||
|
{{ partial "helper/icon" "language" }}
|
||||||
|
<select name="language" title="language" onchange="window.location.href = this.selectedOptions[0].value">
|
||||||
|
{{ range . }}
|
||||||
|
<option value="{{ .Permalink }}" {{ if eq .Language.Lang $currentLanguageCode }}selected{{ end }}>{{ .Language.LanguageName }}</option>
|
||||||
|
{{ end }}
|
||||||
|
</select>
|
||||||
|
</li>
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
<div class="menu-bottom-section">
|
{{ if (default false .Site.Params.colorScheme.toggle) }}
|
||||||
{{- $currentLanguageCode := .Language.Lang -}}
|
<li id="dark-mode-toggle">
|
||||||
{{ with .Site.Home.AllTranslations }}
|
{{ partial "helper/icon" "toggle-left" }}
|
||||||
<li id="i18n-switch">
|
{{ partial "helper/icon" "toggle-right" }}
|
||||||
{{ partial "helper/icon" "language" }}
|
<span>{{ T "darkMode" }}</span>
|
||||||
<select name="language" onchange="window.location.href = this.selectedOptions[0].value">
|
</li>
|
||||||
{{ range . }}
|
{{ end }}
|
||||||
<option value="{{ .Permalink }}" {{ if eq .Language.Lang $currentLanguageCode }}selected{{ end }}>{{ .Language.LanguageName }}</option>
|
</ol>
|
||||||
{{ end }}
|
</li>
|
||||||
</select>
|
|
||||||
</li>
|
|
||||||
{{ end }}
|
|
||||||
|
|
||||||
{{ if (default false .Site.Params.colorScheme.toggle) }}
|
|
||||||
<li id="dark-mode-toggle">
|
|
||||||
{{ partial "helper/icon" "toggle-left" }}
|
|
||||||
{{ partial "helper/icon" "toggle-right" }}
|
|
||||||
<span>{{ T "darkMode" }}</span>
|
|
||||||
</li>
|
|
||||||
{{ end }}
|
|
||||||
</div>
|
|
||||||
</ol>
|
</ol>
|
||||||
</aside>
|
</aside>
|
||||||
|
@ -4,7 +4,10 @@
|
|||||||
<aside class="sidebar right-sidebar sticky">
|
<aside class="sidebar right-sidebar sticky">
|
||||||
{{ range $widget := . }}
|
{{ range $widget := . }}
|
||||||
{{ if templates.Exists (printf "partials/widget/%s.html" .type) }}
|
{{ if templates.Exists (printf "partials/widget/%s.html" .type) }}
|
||||||
{{ partial (printf "widget/%s" .type) (dict "Context" $context "Params" .params) }}
|
<!-- Ensure that the `params` is not nil -->
|
||||||
|
{{- $params := default dict .params -}}
|
||||||
|
|
||||||
|
{{ partial (printf "widget/%s" .type) (dict "Context" $context "Params" $params) }}
|
||||||
{{ else }}
|
{{ else }}
|
||||||
{{ warnf "Widget %s not found" .type }}
|
{{ warnf "Widget %s not found" .type }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
publish = "exampleSite/public"
|
publish = "exampleSite/public"
|
||||||
|
|
||||||
[build.environment]
|
[build.environment]
|
||||||
HUGO_VERSION = "0.100.2"
|
HUGO_VERSION = "0.124.0"
|
||||||
HUGO_THEME = "repo"
|
HUGO_THEME = "repo"
|
||||||
|
|
||||||
[context.production]
|
[context.production]
|
||||||
|
@ -20,7 +20,7 @@ features = [
|
|||||||
"search",
|
"search",
|
||||||
]
|
]
|
||||||
|
|
||||||
min_version = "0.87.0"
|
min_version = "0.123.0"
|
||||||
|
|
||||||
[author]
|
[author]
|
||||||
name = "Jimmy Cai"
|
name = "Jimmy Cai"
|
||||||
|
Loading…
Reference in New Issue
Block a user