mirror of
https://github.com/CaiJimmy/hugo-theme-stack.git
synced 2025-04-29 03:53:30 +08:00
Compare commits
53 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
9e6b7b22a9 | ||
|
f1ab6c6aba | ||
|
087989e427 | ||
|
0991f61d49 | ||
|
839fbd0ecb | ||
|
5175ac5ae3 | ||
|
37f1541c20 | ||
|
f4eb5d3e99 | ||
|
788dd497b3 | ||
|
8a7fb33163 | ||
|
2a18a92901 | ||
|
245b0f2810 | ||
|
0fb25c808b | ||
|
048a000f17 | ||
|
5f157478aa | ||
|
8556681b7c | ||
|
fa760d70cb | ||
|
bdcab89d86 | ||
|
b3907acdae | ||
|
23ff70d41a | ||
|
41a3e5ee13 | ||
|
0558108e30 | ||
|
12f31dfd8a | ||
|
374b25a60f | ||
|
fcd56dd21c | ||
|
fddab05362 | ||
|
f3783856ad | ||
|
130e2f6607 | ||
|
ce798a32a9 | ||
|
609d43b088 | ||
|
797949b37f | ||
|
539c39d69a | ||
|
f8466d94d2 | ||
|
43e074364c | ||
|
b2157bdf78 | ||
|
23607527e4 | ||
|
54a8ace564 | ||
|
b3fbe78ca5 | ||
|
2cb5ba683b | ||
|
5a8607e4a8 | ||
|
eafcf894c8 | ||
|
0b9f6c36ad | ||
|
04bf1956b9 | ||
|
6c7d42d45a | ||
|
2cda779706 | ||
|
4948a3723e | ||
|
43224bd39a | ||
|
4e7865c185 | ||
|
2f9306502d | ||
|
5b0d6fdf7d | ||
|
65cd7f586f | ||
|
f398fb9dd1 | ||
|
9bb3165ff0 |
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@ -4,7 +4,7 @@ body:
|
|||||||
- type: markdown
|
- type: markdown
|
||||||
attributes:
|
attributes:
|
||||||
value: |
|
value: |
|
||||||
Thanks for taking the time to fill out this bug report! Please provide as much information as possible and make sure you have checked the [documentation](https://stack.jimmycai.com/).
|
Thanks for taking the time to fill out this bug report! Please provide as much information as possible and make sure you have checked the [documentation](https://stack.jimmycai.com/guide/).
|
||||||
- type: textarea
|
- type: textarea
|
||||||
id: what-happened
|
id: what-happened
|
||||||
attributes:
|
attributes:
|
||||||
|
@ -131,6 +131,7 @@
|
|||||||
.article-tags {
|
.article-tags {
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 10px;
|
gap: 10px;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
|
||||||
a {
|
a {
|
||||||
color: var(--accent-color-text);
|
color: var(--accent-color-text);
|
||||||
|
@ -67,7 +67,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.article-tags {
|
.article-tags {
|
||||||
flex-wrap: wrap;
|
|
||||||
text-transform: unset;
|
text-transform: unset;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -222,6 +221,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 {
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
@ -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;
|
||||||
|
@ -8,6 +8,10 @@ class StackColorScheme {
|
|||||||
constructor(toggleEl: HTMLElement) {
|
constructor(toggleEl: HTMLElement) {
|
||||||
this.bindMatchMedia();
|
this.bindMatchMedia();
|
||||||
this.currentScheme = this.getSavedScheme();
|
this.currentScheme = this.getSavedScheme();
|
||||||
|
if (window.matchMedia('(prefers-color-scheme: dark)').matches === true)
|
||||||
|
this.systemPreferScheme = 'dark'
|
||||||
|
else
|
||||||
|
this.systemPreferScheme = 'light';
|
||||||
|
|
||||||
this.dispatchEvent(document.documentElement.dataset.scheme as colorScheme);
|
this.dispatchEvent(document.documentElement.dataset.scheme as colorScheme);
|
||||||
|
|
||||||
|
@ -53,7 +53,14 @@ class Search {
|
|||||||
this.resultTitle = resultTitle;
|
this.resultTitle = resultTitle;
|
||||||
this.resultTitleTemplate = resultTitleTemplate;
|
this.resultTitleTemplate = resultTitleTemplate;
|
||||||
|
|
||||||
this.handleQueryString();
|
/// Check if there's already value in the search input
|
||||||
|
if (this.input.value.trim() !== '') {
|
||||||
|
this.doSearch(this.input.value.split(' '));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
this.handleQueryString();
|
||||||
|
}
|
||||||
|
|
||||||
this.bindQueryStringChange();
|
this.bindQueryStringChange();
|
||||||
this.bindSearchForm();
|
this.bindSearchForm();
|
||||||
}
|
}
|
||||||
|
11
config.yaml
11
config.yaml
@ -28,6 +28,7 @@ params:
|
|||||||
src: img/avatar.png
|
src: img/avatar.png
|
||||||
|
|
||||||
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:
|
||||||
@ -75,9 +82,9 @@ params:
|
|||||||
requiredMeta:
|
requiredMeta:
|
||||||
- nick
|
- nick
|
||||||
- mail
|
- mail
|
||||||
placeholder:
|
|
||||||
locale:
|
locale:
|
||||||
admin: Admin
|
admin: Admin
|
||||||
|
placeholder:
|
||||||
|
|
||||||
twikoo:
|
twikoo:
|
||||||
envId:
|
envId:
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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).
|
||||||
|
@ -21,17 +21,17 @@ 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 >}}
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
baseurl: https://example.com
|
baseurl: https://example.com/
|
||||||
languageCode: en-us
|
languageCode: en-us
|
||||||
theme: hugo-theme-stack
|
theme: hugo-theme-stack
|
||||||
paginate: 3
|
|
||||||
title: Example Site
|
title: Example Site
|
||||||
copyright: Example Person
|
copyright: Example Person
|
||||||
|
|
||||||
@ -19,20 +18,23 @@ languages:
|
|||||||
title: Example Site
|
title: Example Site
|
||||||
weight: 1
|
weight: 1
|
||||||
params:
|
params:
|
||||||
description: Example description
|
sidebar:
|
||||||
|
subtitle: Example description
|
||||||
zh-cn:
|
zh-cn:
|
||||||
languageName: 中文
|
languageName: 中文
|
||||||
title: 演示站点
|
title: 演示站点
|
||||||
weight: 2
|
weight: 2
|
||||||
params:
|
params:
|
||||||
description: 演示说明
|
sidebar:
|
||||||
|
subtitle: 演示说明
|
||||||
ar:
|
ar:
|
||||||
languageName: عربي
|
languageName: عربي
|
||||||
languagedirection: rtl
|
languagedirection: rtl
|
||||||
title: موقع تجريبي
|
title: موقع تجريبي
|
||||||
weight: 3
|
weight: 3
|
||||||
params:
|
params:
|
||||||
description: وصف تجريبي
|
sidebar:
|
||||||
|
subtitle: وصف تجريبي
|
||||||
|
|
||||||
services:
|
services:
|
||||||
# Change it to your Disqus shortname before using
|
# Change it to your Disqus shortname before using
|
||||||
@ -42,6 +44,9 @@ services:
|
|||||||
googleAnalytics:
|
googleAnalytics:
|
||||||
id:
|
id:
|
||||||
|
|
||||||
|
pagination:
|
||||||
|
pagerSize: 3
|
||||||
|
|
||||||
permalinks:
|
permalinks:
|
||||||
post: /p/:slug/
|
post: /p/:slug/
|
||||||
page: /:slug/
|
page: /:slug/
|
||||||
@ -93,6 +98,12 @@ params:
|
|||||||
issueTerm: pathname
|
issueTerm: pathname
|
||||||
label:
|
label:
|
||||||
|
|
||||||
|
beaudar:
|
||||||
|
repo:
|
||||||
|
issueTerm: pathname
|
||||||
|
label:
|
||||||
|
theme:
|
||||||
|
|
||||||
remark42:
|
remark42:
|
||||||
host:
|
host:
|
||||||
site:
|
site:
|
||||||
@ -150,6 +161,7 @@ params:
|
|||||||
repo:
|
repo:
|
||||||
clientID:
|
clientID:
|
||||||
clientSecret:
|
clientSecret:
|
||||||
|
proxy:
|
||||||
|
|
||||||
cusdis:
|
cusdis:
|
||||||
host:
|
host:
|
||||||
@ -197,7 +209,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: []
|
||||||
@ -228,6 +240,18 @@ related:
|
|||||||
|
|
||||||
markup:
|
markup:
|
||||||
goldmark:
|
goldmark:
|
||||||
|
extensions:
|
||||||
|
passthrough:
|
||||||
|
enable: true
|
||||||
|
delimiters:
|
||||||
|
block:
|
||||||
|
- - \[
|
||||||
|
- \]
|
||||||
|
- - $$
|
||||||
|
- $$
|
||||||
|
inline:
|
||||||
|
- - \(
|
||||||
|
- \)
|
||||||
renderer:
|
renderer:
|
||||||
## Set to true if you have HTML content inside Markdown
|
## Set to true if you have HTML content inside Markdown
|
||||||
unsafe: true
|
unsafe: true
|
@ -68,7 +68,7 @@ search:
|
|||||||
|
|
||||||
footer:
|
footer:
|
||||||
builtWith:
|
builtWith:
|
||||||
other: "مبني بستخدام {{ .Generator }}"
|
other: "مبني باستخدام {{ .Generator }}"
|
||||||
|
|
||||||
designedBy:
|
designedBy:
|
||||||
other: "قالب {{ .Theme }} مصمم من {{ .DesignedBy }}"
|
other: "قالب {{ .Theme }} مصمم من {{ .DesignedBy }}"
|
||||||
|
73
i18n/bg.yaml
Normal file
73
i18n/bg.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 }} minute read"
|
||||||
|
other: "{{ .Count }} minute read"
|
||||||
|
|
||||||
|
notFound:
|
||||||
|
title:
|
||||||
|
other: Не е намерено
|
||||||
|
|
||||||
|
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 }}
|
@ -50,6 +50,9 @@ widget:
|
|||||||
tagCloud:
|
tagCloud:
|
||||||
title:
|
title:
|
||||||
other: Mots clés
|
other: Mots clés
|
||||||
|
categoriesCloud:
|
||||||
|
title:
|
||||||
|
other: Catégories
|
||||||
|
|
||||||
search:
|
search:
|
||||||
title:
|
title:
|
||||||
|
12
i18n/ja.yaml
12
i18n/ja.yaml
@ -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 }} によって設計されています。
|
||||||
|
72
i18n/oc.yaml
Normal file
72
i18n/oc.yaml
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
toggleMenu:
|
||||||
|
other: Alternar menú
|
||||||
|
|
||||||
|
darkMode:
|
||||||
|
other: Mòde fosc
|
||||||
|
|
||||||
|
list:
|
||||||
|
page:
|
||||||
|
one: "{{ .Count }} pagina"
|
||||||
|
other: "{{ .Count }} paginas"
|
||||||
|
|
||||||
|
section:
|
||||||
|
other: Seccion
|
||||||
|
|
||||||
|
subsection:
|
||||||
|
one: Josseccion
|
||||||
|
other: Josseccions
|
||||||
|
|
||||||
|
article:
|
||||||
|
back:
|
||||||
|
other: Tornar
|
||||||
|
|
||||||
|
tableOfContents:
|
||||||
|
other: Taula de contengut
|
||||||
|
|
||||||
|
relatedContent:
|
||||||
|
other: Contenguts relacionats
|
||||||
|
|
||||||
|
lastUpdatedOn:
|
||||||
|
other: Darrièra actualizacion
|
||||||
|
readingTime:
|
||||||
|
one: "{{ .Count }} minuta de lectura"
|
||||||
|
other: "{{ .Count }} minutas de lectura"
|
||||||
|
|
||||||
|
notFound:
|
||||||
|
title:
|
||||||
|
other: Non trobat
|
||||||
|
|
||||||
|
subtitle:
|
||||||
|
other: Aquesta pagina existís pas
|
||||||
|
|
||||||
|
widget:
|
||||||
|
archives:
|
||||||
|
title:
|
||||||
|
other: Archiu
|
||||||
|
|
||||||
|
more:
|
||||||
|
other: Mai
|
||||||
|
|
||||||
|
tagCloud:
|
||||||
|
title:
|
||||||
|
other: Etiquetas
|
||||||
|
categoriesCloud:
|
||||||
|
title:
|
||||||
|
other: Categorias
|
||||||
|
|
||||||
|
search:
|
||||||
|
title:
|
||||||
|
other: Cercar
|
||||||
|
|
||||||
|
placeholder:
|
||||||
|
other: Picatz quicòm...
|
||||||
|
|
||||||
|
resultTitle:
|
||||||
|
other: "#PAGES_COUNT paginas dins (#TIME_SECONDS segons)"
|
||||||
|
|
||||||
|
footer:
|
||||||
|
builtWith:
|
||||||
|
other: Creat amb {{ .Generator }}
|
||||||
|
|
||||||
|
designedBy:
|
||||||
|
other: Tàma {{ .Theme }} concebut per {{ .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 }} 设计
|
||||||
|
@ -3,5 +3,43 @@
|
|||||||
<h1 class="article-title">{{ T "notFound.title" }}</h1>
|
<h1 class="article-title">{{ T "notFound.title" }}</h1>
|
||||||
<h2 class="article-subtitle">{{ T "notFound.subtitle" }}</h2>
|
<h2 class="article-subtitle">{{ T "notFound.subtitle" }}</h2>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{{- $query := first 1 (where .Site.Pages "Layout" "==" "search") -}}
|
||||||
|
{{- $searchPage := index $query 0 -}}
|
||||||
|
|
||||||
|
{{- with $searchPage -}}
|
||||||
|
<form action="{{ $searchPage.RelPermalink }}" class="search-form widget" {{ with .OutputFormats.Get "json" -}}data-json="{{ .Permalink }}" {{- end }}>
|
||||||
|
<p>
|
||||||
|
<label>{{ T "search.title" }}</label>
|
||||||
|
<input id="searchInput" name="keyword" required placeholder="{{ T `search.placeholder` }}" />
|
||||||
|
|
||||||
|
<button title="{{ T `search.title` }}">
|
||||||
|
{{ partial "helper/icon" "search" }}
|
||||||
|
</button>
|
||||||
|
</p>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<div class="search-result">
|
||||||
|
<h3 class="search-result--title section-title"></h3>
|
||||||
|
<div class="search-result--list article-list--compact"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
window.searchResultTitleTemplate = "{{ T `search.resultTitle` }}"
|
||||||
|
</script>
|
||||||
|
|
||||||
|
{{- $opts := dict "minify" hugo.IsProduction "JSXFactory" "createElement" -}}
|
||||||
|
{{- $searchScript := resources.Get "ts/search.tsx" | js.Build $opts -}}
|
||||||
|
<script type="text/javascript" src="{{ $searchScript.RelPermalink }}" defer></script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
const wrongUrl = new URL(window.location.href);
|
||||||
|
|
||||||
|
/// Get the search keyword from the wrong URL by removing all slashes and dashes
|
||||||
|
const searchKeyword = wrongUrl.pathname.split(/[/|-]/).join(' ').trim();
|
||||||
|
|
||||||
|
document.getElementById('searchInput').setAttribute('value', searchKeyword);
|
||||||
|
</script>
|
||||||
|
{{- end -}}
|
||||||
{{ partialCached "footer/footer" . }}
|
{{ partialCached "footer/footer" . }}
|
||||||
{{ end }}
|
{{ end }}
|
6
layouts/_default/_markup/render-heading.html
Normal file
6
layouts/_default/_markup/render-heading.html
Normal file
@ -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,11 +18,11 @@
|
|||||||
<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>{{ (index $pages.ByLastmod.Reverse 0).Lastmod.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }}
|
||||||
{{- with .OutputFormats.Get "RSS" -}}
|
{{- with .OutputFormats.Get "RSS" -}}
|
||||||
{{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
|
{{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
@ -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") -}}
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
<div>
|
<div>
|
||||||
{{ partial "helper/icon" "date" }}
|
{{ partial "helper/icon" "date" }}
|
||||||
<time class="article-time--published">
|
<time class="article-time--published">
|
||||||
{{- .Date.Format (or .Site.Params.dateFormat.published "Jan 02, 2006") -}}
|
{{- .Date | time.Format (or .Site.Params.dateFormat.published "Jan 02, 2006") -}}
|
||||||
</time>
|
</time>
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
<section class="article-lastmod">
|
<section class="article-lastmod">
|
||||||
{{ partial "helper/icon" "clock" }}
|
{{ partial "helper/icon" "clock" }}
|
||||||
<span>
|
<span>
|
||||||
{{ T "article.lastUpdatedOn" }} {{ .Lastmod.Format ( or .Site.Params.dateFormat.lastUpdated "Jan 02, 2006 15:04 MST" ) }}
|
{{ T "article.lastUpdatedOn" }} {{ .Lastmod | time.Format ( or .Site.Params.dateFormat.lastUpdated "Jan 02, 2006 15:04 MST" ) }}
|
||||||
</span>
|
</span>
|
||||||
</section>
|
</section>
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
@ -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,7 +1,8 @@
|
|||||||
{{- 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`), {
|
const mainArticleElement = document.querySelector(".main-article");
|
||||||
|
renderMathInElement(mainArticleElement, {
|
||||||
delimiters: [
|
delimiters: [
|
||||||
{ left: "$$", right: "$$", display: true },
|
{ left: "$$", right: "$$", display: true },
|
||||||
{ left: "$", right: "$", display: false },
|
{ left: "$", right: "$", display: false },
|
||||||
|
46
layouts/partials/comments/provider/beaudar.html
Normal file
46
layouts/partials/comments/provider/beaudar.html
Normal file
@ -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>
|
@ -2,7 +2,7 @@
|
|||||||
{{- $disqusjs := .Site.Params.Comments.disqusjs -}}
|
{{- $disqusjs := .Site.Params.Comments.disqusjs -}}
|
||||||
{{- if and (not $pc.Disable) (and $disqusjs.Shortname $disqusjs.ApiKey) -}}
|
{{- if and (not $pc.Disable) (and $disqusjs.Shortname $disqusjs.ApiKey) -}}
|
||||||
|
|
||||||
{{- $style := resources.Get "scss/partials/comments/disqusjs.scss" | resources.ToCSS | minify -}}
|
{{- $style := resources.Get "scss/partials/comments/disqusjs.scss" | toCSS | minify -}}
|
||||||
<link rel="stylesheet" href="{{ $style.RelPermalink }}">
|
<link rel="stylesheet" href="{{ $style.RelPermalink }}">
|
||||||
|
|
||||||
<div class="disqus-container">
|
<div class="disqus-container">
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
data-input-position="{{- default `top` .inputPosition -}}"
|
data-input-position="{{- default `top` .inputPosition -}}"
|
||||||
data-theme="{{- default `light` .lightTheme -}}"
|
data-theme="{{- default `light` .lightTheme -}}"
|
||||||
data-lang="{{- default `en` .lang -}}"
|
data-lang="{{- default `en` .lang -}}"
|
||||||
|
data-loading="{{- .loading -}}"
|
||||||
crossorigin="anonymous"
|
crossorigin="anonymous"
|
||||||
async
|
async
|
||||||
></script>
|
></script>
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
admin: ["{{- .admin -}}"],
|
admin: ["{{- .admin -}}"],
|
||||||
distractionFreeMode: false, // Facebook-like distraction free mode
|
distractionFreeMode: false, // Facebook-like distraction free mode
|
||||||
id: md5(location.pathname), // Max Location.pathname Legth:75 https://github.com/gitalk/gitalk/issues/102
|
id: md5(location.pathname), // Max Location.pathname Legth:75 https://github.com/gitalk/gitalk/issues/102
|
||||||
|
proxy: {{- .proxy -}},
|
||||||
});
|
});
|
||||||
(function () {
|
(function () {
|
||||||
if (
|
if (
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<script src="//cdn.jsdelivr.net/npm/twikoo@1.6.21/dist/twikoo.all.min.js"></script>
|
<script src="//cdn.jsdelivr.net/npm/twikoo@1.6.39/dist/twikoo.all.min.js"></script>
|
||||||
<div id="tcomment"></div>
|
<div id="tcomment"></div>
|
||||||
<style>
|
<style>
|
||||||
.twikoo {
|
.twikoo {
|
||||||
|
@ -14,4 +14,4 @@
|
|||||||
{{ $description = .Summary }}
|
{{ $description = .Summary }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ return ($description | plainify)}}
|
{{ return (replaceRE "\n" " " $description | plainify) }}
|
@ -1,12 +1,12 @@
|
|||||||
{{- partial "helper/external" (dict "Context" . "Namespace" "Vibrant") -}}
|
{{- partial "helper/external" (dict "Context" . "Namespace" "Vibrant") -}}
|
||||||
|
|
||||||
{{- $opts := dict "minify" hugo.IsProduction -}}
|
{{- $opts := dict "minify" hugo.IsProduction -}}
|
||||||
{{- $script := resources.Get "ts/main.ts" | js.Build $opts -}}
|
{{- $script := resources.Get "ts/main.ts" | js.Build $opts | fingerprint -}}
|
||||||
|
|
||||||
<script type="text/javascript" src="{{ $script.RelPermalink }}" defer></script>
|
<script type="text/javascript" src="{{ $script.RelPermalink }}" defer></script>
|
||||||
|
|
||||||
{{- with resources.Get "ts/custom.ts" -}}
|
{{- with resources.Get "ts/custom.ts" -}}
|
||||||
{{/* Place your custom script in HUGO_SITE_FOLDER/assets/ts/custom.ts */}}
|
{{/* Place your custom script in HUGO_SITE_FOLDER/assets/ts/custom.ts */}}
|
||||||
{{- $customScript := . | js.Build $opts -}}
|
{{- $customScript := . | js.Build $opts | fingerprint -}}
|
||||||
<script type="text/javascript" src="{{ $customScript.RelPermalink }}" defer></script>
|
<script type="text/javascript" src="{{ $customScript.RelPermalink }}" defer></script>
|
||||||
{{- end -}}
|
{{- end -}}
|
@ -1,4 +1,4 @@
|
|||||||
{{- $ThemeVersion := "3.22.0" -}}
|
{{- $ThemeVersion := "3.30.0" -}}
|
||||||
<footer class="site-footer">
|
<footer class="site-footer">
|
||||||
<section class="copyright">
|
<section class="copyright">
|
||||||
©
|
©
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<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 }}
|
{{ with .Params.Keywords }}<meta name="keywords" content="{{ delimit . ", " }}">{{ end }}
|
||||||
|
|
||||||
{{- $title := partial "data/title" . -}}
|
{{- $title := partial "data/title" . -}}
|
||||||
@ -19,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 -}}
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
{{ $sass := resources.Get "scss/style.scss" }}
|
{{ $sass := resources.Get "scss/style.scss" }}
|
||||||
{{ $style := $sass | resources.ToCSS | minify | resources.Fingerprint "sha256" }}
|
{{ $style := $sass | toCSS | minify | resources.Fingerprint "sha256" }}
|
||||||
<link rel="stylesheet" href="{{ $style.RelPermalink }}">
|
<link rel="stylesheet" href="{{ $style.RelPermalink }}">
|
@ -38,7 +38,7 @@
|
|||||||
</header>
|
</header>
|
||||||
|
|
||||||
{{- with .Site.Menus.social -}}
|
{{- with .Site.Menus.social -}}
|
||||||
<ol class="social-menu">
|
<ol class="menu-social">
|
||||||
{{ range . }}
|
{{ range . }}
|
||||||
<li>
|
<li>
|
||||||
<a
|
<a
|
||||||
@ -65,7 +65,7 @@
|
|||||||
<a href='{{ .URL }}' {{ 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,29 +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">
|
||||||
{{ if ( compare.Gt .Site.Home.AllTranslations 1 ) }}
|
{{ partial "helper/icon" "toggle-left" }}
|
||||||
{{ with .Site.Home.AllTranslations }}
|
{{ partial "helper/icon" "toggle-right" }}
|
||||||
<li id="i18n-switch">
|
<span>{{ T "darkMode" }}</span>
|
||||||
{{ partial "helper/icon" "language" }}
|
|
||||||
<select name="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>
|
</li>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
</ol>
|
||||||
|
</li>
|
||||||
{{ 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>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
publish = "exampleSite/public"
|
publish = "exampleSite/public"
|
||||||
|
|
||||||
[build.environment]
|
[build.environment]
|
||||||
HUGO_VERSION = "0.117.0"
|
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