mirror of
https://github.com/CaiJimmy/hugo-theme-stack.git
synced 2025-04-29 20:13:31 +08:00
Compare commits
No commits in common. "master" and "v3.26.0" have entirely different histories.
@ -131,7 +131,6 @@
|
|||||||
.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,6 +67,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.article-tags {
|
.article-tags {
|
||||||
|
flex-wrap: wrap;
|
||||||
text-transform: unset;
|
text-transform: unset;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,10 +8,6 @@ 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,14 +53,7 @@ class Search {
|
|||||||
this.resultTitle = resultTitle;
|
this.resultTitle = resultTitle;
|
||||||
this.resultTitleTemplate = resultTitleTemplate;
|
this.resultTitleTemplate = resultTitleTemplate;
|
||||||
|
|
||||||
/// 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.handleQueryString();
|
||||||
}
|
|
||||||
|
|
||||||
this.bindQueryStringChange();
|
this.bindQueryStringChange();
|
||||||
this.bindSearchForm();
|
this.bindSearchForm();
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
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
|
||||||
|
|
||||||
@ -18,23 +19,20 @@ languages:
|
|||||||
title: Example Site
|
title: Example Site
|
||||||
weight: 1
|
weight: 1
|
||||||
params:
|
params:
|
||||||
sidebar:
|
description: Example description
|
||||||
subtitle: Example description
|
|
||||||
zh-cn:
|
zh-cn:
|
||||||
languageName: 中文
|
languageName: 中文
|
||||||
title: 演示站点
|
title: 演示站点
|
||||||
weight: 2
|
weight: 2
|
||||||
params:
|
params:
|
||||||
sidebar:
|
description: 演示说明
|
||||||
subtitle: 演示说明
|
|
||||||
ar:
|
ar:
|
||||||
languageName: عربي
|
languageName: عربي
|
||||||
languagedirection: rtl
|
languagedirection: rtl
|
||||||
title: موقع تجريبي
|
title: موقع تجريبي
|
||||||
weight: 3
|
weight: 3
|
||||||
params:
|
params:
|
||||||
sidebar:
|
description: وصف تجريبي
|
||||||
subtitle: وصف تجريبي
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
# Change it to your Disqus shortname before using
|
# Change it to your Disqus shortname before using
|
||||||
@ -44,9 +42,6 @@ services:
|
|||||||
googleAnalytics:
|
googleAnalytics:
|
||||||
id:
|
id:
|
||||||
|
|
||||||
pagination:
|
|
||||||
pagerSize: 3
|
|
||||||
|
|
||||||
permalinks:
|
permalinks:
|
||||||
post: /p/:slug/
|
post: /p/:slug/
|
||||||
page: /:slug/
|
page: /:slug/
|
||||||
@ -161,7 +156,6 @@ params:
|
|||||||
repo:
|
repo:
|
||||||
clientID:
|
clientID:
|
||||||
clientSecret:
|
clientSecret:
|
||||||
proxy:
|
|
||||||
|
|
||||||
cusdis:
|
cusdis:
|
||||||
host:
|
host:
|
||||||
@ -240,18 +234,6 @@ 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
73
i18n/bg.yaml
@ -1,73 +0,0 @@
|
|||||||
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,9 +50,6 @@ widget:
|
|||||||
tagCloud:
|
tagCloud:
|
||||||
title:
|
title:
|
||||||
other: Mots clés
|
other: Mots clés
|
||||||
categoriesCloud:
|
|
||||||
title:
|
|
||||||
other: Catégories
|
|
||||||
|
|
||||||
search:
|
search:
|
||||||
title:
|
title:
|
||||||
|
72
i18n/oc.yaml
72
i18n/oc.yaml
@ -1,72 +0,0 @@
|
|||||||
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 }}
|
|
@ -3,43 +3,5 @@
|
|||||||
<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 }}
|
@ -22,7 +22,7 @@
|
|||||||
<managingEditor>{{.}}{{ with $.Site.Params.Author.name }} ({{.}}){{end}}</managingEditor>{{end}}{{ with .Site.Params.Author.email }}
|
<managingEditor>{{.}}{{ with $.Site.Params.Author.name }} ({{.}}){{end}}</managingEditor>{{end}}{{ with .Site.Params.Author.email }}
|
||||||
<webMaster>{{.}}{{ with $.Site.Params.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>{{ (index $pages.ByLastmod.Reverse 0).Lastmod.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" -}}
|
||||||
{{ 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 -}}
|
||||||
|
@ -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 | time.Format (or .Site.Params.dateFormat.published "Jan 02, 2006") -}}
|
{{- .Date.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 | time.Format ( or .Site.Params.dateFormat.lastUpdated "Jan 02, 2006 15:04 MST" ) }}
|
{{ T "article.lastUpdatedOn" }} {{ .Lastmod.Format ( or .Site.Params.dateFormat.lastUpdated "Jan 02, 2006 15:04 MST" ) }}
|
||||||
</span>
|
</span>
|
||||||
</section>
|
</section>
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
{{- partial "helper/external" (dict "Context" . "Namespace" "KaTeX") -}}
|
{{- partial "helper/external" (dict "Context" . "Namespace" "KaTeX") -}}
|
||||||
<script>
|
<script>
|
||||||
window.addEventListener("DOMContentLoaded", () => {
|
window.addEventListener("DOMContentLoaded", () => {
|
||||||
const mainArticleElement = document.querySelector(".main-article");
|
renderMathInElement(document.body, {
|
||||||
renderMathInElement(mainArticleElement, {
|
|
||||||
delimiters: [
|
delimiters: [
|
||||||
{ left: "$$", right: "$$", display: true },
|
{ left: "$$", right: "$$", display: true },
|
||||||
{ left: "$", right: "$", display: false },
|
{ left: "$", right: "$", display: false },
|
||||||
|
@ -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" | toCSS | minify -}}
|
{{- $style := resources.Get "scss/partials/comments/disqusjs.scss" | resources.ToCSS | minify -}}
|
||||||
<link rel="stylesheet" href="{{ $style.RelPermalink }}">
|
<link rel="stylesheet" href="{{ $style.RelPermalink }}">
|
||||||
|
|
||||||
<div class="disqus-container">
|
<div class="disqus-container">
|
||||||
|
@ -12,7 +12,6 @@
|
|||||||
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,7 +15,6 @@
|
|||||||
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.39/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 {
|
||||||
|
@ -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 | fingerprint -}}
|
{{- $script := resources.Get "ts/main.ts" | js.Build $opts -}}
|
||||||
|
|
||||||
<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 | fingerprint -}}
|
{{- $customScript := . | js.Build $opts -}}
|
||||||
<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.30.0" -}}
|
{{- $ThemeVersion := "3.26.0" -}}
|
||||||
<footer class="site-footer">
|
<footer class="site-footer">
|
||||||
<section class="copyright">
|
<section class="copyright">
|
||||||
©
|
©
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
{{ $sass := resources.Get "scss/style.scss" }}
|
{{ $sass := resources.Get "scss/style.scss" }}
|
||||||
{{ $style := $sass | toCSS | minify | resources.Fingerprint "sha256" }}
|
{{ $style := $sass | resources.ToCSS | minify | resources.Fingerprint "sha256" }}
|
||||||
<link rel="stylesheet" href="{{ $style.RelPermalink }}">
|
<link rel="stylesheet" href="{{ $style.RelPermalink }}">
|
Loading…
Reference in New Issue
Block a user