Compare commits

..
21 Commits
Author SHA1 Message Date
Jimmy CaiandGitHub d165621568 release: 3.6.0 2021-12-29 00:32:08 +01:00
Nathan HarkenriderandGitHub dde6a10cab feat: implement cache busting for CSS (#444) 2021-12-28 23:28:33 +01:00
Jimmy CaiandGitHub a669b60cdd chore(exampleSite): make default pages use page bundle feature
To avoid confusions
2021-12-28 10:33:48 +00:00
Jimmy CaiandGitHub 455e23f22b feat: page links (#446) 2021-12-28 11:28:20 +01:00
Jimmy CaiandGitHub 4e2c8e74be fix: add missing diff syntax highlight (#445)
closes: https://github.com/CaiJimmy/hugo-theme-stack/issues/434
2021-12-28 10:48:22 +01:00
HAHWULandGitHub 359e4b34c1 Update i18n(ko) (#418)
Add dark mode, list-section, list-subsction, article-back, article-tableOfContents, article-readingTime
2021-12-04 21:16:22 +01:00
Paul-Henri ZimmerlinandGitHub 195b8d8076 fix(i18n/fr): add missing translations for reading time (#416) 2021-12-04 21:10:42 +01:00
zhixuanandGitHub 497643b363 feat: add alt message for archive & related contents images (#411) 2021-12-04 21:05:53 +01:00
Jimmy CaiandGitHub 72a5e956ee release: 3.5.0 2021-10-31 10:17:45 +01:00
25581cc446 fix(comments/cusdis): use the correct script for the self-hosted version (#403)
* Modify the Self-hosting js source path

* refactor(comments/cusdis): avoid multiple if statement

Co-authored-by: Jimmy Cai <[email protected]>
2021-10-31 10:15:57 +01:00
volodymyrmarkivandGitHub a7d316365c feat(i18n): add Ukrainian translation (#404) 2021-10-30 21:22:08 +02:00
TonyPepeBearandGitHub ea74aecadb feat(i18n): add zh-TW (#402) 2021-10-30 21:18:02 +02:00
zhixuanandGitHub c43f9d1ea8 fix(menu/social): Delete relLangURL (#406) 2021-10-29 17:20:36 +02:00
Jimmy CaiandGitHub 44fc94f008 release: 3.4.0 2021-10-23 10:00:42 +00:00
Jimmy CaiandGitHub 661e59b85d feat: social menu (#401) 2021-10-23 11:58:55 +02:00
Jimmy CaiandGitHub 7c59ac7713 refactor(menu): use .Params.icon to configure menu item icon (#400) 2021-10-23 09:18:44 +02:00
Jimmy CaiandGitHub a822411a03 chore: add Github Codespace config 2021-10-23 06:51:56 +00:00
Christos ManiosandGitHub ca9dcc870d feat(i18n): add Greek translation (#378) 2021-10-22 16:12:44 +02:00
Ar-ruk KachenandGitHub 913a4e8898 feat(i18n): Thai language (#396) 2021-10-17 12:34:19 +02:00
Daniel PessoaandGitHub 30467ae65c feat(i18n): add missing pt-BR translations (#384) 2021-10-16 11:10:25 +02:00
MikDal002andGitHub d04b3a8771 fix: appropriate back button and menu links for multi-language site (#386) 2021-10-16 10:56:55 +02:00
31 changed files with 647 additions and 113 deletions
+31
View File
@@ -0,0 +1,31 @@
# Update the NODE_VERSION arg in docker-compose.yml to pick a Node version: 10, 12, 14
ARG NODE_VERSION=14
FROM mcr.microsoft.com/vscode/devcontainers/javascript-node:0-${NODE_VERSION}
# VARIANT can be either 'hugo' for the standard version or 'hugo_extended' for the extended version.
ARG VARIANT=hugo
# VERSION can be either 'latest' or a specific version number
ARG VERSION=latest
# Download Hugo
RUN apt-get update && apt-get install -y ca-certificates openssl git curl && \
rm -rf /var/lib/apt/lists/* && \
case ${VERSION} in \
latest) \
export VERSION=$(curl -s https://api.github.com/repos/gohugoio/hugo/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}') ;;\
esac && \
echo ${VERSION} && \
wget -O ${VERSION}.tar.gz https://github.com/gohugoio/hugo/releases/download/v${VERSION}/${VARIANT}_${VERSION}_Linux-64bit.tar.gz && \
tar xf ${VERSION}.tar.gz && \
mv hugo /usr/bin/hugo
# Hugo dev server port
EXPOSE 1313
# [Optional] Uncomment this section to install additional OS packages you may want.
#
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
# && apt-get -y install --no-install-recommends <your-package-list-here>
# [Optional] Uncomment if you want to install more global node packages
# RUN sudo -u node npm install -g <your-package-list-here>
+45
View File
@@ -0,0 +1,45 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.202.3/containers/hugo
{
"name": "Hugo (Community)",
"build": {
"dockerfile": "Dockerfile",
"args": {
// Update VARIANT to pick hugo variant.
// Example variants: hugo, hugo_extended
// Rebuild the container if it already exists to update.
"VARIANT": "hugo_extended",
// Update VERSION to pick a specific hugo version.
// Example versions: latest, 0.73.0, 0,71.1
// Rebuild the container if it already exists to update.
"VERSION": "latest",
// Update NODE_VERSION to pick the Node.js version: 12, 14
"NODE_VERSION": "14",
}
},
// Set *default* container specific settings.json values on container create.
"settings": {
"html.format.templating": true,
},
// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"bungcip.better-toml",
"davidanson.vscode-markdownlint"
],
// Use 'forwardPorts' to make a list of ports inside the container available locally.
"forwardPorts": [
1313
],
// Use 'postCreateCommand' to run commands after the container is created.
// "postCreateCommand": "uname -a",
// Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "node",
"features": {
"golang": "latest"
}
}
+3
View File
@@ -0,0 +1,3 @@
public
resources
assets/jsconfig.json
+6
View File
@@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-brand-github" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<path d="M9 19c-4.3 1.4 -4.3 -2.5 -6 -3m12 5v-3.5c0 -1 .1 -1.4 -.5 -2c2.8 -.3 5.5 -1.4 5.5 -6a4.6 4.6 0 0 0 -1.3 -3.2a4.2 4.2 0 0 0 -.1 -3.2s-1.1 -.3 -3.5 1.3a12.3 12.3 0 0 0 -6.2 0c-2.4 -1.6 -3.5 -1.3 -3.5 -1.3a4.2 4.2 0 0 0 -.1 3.2a4.6 4.6 0 0 0 -1.3 3.2c0 4.6 2.7 5.7 5.5 6c-.6 .6 -.6 1.2 -.5 2v3.5" />
</svg>

After

Width:  |  Height:  |  Size: 603 B

+6
View File
@@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-brand-twitter" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<path d="M22 4.01c-1 .49 -1.98 .689 -3 .99c-1.121 -1.265 -2.783 -1.335 -4.38 -.737s-2.643 2.06 -2.62 3.737v1c-3.245 .083 -6.135 -1.395 -8 -4c0 0 -4.182 7.433 4 11c-1.872 1.247 -3.739 2.088 -6 2c3.308 1.803 6.913 2.423 10.034 1.517c3.58 -1.04 6.522 -3.723 7.651 -7.742a13.84 13.84 0 0 0 .497 -3.753c-.002 -.249 1.51 -2.772 1.818 -4.013z" />
</svg>

After

Width:  |  Height:  |  Size: 638 B

+93 -90
View File
@@ -10,7 +10,8 @@
} }
/* Other */ /* Other */
.chroma .x {} .chroma .x {
}
/* Error */ /* Error */
.chroma .err { .chroma .err {
@@ -40,367 +41,369 @@
.chroma .hl { .chroma .hl {
display: block; display: block;
width: 100%; width: 100%;
background-color: #ffffcc background-color: #ffffcc;
} }
/* LineNumbersTable */ /* LineNumbersTable */
.chroma .lnt { .chroma .lnt {
margin-right: 0.4em; margin-right: 0.4em;
padding: 0 0.4em 0 0.4em; padding: 0 0.4em 0 0.4em;
color: #7f7f7f color: #7f7f7f;
} }
/* LineNumbers */ /* LineNumbers */
.chroma .ln { .chroma .ln {
margin-right: 0.4em; margin-right: 0.4em;
padding: 0 0.4em 0 0.4em; padding: 0 0.4em 0 0.4em;
color: #7f7f7f color: #7f7f7f;
} }
/* Keyword */ /* Keyword */
.chroma .k { .chroma .k {
color: #00a8c8 color: #00a8c8;
} }
/* KeywordConstant */ /* KeywordConstant */
.chroma .kc { .chroma .kc {
color: #00a8c8 color: #00a8c8;
} }
/* KeywordDeclaration */ /* KeywordDeclaration */
.chroma .kd { .chroma .kd {
color: #00a8c8 color: #00a8c8;
} }
/* KeywordNamespace */ /* KeywordNamespace */
.chroma .kn { .chroma .kn {
color: #f92672 color: #f92672;
} }
/* KeywordPseudo */ /* KeywordPseudo */
.chroma .kp { .chroma .kp {
color: #00a8c8 color: #00a8c8;
} }
/* KeywordReserved */ /* KeywordReserved */
.chroma .kr { .chroma .kr {
color: #00a8c8 color: #00a8c8;
} }
/* KeywordType */ /* KeywordType */
.chroma .kt { .chroma .kt {
color: #00a8c8 color: #00a8c8;
} }
/* Name */ /* Name */
.chroma .n { .chroma .n {
color: #111111 color: #111111;
} }
/* NameAttribute */ /* NameAttribute */
.chroma .na { .chroma .na {
color: #75af00 color: #75af00;
} }
/* NameBuiltin */ /* NameBuiltin */
.chroma .nb { .chroma .nb {
color: #111111 color: #111111;
} }
/* NameBuiltinPseudo */ /* NameBuiltinPseudo */
.chroma .bp { .chroma .bp {
color: #111111 color: #111111;
} }
/* NameClass */ /* NameClass */
.chroma .nc { .chroma .nc {
color: #75af00 color: #75af00;
} }
/* NameConstant */ /* NameConstant */
.chroma .no { .chroma .no {
color: #00a8c8 color: #00a8c8;
} }
/* NameDecorator */ /* NameDecorator */
.chroma .nd { .chroma .nd {
color: #75af00 color: #75af00;
} }
/* NameEntity */ /* NameEntity */
.chroma .ni { .chroma .ni {
color: #111111 color: #111111;
} }
/* NameException */ /* NameException */
.chroma .ne { .chroma .ne {
color: #75af00 color: #75af00;
} }
/* NameFunction */ /* NameFunction */
.chroma .nf { .chroma .nf {
color: #75af00 color: #75af00;
} }
/* NameFunctionMagic */ /* NameFunctionMagic */
.chroma .fm { .chroma .fm {
color: #111111 color: #111111;
} }
/* NameLabel */ /* NameLabel */
.chroma .nl { .chroma .nl {
color: #111111 color: #111111;
} }
/* NameNamespace */ /* NameNamespace */
.chroma .nn { .chroma .nn {
color: #111111 color: #111111;
} }
/* NameOther */ /* NameOther */
.chroma .nx { .chroma .nx {
color: #75af00 color: #75af00;
} }
/* NameProperty */ /* NameProperty */
.chroma .py { .chroma .py {
color: #111111 color: #111111;
} }
/* NameTag */ /* NameTag */
.chroma .nt { .chroma .nt {
color: #f92672 color: #f92672;
} }
/* NameVariable */ /* NameVariable */
.chroma .nv { .chroma .nv {
color: #111111 color: #111111;
} }
/* NameVariableClass */ /* NameVariableClass */
.chroma .vc { .chroma .vc {
color: #111111 color: #111111;
} }
/* NameVariableGlobal */ /* NameVariableGlobal */
.chroma .vg { .chroma .vg {
color: #111111 color: #111111;
} }
/* NameVariableInstance */ /* NameVariableInstance */
.chroma .vi { .chroma .vi {
color: #111111 color: #111111;
} }
/* NameVariableMagic */ /* NameVariableMagic */
.chroma .vm { .chroma .vm {
color: #111111 color: #111111;
} }
/* Literal */ /* Literal */
.chroma .l { .chroma .l {
color: #ae81ff color: #ae81ff;
} }
/* LiteralDate */ /* LiteralDate */
.chroma .ld { .chroma .ld {
color: #d88200 color: #d88200;
} }
/* LiteralString */ /* LiteralString */
.chroma .s { .chroma .s {
color: #d88200 color: #d88200;
} }
/* LiteralStringAffix */ /* LiteralStringAffix */
.chroma .sa { .chroma .sa {
color: #d88200 color: #d88200;
} }
/* LiteralStringBacktick */ /* LiteralStringBacktick */
.chroma .sb { .chroma .sb {
color: #d88200 color: #d88200;
} }
/* LiteralStringChar */ /* LiteralStringChar */
.chroma .sc { .chroma .sc {
color: #d88200 color: #d88200;
} }
/* LiteralStringDelimiter */ /* LiteralStringDelimiter */
.chroma .dl { .chroma .dl {
color: #d88200 color: #d88200;
} }
/* LiteralStringDoc */ /* LiteralStringDoc */
.chroma .sd { .chroma .sd {
color: #d88200 color: #d88200;
} }
/* LiteralStringDouble */ /* LiteralStringDouble */
.chroma .s2 { .chroma .s2 {
color: #d88200 color: #d88200;
} }
/* LiteralStringEscape */ /* LiteralStringEscape */
.chroma .se { .chroma .se {
color: #8045ff color: #8045ff;
} }
/* LiteralStringHeredoc */ /* LiteralStringHeredoc */
.chroma .sh { .chroma .sh {
color: #d88200 color: #d88200;
} }
/* LiteralStringInterpol */ /* LiteralStringInterpol */
.chroma .si { .chroma .si {
color: #d88200 color: #d88200;
} }
/* LiteralStringOther */ /* LiteralStringOther */
.chroma .sx { .chroma .sx {
color: #d88200 color: #d88200;
} }
/* LiteralStringRegex */ /* LiteralStringRegex */
.chroma .sr { .chroma .sr {
color: #d88200 color: #d88200;
} }
/* LiteralStringSingle */ /* LiteralStringSingle */
.chroma .s1 { .chroma .s1 {
color: #d88200 color: #d88200;
} }
/* LiteralStringSymbol */ /* LiteralStringSymbol */
.chroma .ss { .chroma .ss {
color: #d88200 color: #d88200;
} }
/* LiteralNumber */ /* LiteralNumber */
.chroma .m { .chroma .m {
color: #ae81ff color: #ae81ff;
} }
/* LiteralNumberBin */ /* LiteralNumberBin */
.chroma .mb { .chroma .mb {
color: #ae81ff color: #ae81ff;
} }
/* LiteralNumberFloat */ /* LiteralNumberFloat */
.chroma .mf { .chroma .mf {
color: #ae81ff color: #ae81ff;
} }
/* LiteralNumberHex */ /* LiteralNumberHex */
.chroma .mh { .chroma .mh {
color: #ae81ff color: #ae81ff;
} }
/* LiteralNumberInteger */ /* LiteralNumberInteger */
.chroma .mi { .chroma .mi {
color: #ae81ff color: #ae81ff;
} }
/* LiteralNumberIntegerLong */ /* LiteralNumberIntegerLong */
.chroma .il { .chroma .il {
color: #ae81ff color: #ae81ff;
} }
/* LiteralNumberOct */ /* LiteralNumberOct */
.chroma .mo { .chroma .mo {
color: #ae81ff color: #ae81ff;
} }
/* Operator */ /* Operator */
.chroma .o { .chroma .o {
color: #f92672 color: #f92672;
} }
/* OperatorWord */ /* OperatorWord */
.chroma .ow { .chroma .ow {
color: #f92672 color: #f92672;
} }
/* Punctuation */ /* Punctuation */
.chroma .p { .chroma .p {
color: #111111 color: #111111;
} }
/* Comment */ /* Comment */
.chroma .c { .chroma .c {
color: #75715e color: #75715e;
} }
/* CommentHashbang */ /* CommentHashbang */
.chroma .ch { .chroma .ch {
color: #75715e color: #75715e;
} }
/* CommentMultiline */ /* CommentMultiline */
.chroma .cm { .chroma .cm {
color: #75715e color: #75715e;
} }
/* CommentSingle */ /* CommentSingle */
.chroma .c1 { .chroma .c1 {
color: #75715e color: #75715e;
} }
/* CommentSpecial */ /* CommentSpecial */
.chroma .cs { .chroma .cs {
color: #75715e color: #75715e;
} }
/* CommentPreproc */ /* CommentPreproc */
.chroma .cp { .chroma .cp {
color: #75715e color: #75715e;
} }
/* CommentPreprocFile */ /* CommentPreprocFile */
.chroma .cpf { .chroma .cpf {
color: #75715e color: #75715e;
} }
/* Generic */ /* Generic */
.chroma .g {} .chroma .g {
}
/* GenericDeleted */ /* GenericDeleted */
.chroma .gd {} .chroma .gd {
color: #f92672;
}
/* GenericEmph */ /* GenericEmph */
.chroma .ge { .chroma .ge {
font-style: italic font-style: italic;
} }
/* GenericError */ /* GenericError */
.chroma .gr {} .chroma .gr {
}
/* GenericHeading */ /* GenericHeading */
.chroma .gh {} .chroma .gh {
}
/* GenericInserted */ /* GenericInserted */
.chroma .gi {} .chroma .gi {
color: #7ca727;
}
/* GenericOutput */ /* GenericOutput */
.chroma .go {} .chroma .go {
}
/* GenericPrompt */ /* GenericPrompt */
.chroma .gp {} .chroma .gp {
}
/* GenericStrong */ /* GenericStrong */
.chroma .gs { .chroma .gs {
font-weight: bold font-weight: bold;
} }
/* GenericSubheading */ /* GenericSubheading */
.chroma .gu {} .chroma .gu {
color: #75715e;
}
/* GenericTraceback */ /* GenericTraceback */
.chroma .gt {} .chroma .gt {
}
/* GenericUnderline */ /* GenericUnderline */
.chroma .gl {} .chroma .gl {
}
/* TextWhitespace */ /* TextWhitespace */
.chroma .w {} .chroma .w {
}
+15
View File
@@ -201,3 +201,18 @@
} }
} }
} }
.social-menu {
list-style: none;
padding: 0%;
display: flex;
flex-direction: row;
gap: 10px;
svg {
width: 24px;
height: 24px;
stroke: var(--body-text-color);
stroke-width: 1.33;
}
}
Executable
+1
View File
@@ -0,0 +1 @@
cd exampleSite && hugo server --gc --themesDir=../..
+5 -2
View File
@@ -22,6 +22,9 @@ _testmain.go
*.exe *.exe
*.test *.test
/public public
/themes themes
resources
assets/jsconfig.json
.DS_Store .DS_Store
+15 -2
View File
@@ -11,7 +11,7 @@ disqusShortname: hugo-theme-stack
googleAnalytics: googleAnalytics:
# Theme i18n support # Theme i18n support
# Available values: en, fr, id, ja, ko, pt-br, zh-cn, es, de, nl, it # Available values: en, fr, id, ja, ko, pt-br, zh-cn, zh-tw, es, de, nl, it, th, el, uk
DefaultContentLanguage: en DefaultContentLanguage: en
# Set hasCJKLanguage to true if DefaultContentLanguage is in [zh-cn ja ko] # Set hasCJKLanguage to true if DefaultContentLanguage is in [zh-cn ja ko]
@@ -174,10 +174,23 @@ menu:
name: Home name: Home
url: / url: /
weight: -100 weight: -100
pre: home
params: params:
### For demonstration purpose, the home link will be open in a new tab ### For demonstration purpose, the home link will be open in a new tab
newTab: true newTab: true
icon: home
social:
- identifier: github
name: GitHub
url: https://github.com/CaiJimmy/hugo-theme-stack
params:
icon: brand-github
- identifier: twitter
name: Twitter
url: https://twitter.com
params:
icon: brand-twitter
related: related:
includeNewer: true includeNewer: true
@@ -11,7 +11,8 @@ lastmod: '2020-10-09'
menu: menu:
main: main:
weight: -90 weight: -90
pre: user params:
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 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.
@@ -6,5 +6,6 @@ slug: "archives"
menu: menu:
main: main:
weight: -70 weight: -70
pre: archives params:
icon: archives
--- ---
+37
View File
@@ -0,0 +1,37 @@
---
title: Links
links:
- title: GitHub
description: GitHub is the world's largest software development platform.
website: https://github.com
image: https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png
- title: TypeScript
description: TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.
website: https://www.typescriptlang.org
image: ts-logo-128.jpg
menu:
main:
weight: -50
params:
icon: link
comments: false
---
To use this feature, add `links` section to frontmatter.
This page's frontmatter:
```yaml
links:
- title: GitHub
description: GitHub is the world's largest software development platform.
website: https://github.com
image: https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png
- title: TypeScript
description: TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.
website: https://www.typescriptlang.org
image: ts-logo-128.jpg
```
`image` field accepts both local and external images.
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

@@ -8,5 +8,6 @@ outputs:
menu: menu:
main: main:
weight: -60 weight: -60
pre: search params:
icon: search
--- ---
@@ -113,6 +113,16 @@ Tables aren't part of the core Markdown spec, but Hugo supports supports them ou
</html> </html>
{{< /highlight >}} {{< /highlight >}}
#### Diff code block
```diff
[dependencies.bevy]
git = "https://github.com/bevyengine/bevy"
rev = "11f52b8c72fc3a568e8bb4a4cd1f3eb025ac2e13"
- features = ["dynamic"]
+ features = ["jpeg", "dynamic"]
```
## List Types ## List Types
#### Ordered List #### Ordered List
+70
View File
@@ -0,0 +1,70 @@
toggleMenu:
other: Εναλλαγή Μενού
darkMode:
other: Σκοτεινό θέμα
list:
page:
one: "{{ .Count }} σελιδα"
other: "{{ .Count }} σελιδες"
section:
other: Ενότητα
subsection:
one: Υποενότητα
other: Υποενότητες
article:
back:
other: Πισω
tableOfContents:
other: Πινακας περιεχομενων
relatedContents:
other: Σχετικο περιεχομενο
lastUpdatedOn:
other: Τελευταια τροποποιηση στις
readingTime:
one: "{{ .Count }} λεπτό ανάγνωσης"
### Seems that there's no need to add 's' even if it's plural in English
other: "{{ .Count }} λεπτά ανάγνωσης"
notFound:
title:
other: Δε βρέθηκε
subtitle:
other: Η σελίδα δε βρέθηκε.
widget:
archives:
title:
other: Αρχειο
more:
other: Περισσότερα
tagCloud:
title:
other: Tags
search:
title:
other: Αναζήτηση
placeholder:
other: Πληκτρολογήστε κάτι...
resultTitle:
other: "#PAGES_COUNT σελιδες (#TIME_SECONDS δευτερολεπτα)"
footer:
builtWith:
other: Δημιουργήθηκε με τη χρήση {{ .Generator }}
designedBy:
other: Το θέμα {{ .Theme }} σχεδιάστηκε από το {{ .DesignedBy }}
+4
View File
@@ -29,6 +29,10 @@ article:
lastUpdatedOn: lastUpdatedOn:
other: Dernière mise à jour le other: Dernière mise à jour le
readingTime:
one: "{{ .Count }} minute de lecture"
other: "{{ .Count }} minutes de lecture"
notFound: notFound:
title: title:
other: Page non trouvée other: Page non trouvée
+30
View File
@@ -1,15 +1,42 @@
toggleMenu: toggleMenu:
other: 메뉴 여닫기 other: 메뉴 여닫기
darkMode:
other: 다크 모드
list:
page:
one: "{{ .Count }} 페이지"
other: "{{ .Count }} 페이지"
section:
other: 섹션
subsection:
one: 서브섹션
other: 서브섹션
article: article:
back:
other: 뒤로가기
tableOfContents:
other: 목차
relatedContents: relatedContents:
other: 관련 글 other: 관련 글
lastUpdatedOn: lastUpdatedOn:
other: "마지막 수정: " other: "마지막 수정: "
readingTime:
one: "{{ .Count }} 분 정도"
other: "{{ .Count }} 분 정도"
notFound: notFound:
title: title:
other: 찾을 수 없음 other: 찾을 수 없음
subtitle: subtitle:
other: 페이지를 찾을 수 없습니다. other: 페이지를 찾을 수 없습니다.
@@ -19,6 +46,7 @@ widget:
other: 보관함 other: 보관함
more: more:
other: 더보기 other: 더보기
tagCloud: tagCloud:
title: title:
other: 태그 other: 태그
@@ -26,8 +54,10 @@ widget:
search: search:
title: title:
other: 검색 other: 검색
placeholder: placeholder:
other: 검색어를 입력하세요... other: 검색어를 입력하세요...
resultTitle: resultTitle:
other: "#PAGES_COUNT 페이지 (#TIME_SECONDS 초)" other: "#PAGES_COUNT 페이지 (#TIME_SECONDS 초)"
+12 -1
View File
@@ -17,11 +17,22 @@ list:
other: Subseções other: Subseções
article: article:
back:
other: Voltar
tableOfContents:
other: Índice
relatedContents: relatedContents:
other: Conteúdos Relacionados other: Conteúdo relacionado
lastUpdatedOn: lastUpdatedOn:
other: Última atualização em other: Última atualização em
readingTime:
one: "{{ .Count }} minuto de leitura"
other: "{{ .Count }} minutos de leitura"
notFound: notFound:
title: title:
other: Não Encontrado other: Não Encontrado
+70
View File
@@ -0,0 +1,70 @@
toggleMenu:
other: สลับเมนู
darkMode:
other: ธีมมืด
list:
page:
one: "{{ .Count }} หน้า"
other: "{{ .Count }} หน้า"
section:
other: หมวดหมู่
subsection:
one: หมวดหมู่ย่อย
other: หมวดหมู่ย่อยอื่นๆ
article:
back:
other: กลับไป
tableOfContents:
other: สารบัญ
relatedContents:
other: เนื้อหาคล้ายคลึงกัน
lastUpdatedOn:
other: อัปเดตล่าสุดเมื่อ
readingTime:
one: "น่าจะใช้เวลา {{ .Count }} นาทีในการอ่าน"
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 pages (#TIME_SECONDS seconds)"
footer:
builtWith:
other: ถูกสร้างด้วย {{ .Generator }}
designedBy:
other: ธีม {{ .Theme }} ออกแบบโดย {{ .DesignedBy }}
+71
View File
@@ -0,0 +1,71 @@
toggleMenu:
other: Показати меню
darkMode:
other: Темна тема
list:
page:
one: "{{ .Count }} сторінка"
few: "{{ .Count }} сторінки"
other: "{{ .Count }} сторінок"
section:
other: Секція
subsection:
one: Підсекція
other: Підсекції
article:
back:
other: Назад
tableOfContents:
other: Зміст
relatedContents:
other: Схожі матеріали
lastUpdatedOn:
other: Востаннє оновлено
readingTime:
one: "Час читання: {{ .Count }} хв"
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 }}
+49
View File
@@ -0,0 +1,49 @@
toggleMenu:
other: 切換選單
darkMode:
other: 夜晚模式
article:
back:
other: 返回
tableOfContents:
other: 目錄
relatedContents:
other: 相關文章
lastUpdatedOn:
other: 最後更新
readingTime:
other: "閱讀時間: {{ .Count }} 分鐘"
notFound:
title:
other: 404 錯誤
subtitle:
other: 頁面不存在
widget:
archives:
title:
other: 紀錄
more:
other: 更多
tagCloud:
title:
other: 標籤雲
search:
title:
other: 搜尋
placeholder:
other: 輸入關鍵字...
resultTitle:
other: "#PAGES_COUNT 個結果 (用時 #TIME_SECONDS 秒)"
+5 -1
View File
@@ -15,6 +15,10 @@
{{ define "main" }} {{ define "main" }}
{{ partial "article/article.html" . }} {{ partial "article/article.html" . }}
{{ if .Params.links }}
{{ partial "article/components/links" . }}
{{ end }}
{{ partial "article/components/related-contents" . }} {{ partial "article/components/related-contents" . }}
{{ if not (eq .Params.comments false) }} {{ if not (eq .Params.comments false) }}
@@ -29,7 +33,7 @@
{{ define "left-sidebar" }} {{ define "left-sidebar" }}
{{ if (.Scratch.Get "hasTOC") }} {{ if (.Scratch.Get "hasTOC") }}
<div id="article-toolbar"> <div id="article-toolbar">
<a href="{{ .Site.BaseURL }}" class="back-home"> <a href="{{ .Site.BaseURL | relLangURL }}" class="back-home">
{{ (resources.Get "icons/back.svg").Content | safeHTML }} {{ (resources.Get "icons/back.svg").Content | safeHTML }}
<span>{{ T "article.back" }}</span> <span>{{ T "article.back" }}</span>
</a> </a>
@@ -29,6 +29,7 @@
<img src="{{ $Permalink }}" <img src="{{ $Permalink }}"
width="{{ $Width }}" width="{{ $Width }}"
height="{{ $Height }}" height="{{ $Height }}"
alt="{{ .Title }}"
loading="lazy"> loading="lazy">
{{ else }} {{ else }}
<img src="{{ $image.permalink }}" loading="lazy" alt="Featured image of post {{ .Title }}" /> <img src="{{ $image.permalink }}" loading="lazy" alt="Featured image of post {{ .Title }}" />
+2 -1
View File
@@ -21,7 +21,8 @@
width="{{ $Width }}" width="{{ $Width }}"
height="{{ $Height }}" height="{{ $Height }}"
loading="lazy" loading="lazy"
data-key="{{ .context.Slug }}" alt="Featured image of post {{ .context.Title }}"
{{ with .context.Slug }}data-key="{{ . }}" {{ end }}
data-hash="{{ $imageRaw.Data.Integrity }}"> data-hash="{{ $imageRaw.Data.Integrity }}">
{{ else }} {{ else }}
<img src="{{ $image.permalink }}" loading="lazy" data-key="{{ .context.Slug }}" data-hash="{{ $image.permalink }}"/> <img src="{{ $image.permalink }}" loading="lazy" data-key="{{ .context.Slug }}" data-hash="{{ $image.permalink }}"/>
@@ -0,0 +1,26 @@
<div class="article-list--compact links">
{{ range $i, $link := .Params.links }}
<article>
<a href="{{ $link.website }}" target="_blank" rel="noopener">
<div class="article-details">
<h2 class="article-title">
{{- $link.title -}}
</h2>
<footer class="article-time">
{{ with $link.description }}
{{ . }}
{{ else }}
{{ $link.website }}
{{ end }}
</footer>
</div>
{{ with $link.image }}
<div class="article-image">
<img src="{{ . }}" loading="lazy">
</div>
{{ end }}
</a>
</article>
{{ end }}
</div>
@@ -1,14 +1,11 @@
{{- $host := default "https://cusdis.com" .Site.Params.comments.cusdis.host -}}
<div id="cusdis_thread" <div id="cusdis_thread"
{{ if .Site.Params.comments.cusdis.host }} data-host="{{ $host }}"
data-host="{{ .Site.Params.comments.cusdis.host }}"
{{ else }}
data-host="https://cusdis.com"
{{ end }}
data-app-id="{{ .Site.Params.comments.cusdis.id }}" data-app-id="{{ .Site.Params.comments.cusdis.id }}"
data-page-id="{{ .File.UniqueID }}" data-page-id="{{ .File.UniqueID }}"
data-page-url="{{ .Permalink }}" data-page-url="{{ .Permalink }}"
data-page-title="{{ .Title }}"></div> data-page-title="{{ .Title }}"></div>
<script async defer src="https://cusdis.com/js/cusdis.es.js"></script> <script async defer src="{{ $host }}/js/cusdis.es.js"></script>
<script> <script>
function setCusdisTheme(theme) { function setCusdisTheme(theme) {
+1 -1
View File
@@ -1,4 +1,4 @@
{{- $ThemeVersion := "3.2.0" -}} {{- $ThemeVersion := "3.6.0" -}}
<footer class="site-footer"> <footer class="site-footer">
<section class="copyright"> <section class="copyright">
&copy; &copy;
+1 -1
View File
@@ -1,3 +1,3 @@
{{ $sass := resources.Get "scss/style.scss" }} {{ $sass := resources.Get "scss/style.scss" }}
{{ $style := $sass | resources.ToCSS | minify }} {{ $style := $sass | resources.ToCSS | minify | resources.Fingerprint "sha256" }}
<link rel="stylesheet" href="{{ $style.RelPermalink }}"> <link rel="stylesheet" href="{{ $style.RelPermalink }}">
+27 -3
View File
@@ -29,8 +29,28 @@
</figure> </figure>
{{ end }} {{ end }}
{{ end }} {{ end }}
<h1 class="site-name"><a href="{{ .Site.BaseURL }}">{{ .Site.Title }}</a></h1>
<h1 class="site-name"><a href="{{ .Site.BaseURL | relLangURL }}">{{ .Site.Title }}</a></h1>
<h2 class="site-description">{{ .Site.Params.sidebar.subtitle }}</h2> <h2 class="site-description">{{ .Site.Params.sidebar.subtitle }}</h2>
{{- with .Site.Menus.social -}}
<ol class="social-menu">
{{ range . }}
<li>
<a
href='{{ .URL }}'
{{ if eq (default true .Params.newTab) true }}target="_blank"{{ end }}
{{ with .Name }}title="{{ . }}"{{ end }}
>
{{ $icon := default "link" .Params.Icon }}
{{ with $icon }}
{{ partial "helper/icon" . }}
{{ end }}
</a>
</li>
{{ end }}
</ol>
{{- end -}}
</header> </header>
<ol class="menu" id="main-menu"> <ol class="menu" id="main-menu">
@@ -39,9 +59,13 @@
{{ $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 }}' {{ if eq .Params.newTab true }}target="_blank"{{ end }}> <a href='{{ .URL | relLangURL }}' {{ if eq .Params.newTab true }}target="_blank"{{ end }}>
{{ $icon := default .Pre .Params.Icon }}
{{ if .Pre }} {{ if .Pre }}
{{ partial "helper/icon" .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 }}
{{ end }}
{{ with $icon }}
{{ partial "helper/icon" . }}
{{ end }} {{ end }}
<span>{{- .Name -}}</span> <span>{{- .Name -}}</span>
</a> </a>