Compare commits

...
26 Commits
Author SHA1 Message Date
Jimmy Cai 13568d8ff0 release: 3.17.0 2023-07-18 00:07:02 +00:00
SimbaFsandGitHub 2fb534f9a6 feat(i18n): update translations for zh-tw (#786)
* sync with latest

* translate zh-tw
2023-07-15 10:13:16 +08:00
Piotr HalamaandGitHub 58559c5b3f feat(i18n): add missing plural forms for the Polish language (#818)
Add missing plural forms for the Polish language
2023-07-15 09:35:09 +08:00
Tsung-Yu ChanandGitHub 0bc942bb12 fix: remark42 comment system won't show (#799) 2023-07-12 09:37:39 +08:00
WeltolkandGitHub a88fe3f5a7 chore: update twikoo version (#783) 2023-07-12 09:20:25 +08:00
Jacob ZhongandGitHub 1bd4dcd415 fix(sidebar): add padding-bottom to the right sidebar (#765)
Add bottom padding to the right sidebar
2023-07-12 09:12:58 +08:00
Jimmy CaiandGitHub aae9cf67db fix: typo in README: stater -> starter
closes https://github.com/CaiJimmy/hugo-theme-stack/issues/764
2023-02-16 20:07:43 +01:00
Nagakawa YunoandGitHub cb42d2041f fix: KaTeX may render contents in gist under certain conditions (#755)
add gist to katex's ignoredClasses
2023-02-16 20:03:32 +01:00
ttheng3810andGitHub 4272da7ee4 feat(i18n): add footer translation for ZH-TW (#748) 2022-12-29 21:18:14 +01:00
ParasomniaandGitHub d382ca993d fix(comment/utterances): the target origin mismatch recipient window's origin (#735) 2022-12-06 14:55:40 +01:00
rock GandGitHub 3ff06fe033 fix: anchor link need decode (#719) 2022-12-05 21:21:37 +01:00
Anh Nhat TranandGitHub ff7a56a7ac feat(i18n): add vietnamese translation (#717) 2022-12-03 13:27:55 +01:00
Jimmy CaiandGitHub 196116f20d fix: incorrect menu URL when baseURL is a subpath (#713) 2022-10-29 17:28:47 +02:00
Jimmy CaiandGitHub b03390d237 Revert "Merge branch 'canary' into master" (#712)
Revert "Merge branch 'canary' into master (#711)"

This reverts commit 8a597a5c9c.
2022-10-29 17:14:19 +02:00
Jimmy CaiandGitHub 8a597a5c9c Merge branch 'canary' into master (#711)
* refactor(i18n): simplify the structure of the translation file

* chore: prepare repository for v4.0.0-alpha

* chore: modify go.mod to v4

* refactor: migrate theme configuration to TOML

* fix: exampleSite not using correct theme

* feat: add favicon from assets folder

* refactor: drop linear grandient background feature

remove node-vibrant from dependencies

* feat: use Hugo's code block render hook to implement code copy button

Now it can have i18n support

* refactor: delete color.ts

* refactor: delete Emoji support post from example site

* refactor: drop support for `hidden` field in front matter

* feat: upgrade to PhotoSwipe v5

* chore: bump the required hugo version to 0.100.0

* refactor: remove PhotoSwipe from external.yaml

* fix: extra margin in search result

* fix: incorrect markdown heading level in example site

* refactor: remove some usages of `default` in template

No longer needed thanks to Hugo's configuration merge

* fix: one line codeblock style in firefox

closes https://github.com/CaiJimmy/hugo-theme-stack/issues/564

* feat: add style to new codeblock

* feat: i18n support for codeblock copy text

* fix(menu): jitter when closing menu

It's caused by flexbox gap property, which can't animate

* fix(search): long text overflows under the Search icon

closes https://github.com/CaiJimmy/hugo-theme-stack/issues/515
2022-10-29 17:02:24 +02:00
Jimmy Cai d60083e055 release: 3.16.0 2022-10-29 14:46:07 +00:00
Jimmy CaiandGitHub 5d34c3de44 fix(article): frontmatter field .ReadingTime should overwrite global configuration (#710) 2022-10-29 14:50:15 +02:00
MartinAramayoandGitHub 30e033c660 feat(article): make long KaTeX equations scrollable in the x-axis (#706)
* Make long KaTeX equations scrollable in the x-axis

Suggested from: https://katex.org/docs/issues.html, I have tested it adding a long equation and activating a phone user agent.

* refactor: move KaTeX style to article.scss
2022-10-29 14:38:44 +02:00
Jimmy Cai 86314608e3 style: fix indent 2022-10-29 12:19:09 +00:00
Tom MorrisandGitHub 8611363549 feat: add rel=me to social links (#707)
Adds rel-me to social links

[rel="me"] is a commonly used way to show that that two websites or
social
media accounts are the same, and is used for authentication and proving
site ownership in a variety of ways.

[rel="me"]: https://indieweb.org/rel-me
2022-10-29 14:04:21 +02:00
Jimmy Cai 73437f24ea release: 3.15.0 2022-10-22 10:17:46 +00:00
9b464bd9fc feat(page): add keywords front matter field for better SEO (#664)
* added keywords metadata tag for google SEO

* fix: avoid empty keywords meta tag

Co-authored-by: Jimmy Cai <github@jimmycai.com>
2022-10-22 12:13:24 +02:00
FarisZRandGitHub 70f431ea18 feat: add a separate configuration field for site description (#672)
* Add an optional site description option

* Add site description to the example site (Chinese Auto-translated)
2022-10-22 11:56:38 +02:00
Ahmad HelalyandGitHub 30fdd000f9 feat(article): add readingTime front matter field to overwrite global configuration (#701)
* add DisableReadTime for articles

* change frontmatter disableReadingTime to readingTime
2022-10-22 11:48:00 +02:00
ae497c4789 refactor(grid): avoid sidebar layout shift when main content loads slowly (#677)
Co-authored-by: Luguoba <80254980+luguoba@users.noreply.github.com>
2022-10-21 13:06:06 +02:00
Celso MirandaandGitHub 299b80c5f8 feat(i18n): add european portuguese translation (#699)
Very subtle changes from the Brazilian Portuguese translation
2022-10-21 12:56:00 +02:00
20 changed files with 220 additions and 17 deletions
+1 -1
View File
@@ -12,7 +12,7 @@ Use this template: [CaiJimmy/hugo-theme-stack-starter](https://github.com/CaiJim
## 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)
## Documentation
+3
View File
@@ -3,10 +3,12 @@
margin-right: auto;
.left-sidebar {
order: -3;
max-width: var(--left-sidebar-max-width);
}
.right-sidebar {
order: -1;
max-width: var(--right-sidebar-max-width);
/// Display right sidebar when min-width: lg
@@ -73,6 +75,7 @@
}
main.main {
order: -2;
min-width: 0;
max-width: 100%;
flex-grow: 1;
+6
View File
@@ -412,4 +412,10 @@
margin-right: calc((var(--card-padding)) * -1);
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;
}
}
+1
View File
@@ -79,6 +79,7 @@
@include respond(lg) {
padding-top: var(--main-top-padding);
padding-bottom: var(--main-top-padding);
}
}
+2 -2
View File
@@ -21,8 +21,8 @@ function setupSmoothAnchors() {
aElement.addEventListener("click", clickEvent => {
clickEvent.preventDefault();
const targetId = aElement.getAttribute("href").substring(1),
target = document.getElementById(targetId) as HTMLElement,
const targetId = decodeURI(aElement.getAttribute("href").substring(1)),
target = document.getElementById(targetId) as HTMLElement,
offset = target.getBoundingClientRect().top - document.documentElement.getBoundingClientRect().top;
window.history.pushState({}, "", aElement.getAttribute("href"));
+3
View File
@@ -8,15 +8,18 @@ languages:
en:
languageName: English
title: Example Site
description: Example description
weight: 1
zh-cn:
languageName: 中文
title: 演示站点
description: 演示说明
weight: 2
ar:
languageName: عربي
languagedirection: rtl
title: موقع تجريبي
description: وصف تجريبي
weight: 3
# Change it to your Disqus shortname before using
+12 -3
View File
@@ -7,6 +7,8 @@ darkMode:
list:
page:
one: "{{ .Count }} strona"
few: "{{ .Count }} strony"
many: "{{ .Count }} stron"
other: "{{ .Count }} stron"
section:
@@ -14,7 +16,9 @@ list:
subsection:
one: Podsekcja
other: Podsekcje
few: Podsekcje
many: Podsekcji
other: Podsekcji
article:
back:
@@ -28,9 +32,11 @@ article:
lastUpdatedOn:
other: Ostatnio zaktualizowany
readingTime:
one: "Przeczytasz w {{ .Count }} minutę"
few: "Przeczytasz w {{ .Count }} minuty"
many: "Przeczytasz w {{ .Count }} minut"
other: "Przeczytasz w {{ .Count }} minut"
notFound:
@@ -50,7 +56,7 @@ widget:
tagCloud:
title:
other: Tagi
categoriesCloud:
title:
other: Kategorie
@@ -63,6 +69,9 @@ search:
other: Wpisz coś...
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)"
footer:
+67
View 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 }}
+74
View 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 }}
+24
View File
@@ -4,6 +4,18 @@ toggleMenu:
darkMode:
other: 夜晚模式
list:
page:
one: "第 {{ .Count }} 頁"
other: "第 {{ .Count }} 頁"
section:
other: 段落
subsection:
one: 小節
other: 小節
article:
back:
other: 返回
@@ -18,11 +30,13 @@ article:
other: 最後更新
readingTime:
one: "閱讀時間: {{ .Count }} 分鐘"
other: "閱讀時間: {{ .Count }} 分鐘"
notFound:
title:
other: 404 錯誤
subtitle:
other: 頁面不存在
@@ -37,6 +51,9 @@ widget:
tagCloud:
title:
other: 標籤雲
categoriesCloud:
title:
other: 分類
search:
title:
@@ -47,3 +64,10 @@ search:
resultTitle:
other: "#PAGES_COUNT 個結果 (用時 #TIME_SECONDS 秒)"
footer:
builtWith:
other: 使用 {{ .Generator }} 建立
designedBy:
other: 主題 {{ .Theme }} 由 {{ .DesignedBy }} 設計
+1 -1
View File
@@ -18,10 +18,10 @@
{{- block "left-sidebar" . -}}
{{ partial "sidebar/left.html" . }}
{{- end -}}
{{- block "right-sidebar" . -}}{{ end }}
<main class="main full-width">
{{- block "main" . }}{{- end }}
</main>
{{- block "right-sidebar" . -}}{{ end }}
</div>
{{ partial "footer/include.html" . }}
</body>
@@ -23,9 +23,12 @@
{{ end }}
</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">
{{ if not .Date.IsZero }}
{{ if $showDate }}
<div>
{{ partial "helper/icon" "date" }}
<time class="article-time--published">
@@ -34,7 +37,7 @@
</div>
{{ end }}
{{ if .Site.Params.article.readingTime }}
{{ if $showReadingTime }}
<div>
{{ partial "helper/icon" "clock" }}
<time class="article-time--reading">
@@ -55,4 +58,4 @@
</div>
</footer>
{{ end }}
</div>
</div>
@@ -7,6 +7,7 @@
{ left: "$", right: "$", display: false },
{ left: "\\(", right: "\\)", display: false },
{ left: "\\[", right: "\\]", display: true }
]
],
ignoredClasses: ["gist"]
});})
</script>
@@ -13,7 +13,7 @@
show_email_subscription: {{ default true .show_email_subscription }}
};
function(e, n) {
!function(e, n) {
for (var o = 0; o < e.length; o++) {
var r = n.createElement('script'),
c = '.js',
@@ -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.11/dist/twikoo.all.min.js"></script>
<div id="tcomment"></div>
<style>
.twikoo {
@@ -16,6 +16,8 @@
</style>
<script>
let utterancesLoaded = false;
function setUtterancesTheme(theme) {
let utterances = document.querySelector('.utterances iframe');
if (utterances) {
@@ -31,10 +33,14 @@
addEventListener('message', event => {
if (event.origin !== 'https://utteranc.es') return;
/// Called when Utterances is ready
utterancesLoaded = true;
setUtterancesTheme(document.documentElement.dataset.scheme)
});
window.addEventListener('onColorSchemeChange', (e) => {
if (!utterancesLoaded) return;
setUtterancesTheme(e.detail)
})
</script>
+5
View File
@@ -1,6 +1,11 @@
<!-- Use site subtitle by default -->
{{ $description := .Site.Params.sidebar.subtitle }}
<!-- Seprate description exists -->
{{ if .Site.Params.description }}
{{ $description = .Site.Params.description }}
{{ end }}
{{ if .Description }}
<!-- Page description exists -->
{{ $description = .Description }}
+1 -1
View File
@@ -1,4 +1,4 @@
{{- $ThemeVersion := "3.14.0" -}}
{{- $ThemeVersion := "3.17.0" -}}
<footer class="site-footer">
<section class="copyright">
&copy;
+1
View File
@@ -3,6 +3,7 @@
{{- $description := partialCached "data/description" . .RelPermalink -}}
<meta name='description' content='{{ $description }}'>
{{ with .Params.Keywords }}<meta name="keywords" content="{{ delimit . ", " }}">{{ end }}
{{- $title := partialCached "data/title" . .RelPermalink -}}
<title>{{ $title }}</title>
+2 -2
View File
@@ -45,6 +45,7 @@
href='{{ .URL }}'
{{ if eq (default true .Params.newTab) true }}target="_blank"{{ end }}
{{ with .Name }}title="{{ . }}"{{ end }}
rel="me"
>
{{ $icon := default "link" .Params.Icon }}
{{ with $icon }}
@@ -60,9 +61,8 @@
{{ $currentPage := . }}
{{ range .Site.Menus.main }}
{{ $active := or (eq $currentPage.Title .Name) (or ($currentPage.HasMenuCurrent "main" .) ($currentPage.IsMenuCurrent "main" .)) }}
<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 }}
{{ 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 }}