From a141a6fb48d8eff4152b94ffd9e40617c3649fc8 Mon Sep 17 00:00:00 2001
From: Peter Tanner
Date: Sun, 13 Oct 2024 04:56:18 +0800
Subject: [PATCH] Upgrade chirpy theme to 7.0.0
---
.github/DISCUSSION_TEMPLATE/general.yml | 17 +
.github/DISCUSSION_TEMPLATE/ideas.yml | 7 +
.github/DISCUSSION_TEMPLATE/q-a.yml | 40 +
.github/FUNDING.yml | 2 +
.github/ISSUE_TEMPLATE/bug_report.yml | 64 +
.github/ISSUE_TEMPLATE/config.yml | 5 +
.github/ISSUE_TEMPLATE/feature_request.yml | 38 +
.github/PULL_REQUEST_TEMPLATE.md | 17 +
.github/codeql/codeql-config.yml | 2 +
.github/dependabot.yml | 25 +
.github/workflows/cd.yml | 37 +
.github/workflows/ci.yml | 44 +
.github/workflows/codeql.yml | 44 +
.github/workflows/commitlint.yml | 9 +
.github/workflows/publish.yml | 17 +
.github/workflows/stale.yml | 32 +
.github/workflows/starter/pages-deploy.yml | 73 +
.github/workflows/style-lint.yml | 23 +
.gitignore | 11 +-
.husky/commit-msg | 4 +
.markdownlint.json | 8 +
.nojekyll | 1 -
Gemfile | 23 +-
LICENSE | 21 +
_config.yml | 55 +-
_data/locales/ar.yml | 91 +
_data/locales/bg-BG.yml | 81 +
_data/locales/cs-CZ.yml | 89 +
_data/locales/de-DE.yml | 87 +
_data/locales/el-GR.yml | 91 +
_data/locales/en.yml | 91 +
_data/locales/es-ES.yml | 77 +
_data/locales/fi-FI.yml | 90 +
_data/locales/fr-FR.yml | 77 +
_data/locales/hu-HU.yml | 79 +
_data/locales/id-ID.yml | 77 +
_data/locales/it-IT.yml | 90 +
_data/locales/ko-KR.yml | 84 +
_data/locales/my-MM.yml | 77 +
_data/locales/pt-BR.yml | 77 +
_data/locales/ru-RU.yml | 87 +
_data/locales/sl-SI.yml | 91 +
_data/locales/sv-SE.yml | 91 +
_data/locales/th.yml | 91 +
_data/locales/tr-TR.yml | 77 +
_data/locales/uk-UA.yml | 77 +
_data/locales/vi-VN.yml | 76 +
_data/locales/zh-CN.yml | 83 +
_data/locales/zh-TW.yml | 83 +
_data/media.yml | 18 +
_data/origin/basic.yml | 39 +
_data/origin/cors.yml | 54 +
_data/share.yml | 23 +-
_includes/analytics/cloudflare.html | 7 +
_includes/analytics/goatcounter.html | 6 +
_includes/analytics/google.html | 13 +
_includes/analytics/matomo.html | 14 +
_includes/analytics/umami.html | 6 +
_includes/comments.html | 5 +
_includes/comments/disqus.html | 50 +
_includes/comments/giscus.html | 65 +
_includes/comments/utterances.html | 49 +
_includes/datetime.html | 20 +
_includes/embed/audio.html | 35 +
_includes/embed/bilibili.html | 9 +
_includes/embed/twitch.html | 8 +
_includes/embed/video.html | 59 +
_includes/embed/youtube.html | 9 +
_includes/favicons.html | 19 +
_includes/footer.html | 78 +-
_includes/head.html | 107 ++
_includes/js-selector.html | 107 ++
_includes/jsdelivr-combine.html | 26 +
_includes/lang.html | 10 +
_includes/language-alias.html | 70 +
_includes/media-url.html | 37 +
_includes/mermaid.html | 62 +
_includes/metadata-hook.html | 1 +
_includes/mode-toggle.html | 116 ++
_includes/no-linenos.html | 10 +
_includes/notification.html | 24 +
_includes/origin-type.html | 13 +
_includes/pageviews/goatcounter.html | 18 +
_includes/post-description.html | 16 +
_includes/post-nav.html | 34 +
_includes/post-paginator.html | 91 +
_includes/post-sharing.html | 52 +
_includes/read-time.html | 37 +
_includes/refactor-content.html | 255 +++
_includes/related-posts.html | 94 +
_includes/search-loader.html | 47 +
_includes/search-results.html | 10 +
_includes/sidebar.html | 17 +-
_includes/toc.html | 13 +
_includes/topbar.html | 77 +
_includes/trending-tags.html | 46 +
_includes/update-list.html | 40 +
_javascript/_copyright | 1 +
_javascript/categories.js | 7 +
_javascript/commons.js | 5 +
_javascript/home.js | 8 +
_javascript/misc.js | 7 +
_javascript/modules/components/back-to-top.js | 19 +
.../modules/components/category-collapse.js | 36 +
_javascript/modules/components/clipboard.js | 143 ++
_javascript/modules/components/img-loading.js | 67 +
_javascript/modules/components/img-popup.js | 15 +
.../modules/components/locale-datetime.js | 53 +
.../modules/components/mode-watcher.js | 14 +
.../modules/components/search-display.js | 110 ++
_javascript/modules/components/sidebar.js | 27 +
_javascript/modules/components/toc.js | 15 +
.../modules/components/tooltip-loader.js | 11 +
_javascript/modules/layouts.js | 3 +
_javascript/modules/layouts/basic.js | 7 +
_javascript/modules/layouts/sidebar.js | 7 +
_javascript/modules/layouts/topbar.js | 5 +
_javascript/modules/plugins.js | 6 +
_javascript/page.js | 9 +
_javascript/post.js | 17 +
_javascript/pwa/_frontmatter | 3 +
_javascript/pwa/app.js | 51 +
_javascript/pwa/sw.js | 82 +
_layouts/archives.html | 35 +
_layouts/categories.html | 138 ++
_layouts/category.html | 24 +
_layouts/compress.html | 10 +
_layouts/default.html | 82 +
_layouts/home.html | 115 ++
_layouts/page.html | 20 +
_layouts/post.html | 229 +--
_layouts/tag.html | 23 +
_layouts/tags.html | 22 +
_posts/2019-08-08-text-and-typography.md | 200 +++
_posts/2019-08-08-write-a-new-post.md | 538 ++++++
_posts/2019-08-09-getting-started.md | 138 ++
_posts/2019-08-11-customize-the-favicon.md | 37 +
_posts/2023-09-18-Jaycar-price-anomaly._md | 15 +
...ium-flight-computer-sensors-comparison._md | 31 +
...2-24-Ublox-MAXM10-and-NEOM9-comparison._md | 89 +
...24-03-10-Echo360-downloader-userscript._md | 540 ++++++
_posts/2024-05-07-JLCPCB-shipping-costs._md | 71 +
...resolution-images-of-Altium-schematics._md | 16 +
.../2024-10-01-Fixing-a-Missileworks-RRC3._md | 12 +
_sass/addon/commons.scss | 1532 +++++++++++++++++
_sass/addon/module.scss | 200 +++
_sass/addon/syntax.scss | 292 ++++
_sass/addon/variables.scss | 33 +
_sass/colors/syntax-dark.scss | 164 ++
_sass/colors/syntax-light.scss | 214 +++
_sass/colors/typography-dark.scss | 147 ++
_sass/colors/typography-light.scss | 112 ++
_sass/layout/archives.scss | 144 ++
_sass/layout/categories.scss | 83 +
_sass/layout/category-tag.scss | 72 +
_sass/layout/home.scss | 189 ++
_sass/layout/post.scss | 370 ++++
_sass/layout/tags.scss | 19 +
_sass/main.bundle.scss | 2 +
_sass/main.scss | 13 +
_sass/variables-hook.scss | 3 +
assets/404.html | 14 +
assets/css/jekyll-theme-chirpy.scss | 10 +
assets/feed.xml | 54 +
.../img/favicons/android-chrome-512x512.png | Bin 0 -> 62557 bytes
assets/img/favicons/browserconfig.xml | 13 +
assets/img/favicons/site.webmanifest | 26 +
assets/js/data/mathjax.js | 25 +
assets/js/data/search.json | 20 +
assets/js/data/swconf.js | 37 +
assets/robots.txt | 10 +
docs/CHANGELOG.md | 430 +++++
docs/CODE_OF_CONDUCT.md | 73 +
docs/CONTRIBUTING.md | 109 ++
docs/SECURITY.md | 13 +
jekyll-theme-chirpy.gemspec | 36 +
package.json | 177 ++
purgecss.config.js | 23 +
rollup.config.js | 74 +
tmp._md | 28 +
tools/init | 130 ++
tools/release | 201 +++
tools/run | 50 +
tools/test | 89 +
184 files changed, 12800 insertions(+), 193 deletions(-)
create mode 100644 .github/DISCUSSION_TEMPLATE/general.yml
create mode 100644 .github/DISCUSSION_TEMPLATE/ideas.yml
create mode 100644 .github/DISCUSSION_TEMPLATE/q-a.yml
create mode 100644 .github/FUNDING.yml
create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml
create mode 100644 .github/ISSUE_TEMPLATE/config.yml
create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml
create mode 100644 .github/PULL_REQUEST_TEMPLATE.md
create mode 100644 .github/codeql/codeql-config.yml
create mode 100644 .github/dependabot.yml
create mode 100644 .github/workflows/cd.yml
create mode 100644 .github/workflows/ci.yml
create mode 100644 .github/workflows/codeql.yml
create mode 100644 .github/workflows/commitlint.yml
create mode 100644 .github/workflows/publish.yml
create mode 100644 .github/workflows/stale.yml
create mode 100644 .github/workflows/starter/pages-deploy.yml
create mode 100644 .github/workflows/style-lint.yml
create mode 100644 .husky/commit-msg
create mode 100644 .markdownlint.json
create mode 100644 LICENSE
create mode 100644 _data/locales/ar.yml
create mode 100644 _data/locales/bg-BG.yml
create mode 100644 _data/locales/cs-CZ.yml
create mode 100644 _data/locales/de-DE.yml
create mode 100644 _data/locales/el-GR.yml
create mode 100644 _data/locales/en.yml
create mode 100644 _data/locales/es-ES.yml
create mode 100644 _data/locales/fi-FI.yml
create mode 100644 _data/locales/fr-FR.yml
create mode 100644 _data/locales/hu-HU.yml
create mode 100644 _data/locales/id-ID.yml
create mode 100644 _data/locales/it-IT.yml
create mode 100644 _data/locales/ko-KR.yml
create mode 100644 _data/locales/my-MM.yml
create mode 100644 _data/locales/pt-BR.yml
create mode 100644 _data/locales/ru-RU.yml
create mode 100644 _data/locales/sl-SI.yml
create mode 100644 _data/locales/sv-SE.yml
create mode 100644 _data/locales/th.yml
create mode 100644 _data/locales/tr-TR.yml
create mode 100644 _data/locales/uk-UA.yml
create mode 100644 _data/locales/vi-VN.yml
create mode 100644 _data/locales/zh-CN.yml
create mode 100644 _data/locales/zh-TW.yml
create mode 100644 _data/media.yml
create mode 100644 _data/origin/basic.yml
create mode 100644 _data/origin/cors.yml
create mode 100644 _includes/analytics/cloudflare.html
create mode 100644 _includes/analytics/goatcounter.html
create mode 100644 _includes/analytics/google.html
create mode 100644 _includes/analytics/matomo.html
create mode 100644 _includes/analytics/umami.html
create mode 100644 _includes/comments.html
create mode 100644 _includes/comments/disqus.html
create mode 100644 _includes/comments/giscus.html
create mode 100644 _includes/comments/utterances.html
create mode 100644 _includes/datetime.html
create mode 100644 _includes/embed/audio.html
create mode 100644 _includes/embed/bilibili.html
create mode 100644 _includes/embed/twitch.html
create mode 100644 _includes/embed/video.html
create mode 100644 _includes/embed/youtube.html
create mode 100644 _includes/favicons.html
create mode 100644 _includes/head.html
create mode 100644 _includes/js-selector.html
create mode 100644 _includes/jsdelivr-combine.html
create mode 100644 _includes/lang.html
create mode 100644 _includes/language-alias.html
create mode 100644 _includes/media-url.html
create mode 100644 _includes/mermaid.html
create mode 100644 _includes/metadata-hook.html
create mode 100644 _includes/mode-toggle.html
create mode 100644 _includes/no-linenos.html
create mode 100644 _includes/notification.html
create mode 100644 _includes/origin-type.html
create mode 100644 _includes/pageviews/goatcounter.html
create mode 100644 _includes/post-description.html
create mode 100644 _includes/post-nav.html
create mode 100644 _includes/post-paginator.html
create mode 100644 _includes/post-sharing.html
create mode 100644 _includes/read-time.html
create mode 100644 _includes/refactor-content.html
create mode 100644 _includes/related-posts.html
create mode 100644 _includes/search-loader.html
create mode 100644 _includes/search-results.html
create mode 100644 _includes/toc.html
create mode 100644 _includes/topbar.html
create mode 100644 _includes/trending-tags.html
create mode 100644 _includes/update-list.html
create mode 100644 _javascript/_copyright
create mode 100644 _javascript/categories.js
create mode 100644 _javascript/commons.js
create mode 100644 _javascript/home.js
create mode 100644 _javascript/misc.js
create mode 100644 _javascript/modules/components/back-to-top.js
create mode 100644 _javascript/modules/components/category-collapse.js
create mode 100644 _javascript/modules/components/clipboard.js
create mode 100644 _javascript/modules/components/img-loading.js
create mode 100644 _javascript/modules/components/img-popup.js
create mode 100644 _javascript/modules/components/locale-datetime.js
create mode 100644 _javascript/modules/components/mode-watcher.js
create mode 100644 _javascript/modules/components/search-display.js
create mode 100644 _javascript/modules/components/sidebar.js
create mode 100644 _javascript/modules/components/toc.js
create mode 100644 _javascript/modules/components/tooltip-loader.js
create mode 100644 _javascript/modules/layouts.js
create mode 100644 _javascript/modules/layouts/basic.js
create mode 100644 _javascript/modules/layouts/sidebar.js
create mode 100644 _javascript/modules/layouts/topbar.js
create mode 100644 _javascript/modules/plugins.js
create mode 100644 _javascript/page.js
create mode 100644 _javascript/post.js
create mode 100644 _javascript/pwa/_frontmatter
create mode 100644 _javascript/pwa/app.js
create mode 100644 _javascript/pwa/sw.js
create mode 100644 _layouts/archives.html
create mode 100644 _layouts/categories.html
create mode 100644 _layouts/category.html
create mode 100644 _layouts/compress.html
create mode 100644 _layouts/default.html
create mode 100644 _layouts/home.html
create mode 100644 _layouts/page.html
create mode 100644 _layouts/tag.html
create mode 100644 _layouts/tags.html
create mode 100644 _posts/2019-08-08-text-and-typography.md
create mode 100644 _posts/2019-08-08-write-a-new-post.md
create mode 100644 _posts/2019-08-09-getting-started.md
create mode 100644 _posts/2019-08-11-customize-the-favicon.md
create mode 100644 _posts/2023-09-18-Jaycar-price-anomaly._md
create mode 100644 _posts/2023-11-25-Neptunium-flight-computer-sensors-comparison._md
create mode 100644 _posts/2024-02-24-Ublox-MAXM10-and-NEOM9-comparison._md
create mode 100644 _posts/2024-03-10-Echo360-downloader-userscript._md
create mode 100644 _posts/2024-05-07-JLCPCB-shipping-costs._md
create mode 100644 _posts/2024-09-05-Tutorial-Create-highresolution-images-of-Altium-schematics._md
create mode 100644 _posts/2024-10-01-Fixing-a-Missileworks-RRC3._md
create mode 100644 _sass/addon/commons.scss
create mode 100644 _sass/addon/module.scss
create mode 100644 _sass/addon/syntax.scss
create mode 100644 _sass/addon/variables.scss
create mode 100644 _sass/colors/syntax-dark.scss
create mode 100644 _sass/colors/syntax-light.scss
create mode 100644 _sass/colors/typography-dark.scss
create mode 100644 _sass/colors/typography-light.scss
create mode 100644 _sass/layout/archives.scss
create mode 100644 _sass/layout/categories.scss
create mode 100644 _sass/layout/category-tag.scss
create mode 100644 _sass/layout/home.scss
create mode 100644 _sass/layout/post.scss
create mode 100644 _sass/layout/tags.scss
create mode 100644 _sass/main.bundle.scss
create mode 100644 _sass/main.scss
create mode 100644 _sass/variables-hook.scss
create mode 100644 assets/404.html
create mode 100644 assets/css/jekyll-theme-chirpy.scss
create mode 100644 assets/feed.xml
create mode 100644 assets/img/favicons/android-chrome-512x512.png
create mode 100644 assets/img/favicons/browserconfig.xml
create mode 100644 assets/img/favicons/site.webmanifest
create mode 100644 assets/js/data/mathjax.js
create mode 100644 assets/js/data/search.json
create mode 100644 assets/js/data/swconf.js
create mode 100644 assets/robots.txt
create mode 100644 docs/CHANGELOG.md
create mode 100644 docs/CODE_OF_CONDUCT.md
create mode 100644 docs/CONTRIBUTING.md
create mode 100644 docs/SECURITY.md
create mode 100644 jekyll-theme-chirpy.gemspec
create mode 100644 package.json
create mode 100644 purgecss.config.js
create mode 100644 rollup.config.js
create mode 100644 tmp._md
create mode 100644 tools/init
create mode 100644 tools/release
create mode 100644 tools/run
create mode 100644 tools/test
diff --git a/.github/DISCUSSION_TEMPLATE/general.yml b/.github/DISCUSSION_TEMPLATE/general.yml
new file mode 100644
index 0000000..18d0f85
--- /dev/null
+++ b/.github/DISCUSSION_TEMPLATE/general.yml
@@ -0,0 +1,17 @@
+body:
+ - type: checkboxes
+ attributes:
+ label: Checklist
+ description: Following the guidelines can make you more likely to get responses.
+ options:
+ - label: >-
+ I have read and accepted the
+ [contributing guidelines](https://github.com/cotes2020/jekyll-theme-chirpy/blob/master/docs/CONTRIBUTING.md).
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Description
+ description: Please describe in detail what you want to share.
+ validations:
+ required: true
diff --git a/.github/DISCUSSION_TEMPLATE/ideas.yml b/.github/DISCUSSION_TEMPLATE/ideas.yml
new file mode 100644
index 0000000..e4c987d
--- /dev/null
+++ b/.github/DISCUSSION_TEMPLATE/ideas.yml
@@ -0,0 +1,7 @@
+body:
+ - type: textarea
+ attributes:
+ label: Description
+ description: Please describe in detail what you want to share.
+ validations:
+ required: true
diff --git a/.github/DISCUSSION_TEMPLATE/q-a.yml b/.github/DISCUSSION_TEMPLATE/q-a.yml
new file mode 100644
index 0000000..a2e2aa1
--- /dev/null
+++ b/.github/DISCUSSION_TEMPLATE/q-a.yml
@@ -0,0 +1,40 @@
+body:
+ - type: checkboxes
+ attributes:
+ label: Checklist
+ description: Following the guidelines can make you more likely to get responses.
+ options:
+ - label: >-
+ I have read and accepted the
+ [contributing guidelines](https://github.com/cotes2020/jekyll-theme-chirpy/blob/master/docs/CONTRIBUTING.md).
+ required: true
+
+ - type: dropdown
+ id: download
+ attributes:
+ label: How did you create the site?
+ options:
+ - Generated from `chirpy-starter`
+ - Built from `jekyll-theme-chirpy`
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Description
+ description: Please describe your need in detail.
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Operations you have already tried
+ description: Describe the effort you went through.
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Anything else?
+ description: |
+ Links? References? Or logs? Anything that will give us more context about the issue you are encountering!
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
new file mode 100644
index 0000000..f22921b
--- /dev/null
+++ b/.github/FUNDING.yml
@@ -0,0 +1,2 @@
+ko_fi: coteschung
+custom: https://sponsor.cotes.page
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
new file mode 100644
index 0000000..7b513fb
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -0,0 +1,64 @@
+name: Bug Report
+description: Create a report to help us improve
+body:
+ - type: checkboxes
+ attributes:
+ label: Checklist
+ description: Following the guidelines can make you more likely to get responses.
+ options:
+ - label: >-
+ I have read and accepted the
+ [contributing guidelines](https://github.com/cotes2020/jekyll-theme-chirpy/blob/master/docs/CONTRIBUTING.md).
+ required: true
+
+ - type: dropdown
+ id: download
+ attributes:
+ label: How did you create the site?
+ options:
+ - Generated from `chirpy-starter`
+ - Built from `jekyll-theme-chirpy`
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Describe the bug
+ description: A clear and concise description of what the bug is.
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Steps To Reproduce
+ description: Steps to reproduce the behavior.
+ placeholder: |
+ 1. In this environment...
+ 2. With this config...
+ 3. Run '...'
+ 4. See error...
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Expected Behavior
+ description: A concise description of what you expected to happen.
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Environment
+ value: |
+ - Ruby:
+ - Jekyll:
+ - Chirpy:
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Anything else?
+ description: |
+ Links? References? Or logs? Anything that will give us more context about the issue you are encountering!
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 0000000..1dfb2b2
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,5 @@
+blank_issues_enabled: false
+contact_links:
+ - name: Ask the community for help
+ url: https://github.com/cotes2020/jekyll-theme-chirpy/discussions
+ about: Please ask and answer questions here.
diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml
new file mode 100644
index 0000000..7957035
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request.yml
@@ -0,0 +1,38 @@
+name: Feature Request
+description: Suggest an idea for this project
+labels:
+ - enhancement
+body:
+ - type: checkboxes
+ attributes:
+ label: Checklist
+ description: Following the guidelines can make you more likely to get responses.
+ options:
+ - label: >-
+ I have read and accepted the
+ [contributing guidelines](https://github.com/cotes2020/jekyll-theme-chirpy/blob/master/docs/CONTRIBUTING.md).
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Is your feature request related to a problem? Please describe
+ description: A clear and concise description of what the problem is.
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Describe the solution you'd like
+ description: A clear and concise description of what you want to happen.
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Describe alternatives you've considered
+ description: A clear and concise description of any alternative solutions or features you've considered.
+
+ - type: textarea
+ attributes:
+ label: Additional context
+ description: Add any other context or screenshots about the feature request here.
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 0000000..0ff984a
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,17 @@
+## Type of change
+
+- [ ] Bug fix (non-breaking change which fixes an issue)
+- [ ] New feature (non-breaking change which adds functionality)
+- [ ] Improvement (refactoring and improving code)
+- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
+- [ ] Documentation update
+
+## Description
+
+
+## Additional context
+
diff --git a/.github/codeql/codeql-config.yml b/.github/codeql/codeql-config.yml
new file mode 100644
index 0000000..1439beb
--- /dev/null
+++ b/.github/codeql/codeql-config.yml
@@ -0,0 +1,2 @@
+paths-ignore:
+ - "assets/js"
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 0000000..393fa98
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,25 @@
+version: 2
+updates:
+ - package-ecosystem: "bundler"
+ directory: "/"
+ schedule:
+ interval: "weekly"
+ - package-ecosystem: "npm"
+ directory: "/"
+ versioning-strategy: increase
+ groups:
+ npm:
+ update-types:
+ - "major"
+ - "minor"
+ - "patch"
+ schedule:
+ interval: "weekly"
+ - package-ecosystem: "github-actions"
+ directory: "/"
+ groups:
+ gh-actions:
+ update-types:
+ - "major"
+ schedule:
+ interval: "weekly"
diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml
new file mode 100644
index 0000000..160750d
--- /dev/null
+++ b/.github/workflows/cd.yml
@@ -0,0 +1,37 @@
+name: CD
+
+on:
+ push:
+ branches:
+ - production
+ tags-ignore:
+ - "**"
+
+jobs:
+ release:
+ permissions:
+ contents: write
+ issues: write
+ pull-requests: write
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+
+ - uses: ruby/setup-ruby@v1
+ with:
+ ruby-version: 3.3
+ bundler-cache: true
+
+ - uses: actions/setup-node@v4
+ with:
+ node-version: latest
+
+ - run: npm install
+ - run: npx semantic-release
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ GEM_HOST_API_KEY: ${{ secrets.GEM_HOST_API_KEY }}
+
+ publish:
+ needs: release
+ uses: ./.github/workflows/publish.yml
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..078e4f1
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,44 @@
+name: "CI"
+on:
+ push:
+ branches:
+ - "master"
+ paths-ignore:
+ - ".github/**"
+ - "!.github/workflows/ci.yml"
+ - ".gitignore"
+ - "docs/**"
+ - "README.md"
+ - "LICENSE"
+ pull_request:
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ strategy:
+ matrix:
+ ruby: ["3.1", "3.2", "3.3"]
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0 # for posts's lastmod
+
+ - name: Setup Ruby
+ uses: ruby/setup-ruby@v1
+ with:
+ ruby-version: ${{ matrix.ruby }}
+ bundler-cache: true
+
+ - name: Setup Node
+ uses: actions/setup-node@v4
+ with:
+ node-version: latest
+
+ - name: Build Assets
+ run: npm i && npm run build
+
+ - name: Test Site
+ run: bash tools/test
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
new file mode 100644
index 0000000..06feb7f
--- /dev/null
+++ b/.github/workflows/codeql.yml
@@ -0,0 +1,44 @@
+name: "CodeQL"
+
+on:
+ push:
+ branches: ["master"]
+ paths: ["_javascript/**/*.js"]
+ pull_request:
+ paths: ["_javascript/**/*.js"]
+
+jobs:
+ analyze:
+ name: Analyze
+ runs-on: ubuntu-latest
+ permissions:
+ actions: read
+ contents: read
+ security-events: write
+
+ strategy:
+ fail-fast: false
+ matrix:
+ language: ["javascript"]
+ # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v4
+
+ # Initializes the CodeQL tools for scanning.
+ - name: Initialize CodeQL
+ uses: github/codeql-action/init@v3
+ with:
+ languages: "${{ matrix.language }}"
+ config-file: .github/codeql/codeql-config.yml
+
+ # Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java).
+ # If this step fails, then you should remove it and run the build manually (see below)
+ - name: Autobuild
+ uses: github/codeql-action/autobuild@v3
+
+ - name: Perform CodeQL Analysis
+ uses: github/codeql-action/analyze@v3
+ with:
+ category: "/language:${{ matrix.language }}"
diff --git a/.github/workflows/commitlint.yml b/.github/workflows/commitlint.yml
new file mode 100644
index 0000000..c9c48c3
--- /dev/null
+++ b/.github/workflows/commitlint.yml
@@ -0,0 +1,9 @@
+name: Lint Commit Messages
+on: pull_request
+
+jobs:
+ commitlint:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: wagoid/commitlint-github-action@v6
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
new file mode 100644
index 0000000..20e4691
--- /dev/null
+++ b/.github/workflows/publish.yml
@@ -0,0 +1,17 @@
+name: Publish
+
+on:
+ push:
+ branches:
+ - docs
+ workflow_call:
+
+jobs:
+ launch:
+ runs-on: ubuntu-latest
+ steps:
+ - run: |
+ curl -X POST -H "Accept: application/vnd.github+json" \
+ -H "Authorization: Bearer ${{ secrets.GH_PAT }}" \
+ https://api.github.com/repos/${{ secrets.BUILDER }}/dispatches \
+ -d '{"event_type":"deploy", "client_payload":{"branch": "${{ github.ref_name }}"}}'
diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml
new file mode 100644
index 0000000..bcf425a
--- /dev/null
+++ b/.github/workflows/stale.yml
@@ -0,0 +1,32 @@
+name: "Close stale issues and PRs"
+
+on:
+ schedule:
+ - cron: "0 0 * * *" # every day at 00:00 UTC
+
+permissions:
+ issues: write
+ pull-requests: write
+
+env:
+ STALE_LABEL: stale
+ EXEMPT_LABELS: "pending,planning,in progress"
+ MESSAGE: >
+ This conversation has been automatically marked as stale because it has not had recent activity.
+ It will be closed if no further activity occurs.
+ Thank you for your contributions.
+
+jobs:
+ stale:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/stale@v9
+ with:
+ # 60 days before marking issues/PRs stale
+ days-before-close: -1 # does not close automatically
+ stale-issue-label: ${{ env.STALE_LABEL }}
+ exempt-issue-labels: ${{ env.EXEMPT_LABELS }}
+ stale-issue-message: ${{ env.MESSAGE }}
+ stale-pr-label: ${{ env.STALE_LABEL }}
+ exempt-pr-labels: ${{ env.EXEMPT_LABELS }}
+ stale-pr-message: ${{ env.MESSAGE }}
diff --git a/.github/workflows/starter/pages-deploy.yml b/.github/workflows/starter/pages-deploy.yml
new file mode 100644
index 0000000..cc28f99
--- /dev/null
+++ b/.github/workflows/starter/pages-deploy.yml
@@ -0,0 +1,73 @@
+name: "Build and Deploy"
+on:
+ push:
+ branches:
+ - main
+ - master
+ paths-ignore:
+ - .gitignore
+ - README.md
+ - LICENSE
+
+ # Allows you to run this workflow manually from the Actions tab
+ workflow_dispatch:
+
+permissions:
+ contents: read
+ pages: write
+ id-token: write
+
+# Allow one concurrent deployment
+concurrency:
+ group: "pages"
+ cancel-in-progress: true
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+ # submodules: true
+ # If using the 'assets' git submodule from Chirpy Starter, uncomment above
+ # (See: https://github.com/cotes2020/chirpy-starter/tree/main/assets)
+
+ - name: Setup Pages
+ id: pages
+ uses: actions/configure-pages@v4
+
+ - name: Setup Ruby
+ uses: ruby/setup-ruby@v1
+ with:
+ ruby-version: 3.3
+ bundler-cache: true
+
+ - name: Build site
+ run: bundle exec jekyll b -d "_site${{ steps.pages.outputs.base_path }}"
+ env:
+ JEKYLL_ENV: "production"
+
+ - name: Test site
+ run: |
+ bundle exec htmlproofer _site \
+ \-\-disable-external \
+ \-\-ignore-urls "/^http:\/\/127.0.0.1/,/^http:\/\/0.0.0.0/,/^http:\/\/localhost/"
+
+ - name: Upload site artifact
+ uses: actions/upload-pages-artifact@v3
+ with:
+ path: "_site${{ steps.pages.outputs.base_path }}"
+
+ deploy:
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ runs-on: ubuntu-latest
+ needs: build
+ steps:
+ - name: Deploy to GitHub Pages
+ id: deployment
+ uses: actions/deploy-pages@v4
diff --git a/.github/workflows/style-lint.yml b/.github/workflows/style-lint.yml
new file mode 100644
index 0000000..89eeaef
--- /dev/null
+++ b/.github/workflows/style-lint.yml
@@ -0,0 +1,23 @@
+name: "Style Lint"
+
+on:
+ push:
+ branches: ["master"]
+ paths: ["_sass/**/*.scss"]
+ pull_request:
+ paths: ["_sass/**/*.scss"]
+
+jobs:
+ stylelint:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Setup Node
+ uses: actions/setup-node@v4
+ with:
+ node-version: latest
+ - run: npm i
+ - run: npm test
diff --git a/.gitignore b/.gitignore
index 63bdc56..d6bf509 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,10 +1,3 @@
-*._md
-
-*.ipynb
-*.ignore
-1011_potential.html
-
-# jekyll
# Bundler cache
.bundle
vendor
@@ -12,6 +5,7 @@ Gemfile.lock
# Jekyll cache
.jekyll-cache
+.jekyll-metadata
_site
# RubyGems
@@ -24,6 +18,9 @@ package-lock.json
# IDE configurations
.idea
.vscode
+!.vscode/settings.json
+!.vscode/extensions.json
# Misc
+_sass/dist
assets/js/dist
diff --git a/.husky/commit-msg b/.husky/commit-msg
new file mode 100644
index 0000000..7f23494
--- /dev/null
+++ b/.husky/commit-msg
@@ -0,0 +1,4 @@
+#!/bin/sh
+. "$(dirname "$0")/_/husky.sh"
+
+npx --no -- commitlint --edit ${1}
diff --git a/.markdownlint.json b/.markdownlint.json
new file mode 100644
index 0000000..831991e
--- /dev/null
+++ b/.markdownlint.json
@@ -0,0 +1,8 @@
+{
+ "commands-show-output": false,
+ "blanks-around-fences": false,
+ "line-length": false,
+ "no-inline-html": {
+ "allowed_elements": ["kbd", "sub"]
+ }
+}
diff --git a/.nojekyll b/.nojekyll
index 8b13789..e69de29 100644
--- a/.nojekyll
+++ b/.nojekyll
@@ -1 +0,0 @@
-
diff --git a/Gemfile b/Gemfile
index 1d5342c..672e9e4 100644
--- a/Gemfile
+++ b/Gemfile
@@ -2,27 +2,8 @@
source "https://rubygems.org"
-gem "jekyll-theme-chirpy", "~> 6.1"
+gemspec
group :test do
- gem "html-proofer", "~> 3.18"
-end
-
-# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
-# and associated library.
-platforms :mingw, :x64_mingw, :mswin, :jruby do
- gem "tzinfo", ">= 1", "< 3"
- gem "tzinfo-data"
-end
-
-# Performance-booster for watching directories on Windows
-gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin]
-
-# Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem
-# do not have a Java counterpart.
-gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby]
-
-# Lock jekyll-sass-converter to 2.x on Linux-musl
-if RUBY_PLATFORM =~ /linux-musl/
- gem "jekyll-sass-converter", "~> 2.0"
+ gem "html-proofer", "~> 5.0"
end
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..299d89f
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2019 Cotes Chung
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/_config.yml b/_config.yml
index 8a32533..4bdda15 100644
--- a/_config.yml
+++ b/_config.yml
@@ -13,7 +13,7 @@ baseurl: ""
lang: en
# Change to your timezone › http://www.timezoneconverter.com/cgi-bin/findzone/findzone
-timezone:
+timezone: Australia/West
# jekyll-seo-tag settings › https://github.com/jekyll/jekyll-seo-tag/blob/master/docs/usage.md
# ↓ --------------------------
@@ -38,7 +38,7 @@ social:
# Change to your full name.
# It will be displayed as the default author of the posts and the copyright owner in the Footer
name: Peter Tanner
- email: example@domain.com # change to your email address
+ email: hello@petertanner.dev # change to your email address
links:
# The first element serves as the copyright owner's link
- https://github.com/peter-tanner # change to your github homepage
@@ -47,12 +47,37 @@ social:
# Uncomment below to add more social links
# - https://www.facebook.com/username
-# google_site_verification: # fill in to your verification string
+
+# Site Verification Settings
+webmaster_verifications:
+ google: # fill in your Google verification code
+ bing: # fill in your Bing verification code
+ alexa: # fill in your Alexa verification code
+ yandex: # fill in your Yandex verification code
+ baidu: # fill in your Baidu verification code
+ facebook: # fill in your Facebook verification code
+
# ↑ --------------------------
# The end of `jekyll-seo-tag` settings
-# google_analytics:
-# id: # fill in your Google Analytics ID
+# Web Analytics Settings
+analytics:
+ google:
+ id: # fill in your Google Analytics ID
+ goatcounter:
+ id: # fill in your GoatCounter ID
+ umami:
+ id: # fill in your Umami ID
+ domain: # fill in your Umami domain
+ matomo:
+ id: # fill in your Matomo ID
+ domain: # fill in your Matomo domain
+ cloudflare:
+ id: # fill in your Cloudflare Web Analytics token
+
+# Pageviews settings
+pageviews:
+ provider: # now only supports 'goatcounter'
# Prefer color scheme setting.
#
@@ -72,7 +97,7 @@ theme_mode: dark # [light|dark]
# will be added to all image (site avatar & posts' images) paths starting with '/'
#
# e.g. 'https://cdn.com'
-img_cdn:
+cdn:
# the avatar on sidebar, support local or CORS resources
avatar: assets/img/avatar.jpg
@@ -99,6 +124,7 @@ comments:
category:
category_id:
mapping: # optional, default to 'pathname'
+ strict: # optional, default to '0'
input_position: # optional, default to 'bottom'
lang: # optional, default to the value of `site.lang`
reactions_enabled: # optional, default to the value of `1`
@@ -109,16 +135,27 @@ assets:
enabled: # boolean, keep empty means false
# specify the Jekyll environment, empty means both
# only works if `assets.self_host.enabled` is 'true'
- env: # [development|production]
+ env: # [development | production]
pwa:
- enabled: true # the option for PWA feature
+ enabled: true # the option for PWA feature (installable)
+ cache:
+ enabled: true # the option for PWA offline cache
+ # Paths defined here will be excluded from the PWA cache.
+ # Usually its value is the `baseurl` of another website that
+ # shares the same domain name as the current website.
+ deny_paths:
+ # - "/example" # URLs match `/example/*` will not be cached by the PWA
paginate: 10
+# The base URL of your site
+baseurl: "https://www.petertanner.dev"
+
# ------------ The following options are not recommended to be modified ------------------
kramdown:
+ footnote_backlink: "↩︎"
syntax_highlighter: rouge
syntax_highlighter_opts: # Rouge Options › https://github.com/jneen/rouge#full-options
css_class: highlight
@@ -183,10 +220,12 @@ compress_html:
exclude:
- "*.gem"
- "*.gemspec"
+ - docs
- tools
- README.md
- CHANGELOG.md
- LICENSE
+ - "*.config.js"
- rollup.config.js
- node_modules
- package*.json
diff --git a/_data/locales/ar.yml b/_data/locales/ar.yml
new file mode 100644
index 0000000..c608298
--- /dev/null
+++ b/_data/locales/ar.yml
@@ -0,0 +1,91 @@
+# The layout text of site
+
+# ----- Commons label -----
+
+layout:
+ post: منشور
+ category: فئة
+ tag: وسم
+
+# The tabs of sidebar
+tabs:
+ # format: :
+ home: الرئيسية
+ categories: الفئات
+ tags: الوسوم
+ archives: الأرشيف
+ about: حول
+
+# the text displayed in the search bar & search results
+search:
+ hint: بحث
+ cancel: إلغاء
+ no_results: نأسف! لا يوجد نتائج.
+
+panel:
+ lastmod: المحدثة مؤخرا
+ trending_tags: الوسوم الشائعة
+ toc: محتويات
+
+copyright:
+ # Shown at the bottom of the post
+ license:
+ template: هذا المنشور تحت ترخيص :LICENSE_NAME بواسطة المؤلف.
+ name: CC BY 4.0
+ link: https://creativecommons.org/licenses/by/4.0/
+
+ # Displayed in the footer
+ brief: بعض الحقوق محفوظة.
+ verbose: >-
+ ما لم يذكر خلاف ذلك ، يتم ترخيص منشورات المدونة على هذا الموقع
+ بموجب ترخيص Creative Commons Attribution 4.0 International (CC BY 4.0) من قبل المؤلف.
+
+meta: باستخدام :PLATFORM السمة :THEME
+
+not_found:
+ statment: عذرا, الرابط التالي غير صالح أو انه يشير إلى صفحة غير موجودة.
+
+notification:
+ update_found: يتوفر اصدار جديد للمحتوى.
+ update: تحديث
+
+# ----- Posts related labels -----
+
+post:
+ written_by: بواسطة
+ posted: نشّر
+ updated: حدّث
+ words: كلمات
+ pageview_measure: مشاهدات
+ read_time:
+ unit: دقيقة
+ prompt: قراءة
+ relate_posts: إقرأ المزيد
+ share: شارك
+ button:
+ next: الأجدد
+ previous: الأقدم
+ copy_code:
+ succeed: تم النسخ!
+ share_link:
+ title: أنسخ الرابط
+ succeed: تم نسخ الرابط بنجاح!
+
+# Date time format.
+# See: ,
+df:
+ post:
+ strftime: "%b %e, %Y"
+ dayjs: "ll"
+ archives:
+ strftime: "%b"
+ dayjs: "MMM"
+
+# categories page
+categories:
+ category_measure:
+ singular: فئة
+ plural: فئات
+ post_measure:
+ singular: منشور
+ plural: منشورات
diff --git a/_data/locales/bg-BG.yml b/_data/locales/bg-BG.yml
new file mode 100644
index 0000000..3e04993
--- /dev/null
+++ b/_data/locales/bg-BG.yml
@@ -0,0 +1,81 @@
+# The layout text of site
+
+# ----- Commons label -----
+
+layout:
+ post: Публикация
+ category: Категория
+ tag: Таг
+
+# The tabs of sidebar
+tabs:
+ # format: :
+ home: Начало
+ categories: Категории
+ tags: Тагове
+ archives: Архив
+ about: За мен
+
+# the text displayed in the search bar & search results
+search:
+ hint: търси
+ cancel: Отмени
+ no_results: Упс! Не са намерени резултати.
+
+panel:
+ lastmod: Наскоро обновени
+ trending_tags: Популярни тагове
+ toc: Съдържание
+
+copyright:
+ # Shown at the bottom of the post
+ license:
+ template: Тази публикация е лицензирана под :LICENSE_NAME от автора.
+ name: CC BY 4.0
+ link: https://creativecommons.org/licenses/by/4.0/
+
+ # Displayed in the footer
+ brief: Някои права запазени.
+ verbose: >-
+ Освен ако не е посочено друго, публикациите в блога на този сайт са лицензирани
+ под лиценза Creative Commons Attribution 4.0 (CC BY 4.0) от автора.
+
+meta: Създадено чрез :PLATFORM и :THEME тема
+
+not_found:
+ statment: Съжалявам, но на този URL адрес няма налично съдържание.
+
+notification:
+ update_found: Налична е нова версия на съдържанието.
+ update: Обнови
+
+# ----- Posts related labels -----
+
+post:
+ written_by: Автор
+ posted: Публикувана
+ updated: Обновена
+ words: думи
+ pageview_measure: преглеждания
+ read_time:
+ unit: мин
+ prompt: четиво
+ relate_posts: Още за четене
+ share: Споделете
+ button:
+ next: По-нови
+ previous: По-стари
+ copy_code:
+ succeed: Копирано!
+ share_link:
+ title: Копирай линк
+ succeed: Линкът е копиран успешно!
+
+# categories page
+categories:
+ category_measure:
+ singular: категория
+ plural: категории
+ post_measure:
+ singular: публикация
+ plural: публикации
diff --git a/_data/locales/cs-CZ.yml b/_data/locales/cs-CZ.yml
new file mode 100644
index 0000000..e515c08
--- /dev/null
+++ b/_data/locales/cs-CZ.yml
@@ -0,0 +1,89 @@
+# The layout text of site
+
+# ----- Commons label -----
+
+layout:
+ post: Příspěvek
+ category: Kategorie
+ tag: Štítek
+
+# The tabs of sidebar
+tabs:
+ # format: :
+ home: Domů
+ categories: Kategorie
+ tags: Štítky
+ archives: Archivy
+ about: O mně
+
+# the text displayed in the search bar & search results
+search:
+ hint: hledat
+ cancel: Zrušit
+ no_results: Ups! Žádný výsledek nenalezen.
+
+panel:
+ lastmod: Nedávno aktualizováno
+ trending_tags: Trendy štítky
+ toc: Obsah
+
+copyright:
+ # Shown at the bottom of the post
+ license:
+ template: Tento příspěvek je licencován pod :LICENSE_NAME autorem.
+ name: CC BY 4.0
+ link: https://creativecommons.org/licenses/by/4.0/
+
+ # Displayed in the footer
+ brief: Některá práva vyhrazena.
+ verbose: >-
+ Pokud není uvedeno jinak, jsou příspěvky na tomto webu licencovány
+ pod licencí Creative Commons Attribution 4.0 International (CC BY 4.0) Licence autora.
+
+meta: Použití :PLATFORM s motivem :THEME
+
+not_found:
+ statment: Omlouváme se, adresu URL jsme špatně umístili nebo odkazuje na něco, co neexistuje.
+
+notification:
+ update_found: Je k dispozici nová verze obsahu.
+ update: Aktualizace
+
+# ----- Posts related labels -----
+
+post:
+ written_by: Od
+ posted: Zveřejněno
+ updated: Aktualizováno
+ words: slova
+ pageview_measure: zhlednutí
+ read_time:
+ unit: minut
+ prompt: čtení
+ relate_posts: Další čtení
+ share: Sdílet
+ button:
+ next: Novější
+ previous: Starší
+ copy_code:
+ succeed: Zkopírováno!
+ share_link:
+ title: Kopírovat odkaz
+ succeed: Zkopírováno!
+
+# Date time format.
+# See: ,
+df:
+ post:
+ strftime: "%b %e, %Y"
+ dayjs: "ll"
+ archives:
+ strftime: "%b"
+ dayjs: "MMM"
+
+# categories page
+categories:
+ category_measure: kategorie
+ post_measure:
+ singular: příspěvěk
+ plural: příspěvky
diff --git a/_data/locales/de-DE.yml b/_data/locales/de-DE.yml
new file mode 100644
index 0000000..6b187b4
--- /dev/null
+++ b/_data/locales/de-DE.yml
@@ -0,0 +1,87 @@
+# The layout text of site
+
+# ----- Commons label -----
+
+layout:
+ post: Eintrag
+ category: Kategorie
+ tag: Tag
+
+# The tabs of sidebar
+tabs:
+ # format: :
+ home: Startseite
+ categories: Kategorien
+ tags: Tags
+ archives: Archiv
+ about: Über
+
+# the text displayed in the search bar & search results
+search:
+ hint: Suche
+ cancel: Abbrechen
+ no_results: Ups! Keine Einträge gefunden.
+
+panel:
+ lastmod: Kürzlich aktualisiert
+ trending_tags: Beliebte Tags
+ toc: Inhalt
+
+copyright:
+ # Shown at the bottom of the post
+ license:
+ template: Dieser Eintrag ist vom Autor unter :LICENSE_NAME lizensiert.
+ name: CC BY 4.0
+ link: https://creativecommons.org/licenses/by/4.0/
+
+ # Displayed in the footer
+ brief: Einige Rechte vorbehalten.
+ verbose: >-
+ Alle Einträge auf dieser Seite stehen, soweit nicht anders angegeben, unter der Lizenz Creative Commons Attribution 4.0 (CC BY 4.0).
+
+meta: Powered by :PLATFORM with :THEME theme
+
+not_found:
+ statment: Entschuldigung, dieser Link verweist auf keine vorhandene Ressource.
+
+notification:
+ update_found: Eine neue Version ist verfügbar.
+ update: Neue Version
+
+# ----- Posts related labels -----
+
+post:
+ written_by: Von
+ posted: Veröffentlicht
+ updated: Aktualisiert
+ words: Wörter
+ pageview_measure: Aufrufe
+ read_time:
+ unit: Minuten
+ prompt: Lesezeit
+ relate_posts: Weiterlesen
+ share: Teilen
+ button:
+ next: Nächster Eintrag
+ previous: Eintrag vorher
+ copy_code:
+ succeed: Kopiert!
+ share_link:
+ title: Link kopieren
+ succeed: Link erfolgreich kopiert!
+
+# Date time format.
+# See: ,
+df:
+ post:
+ strftime: "%d.%m.%Y"
+ dayjs: "DD.MM.YYYY"
+
+# categories page
+categories:
+ category_measure:
+ singular: Kategorie
+ plural: Kategorien
+ post_measure:
+ singular: Eintrag
+ plural: Einträge
diff --git a/_data/locales/el-GR.yml b/_data/locales/el-GR.yml
new file mode 100644
index 0000000..ab5fb0e
--- /dev/null
+++ b/_data/locales/el-GR.yml
@@ -0,0 +1,91 @@
+# The layout text of site
+
+# ----- Commons label -----
+
+layout:
+ post: Δημοσίευση
+ category: Κατηγορία
+ tag: Ετικέτα
+
+# The tabs of sidebar
+tabs:
+ # format: :
+ home: Home
+ categories: Κατηγορίες
+ tags: Ετικέτες
+ archives: Αρχεία
+ about: Σχετικά
+
+# the text displayed in the search bar & search results
+search:
+ hint: αναζήτηση
+ cancel: Ακύρωση
+ no_results: Oops! Κανένα αποτέλεσμα δεν βρέθηκε.
+
+panel:
+ lastmod: Σχετικά ενημερωμένα
+ trending_tags: Ετικέτες τάσης
+ toc: Περιεχόμενα
+
+copyright:
+ # Shown at the bottom of the post
+ license:
+ template: Η δημοσίευση αυτή βρίσκεται υπο την άδεια :LICENSE_NAME Greekforce1821.
+ name: CC BY 4.0
+ link: https://creativecommons.org/licenses/by/4.0/
+
+ # Displayed in the footer
+ brief: Ορισμένα δικαιώματα reserved.
+ verbose: >-
+ Εκτός αλλού ή οπουδήποτε αλλού, τα blog posts σε αυτήν την σελίδα βρίσκονται υπο την άδεια
+ Creative Commons Attribution 4.0 International (CC BY 4.0) του δημιουργού.
+
+meta: Αξιοποιώντας την :PLATFORM theme :THEME
+
+not_found:
+ statment: Συγνώμη, έχουμε τοποθετήσει λάθος αυτήν την διεύθυνση URL ή υποδεικνύει κάτι που δεν υπάρχει.
+
+notification:
+ update_found: Υπάρχει διαθέσιμη μια νέα έκδοση του περιεχομένου.
+ update: Ενημέρωση
+
+# ----- Posts related labels -----
+
+post:
+ written_by: Από
+ posted: Δημοσιεύθηκε
+ updated: Ενημερώθηκε
+ words: λέξεις
+ pageview_measure: προβολές
+ read_time:
+ unit: Λεπτά
+ prompt: διαβάσματος
+ relate_posts: Περισσότερα
+ share: Κοινοποιήστε
+ button:
+ next: Νεότερα
+ previous: Παλαιότερα
+ copy_code:
+ succeed: Αντιγράφθηκε!
+ share_link:
+ title: Αντιγραφή συνδέσμου
+ succeed: Η διεύθυνση αντιγράφθηκε με επιτυχία!
+
+# Date time format.
+# See: ,
+df:
+ post:
+ strftime: "%b %e, %Y"
+ dayjs: "ll"
+ archives:
+ strftime: "%b"
+ dayjs: "MMM"
+
+# categories page
+categories:
+ category_measure:
+ singular: Κατηγορία
+ plural: Κατηγορίες
+ post_measure:
+ singular: Δημοσίευση
+ plural: Δημοσιεύσεις
diff --git a/_data/locales/en.yml b/_data/locales/en.yml
new file mode 100644
index 0000000..0dbe713
--- /dev/null
+++ b/_data/locales/en.yml
@@ -0,0 +1,91 @@
+# The layout text of site
+
+# ----- Commons label -----
+
+layout:
+ post: Post
+ category: Category
+ tag: Tag
+
+# The tabs of sidebar
+tabs:
+ # format: :
+ home: Home
+ categories: Categories
+ tags: Tags
+ archives: Archives
+ about: About
+
+# the text displayed in the search bar & search results
+search:
+ hint: search
+ cancel: Cancel
+ no_results: Oops! No results found.
+
+panel:
+ lastmod: Recently Updated
+ trending_tags: Trending Tags
+ toc: Contents
+
+copyright:
+ # Shown at the bottom of the post
+ license:
+ template: This post is licensed under :LICENSE_NAME by the author.
+ name: CC BY 4.0
+ link: https://creativecommons.org/licenses/by/4.0/
+
+ # Displayed in the footer
+ brief: Some rights reserved.
+ verbose: >-
+ Except where otherwise noted, the blog posts on this site are licensed
+ under the Creative Commons Attribution 4.0 International (CC BY 4.0) License by the author.
+
+meta: Using the :THEME theme for :PLATFORM.
+
+not_found:
+ statment: Sorry, we've misplaced that URL or it's pointing to something that doesn't exist.
+
+notification:
+ update_found: A new version of content is available.
+ update: Update
+
+# ----- Posts related labels -----
+
+post:
+ written_by: By
+ posted: Posted
+ updated: Updated
+ words: words
+ pageview_measure: views
+ read_time:
+ unit: min
+ prompt: read
+ relate_posts: Further Reading
+ share: Share
+ button:
+ next: Newer
+ previous: Older
+ copy_code:
+ succeed: Copied!
+ share_link:
+ title: Copy link
+ succeed: Link copied successfully!
+
+# Date time format.
+# See: ,
+df:
+ post:
+ strftime: "%b %e, %Y"
+ dayjs: "ll"
+ archives:
+ strftime: "%b"
+ dayjs: "MMM"
+
+# categories page
+categories:
+ category_measure:
+ singular: category
+ plural: categories
+ post_measure:
+ singular: post
+ plural: posts
diff --git a/_data/locales/es-ES.yml b/_data/locales/es-ES.yml
new file mode 100644
index 0000000..5529230
--- /dev/null
+++ b/_data/locales/es-ES.yml
@@ -0,0 +1,77 @@
+# The layout text of site
+
+# ----- Commons label -----
+
+layout:
+ post: Entrada
+ category: Categoría
+ tag: Etiqueta
+
+# The tabs of sidebar
+tabs:
+ # format: :
+ home: Inicio
+ categories: Categorías
+ tags: Etiquetas
+ archives: Archivo
+ about: Acerca de
+
+# the text displayed in the search bar & search results
+search:
+ hint: Buscar
+ cancel: Cancelar
+ no_results: ¡Oops! No se encuentran resultados.
+
+panel:
+ lastmod: Actualizado recientemente
+ trending_tags: Etiquetas populares
+ toc: Contenido
+
+copyright:
+ # Shown at the bottom of the post
+ license:
+ template: Esta entrada está licenciada bajo :LICENSE_NAME por el autor.
+ name: CC BY 4.0
+ link: https://creativecommons.org/licenses/by/4.0/
+
+ # Displayed in the footer
+ brief: Algunos derechos reservados.
+ verbose: >-
+ Salvo que se indique explícitamente, las entradas de este blog están licenciadas
+ bajo la Creative Commons Attribution 4.0 International (CC BY 4.0) License por el autor.
+
+meta: Hecho con :PLATFORM usando el tema :THEME
+
+not_found:
+ statment: Lo sentimos, hemos perdido esa URL o apunta a algo que no existe.
+
+notification:
+ update_found: Hay una nueva versión de contenido disponible.
+ update: Actualizar
+
+# ----- Posts related labels -----
+
+post:
+ written_by: Por
+ posted: Publicado
+ updated: Actualizado
+ words: palabras
+ pageview_measure: visitas
+ read_time:
+ unit: min
+ prompt: " de lectura"
+ relate_posts: Lecturas adicionales
+ share: Compartir
+ button:
+ next: Nuevo
+ previous: Anterior
+ copy_code:
+ succeed: ¡Copiado!
+ share_link:
+ title: Copiar enlace
+ succeed: ¡Enlace copiado!
+
+# categories page
+categories:
+ category_measure: categorias
+ post_measure: entradas
diff --git a/_data/locales/fi-FI.yml b/_data/locales/fi-FI.yml
new file mode 100644
index 0000000..c817d2b
--- /dev/null
+++ b/_data/locales/fi-FI.yml
@@ -0,0 +1,90 @@
+# The layout text of site
+
+# ----- Commons label -----
+
+layout:
+ post: Julkaisu
+ category: Kateogoria
+ tag: Tagi
+
+# The tabs of sidebar
+tabs:
+ # format: :
+ home: Koti
+ categories: Kateogoriat
+ tags: Tagit
+ archives: Arkistot
+ about: Minusta
+
+# the text displayed in the search bar & search results
+search:
+ hint: etsi
+ cancel: Peruuta
+ no_results: Hups! Ei tuloksia.
+
+panel:
+ lastmod: Viimeksi päivitetty
+ trending_tags: Trendaavat tagit
+ toc: Sisältö
+
+copyright:
+ # Shown at the bottom of the post
+ license:
+ template: Tämä julkaisu on lisenssoitu :LICENSE_NAME julkaisijan toimesta.
+ name: CC BY 4.0
+ link: https://creativecommons.org/licenses/by/4.0/
+
+ # Displayed in the footer
+ brief: Jotkut oikeudet pidätetään.
+ verbose: >-
+ Paitsi jos erikseen mainitaan on kaikki sisältö Creative Commons Attribution 4.0 International (CC BY 4.0) Lisensoitu kirjoittajan toimesta.
+
+meta: Käytetään :PLATFORM iä Teema :THEME
+
+not_found:
+ statment: Valitettavasti tällä URL-osoitteella ei ole saatavilla sisältöä.
+
+notification:
+ update_found: Uusi versio sisällöstä on saatavilla.
+ update: Päivitä
+
+# ----- Posts related labels -----
+
+post:
+ written_by: Kirjoittaja
+ posted: Julkaistu
+ updated: Päivitetty
+ words: sanaa
+ pageview_measure: katselukertoja
+ read_time:
+ unit: minuuttia
+ prompt: lukea
+ relate_posts: Jatka lukemista
+ share: Jaa
+ button:
+ next: Uudempi
+ previous: Vanhempi
+ copy_code:
+ succeed: Kopiotu!
+ share_link:
+ title: Kopioi linkki
+ succeed: Linkki kopioitu onnistuneesti!
+
+# Date time format.
+# See: ,
+df:
+ post:
+ strftime: "%b %e, %Y"
+ dayjs: "ll"
+ archives:
+ strftime: "%b"
+ dayjs: "MMM"
+
+# categories page
+categories:
+ category_measure:
+ singular: kategoria
+ plural: kategoriat
+ post_measure:
+ singular: julkaisu
+ plural: julkaisut
diff --git a/_data/locales/fr-FR.yml b/_data/locales/fr-FR.yml
new file mode 100644
index 0000000..72b034d
--- /dev/null
+++ b/_data/locales/fr-FR.yml
@@ -0,0 +1,77 @@
+# The layout text of site
+
+# ----- Commons label -----
+
+layout:
+ post: Post
+ category: Catégorie
+ tag: Tag
+
+# The tabs of sidebar
+tabs:
+ # format: :
+ home: Accueil
+ categories: Catégories
+ tags: Tags
+ archives: Archives
+ about: A propos de
+
+# the text displayed in the search bar & search results
+search:
+ hint: recherche
+ cancel: Annuler
+ no_results: Oups ! Aucun résultat trouvé.
+
+panel:
+ lastmod: Récemment mis à jour
+ trending_tags: Tags tendance
+ toc: Contenu
+
+copyright:
+ # Shown at the bottom of the post
+ license:
+ template: Cet article est sous licence :LICENSE_NAME par l'auteur.
+ name: CC BY 4.0
+ link: https://creativecommons.org/licenses/by/4.0/
+
+ # Displayed in the footer
+ brief: Certains droits réservés.
+ verbose: >-
+ Sauf mention contraire, les articles de ce site sont publiés sous licence
+ sous la licence Creative Commons Attribution 4.0 International (CC BY 4.0) par l'auteur.
+
+meta: Propulsé par :PLATFORM avec le thème :THEME
+
+not_found:
+ statment: Désolé, nous avons égaré cette URL ou elle pointe vers quelque chose qui n'existe pas.
+
+notification:
+ update_found: Une nouvelle version du contenu est disponible.
+ update: Mise à jour
+
+# ----- Posts related labels -----
+
+post:
+ written_by: Par
+ posted: Posté
+ updated: Mis à jour
+ words: mots
+ pageview_measure: vues
+ read_time:
+ unit: min
+ prompt: lire
+ relate_posts: Autres lectures
+ share: Partager
+ button:
+ next: Plus récent
+ previous: Plus ancien
+ copy_code:
+ succeed: Copié !
+ share_link:
+ title: Copier le lien
+ succeed: Lien copié avec succès !
+
+# categories page
+categories:
+ category_measure: catégories
+ post_measure: posts
diff --git a/_data/locales/hu-HU.yml b/_data/locales/hu-HU.yml
new file mode 100644
index 0000000..b09f2cd
--- /dev/null
+++ b/_data/locales/hu-HU.yml
@@ -0,0 +1,79 @@
+# The layout text of site
+
+# ----- Commons label -----
+
+layout:
+ post: Bejegyzés
+ category: Kategória
+ tag: Címke
+
+# The tabs of sidebar
+tabs:
+ # format: :
+ home: Kezdőlap
+ categories: Kategóriák
+ tags: Címkék
+ archives: Archívum
+ about: Rólam
+
+# the text displayed in the search bar & search results
+search:
+ hint: keresés
+ cancel: Mégse
+ no_results: Oops! Nincs találat a keresésre.
+
+panel:
+ lastmod: Legutóbb frissítve
+ trending_tags: Népszerű Címkék
+ toc: Tartalom
+ links: Blog linkek
+
+copyright:
+ # Shown at the bottom of the post
+ license:
+ template: A bejegyzés :LICENSE_NAME licenccel rendelkezik.
+ name: CC BY 4.0
+ link: https://creativecommons.org/licenses/by/4.0/
+
+ # Displayed in the footer
+ brief: Néhány jog fenntartva.
+ verbose: >-
+ Az oldalon található tartalmak
+ Creative Commons Attribution 4.0 International (CC BY 4.0) licenccel rendelkeznek,
+ hacsak másképp nincs jelezve.
+
+meta: Készítve :PLATFORM motorral :THEME témával
+
+not_found:
+ statment: Sajnáljuk, az URL-t rosszul helyeztük el, vagy valami nem létezőre mutat.
+
+notification:
+ update_found: Elérhető a tartalom új verziója.
+ update: Frissítés
+
+# ----- Posts related labels -----
+
+post:
+ written_by: Szerző
+ posted: Létrehozva
+ updated: Frissítve
+ words: szó
+ pageview_measure: látogató
+ read_time:
+ unit: perc
+ prompt: elolvasni
+ relate_posts: További olvasnivaló
+ share: Megosztás
+ button:
+ next: Újabb
+ previous: Régebbi
+ copy_code:
+ succeed: Másolva!
+ share_link:
+ title: Link másolása
+ succeed: Link sikeresen másolva!
+
+# categories page
+categories:
+ category_measure: kategória
+ post_measure: bejegyzés
diff --git a/_data/locales/id-ID.yml b/_data/locales/id-ID.yml
new file mode 100644
index 0000000..29ad156
--- /dev/null
+++ b/_data/locales/id-ID.yml
@@ -0,0 +1,77 @@
+# The layout text of site
+
+# ----- Commons label -----
+
+layout:
+ post: Postingan
+ category: Kategori
+ tag: Tagar
+
+# The tabs of sidebar
+tabs:
+ # format: :
+ home: Beranda
+ categories: Kategori
+ tags: Tagar
+ archives: Arsip
+ about: Tentang
+
+# the text displayed in the search bar & search results
+search:
+ hint: Cari
+ cancel: Batal
+ no_results: Ups! Tidak ada hasil yang ditemukan.
+
+panel:
+ lastmod: Postingan Terbaru
+ trending_tags: Tagar Terpopuler
+ toc: Konten
+
+copyright:
+ # Shown at the bottom of the post
+ license:
+ template: Postingan ini dilisensikan di bawah :LICENSE_NAME oleh penulis.
+ name: CC BY 4.0
+ link: https://creativecommons.org/licenses/by/4.0/
+
+ # Displayed in the footer
+ brief: Sebagian konten dilindungi.
+ verbose: >-
+ Kecuali jika dinyatakan, Postingan blog di situs ini dilisensikan
+ di bawah Lisensi Creative Commons Attribution 4.0 International (CC BY 4.0) oleh penulis.
+
+meta: Didukung oleh :PLATFORM dengan tema :THEME
+
+not_found:
+ statment: Maaf, kami gagal menemukan URL itu atau memang mengarah ke sesuatu yang tidak ada.
+
+notification:
+ update_found: Versi konten baru tersedia.
+ update: Perbarui
+
+# ----- Posts related labels -----
+
+post:
+ written_by: Oleh
+ posted: Diterbitkan
+ updated: Diperbarui
+ words: kata
+ pageview_measure: dilihat
+ read_time:
+ unit: menit
+ prompt: baca
+ relate_posts: Postingan Lainya
+ share: Bagikan
+ button:
+ next: Terbaru
+ previous: Terlama
+ copy_code:
+ succeed: Disalin!
+ share_link:
+ title: Salin tautan
+ succeed: Tautan berhasil disalin!
+
+# categories page
+categories:
+ category_measure: kategori
+ post_measure: Postingan
diff --git a/_data/locales/it-IT.yml b/_data/locales/it-IT.yml
new file mode 100644
index 0000000..cf7b691
--- /dev/null
+++ b/_data/locales/it-IT.yml
@@ -0,0 +1,90 @@
+# The layout text of site
+
+# ----- Commons label -----
+
+layout:
+ post: Post
+ category: Categoria
+ tag: Tag
+
+# The tabs of sidebar
+tabs:
+ # format: :
+ home: Pagina principale
+ categories: Categorie
+ tags: Tags
+ archives: Archivio
+ about: Informazioni
+
+# the text displayed in the search bar & search results
+search:
+ hint: ricerca
+ cancel: Cancella
+ no_results: Oops! La ricerca non ha fornito risultati.
+
+panel:
+ lastmod: Aggiornati recentemente
+ trending_tags: Tags più cliccati
+ toc: Contenuti
+
+copyright:
+ # Shown at the bottom of the post
+ license:
+ template: Questo post è sotto licenza :LICENSE_NAME a nome dell'autore.
+ name: CC BY 4.0
+ link: https://creativecommons.org/licenses/by/4.0/
+
+ # Displayed in the footer
+ brief: Alcuni diritti riservati.
+ verbose: >-
+ Eccetto quando esplicitamente menzionato, i post di questo blog sono da ritenersi sotto
+ i termini di licenza Creative Commons Attribution 4.0 International (CC BY 4.0).
+
+meta: Servizio offerto da :PLATFORM con tema :THEME
+not_found:
+ statment: Ci scusiamo, non è stato possibile trovare l'URL in questione. Potrebbe puntare ad una pagina non esistente.
+
+notification:
+ update_found: Nuova versione del contenuto disponibile.
+ update: Aggiornamento
+
+# ----- Posts related labels -----
+
+post:
+ written_by: Da
+ posted: Postato
+ updated: Aggiornato
+ words: parole
+ pageview_measure: visioni
+ read_time:
+ unit: min
+ prompt: lettura
+ relate_posts: Continua a leggere
+ share: Condividi
+ button:
+ next: Più recenti
+ previous: Meno recenti
+ copy_code:
+ succeed: Copiato!
+ share_link:
+ title: Copia link
+ succeed: Link copiato con successo!
+
+# Date time format.
+# See: ,
+df:
+ post:
+ strftime: "%b %e, %Y"
+ dayjs: "ll"
+ archives:
+ strftime: "%b"
+ dayjs: "MMM"
+
+# categories page
+categories:
+ category_measure:
+ singular: categoria
+ plural: categorie
+ post_measure:
+ singular: post
+ plural: posts
diff --git a/_data/locales/ko-KR.yml b/_data/locales/ko-KR.yml
new file mode 100644
index 0000000..4dd221b
--- /dev/null
+++ b/_data/locales/ko-KR.yml
@@ -0,0 +1,84 @@
+# The layout text of site
+
+# ----- Commons label -----
+
+layout:
+ post: 포스트
+ category: 카테고리
+ tag: 태그
+
+# The tabs of sidebar
+tabs:
+ # format: :
+ home: 홈
+ categories: 카테고리
+ tags: 태그
+ archives: 아카이브
+ about: 정보
+
+# the text displayed in the search bar & search results
+search:
+ hint: 검색
+ cancel: 취소
+ no_results: 검색 결과가 없습니다.
+
+panel:
+ lastmod: 최근 업데이트
+ trending_tags: 인기 태그
+ toc: 바로가기
+
+copyright:
+ # Shown at the bottom of the post
+ license:
+ template: 이 기사는 저작권자의 :LICENSE_NAME 라이센스를 따릅니다.
+ name: CC BY 4.0
+ link: https://creativecommons.org/licenses/by/4.0/
+
+ # Displayed in the footer
+ brief: 일부 권리 보유
+ verbose: >-
+ 명시되지 않는 한 이 사이트의 블로그 게시물은 작성자의
+ Creative Commons Attribution 4.0 International(CC BY 4.0) 라이선스에 따라 사용이 허가되었습니다.
+
+meta: Powered by :PLATFORM with :THEME theme
+
+not_found:
+ statment: 해당 URL은 존재하지 않습니다.
+
+notification:
+ update_found: 새 버전의 콘텐츠를 사용할 수 있습니다.
+ update: 업데이트
+
+# ----- Posts related labels -----
+
+post:
+ written_by: By
+ posted: 게시
+ updated: 업데이트
+ words: 단어
+ pageview_measure: 조회
+ read_time:
+ unit: 분
+ prompt: 읽는 시간
+ relate_posts: 관련된 글
+ share: 공유하기
+ button:
+ next: 다음 글
+ previous: 이전 글
+ copy_code:
+ succeed: 복사되었습니다!
+ share_link:
+ title: 링크 복사하기
+ succeed: 링크가 복사되었습니다!
+
+# Date time format.
+# See: ,
+df:
+ post:
+ strftime: "%Y/%m/%d"
+ dayjs: "YYYY/MM/DD"
+
+# categories page
+categories:
+ category_measure: 카테고리
+ post_measure: 포스트
diff --git a/_data/locales/my-MM.yml b/_data/locales/my-MM.yml
new file mode 100644
index 0000000..98848d5
--- /dev/null
+++ b/_data/locales/my-MM.yml
@@ -0,0 +1,77 @@
+# The layout text of site
+
+# ----- Commons label -----
+
+layout:
+ post: ပို့စ်
+ category: ကဏ္ဍ
+ tag: နာမ(တက်ဂ်)
+
+# The tabs of sidebar
+tabs:
+ # format: :
+ home: အဓိကစာမျက်နှာ
+ categories: ကဏ္ဍများ
+ tags: နာမ(တက်ဂ်)များ
+ archives: မှတ်တမ်းတိုက်
+ about: အကြောင်းအရာ
+
+# the text displayed in the search bar & search results
+search:
+ hint: ရှာဖွေမည်
+ cancel: ဖျက်သိမ်းမည်
+ no_results: အိုး! ဘာမှမရှိပါ
+
+panel:
+ lastmod: မကြာသေးမီကမွမ်းမံထားသည်
+ trending_tags: ခေတ်စားနေသည့်တက်ဂ်များ
+ toc: အကြောင်းအရာများ
+
+copyright:
+ # Shown at the bottom of the post
+ license:
+ template: ဤပို့စ်သည်စာရေးသူ၏ :LICENSE_NAME လိုင်စင်ရထားသည်။
+ name: CC BY 4.0
+ link: https://creativecommons.org/licenses/by/4.0/
+
+ # Displayed in the footer
+ brief: မူပိုင်ခွင့်အချို့ကို လက်ဝယ်ထားသည်။
+ verbose: >-
+ အခြားမှတ်သားထားချက်များမှလွဲ၍ ဤဆိုက်ရှိ ဘလော့ဂ်ပို့စ်များသည် စာရေးသူ၏
+ Creative Commons Attribution 4.0 International (CC BY 4.0) အောက်တွင် လိုင်စင်ရထားပါသည်။
+
+meta: Powered by :PLATFORM with :THEME theme
+
+not_found:
+ statment: ဝမ်းနည်းပါသည်၊ ကျွန်ုပ်တို့သည် အဆိုပါ URL ကို မှားယွင်းစွာ နေရာချထားခြင်း သို့မဟုတ် ၎င်းသည် မရှိသောအရာကို ညွှန်ပြနေပါသည်။
+
+notification:
+ update_found: အကြောင်းအရာဗားရှင်းအသစ်ကို ရနိုင်ပါပြီ။
+ update: အပ်ဒိတ်
+
+# ----- Posts related labels -----
+
+post:
+ written_by: ကရေးသားခဲ့သည်။
+ posted: တင်ထားခဲ့သည်။
+ updated: မွမ်းမံထားခဲ့သည်။
+ words: စကားလုံးများ
+ pageview_measure: အမြင်များ
+ read_time:
+ unit: မိနစ်
+ prompt: ဖတ်ပါမည်
+ relate_posts: နောက်ထပ်ဖတ်ရန်
+ share: မျှဝေရန်
+ button:
+ next: အသစ်များ
+ previous: အဟောင်းများ
+ copy_code:
+ succeed: ကူးယူလိုက်ပြီ။
+ share_link:
+ title: လင့်ခ်ကို ကူးယူရန်
+ succeed: လင့်ခ်ကို ကူးယူလိုက်ပြီ။
+
+# categories page
+categories:
+ category_measure: ကဏ္ဍများ
+ post_measure: ပို့စ်များ
diff --git a/_data/locales/pt-BR.yml b/_data/locales/pt-BR.yml
new file mode 100644
index 0000000..4cef833
--- /dev/null
+++ b/_data/locales/pt-BR.yml
@@ -0,0 +1,77 @@
+# The layout text of site
+
+# ----- Commons label -----
+
+layout:
+ post: Post
+ category: Categoria
+ tag: Tag
+
+# The tabs of sidebar
+tabs:
+ # format: :
+ home: Home
+ categories: Categorias
+ tags: Tags
+ archives: Arquivos
+ about: Sobre
+
+# the text displayed in the search bar & search results
+search:
+ hint: Buscar
+ cancel: Cancelar
+ no_results: Oops! Nenhum resultado encontrado.
+
+panel:
+ lastmod: Atualizados recentemente
+ trending_tags: Trending Tags
+ toc: Conteúdo
+
+copyright:
+ # Shown at the bottom of the post
+ license:
+ template: Esta postagem está licenciada sob :LICENSE_NAME pelo autor.
+ name: CC BY 4.0
+ link: https://creativecommons.org/licenses/by/4.0/
+
+ # Displayed in the footer
+ brief: Alguns direitos reservados.
+ verbose: >-
+ Exceto onde indicado de outra forma, as postagens do blog neste site são licenciadas sob a
+ Creative Commons Attribution 4.0 International (CC BY 4.0) License pelo autor.
+
+meta: Feito com :PLATFORM usando o tema :THEME
+
+not_found:
+ statment: Desculpe, a página não foi encontrada.
+
+notification:
+ update_found: Uma nova versão do conteúdo está disponível.
+ update: atualização
+
+# ----- Posts related labels -----
+
+post:
+ written_by: Por
+ posted: Postado em
+ updated: Atualizado
+ words: palavras
+ pageview_measure: visualizações
+ read_time:
+ unit: min
+ prompt: " de leitura"
+ relate_posts: Leia também
+ share: Compartilhar
+ button:
+ next: Próximo
+ previous: Anterior
+ copy_code:
+ succeed: Copiado!
+ share_link:
+ title: Copie o link
+ succeed: Link copiado com sucesso!
+
+# categories page
+categories:
+ category_measure: categorias
+ post_measure: posts
diff --git a/_data/locales/ru-RU.yml b/_data/locales/ru-RU.yml
new file mode 100644
index 0000000..185407c
--- /dev/null
+++ b/_data/locales/ru-RU.yml
@@ -0,0 +1,87 @@
+# The layout text of site
+
+# ----- Commons label -----
+
+layout:
+ post: Пост
+ category: Категория
+ tag: Тег
+
+# The tabs of sidebar
+tabs:
+ # format: :
+ home: Главная
+ categories: Категории
+ tags: Теги
+ archives: Архив
+ about: О сайте
+
+# the text displayed in the search bar & search results
+search:
+ hint: поиск
+ cancel: Отмена
+ no_results: Упс! Ничего не найдено.
+
+panel:
+ lastmod: Недавно обновлено
+ trending_tags: Популярные теги
+ toc: Содержание
+
+copyright:
+ # Shown at the bottom of the post
+ license:
+ template: Авторский пост защищен лицензией :LICENSE_NAME.
+ name: CC BY 4.0
+ link: https://creativecommons.org/licenses/by/4.0/
+
+ # Displayed in the footer
+ brief: Некоторые права защищены.
+ verbose: >-
+ Если не указано иное, авторские посты на этом сайте защищены лицензией Creative Commons Attribution 4.0 International (CC BY 4.0).
+
+meta: Использует тему :THEME для :PLATFORM
+
+not_found:
+ statment: Извините, мы перепутали URL-адрес или он указывает на что-то несуществующее.
+
+notification:
+ update_found: Доступна новая версия контента.
+ update: Обновить
+
+# ----- Posts related labels -----
+
+post:
+ written_by: Автор
+ posted: Опубликовано
+ updated: Обновлено
+ words: слов
+ pageview_measure: просмотров
+ read_time:
+ unit: мин.
+ prompt: чтения
+ relate_posts: Похожие посты
+ share: Поделиться
+ button:
+ next: Следующий пост
+ previous: Предыдущий пост
+ copy_code:
+ succeed: Скопировано!
+ share_link:
+ title: Скопировать ссылку
+ succeed: Ссылка успешно скопирована!
+
+# Date time format.
+# See: ,
+df:
+ post:
+ strftime: "%d.%m.%Y"
+ dayjs: "DD.MM.YYYY"
+
+# categories page
+categories:
+ category_measure:
+ singular: категория
+ plural: категории
+ post_measure:
+ singular: пост
+ plural: посты
diff --git a/_data/locales/sl-SI.yml b/_data/locales/sl-SI.yml
new file mode 100644
index 0000000..7ab18b1
--- /dev/null
+++ b/_data/locales/sl-SI.yml
@@ -0,0 +1,91 @@
+# The layout text of site
+
+# ----- Commons label -----
+
+layout:
+ post: Objava #Post
+ category: Kategorija #Category
+ tag: Oznaka #Tag
+
+# The tabs of sidebar
+tabs:
+ # format: :
+ home: Domov #Home
+ categories: Kategorije #Categories
+ tags: Oznake #Tags
+ archives: Arhiv #Archives
+ about: O meni #About
+
+# the text displayed in the search bar & search results
+search:
+ hint: išči #search
+ cancel: Prekliči #Cancel
+ no_results: Ups! Vsebina ni bila najdena #Oops! No results found.
+
+panel:
+ lastmod: Nedavno Posodobljeno #Recently Updated
+ trending_tags: Priljubljene Oznake #Trending Tags
+ toc: Vsebina #Contents
+
+copyright:
+ # Shown at the bottom of the post
+ license:
+ template: Ta objava je licencirana pod :LICENCE_NAME s strani avtorja. #This post is licensed under :LICENSE_NAME by the author.
+ name: CC BY 4.0
+ link: https://creativecommons.org/licenses/by/4.0/
+
+ # Displayed in the footer
+ brief: Nekatere pravice pridržane. #Some rights reserved.
+ verbose: >-
+ Razen kjer navedeno drugače, vse objave spletnega dnevnika so licencirane
+ pod Creative Commons Attribution 4.0 International (CC BY 4.0) s strani avtorja.
+
+meta: Uporabljena :PLATFORM tema :THEME #Using the :PLATFORM theme :THEME
+
+not_found:
+ statment: Oprostite, hiperpovezava je neustrezna ali vsebina ne obstajata. #Sorry, we've misplaced that URL or it's pointing to something that doesn't exist.
+
+notification:
+ update_found: Novejša različica vsebine je na voljo. #A new version of content is available.
+ update: Posodobi #Update
+
+# ----- Posts related labels -----
+
+post:
+ written_by: Od #By
+ posted: Objavljeno #Posted
+ updated: Posodobljeno #Updated
+ words: besede #words
+ pageview_measure: ogledi #views
+ read_time:
+ unit: min
+ prompt: beri #read
+ relate_posts: Nadaljnje branje #Further Reading
+ share: Deli #Share
+ button:
+ next: Novejše #Newer
+ previous: Starejše #Older
+ copy_code:
+ succeed: Kopirano! #Copied!
+ share_link:
+ title: Kopiraj povezavo #Copy link
+ succeed: Povezava uspešno kopirana! #Link copied successfully!
+
+# Date time format.
+# See: ,
+df:
+ post:
+ strftime: "%e %b, %Y"
+ dayjs: "ll"
+ archives:
+ strftime: "%b"
+ dayjs: "MMM"
+
+# categories page
+categories:
+ category_measure:
+ singular: kategorija #category
+ plural: kategorije #categories
+ post_measure:
+ singular: objava #post
+ plural: objave #posts
diff --git a/_data/locales/sv-SE.yml b/_data/locales/sv-SE.yml
new file mode 100644
index 0000000..7ec2ee2
--- /dev/null
+++ b/_data/locales/sv-SE.yml
@@ -0,0 +1,91 @@
+# The layout text of site
+
+# ----- Commons label -----
+
+layout:
+ post: Inlägg #Post
+ category: Kategori #Category
+ tag: Tagga #Tag
+
+# The tabs of sidebar
+tabs:
+ # format: :
+ home: Hem #Home
+ categories: Kategorier #Categories
+ tags: Taggar #Tags
+ archives: Arkiv #Archives
+ about: Om #About
+
+# the text displayed in the search bar & search results
+search:
+ hint: sök
+ cancel: Avbryt
+ no_results: Hoppsan! Hittade inga sökträffar.
+
+panel:
+ lastmod: Senast uppdaterad
+ trending_tags: Trendande taggar
+ toc: Innehåll
+
+copyright:
+ # Shown at the bottom of the post
+ license:
+ template: Den här posten är publicerad under licensen :LICENSE_NAME av författaren.
+ name: CC BY 4.0
+ link: https://creativecommons.org/licenses/by/4.0/
+
+ # Displayed in the footer
+ brief: Vissa rättigheter är reserverade.
+ verbose: >-
+ Om inte annat anges är blogginläggen på denna webbplats licensierade
+ under Creative Commons Attribution 4.0 International (CC BY 4.0) av författaren.
+
+meta: Byggd med :PLATFORM och temat :THEME
+
+not_found:
+ statment: Ursäkta, vi har tappat bort den här webbadressen eller så pekar den på något som inte längre finns.
+
+notification:
+ update_found: Det finns en ny version av innehållet.
+ update: Uppdatera sidan
+
+# ----- Posts related labels -----
+
+post:
+ written_by: Av
+ posted: Postad
+ updated: Uppdaterad
+ words: ord
+ pageview_measure: visningar
+ read_time:
+ unit: min
+ prompt: läsning
+ relate_posts: Mer läsning
+ share: Dela
+ button:
+ next: Nyare
+ previous: Äldre
+ copy_code:
+ succeed: Kopierat!
+ share_link:
+ title: Kopiera länk
+ succeed: Länken har kopierats!
+
+# Date time format.
+# See: ,
+df:
+ post:
+ strftime: "%b %e, %Y"
+ dayjs: "ll"
+ archives:
+ strftime: "%b"
+ dayjs: "MMM"
+
+# categories page
+categories:
+ category_measure:
+ singular: kategori
+ plural: kategorier
+ post_measure:
+ singular: inlägg
+ plural: inlägg
diff --git a/_data/locales/th.yml b/_data/locales/th.yml
new file mode 100644
index 0000000..22cb00a
--- /dev/null
+++ b/_data/locales/th.yml
@@ -0,0 +1,91 @@
+# The layout text of site
+
+# ----- Commons label -----
+
+layout:
+ post: โพสต์
+ category: หมวดหมู่
+ tag: แท็ก
+
+# The tabs of sidebar
+tabs:
+ # format: :
+ home: หน้าแรก
+ categories: หมวดหมู่
+ tags: แท็ก
+ archives: คลังเก็บ
+ about: เกี่ยวกับ
+
+# the text displayed in the search bar & search results
+search:
+ hint: ค้นหา
+ cancel: ยกเลิก
+ no_results: โอ๊ะ! ไม่พบผลลัพธ์
+
+panel:
+ lastmod: อัปเดตล่าสุด
+ trending_tags: แท็กยอดนิยม
+ toc: เนื้อหา
+
+copyright:
+ # Shown at the bottom of the post
+ license:
+ template: โพสต์นี้อยู่ภายใต้การอนุญาต :LICENSE_NAME โดยผู้เขียน
+ name: CC BY 4.0
+ link: https://creativecommons.org/licenses/by/4.0/
+
+ # Displayed in the footer
+ brief: สงวนลิขสิทธิ์เป็นบางส่วน
+ verbose: >-
+ เว้นแต่ว่าจะระบุเป็นอย่างอื่น โพสต์บนเว็บไซต์นี้อยู่ภายใต้
+ สัญญาอนุญาตครีเอทีฟคอมมอนส์แบบ 4.0 นานาชาติ (CC BY 4.0) โดยผู้เขียน
+
+meta: กำลังใช้ธีมของ :PLATFORM ชื่อ :THEME
+
+not_found:
+ statment: ขออภัย เราวาง URL นั้นไว้ผิดที่ หรือมันชี้ไปยังสิ่งที่ไม่มีอยู่
+
+notification:
+ update_found: มีเวอร์ชันใหม่ของเนื้อหา
+ update: อัปเดต
+
+# ----- Posts related labels -----
+
+post:
+ written_by: โดย
+ posted: โพสต์เมื่อ
+ updated: อัปเดตเมื่อ
+ words: คำ
+ pageview_measure: ครั้ง
+ read_time:
+ unit: นาที
+ prompt: อ่าน
+ relate_posts: อ่านต่อ
+ share: แชร์
+ button:
+ next: ใหม่กว่า
+ previous: เก่ากว่า
+ copy_code:
+ succeed: คัดลอกแล้ว!
+ share_link:
+ title: คัดลอกลิงก์
+ succeed: คัดลอกลิงก์เรียบร้อยแล้ว!
+
+# Date time format.
+# See: ,
+df:
+ post:
+ strftime: "%b %e, %Y"
+ dayjs: "ll"
+ archives:
+ strftime: "%b"
+ dayjs: "MMM"
+
+# categories page
+categories:
+ category_measure:
+ singular: หมวดหมู่
+ plural: หมวดหมู่
+ post_measure:
+ singular: โพสต์
+ plural: โพสต์
diff --git a/_data/locales/tr-TR.yml b/_data/locales/tr-TR.yml
new file mode 100644
index 0000000..50d8110
--- /dev/null
+++ b/_data/locales/tr-TR.yml
@@ -0,0 +1,77 @@
+# The layout text of site
+
+# ----- Commons label -----
+
+layout:
+ post: Gönderi
+ category: Kategori
+ tag: Etiket
+
+# The tabs of sidebar
+tabs:
+ # format: :
+ home: Ana Sayfa
+ categories: Kategoriler
+ tags: Etiketler
+ archives: Arşiv
+ about: Hakkında
+
+# the text displayed in the search bar & search results
+search:
+ hint: Ara...
+ cancel: İptal
+ no_results: Hop! Öyle bir şey bulamadım.
+
+panel:
+ lastmod: Son Güncellenenler
+ trending_tags: Yükselen Etiketler
+ toc: İçindekiler
+
+copyright:
+ # Shown at the bottom of the post
+ license:
+ template: Bu gönderi :LICENSE_NAME lisansı altındadır.
+ name: CC BY 4.0
+ link: https://creativecommons.org/licenses/by/4.0/deed.tr
+
+ # Displayed in the footer
+ brief: Bazı hakları saklıdır.
+ verbose: >-
+ Aksi belirtilmediği sürece, bu sitedeki gönderiler Creative Commons Atıf 4.0 Uluslararası (CC BY 4.0) Lisansı altındadır.
+ Kısaca sayfa linkini vererek değiştirebilir / paylaşabilirsiniz.
+
+meta: :PLATFORM ve :THEME teması
+
+not_found:
+ statment: Üzgünüz, bu linki yanlış yerleştirdik veya var olmayan bir şeye işaret ediyor.
+
+notification:
+ update_found: İçeriğin yeni bir sürümü mevcut.
+ update: Güncelle
+
+# ----- Posts related labels -----
+
+post:
+ written_by: Yazan
+ posted: Gönderim
+ updated: Güncelleme
+ words: sözcük
+ pageview_measure: görüntülenme
+ read_time:
+ unit: dakikada
+ prompt: okunabilir
+ relate_posts: Benzer Gönderiler
+ share: Paylaş
+ button:
+ next: İleri
+ previous: Geri
+ copy_code:
+ succeed: Kopyalandı.
+ share_link:
+ title: Linki kopyala
+ succeed: Link kopyalandı.
+
+# categories page
+categories:
+ category_measure: kategori
+ post_measure: gönderi
diff --git a/_data/locales/uk-UA.yml b/_data/locales/uk-UA.yml
new file mode 100644
index 0000000..b605073
--- /dev/null
+++ b/_data/locales/uk-UA.yml
@@ -0,0 +1,77 @@
+# The layout text of site
+
+# ----- Commons label -----
+
+layout:
+ post: Публікація
+ category: Категорія
+ tag: Тег
+
+# The tabs of sidebar
+tabs:
+ # format: :
+ home: Домашня сторінка
+ categories: Категорії
+ tags: Теги
+ archives: Архів
+ about: Про сайт
+
+# the text displayed in the search bar & search results
+search:
+ hint: пошук
+ cancel: Скасувати
+ no_results: Ох! Нічого не знайдено.
+
+panel:
+ lastmod: Нещодавно оновлено
+ trending_tags: Популярні теги
+ toc: Зміст
+
+copyright:
+ # Shown at the bottom of the post
+ license:
+ template: Публікація захищена ліцензією :LICENSE_NAME.
+ name: CC BY 4.0
+ link: https://creativecommons.org/licenses/by/4.0/
+
+ # Displayed in the footer
+ brief: Деякі права захищено.
+ verbose: >-
+ Публікації на сайті захищено ліцензією Creative Commons Attribution 4.0 International (CC BY 4.0),
+ якщо інше не вказано в тексті.
+
+meta: Powered by :PLATFORM with :THEME theme
+
+not_found:
+ statment: Вибачте, це посилання вказує на ресурс, що не існує.
+
+notification:
+ update_found: Доступна нова версія вмісту.
+ update: Оновлення
+
+# ----- Posts related labels -----
+
+post:
+ written_by: Автор
+ posted: Час публікації
+ updated: Оновлено
+ words: слів
+ pageview_measure: переглядів
+ read_time:
+ unit: хвилин
+ prompt: читання
+ relate_posts: Вас також може зацікавити
+ share: Поділитися
+ button:
+ next: Попередня публікація
+ previous: Наступна публікація
+ copy_code:
+ succeed: Успішно скопійовано!
+ share_link:
+ title: Скопіювати посилання
+ succeed: Посилання успішно скопійовано!
+
+# categories page
+categories:
+ category_measure: категорії
+ post_measure: публікації
diff --git a/_data/locales/vi-VN.yml b/_data/locales/vi-VN.yml
new file mode 100644
index 0000000..617431a
--- /dev/null
+++ b/_data/locales/vi-VN.yml
@@ -0,0 +1,76 @@
+# The layout text of site
+
+# ----- Commons label -----
+
+layout:
+ post: Bài viết
+ category: Danh mục
+ tag: Thẻ
+
+# The tabs of sidebar
+tabs:
+ # format: :
+ home: Trang chủ
+ categories: Các danh mục
+ tags: Các thẻ
+ archives: Lưu trữ
+ about: Giới thiệu
+
+# the text displayed in the search bar & search results
+search:
+ hint: tìm kiếm
+ cancel: Hủy
+ no_results: Không có kết quả tìm kiếm.
+
+panel:
+ lastmod: Mới cập nhật
+ trending_tags: Các thẻ thịnh hành
+ toc: Mục lục
+
+copyright:
+ # Shown at the bottom of the post
+ license:
+ template: Bài viết này được cấp phép bởi tác giả theo giấy phép :LICENSE_NAME.
+ name: CC BY 4.0
+ link: https://creativecommons.org/licenses/by/4.0/
+
+ # Displayed in the footer
+ brief: Một số quyền được bảo lưu.
+ verbose: >-
+ Trừ khi có ghi chú khác, các bài viết đăng trên trang này được cấp phép bởi tác giả theo giấy phép Creative Commons Attribution 4.0 International (CC BY 4.0).
+
+meta: Trang web này được tạo bởi :PLATFORM với chủ đề :THEME
+
+not_found:
+ statment: Xin lỗi, chúng tôi đã đặt nhầm URL hoặc đường dẫn trỏ đến một trang nào đó không tồn tại.
+
+notification:
+ update_found: Đã có phiên bản mới của nội dung.
+ update: Cập nhật
+
+# ----- Posts related labels -----
+
+post:
+ written_by: Viết bởi
+ posted: Đăng lúc
+ updated: Cập nhật lúc
+ words: từ
+ pageview_measure: lượt xem
+ read_time:
+ unit: phút
+ prompt: đọc
+ relate_posts: Bài viết liên quan
+ share: Chia sẻ
+ button:
+ next: Mới hơn
+ previous: Cũ hơn
+ copy_code:
+ succeed: Đã sao chép!
+ share_link:
+ title: Sao chép đường dẫn
+ succeed: Đã sao chép đường dẫn thành công!
+
+# categories page
+categories:
+ category_measure: danh mục
+ post_measure: bài viết
diff --git a/_data/locales/zh-CN.yml b/_data/locales/zh-CN.yml
new file mode 100644
index 0000000..f828134
--- /dev/null
+++ b/_data/locales/zh-CN.yml
@@ -0,0 +1,83 @@
+# The layout text of site
+
+# ----- Commons label -----
+
+layout:
+ post: 文章
+ category: 分类
+ tag: 标签
+
+# The tabs of sidebar
+tabs:
+ # format: :
+ home: 首页
+ categories: 分类
+ tags: 标签
+ archives: 归档
+ about: 关于
+
+# the text displayed in the search bar & search results
+search:
+ hint: 搜索
+ cancel: 取消
+ no_results: 搜索结果为空
+
+panel:
+ lastmod: 最近更新
+ trending_tags: 热门标签
+ toc: 文章内容
+
+copyright:
+ # Shown at the bottom of the post
+ license:
+ template: 本文由作者按照 :LICENSE_NAME 进行授权
+ name: CC BY 4.0
+ link: https://creativecommons.org/licenses/by/4.0/
+
+ # Displayed in the footer
+ brief: 保留部分权利。
+ verbose: >-
+ 除非另有说明,本网站上的博客文章均由作者按照知识共享署名 4.0 国际 (CC BY 4.0) 许可协议进行授权。
+
+meta: 本站采用 :PLATFORM 主题 :THEME
+
+not_found:
+ statment: 抱歉,我们放错了该 URL,或者它指向了不存在的内容。
+
+notification:
+ update_found: 发现新版本的内容。
+ update: 更新
+
+# ----- Posts related labels -----
+
+post:
+ written_by: 作者
+ posted: 发表于
+ updated: 更新于
+ words: 字
+ pageview_measure: 次浏览
+ read_time:
+ unit: 分钟
+ prompt: 阅读
+ relate_posts: 相关文章
+ share: 分享
+ button:
+ next: 下一篇
+ previous: 上一篇
+ copy_code:
+ succeed: 已复制!
+ share_link:
+ title: 分享链接
+ succeed: 链接已复制!
+
+# Date time format.
+# See: ,
+df:
+ post:
+ strftime: "%Y/%m/%d"
+ dayjs: "YYYY/MM/DD"
+
+# categories page
+categories:
+ category_measure: 个分类
+ post_measure: 篇文章
diff --git a/_data/locales/zh-TW.yml b/_data/locales/zh-TW.yml
new file mode 100644
index 0000000..911253b
--- /dev/null
+++ b/_data/locales/zh-TW.yml
@@ -0,0 +1,83 @@
+# The layout text of site
+
+# ----- Commons label -----
+
+layout:
+ post: 文章
+ category: 分類
+ tag: 標籤
+
+# The tabs of sidebar
+tabs:
+ # format: :
+ home: 首頁
+ categories: 分類
+ tags: 標籤
+ archives: 封存
+ about: 關於
+
+# the text displayed in the search bar & search results
+search:
+ hint: 搜尋
+ cancel: 取消
+ no_results: 沒有搜尋結果
+
+panel:
+ lastmod: 最近更新
+ trending_tags: 熱門標籤
+ toc: 文章摘要
+
+copyright:
+ # Shown at the bottom of the post
+ license:
+ template: 本文章以 :LICENSE_NAME 授權
+ name: CC BY 4.0
+ link: https://creativecommons.org/licenses/by/4.0/
+
+ # Displayed in the footer
+ brief: 保留部份權利。
+ verbose: >-
+ 除非另有說明,否則本網誌的文章均由作者按照姓名標示 4.0 國際 (CC BY 4.0) 授權條款進行授權。
+
+meta: 本網站使用 :PLATFORM 產生,採用 :THEME 主題
+
+not_found:
+ statment: 抱歉,您可能正在存取一個已被移動的 URL,或者它從未存在。
+
+notification:
+ update_found: 發現新版本更新。
+ update: 更新
+
+# ----- Posts related labels -----
+
+post:
+ written_by: 作者
+ posted: 發布於
+ updated: 更新於
+ words: 字
+ pageview_measure: 次瀏覽
+ read_time:
+ unit: 分鐘
+ prompt: 閱讀
+ relate_posts: 相關文章
+ share: 分享
+ button:
+ next: 下一篇
+ previous: 上一篇
+ copy_code:
+ succeed: 已複製!
+ share_link:
+ title: 分享連結
+ succeed: 已複製連結!
+
+# Date time format.
+# See: ,
+df:
+ post:
+ strftime: "%Y/%m/%d"
+ dayjs: "YYYY/MM/DD"
+
+# categories page
+categories:
+ category_measure: 個分類
+ post_measure: 篇文章
diff --git a/_data/media.yml b/_data/media.yml
new file mode 100644
index 0000000..9cd69b4
--- /dev/null
+++ b/_data/media.yml
@@ -0,0 +1,18 @@
+- extension: mp3
+ mime_type: mpeg
+- extension: mov
+ mime_type: quicktime
+- extension: avi
+ mime_type: x-msvideo
+- extension: mkv
+ mime_type: x-matroska
+- extension: ogv
+ mime_type: ogg
+- extension: weba
+ mime_type: webm
+- extension: 3gp
+ mime_type: 3gpp
+- extension: 3g2
+ mime_type: 3gpp2
+- extension: mid
+ mime_type: midi
diff --git a/_data/origin/basic.yml b/_data/origin/basic.yml
new file mode 100644
index 0000000..9027e6e
--- /dev/null
+++ b/_data/origin/basic.yml
@@ -0,0 +1,39 @@
+# fonts
+
+webfonts: /assets/lib/fonts/main.css
+
+# Libraries
+
+toc:
+ css: /assets/lib/tocbot/tocbot.min.css
+ js: /assets/lib/tocbot/tocbot.min.js
+
+fontawesome:
+ css: /assets/lib/fontawesome-free/css/all.min.css
+
+search:
+ js: /assets/lib/simple-jekyll-search/simple-jekyll-search.min.js
+
+mermaid:
+ js: /assets/lib/mermaid/mermaid.min.js
+
+dayjs:
+ js:
+ common: /assets/lib/dayjs/dayjs.min.js
+ locale: /assets/lib/dayjs/locale/en.min.js
+ relativeTime: /assets/lib/dayjs/plugin/relativeTime.min.js
+ localizedFormat: /assets/lib/dayjs/plugin/localizedFormat.min.js
+
+glightbox:
+ css: /assets/lib/glightbox/glightbox.min.css
+ js: /assets/lib/glightbox/glightbox.min.js
+
+lazy-polyfill:
+ css: /assets/lib/loading-attribute-polyfill/loading-attribute-polyfill.min.css
+ js: /assets/lib/loading-attribute-polyfill/loading-attribute-polyfill.umd.min.js
+
+clipboard:
+ js: /assets/lib/clipboard/clipboard.min.js
+
+mathjax:
+ js: /assets/lib/mathjax/tex-chtml.js
diff --git a/_data/origin/cors.yml b/_data/origin/cors.yml
new file mode 100644
index 0000000..abedb6c
--- /dev/null
+++ b/_data/origin/cors.yml
@@ -0,0 +1,54 @@
+# Resource Hints
+resource_hints:
+ - url: https://fonts.googleapis.com
+ links:
+ - rel: preconnect
+ - rel: dns-prefetch
+ - url: https://fonts.gstatic.com
+ links:
+ - rel: preconnect
+ opts: [crossorigin]
+ - rel: dns-prefetch
+ - url: https://cdn.jsdelivr.net
+ links:
+ - rel: preconnect
+ - rel: dns-prefetch
+
+# Web Fonts
+webfonts: https://fonts.googleapis.com/css2?family=Lato:wght@300;400&family=Source+Sans+Pro:wght@400;600;700;900&display=swap
+
+# Libraries
+
+toc:
+ css: https://cdn.jsdelivr.net/npm/tocbot@4.25.0/dist/tocbot.min.css
+ js: https://cdn.jsdelivr.net/npm/tocbot@4.25.0/dist/tocbot.min.js
+
+fontawesome:
+ css: https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.5.1/css/all.min.css
+
+search:
+ js: https://cdn.jsdelivr.net/npm/simple-jekyll-search@1.10.0/dest/simple-jekyll-search.min.js
+
+mermaid:
+ js: https://cdn.jsdelivr.net/npm/mermaid@10.8.0/dist/mermaid.min.js
+
+dayjs:
+ js:
+ common: https://cdn.jsdelivr.net/npm/dayjs@1.11.10/dayjs.min.js
+ locale: https://cdn.jsdelivr.net/npm/dayjs@1.11.10/locale/:LOCALE.min.js
+ relativeTime: https://cdn.jsdelivr.net/npm/dayjs@1.11.10/plugin/relativeTime.min.js
+ localizedFormat: https://cdn.jsdelivr.net/npm/dayjs@1.11.10/plugin/localizedFormat.min.js
+
+glightbox:
+ css: https://cdn.jsdelivr.net/npm/glightbox@3.3.0/dist/css/glightbox.min.css
+ js: https://cdn.jsdelivr.net/npm/glightbox@3.3.0/dist/js/glightbox.min.js
+
+lazy-polyfill:
+ css: https://cdn.jsdelivr.net/npm/loading-attribute-polyfill@2.1.1/dist/loading-attribute-polyfill.min.css
+ js: https://cdn.jsdelivr.net/npm/loading-attribute-polyfill@2.1.1/dist/loading-attribute-polyfill.umd.min.js
+
+clipboard:
+ js: https://cdn.jsdelivr.net/npm/clipboard@2.0.11/dist/clipboard.min.js
+
+mathjax:
+ js: https://cdn.jsdelivr.net/npm/mathjax@3.2.2/es5/tex-chtml.js
diff --git a/_data/share.yml b/_data/share.yml
index 80c5eca..b1d077d 100644
--- a/_data/share.yml
+++ b/_data/share.yml
@@ -3,7 +3,7 @@
platforms:
- type: Twitter
- icon: "fab fa-twitter"
+ icon: "fa-brands fa-square-x-twitter"
link: "https://twitter.com/intent/tweet?text=TITLE&url=URL"
- type: Facebook
@@ -16,10 +16,23 @@ platforms:
# Uncomment below if you need to.
#
- - type: Linkedin
- icon: "fab fa-linkedin"
- link: "https://www.linkedin.com/sharing/share-offsite/?url=URL"
+ # - type: Linkedin
+ # icon: "fab fa-linkedin"
+ # link: "https://www.linkedin.com/sharing/share-offsite/?url=URL"
#
# - type: Weibo
# icon: "fab fa-weibo"
- # link: "http://service.weibo.com/share/share.php?title=TITLE&url=URL"
+ # link: "https://service.weibo.com/share/share.php?title=TITLE&url=URL"
+ #
+ # - type: Mastodon
+ # icon: "fa-brands fa-mastodon"
+ # # See: https://github.com/justinribeiro/share-to-mastodon#properties
+ # instances:
+ # - label: mastodon.social
+ # link: "https://mastodon.social/"
+ # - label: mastodon.online
+ # link: "https://mastodon.online/"
+ # - label: fosstodon.org
+ # link: "https://fosstodon.org/"
+ # - label: photog.social
+ # link: "https://photog.social/"
diff --git a/_includes/analytics/cloudflare.html b/_includes/analytics/cloudflare.html
new file mode 100644
index 0000000..1eeb1a9
--- /dev/null
+++ b/_includes/analytics/cloudflare.html
@@ -0,0 +1,7 @@
+
+
+
diff --git a/_includes/analytics/goatcounter.html b/_includes/analytics/goatcounter.html
new file mode 100644
index 0000000..3867fdb
--- /dev/null
+++ b/_includes/analytics/goatcounter.html
@@ -0,0 +1,6 @@
+
+
diff --git a/_includes/analytics/google.html b/_includes/analytics/google.html
new file mode 100644
index 0000000..d0aac65
--- /dev/null
+++ b/_includes/analytics/google.html
@@ -0,0 +1,13 @@
+
+
+
diff --git a/_includes/analytics/matomo.html b/_includes/analytics/matomo.html
new file mode 100644
index 0000000..72b2c46
--- /dev/null
+++ b/_includes/analytics/matomo.html
@@ -0,0 +1,14 @@
+
+
+
diff --git a/_includes/analytics/umami.html b/_includes/analytics/umami.html
new file mode 100644
index 0000000..bfcb1d0
--- /dev/null
+++ b/_includes/analytics/umami.html
@@ -0,0 +1,6 @@
+
+
diff --git a/_includes/comments.html b/_includes/comments.html
new file mode 100644
index 0000000..fef135f
--- /dev/null
+++ b/_includes/comments.html
@@ -0,0 +1,5 @@
+
+{% if page.comments and site.comments.provider %}
+ {% capture path %}comments/{{ site.comments.provider }}.html{% endcapture %}
+ {% include {{ path }} %}
+{% endif %}
diff --git a/_includes/comments/disqus.html b/_includes/comments/disqus.html
new file mode 100644
index 0000000..2b889a4
--- /dev/null
+++ b/_includes/comments/disqus.html
@@ -0,0 +1,50 @@
+
+
+
+
+
diff --git a/_includes/comments/giscus.html b/_includes/comments/giscus.html
new file mode 100644
index 0000000..c8d48e6
--- /dev/null
+++ b/_includes/comments/giscus.html
@@ -0,0 +1,65 @@
+
+
diff --git a/_includes/comments/utterances.html b/_includes/comments/utterances.html
new file mode 100644
index 0000000..5dd78ed
--- /dev/null
+++ b/_includes/comments/utterances.html
@@ -0,0 +1,49 @@
+
+
+
+
diff --git a/_includes/datetime.html b/_includes/datetime.html
new file mode 100644
index 0000000..9f954b6
--- /dev/null
+++ b/_includes/datetime.html
@@ -0,0 +1,20 @@
+
+
+{% assign df_strftime = site.data.locales[include.lang].df.post.strftime | default: '%d/%m/%Y' %}
+{% assign df_dayjs = site.data.locales[include.lang].df.post.dayjs | default: 'DD/MM/YYYY' %}
+
+
diff --git a/_includes/embed/audio.html b/_includes/embed/audio.html
new file mode 100644
index 0000000..e2b8979
--- /dev/null
+++ b/_includes/embed/audio.html
@@ -0,0 +1,35 @@
+{% assign src = include.src | strip %}
+{% assign title = include.title | strip %}
+{% assign types = include.types | default: '' | strip | split: '|' %}
+
+{% unless src contains '://' %}
+ {%- capture src -%}
+ {% include media-url.html src=src %}
+ {%- endcapture -%}
+{% endunless %}
+
+
+
+ {% if title %}
+ {{ title }}
+ {% endif %}
+
diff --git a/_includes/embed/bilibili.html b/_includes/embed/bilibili.html
new file mode 100644
index 0000000..0aa5552
--- /dev/null
+++ b/_includes/embed/bilibili.html
@@ -0,0 +1,9 @@
+
diff --git a/_includes/embed/twitch.html b/_includes/embed/twitch.html
new file mode 100644
index 0000000..ed5ec83
--- /dev/null
+++ b/_includes/embed/twitch.html
@@ -0,0 +1,8 @@
+
diff --git a/_includes/embed/video.html b/_includes/embed/video.html
new file mode 100644
index 0000000..712a266
--- /dev/null
+++ b/_includes/embed/video.html
@@ -0,0 +1,59 @@
+{% assign video_url = include.src %}
+{% assign title = include.title %}
+{% assign poster_url = include.poster %}
+{% assign types = include.types | default: '' | strip | split: '|' %}
+
+{% unless video_url contains '://' %}
+ {%- capture video_url -%}
+ {% include media-url.html src=video_url %}
+ {%- endcapture -%}
+{% endunless %}
+
+{% if poster_url %}
+ {% unless poster_url contains '://' %}
+ {%- capture poster_url -%}
+ {% include media-url.html src=poster_url subpath=page.media_subpath %}
+ {%- endcapture -%}
+ {% endunless %}
+ {% assign poster = 'poster="' | append: poster_url | append: '"' %}
+{% endif %}
+
+{% assign attributes = 'controls' %}
+
+{% if include.autoplay %}
+ {% assign attributes = attributes | append: ' ' | append: 'autoplay' %}
+{% endif %}
+
+{% if include.loop %}
+ {% assign attributes = attributes | append: ' ' | append: 'loop' %}
+{% endif %}
+
+{% if include.muted %}
+ {% assign attributes = attributes | append: ' ' | append: 'muted' %}
+{% endif %}
+
+
+
+ {% if title %}
+ {{ title }}
+ {% endif %}
+
diff --git a/_includes/embed/youtube.html b/_includes/embed/youtube.html
new file mode 100644
index 0000000..8f08002
--- /dev/null
+++ b/_includes/embed/youtube.html
@@ -0,0 +1,9 @@
+
diff --git a/_includes/favicons.html b/_includes/favicons.html
new file mode 100644
index 0000000..957c933
--- /dev/null
+++ b/_includes/favicons.html
@@ -0,0 +1,19 @@
+
+
+{% capture favicon_path %}{{ '/assets/img/favicons' | relative_url }}{% endcapture %}
+
+
+
+
+{% if site.pwa.enabled %}
+
+{% endif %}
+
+
+
+
+
+
diff --git a/_includes/footer.html b/_includes/footer.html
index b1865aa..1ba9b63 100644
--- a/_includes/footer.html
+++ b/_includes/footer.html
@@ -1,37 +1,49 @@
-
+
+
+ {%- capture _platform -%}
+ Jekyll
+ {%- endcapture -%}
+
+ {%- capture _theme -%}
+ Chirpy
+ {%- endcapture -%}
+
+ {{ site.data.locales[include.lang].meta | replace: ':PLATFORM', _platform | replace: ':THEME', _theme }}
+
diff --git a/_includes/head.html b/_includes/head.html
new file mode 100644
index 0000000..fd260c0
--- /dev/null
+++ b/_includes/head.html
@@ -0,0 +1,107 @@
+
+
+
+
+
+
+
+
+ {%- capture seo_tags -%}
+ {% seo title=false %}
+ {%- endcapture -%}
+
+
+
+ {% if page.image %}
+ {% assign src = page.image.path | default: page.image %}
+
+ {% unless src contains '://' %}
+ {%- capture img_url -%}
+ {% include media-url.html src=src subpath=page.media_subpath absolute=true %}
+ {%- endcapture -%}
+
+ {%- capture old_url -%}{{ src | absolute_url }}{%- endcapture -%}
+ {%- capture new_url -%}{{ img_url }}{%- endcapture -%}
+
+ {% assign seo_tags = seo_tags | replace: old_url, new_url %}
+ {% endunless %}
+
+ {% elsif site.social_preview_image %}
+ {%- capture img_url -%}
+ {% include media-url.html src=site.social_preview_image absolute=true %}
+ {%- endcapture -%}
+
+ {%- capture og_image -%}
+
+ {%- endcapture -%}
+
+ {%- capture twitter_image -%}
+
+
+ {%- endcapture -%}
+
+ {% assign old_meta_clip = '' %}
+ {% assign new_meta_clip = og_image | append: twitter_image %}
+ {% assign seo_tags = seo_tags | replace: old_meta_clip, new_meta_clip %}
+ {% endif %}
+
+ {{ seo_tags }}
+
+
+ {%- unless page.layout == 'home' -%}
+ {{ page.title | append: ' | ' }}
+ {%- endunless -%}
+ {{ site.title }}
+
+
+ {% include_cached favicons.html %}
+
+
+ {% unless site.assets.self_host.enabled %}
+ {% for hint in site.data.origin.cors.resource_hints %}
+ {% for link in hint.links %}
+
+ {% endfor %}
+ {% endfor %}
+ {% endunless %}
+
+
+ {% unless jekyll.environment == 'production' %}
+
+ {% endunless %}
+
+
+
+
+
+
+
+
+
+
+
+
+ {% if site.toc and page.toc %}
+
+ {% endif %}
+
+ {% if page.layout == 'post' or page.layout == 'page' or page.layout == 'home' %}
+
+ {% endif %}
+
+ {% if page.layout == 'page' or page.layout == 'post' %}
+
+
+ {% endif %}
+
+
+
+ {% unless site.theme_mode %}
+ {% include mode-toggle.html %}
+ {% endunless %}
+
+ {% include metadata-hook.html %}
+
diff --git a/_includes/js-selector.html b/_includes/js-selector.html
new file mode 100644
index 0000000..b229b70
--- /dev/null
+++ b/_includes/js-selector.html
@@ -0,0 +1,107 @@
+
+
+
+
+{% assign urls = site.data.origin[type].search.js %}
+
+
+
+{% assign js_dist = '/assets/js/dist/' %}
+
+{% if page.layout == 'post' or page.layout == 'page' or page.layout == 'home' %}
+ {% assign urls = urls | append: ',' | append: site.data.origin[type]['lazy-polyfill'].js %}
+
+ {% unless page.layout == 'home' %}
+
+ {% assign urls = urls
+ | append: ','
+ | append: site.data.origin[type].glightbox.js
+ | append: ','
+ | append: site.data.origin[type].clipboard.js
+ %}
+ {% endunless %}
+{% endif %}
+
+{% if page.layout == 'home'
+ or page.layout == 'post'
+ or page.layout == 'archives'
+ or page.layout == 'category'
+ or page.layout == 'tag'
+%}
+ {% assign locale = include.lang | split: '-' | first %}
+
+ {% assign urls = urls
+ | append: ','
+ | append: site.data.origin[type].dayjs.js.common
+ | append: ','
+ | append: site.data.origin[type].dayjs.js.locale
+ | replace: ':LOCALE', locale
+ | append: ','
+ | append: site.data.origin[type].dayjs.js.relativeTime
+ | append: ','
+ | append: site.data.origin[type].dayjs.js.localizedFormat
+ %}
+{% endif %}
+
+{% if page.content contains '
+
+{% if page.math %}
+
+
+
+
+{% endif %}
+
+
+{% if page.layout == 'post' %}
+ {% assign provider = site.pageviews.provider %}
+
+ {% if provider and provider != empty %}
+ {% case provider %}
+ {% when 'goatcounter' %}
+ {% if site.analytics[provider].id != empty and site.analytics[provider].id %}
+ {% include pageviews/{{ provider }}.html %}
+ {% endif %}
+ {% endcase %}
+ {% endif %}
+{% endif %}
+
+{% if page.mermaid %}
+ {% include mermaid.html %}
+{% endif %}
+
+{% if jekyll.environment == 'production' %}
+
+ {% if site.pwa.enabled %}
+
+ {% endif %}
+
+
+ {% for analytics in site.analytics %}
+ {% capture str %}{{ analytics }}{% endcapture %}
+ {% assign type = str | split: '{' | first %}
+ {% if site.analytics[type].id and site.analytics[type].id != empty %}
+ {% include analytics/{{ type }}.html %}
+ {% endif %}
+ {% endfor %}
+{% endif %}
diff --git a/_includes/jsdelivr-combine.html b/_includes/jsdelivr-combine.html
new file mode 100644
index 0000000..cffa699
--- /dev/null
+++ b/_includes/jsdelivr-combine.html
@@ -0,0 +1,26 @@
+{% assign urls = include.urls | split: ',' %}
+
+{% assign combined_urls = nil %}
+
+{% assign domain = 'https://cdn.jsdelivr.net/' %}
+
+{% for url in urls %}
+ {% if url contains domain %}
+ {% assign url_snippet = url | slice: domain.size, url.size %}
+
+ {% if combined_urls %}
+ {% assign combined_urls = combined_urls | append: ',' | append: url_snippet %}
+ {% else %}
+ {% assign combined_urls = domain | append: 'combine/' | append: url_snippet %}
+ {% endif %}
+
+ {% elsif url contains '//' %}
+
+ {% else %}
+
+ {% endif %}
+{% endfor %}
+
+{% if combined_urls %}
+
+{% endif %}
diff --git a/_includes/lang.html b/_includes/lang.html
new file mode 100644
index 0000000..34b50df
--- /dev/null
+++ b/_includes/lang.html
@@ -0,0 +1,10 @@
+{% comment %}
+ Detect appearance language and return it through variable "lang"
+{% endcomment %}
+{% if site.data.locales[page.lang] %}
+ {% assign lang = page.lang %}
+{% elsif site.data.locales[site.lang] %}
+ {% assign lang = site.lang %}
+{% else %}
+ {% assign lang = 'en' %}
+{% endif %}
diff --git a/_includes/language-alias.html b/_includes/language-alias.html
new file mode 100644
index 0000000..abfa7ba
--- /dev/null
+++ b/_includes/language-alias.html
@@ -0,0 +1,70 @@
+{% comment %}
+
+ Convert the alias of the syntax language to the official name
+
+ See:
+
+{% endcomment %}
+
+{% assign _lang = include.language | default: '' %}
+
+{% case _lang %}
+ {% when 'actionscript', 'as', 'as3' %}
+ {{ 'ActionScript' }}
+ {% when 'applescript' %}
+ {{ 'AppleScript' }}
+ {% when 'brightscript', 'bs', 'brs' %}
+ {{ 'BrightScript' }}
+ {% when 'cfscript', 'cfc' %}
+ {{ 'CFScript' }}
+ {% when 'coffeescript', 'coffee', 'coffee-script' %}
+ {{ 'CoffeeScript' }}
+ {% when 'cs', 'csharp' %}
+ {{ 'C#' }}
+ {% when 'erl' %}
+ {{ 'Erlang' }}
+ {% when 'graphql' %}
+ {{ 'GraphQL' }}
+ {% when 'haskell', 'hs' %}
+ {{ 'Haskell' }}
+ {% when 'javascript', 'js' %}
+ {{ 'JavaScript' }}
+ {% when 'make', 'mf', 'gnumake', 'bsdmake' %}
+ {{ 'Makefile' }}
+ {% when 'md', 'mkd' %}
+ {{ 'Markdown' }}
+ {% when 'm' %}
+ {{ 'Matlab' }}
+ {% when 'objective_c', 'objc', 'obj-c', 'obj_c', 'objectivec' %}
+ {{ 'Objective-C' }}
+ {% when 'perl', 'pl' %}
+ {{ 'Perl' }}
+ {% when 'php','php3','php4','php5' %}
+ {{ 'PHP' }}
+ {% when 'py' %}
+ {{ 'Python' }}
+ {% when 'rb' %}
+ {{ 'Ruby' }}
+ {% when 'rs','no_run','ignore','should_panic' %}
+ {{ 'Rust' }}
+ {% when 'bash', 'zsh', 'ksh', 'sh' %}
+ {{ 'Shell' }}
+ {% when 'st', 'squeak' %}
+ {{ 'Smalltalk' }}
+ {% when 'tex'%}
+ {{ 'TeX' }}
+ {% when 'latex' %}
+ {{ 'LaTex' }}
+ {% when 'ts', 'typescript' %}
+ {{ 'TypeScript' }}
+ {% when 'vb', 'visualbasic' %}
+ {{ 'Visual Basic' }}
+ {% when 'vue', 'vuejs' %}
+ {{ 'Vue.js' }}
+ {% when 'yml' %}
+ {{ 'YAML' }}
+ {% when 'css', 'html', 'scss', 'ssh', 'toml', 'xml', 'yaml', 'json' %}
+ {{ _lang | upcase }}
+ {% else %}
+ {{ _lang | capitalize }}
+{% endcase %}
diff --git a/_includes/media-url.html b/_includes/media-url.html
new file mode 100644
index 0000000..ea41075
--- /dev/null
+++ b/_includes/media-url.html
@@ -0,0 +1,37 @@
+{%- comment -%}
+ Generate media resource final URL based on `site.cdn`, `page.media_subpath`
+
+ Arguments:
+ src - required, basic media resources path
+ subpath - optional, relative path of media resources
+ absolute - optional, boolean, if true, generate absolute URL
+
+ Return:
+ media resources URL
+{%- endcomment -%}
+
+{% assign url = include.src %}
+
+{%- if url -%}
+ {% unless url contains ':' %}
+ {%- comment -%} Add media resources subpath prefix {%- endcomment -%}
+ {% assign url = include.subpath | default: '' | append: '/' | append: url %}
+
+ {%- comment -%} Prepend CND URL {%- endcomment -%}
+ {% if site.cdn %}
+ {% assign url = site.cdn | append: '/' | append: url %}
+ {% endif %}
+
+ {% assign url = url | replace: '///', '/' | replace: '//', '/' | replace: ':/', '://' %}
+
+ {% unless url contains '://' %}
+ {% if include.absolute %}
+ {% assign url = site.url | append: site.baseurl | append: url %}
+ {% else %}
+ {% assign url = site.baseurl | append: url %}
+ {% endif %}
+ {% endunless %}
+ {% endunless %}
+{%- endif -%}
+
+{{- url -}}
diff --git a/_includes/mermaid.html b/_includes/mermaid.html
new file mode 100644
index 0000000..a3a83ed
--- /dev/null
+++ b/_includes/mermaid.html
@@ -0,0 +1,62 @@
+
+
diff --git a/_includes/metadata-hook.html b/_includes/metadata-hook.html
new file mode 100644
index 0000000..fd7e9bd
--- /dev/null
+++ b/_includes/metadata-hook.html
@@ -0,0 +1 @@
+
diff --git a/_includes/mode-toggle.html b/_includes/mode-toggle.html
new file mode 100644
index 0000000..113ec37
--- /dev/null
+++ b/_includes/mode-toggle.html
@@ -0,0 +1,116 @@
+
+
+
diff --git a/_includes/no-linenos.html b/_includes/no-linenos.html
new file mode 100644
index 0000000..8500693
--- /dev/null
+++ b/_includes/no-linenos.html
@@ -0,0 +1,10 @@
+{% comment %}
+ Remove the line number of the code snippet.
+{% endcomment %}
+
+{% assign content = include.content %}
+
+{% if content contains '' %}
+ {% assign content = content | replace: '', '' %}
+{% endif %}
diff --git a/_includes/notification.html b/_includes/notification.html
new file mode 100644
index 0000000..80049b0
--- /dev/null
+++ b/_includes/notification.html
@@ -0,0 +1,24 @@
+
diff --git a/_includes/origin-type.html b/_includes/origin-type.html
new file mode 100644
index 0000000..7f72012
--- /dev/null
+++ b/_includes/origin-type.html
@@ -0,0 +1,13 @@
+{% comment %} Site static assets origin type {% endcomment %}
+
+{% assign type = 'cors' %}
+
+{% if site.assets.self_host.enabled %}
+ {% if site.assets.self_host.env %}
+ {% if site.assets.self_host.env == jekyll.environment %}
+ {% assign type = 'basic' %}
+ {% endif %}
+ {% else %}
+ {% assign type = 'basic' %}
+ {% endif %}
+{% endif %}
diff --git a/_includes/pageviews/goatcounter.html b/_includes/pageviews/goatcounter.html
new file mode 100644
index 0000000..af536db
--- /dev/null
+++ b/_includes/pageviews/goatcounter.html
@@ -0,0 +1,18 @@
+
+
diff --git a/_includes/post-description.html b/_includes/post-description.html
new file mode 100644
index 0000000..6c40036
--- /dev/null
+++ b/_includes/post-description.html
@@ -0,0 +1,16 @@
+{%- comment -%}
+ Get post description or generate it from the post content.
+{%- endcomment -%}
+
+{%- assign max_length = include.max_length | default: 200 -%}
+
+{%- capture description -%}
+{%- if post.description -%}
+ {{- post.description -}}
+{%- else -%}
+ {%- include no-linenos.html content=post.content -%}
+ {{- content | markdownify | strip_html -}}
+{%- endif -%}
+{%- endcapture -%}
+
+{{- description | strip | truncate: max_length | escape -}}
diff --git a/_includes/post-nav.html b/_includes/post-nav.html
new file mode 100644
index 0000000..736bec3
--- /dev/null
+++ b/_includes/post-nav.html
@@ -0,0 +1,34 @@
+
+
+
diff --git a/_includes/post-paginator.html b/_includes/post-paginator.html
new file mode 100644
index 0000000..c74e978
--- /dev/null
+++ b/_includes/post-paginator.html
@@ -0,0 +1,91 @@
+
+
+
+
diff --git a/_includes/post-sharing.html b/_includes/post-sharing.html
new file mode 100644
index 0000000..d894199
--- /dev/null
+++ b/_includes/post-sharing.html
@@ -0,0 +1,52 @@
+
+
+
+ {{ site.data.locales[include.lang].post.share }}
+
+ {% capture title %}{{ page.title }} - {{ site.title }}{% endcapture %}
+ {% assign title = title | uri_escape %}
+ {% assign url = page.url | absolute_url | url_encode %}
+
+ {% for share in site.data.share.platforms -%}
+ {%- capture tooltip -%}
+ data-bs-toggle="tooltip" data-bs-placement="top" title="{{ share.type }}" aria-label="{{ share.type }}"
+ {%- endcapture -%}
+
+ {% if share.type == 'Mastodon' %}
+
+
+
+ {% continue %}
+ {% endif %}
+
+ {% assign link = share.link | replace: 'TITLE', title | replace: 'URL', url %}
+
+
+
+
+ {% endfor %}
+
+
+
+
diff --git a/_includes/read-time.html b/_includes/read-time.html
new file mode 100644
index 0000000..9952410
--- /dev/null
+++ b/_includes/read-time.html
@@ -0,0 +1,37 @@
+
+
+{% assign words = include.content | strip_html | number_of_words: 'auto' %}
+
+
+
+{% assign wpm = 180 %}
+{% assign min_time = 1 %}
+
+{% assign read_time = words | divided_by: wpm %}
+
+{% unless read_time > 0 %}
+ {% assign read_time = min_time %}
+{% endunless %}
+
+{% capture read_prompt %}
+ {{- site.data.locales[include.lang].post.read_time.prompt -}}
+{% endcapture %}
+
+
+
+
+ {{- read_time -}}
+ {{ ' ' }}
+ {{- site.data.locales[include.lang].post.read_time.unit -}}
+
+ {%- if include.prompt -%}
+ {%- assign _prompt_words = read_prompt | number_of_words: 'auto' -%}
+ {%- unless _prompt_words > 1 -%}{{ ' ' }}{%- endunless -%}
+ {{ read_prompt }}
+ {%- endif -%}
+
diff --git a/_includes/refactor-content.html b/_includes/refactor-content.html
new file mode 100644
index 0000000..8d298cd
--- /dev/null
+++ b/_includes/refactor-content.html
@@ -0,0 +1,255 @@
+
+
+{% assign _content = include.content %}
+
+
+
+{% if _content contains ''
+ | replace: '', ''
+ | replace: '
', ''
+ %}
+{% endif %}
+
+
+
+{% if _content contains '' %}
+ {% assign _content = _content
+ | replace: '', ''
+ %}
+{% endif %}
+
+
+
+{% if _content contains '',
+ ''
+ | replace: '',
+ ''
+ %}
+{% endif %}
+
+
+
+{% assign IMG_TAG = '' | first %}
+ {% assign _right = _img_snippet | remove: _left %}
+
+ {% unless _left contains 'src=' %}
+ {% continue %}
+ {% endunless %}
+
+ {% assign _left = _left | remove: ' /' | replace: ' w=', ' width=' | replace: ' h=', ' height=' %}
+ {% assign _attrs = _left | split: '" ' %}
+
+ {% assign _src = null %}
+ {% assign _lqip = null %}
+ {% assign _class = null %}
+
+ {% for _attr in _attrs %}
+ {% unless _attr contains '=' %}
+ {% continue %}
+ {% endunless %}
+
+ {% assign _pair = _attr | split: '="' %}
+ {% capture _key %}{{ _pair | first }}{% endcapture %}
+ {% capture _value %}{{ _pair | last | remove: '"' }}{% endcapture %}
+
+ {% case _key %}
+ {% when 'src' %}
+ {% assign _src = _value %}
+ {% when 'lqip' %}
+ {% assign _lqip = _value %}
+ {% when 'class' %}
+ {% assign _class = _value %}
+ {% endcase %}
+ {% endfor %}
+
+
+ {% if _class %}
+ {% capture _old_class %}class="{{ _class }}"{% endcapture %}
+ {% assign _left = _left | remove: _old_class %}
+ {% endif %}
+
+ {% assign _final_src = null %}
+ {% assign _lazyload = true %}
+
+ {%- capture _img_url -%}
+ {% include media-url.html src=_src subpath=page.media_subpath %}
+ {%- endcapture -%}
+
+ {% assign _path_prefix = _img_url | remove: _src %}
+
+ {% unless _src contains '//' %}
+ {% assign _final_src = _path_prefix | append: _src %}
+ {% assign _src_alt = 'src="' | append: _path_prefix %}
+ {% assign _left = _left | replace: 'src="', _src_alt %}
+ {% endunless %}
+
+ {% if _lqip %}
+ {% assign _lazyload = false %}
+ {% assign _class = _class | append: ' blur' %}
+
+ {% unless _lqip contains 'data:' %}
+ {% assign _lqip_alt = 'lqip="' | append: _path_prefix %}
+ {% assign _left = _left | replace: 'lqip="', _lqip_alt %}
+ {% endunless %}
+
+
+ {% assign _left = _left | replace: 'src=', 'data-src=' | replace: ' lqip=', ' data-lqip="true" src=' %}
+
+ {% else %}
+ {% assign _class = _class | append: ' shimmer' %}
+ {% endif %}
+
+
+ {% if _lazyload %}
+ {% assign _left = _left | append: ' loading="lazy"' %}
+ {% endif %}
+
+ {% if page.layout == 'home' %}
+
+ {% assign _wrapper_start = '' %}
+
+ {% assign _img_content = _img_content | append: _wrapper_start %}
+ {% assign _right = _right | prepend: '> ` is wrapped by `` -->
+ {% assign _parent = _right | slice: 1, 4 %}
+
+ {% if _parent == '' %}
+
+ {% assign _size = _img_content | size | minus: 1 %}
+ {% capture _class %}
+ class="img-link{% unless _lqip %} shimmer{% endunless %}"
+ {% endcapture %}
+ {% assign _img_content = _img_content | slice: 0, _size | append: _class | append: '>' %}
+
+ {% else %}
+
+ {% assign _wrapper_start = _final_src
+ | default: _src
+ | prepend: '
+ {% assign _img_content = _img_content | append: IMG_TAG | append: _left | append: _right %}
+ {% endfor %}
+
+ {% if _img_content %}
+ {% assign _content = _img_content %}
+ {% endif %}
+{% endif %}
+
+
+
+{% if _content contains '' %}
+ {% assign _code_spippets = _content | split: '' %}
+ {% assign _new_content = '' %}
+
+ {% for _snippet in _code_spippets %}
+ {% if forloop.last %}
+ {% assign _new_content = _new_content | append: _snippet %}
+
+ {% else %}
+ {% assign _left = _snippet | split: '><' | last %}
+
+ {% if _left contains 'file="' %}
+ {% assign _label_text = _left | split: 'file="' | last | split: '"' | first %}
+ {% assign _label_icon = 'far fa-file-code fa-fw' %}
+ {% else %}
+ {% assign _lang = _left | split: 'language-' | last | split: ' ' | first %}
+ {% capture _label_text %}{% include language-alias.html language=_lang %}{% endcapture %}
+ {% assign _label_icon = 'fas fa-code fa-fw small' %}
+ {% endif %}
+
+ {% capture _label %}
+
+ {% endcapture %}
+
+ {% assign _new_content = _new_content
+ | append: _snippet
+ | append: ''
+ | append: ''
+ %}
+ {% endif %}
+ {% endfor %}
+
+ {% assign _content = _new_content %}
+{% endif %}
+
+
+
+{% assign heading_levels = '2,3,4,5' | split: ',' %}
+{% assign _heading_content = _content %}
+
+{% for level in heading_levels %}
+ {% assign mark_start = ''
+ %}
+
+ {% assign left = snippet | split: mark_end | first %}
+ {% assign right = snippet | slice: left.size, snippet.size %}
+ {% assign left = left | replace_first: '">', '">' | append: '' %}
+
+ {% assign _new_content = _new_content | append: mark_start | append: left | append: anchor | append: right %}
+ {% endfor %}
+
+ {% assign _heading_content = _new_content %}
+ {% endif %}
+{% endfor %}
+
+{% assign _content = _heading_content %}
+
+
+{{ _content }}
diff --git a/_includes/related-posts.html b/_includes/related-posts.html
new file mode 100644
index 0000000..37a295b
--- /dev/null
+++ b/_includes/related-posts.html
@@ -0,0 +1,94 @@
+
+
+
+{% assign TOTAL_SIZE = 3 %}
+
+
+{% assign TAG_SCORE = 1 %}
+
+
+{% assign CATEGORY_SCORE = 0.5 %}
+
+{% assign SEPARATOR = ':' %}
+
+{% assign match_posts = '' | split: '' %}
+
+{% for category in page.categories %}
+ {% assign match_posts = match_posts | push: site.categories[category] | uniq %}
+{% endfor %}
+
+{% for tag in page.tags %}
+ {% assign match_posts = match_posts | push: site.tags[tag] | uniq %}
+{% endfor %}
+
+{% assign match_posts = match_posts | reverse %}
+{% assign last_index = match_posts.size | minus: 1 %}
+{% assign score_list = '' | split: '' %}
+
+{% for i in (0..last_index) %}
+ {% assign post = match_posts[i] %}
+
+ {% if post.url == page.url %}
+ {% continue %}
+ {% endif %}
+
+ {% assign score = 0 %}
+
+ {% for tag in post.tags %}
+ {% if page.tags contains tag %}
+ {% assign score = score | plus: TAG_SCORE %}
+ {% endif %}
+ {% endfor %}
+
+ {% for category in post.categories %}
+ {% if page.categories contains category %}
+ {% assign score = score | plus: CATEGORY_SCORE %}
+ {% endif %}
+ {% endfor %}
+
+ {% if score > 0 %}
+ {% capture score_item %}{{ score }}{{ SEPARATOR }}{{ i }}{% endcapture %}
+ {% assign score_list = score_list | push: score_item %}
+ {% endif %}
+{% endfor %}
+
+{% assign index_list = '' | split: '' %}
+
+{% if score_list.size > 0 %}
+ {% assign score_list = score_list | sort | reverse %}
+ {% for entry in score_list limit: TOTAL_SIZE %}
+ {% assign index = entry | split: SEPARATOR | last %}
+ {% assign index_list = index_list | push: index %}
+ {% endfor %}
+{% endif %}
+
+{% assign relate_posts = '' | split: '' %}
+
+{% for index in index_list %}
+ {% assign i = index | to_integer %}
+ {% assign relate_posts = relate_posts | push: match_posts[i] %}
+{% endfor %}
+
+{% if relate_posts.size > 0 %}
+
+
+{% endif %}
diff --git a/_includes/search-loader.html b/_includes/search-loader.html
new file mode 100644
index 0000000..2582580
--- /dev/null
+++ b/_includes/search-loader.html
@@ -0,0 +1,47 @@
+
+
+{% capture result_elem %}
+
+
+ {snippet}
+
+{% endcapture %}
+
+{% capture not_found %}{{ site.data.locales[include.lang].search.no_results }} {% endcapture %}
+
+
diff --git a/_includes/search-results.html b/_includes/search-results.html
new file mode 100644
index 0000000..00a3182
--- /dev/null
+++ b/_includes/search-results.html
@@ -0,0 +1,10 @@
+
+
+
+
+
+ {% include_cached trending-tags.html %}
+
+
+
+
diff --git a/_includes/sidebar.html b/_includes/sidebar.html
index 6991284..4f0bb8c 100644
--- a/_includes/sidebar.html
+++ b/_includes/sidebar.html
@@ -5,7 +5,7 @@
{%- if site.avatar != empty and site.avatar -%}
{%- capture avatar_url -%}
- {% include img-url.html src=site.avatar %}
+ {% include media-url.html src=site.avatar %}
{%- endcapture -%}
{%- endif -%}
@@ -39,25 +39,12 @@
{% endfor %}
-
-
-
-
- NEPTUNIUM
-
-
-
-
-
- OLD SITE
-
-
| | |
Comments powered by Disqus.
+