mirror of
https://github.com/cotes2020/jekyll-theme-chirpy.git
synced 2026-06-22 15:58:41 +00:00
Compare commits
316 Commits
v6.4.2
...
production
| Author | SHA1 | Date | |
|---|---|---|---|
| 152093879e | |||
| 0bf1c724d8 | |||
| 2ec2036d37 | |||
| cd1fb15481 | |||
| 9ea9dcf930 | |||
| 2db053553b | |||
| 18cf79bdac | |||
| 5cc9dc66ac | |||
| 7496dd41fa | |||
| ceb2a41463 | |||
| 38232120b7 | |||
| fb3aa94c1f | |||
| 832b24729d | |||
| 97a537e692 | |||
| 1344e90246 | |||
| 2cfb4bba88 | |||
| 6bd446ccde | |||
| 2685b91957 | |||
| 6245dec754 | |||
| f20ed1c4b1 | |||
| 9adb7e352b | |||
| 297fbde1a2 | |||
| d760823619 | |||
| da4b8cd168 | |||
| 8893a98191 | |||
| 6afe5a6d7b | |||
| 8fd56560a4 | |||
| fe968a7701 | |||
| cc1d44ee3e | |||
| ce14e1a087 | |||
| 477394b744 | |||
| 96da25abbd | |||
| 0fbaa5359b | |||
| 92e0ff63ec | |||
| 52d160f857 | |||
| d2db439c16 | |||
| cecfc4237f | |||
| 525c2888c5 | |||
| 4950edc75e | |||
| 66bf232951 | |||
| 37377a43e0 | |||
| 7f35d8e550 | |||
| 18ab8fcfdf | |||
| 078cf86f79 | |||
| 45cb428b01 | |||
| 3578111ecd | |||
| 022b963403 | |||
| aa832c29de | |||
| 604528e3ce | |||
| b3d7db3cda | |||
| ee6839516e | |||
| a385ffabff | |||
| f51641b541 | |||
| 221ca9f52b | |||
| 4d6c788b9c | |||
| cda62e28d1 | |||
| 5f8ec7ffd3 | |||
| eaf5e57449 | |||
| 29bf95e9c7 | |||
| 648398c63c | |||
| b855e8b6b4 | |||
| 49519d13e5 | |||
| 8bf72fc234 | |||
| c0e4756200 | |||
| 81886b11c0 | |||
| 7615d72e93 | |||
| 1bac96a8e1 | |||
| c706799f9b | |||
| 18c48b4c49 | |||
| f5802b8a8a | |||
| 09948da235 | |||
| 53770e4923 | |||
| d84b72706a | |||
| 519e4f193a | |||
| d0f8f9553e | |||
| 401e2af0f8 | |||
| ada38aad96 | |||
| 61ae6cced8 | |||
| 9f38a2dead | |||
| 23d953c313 | |||
| b48ea68bf7 | |||
| c62644759c | |||
| 7708adbf30 | |||
| 167c98c781 | |||
| f7449299e8 | |||
| db40db6d3d | |||
| 571c90f130 | |||
| 54d4d59d22 | |||
| e3158642c3 | |||
| 7d4d35cd10 | |||
| 231956d77a | |||
| 0eb7efa7f5 | |||
| e44c048aef | |||
| 5e41d874b3 | |||
| 774ee93d78 | |||
| 8a4d0bc4ee | |||
| 1b93f6db9b | |||
| 32051dad03 | |||
| c12875fdba | |||
| c174f62f26 | |||
| e741aa43cf | |||
| e0c3fafa47 | |||
| 1b4e318dc1 | |||
| 2f00d41861 | |||
| f40fa6a13c | |||
| 0360c9e90b | |||
| d87c2de675 | |||
| f55cc31dbd | |||
| 981ddba30e | |||
| 4925a58bf5 | |||
| 7630356a94 | |||
| 6c112c641a | |||
| 976e1a184b | |||
| 7ea3545ba3 | |||
| 8280adb901 | |||
| 4180992272 | |||
| a16aa7d41e | |||
| 8e55e4dcb2 | |||
| b4019f3517 | |||
| 2966fc174d | |||
| 3df83fd0d9 | |||
| 82ba82e6da | |||
| 5265b03974 | |||
| 11647697bb | |||
| 5756b8fc26 | |||
| 35c794cf58 | |||
| c69914effc | |||
| 65f960c31a | |||
| d51345e297 | |||
| 2f844978aa | |||
| 42dea8ee29 | |||
| 86b13c917f | |||
| 4ef3cd8efc | |||
| c7f967529c | |||
| 74ed06321c | |||
| d4f7f39ece | |||
| c1bd9eb9ee | |||
| 6f461132c0 | |||
| 03e302cbf6 | |||
| 8a064a5e5a | |||
| 740bd84c51 | |||
| 93f616b25d | |||
| e6b87d2811 | |||
| 73749067c5 | |||
| fd0df8320f | |||
| fbcdf8ce85 | |||
| fac6116af1 | |||
| 5a63244721 | |||
| 3ab3b844d2 | |||
| 367262e74d | |||
| cbc93193e1 | |||
| a784f0a0f9 | |||
| a2bf5dc58e | |||
| 8b7dba71e3 | |||
| fc3d101258 | |||
| 604e01eb36 | |||
| 31e19c6d0f | |||
| 5f4dab1745 | |||
| 8cfd721494 | |||
| 64c7262245 | |||
| 707a209424 | |||
| 80bd7928a0 | |||
| befc4ce9c5 | |||
| bf6c996c4e | |||
| 99eaf6089e | |||
| efd2941ce0 | |||
| 7f83c3d00d | |||
| d74bfaeda2 | |||
| 23729c9c8f | |||
| e347d0632f | |||
| 35fdea0c4f | |||
| 5c5910f1fc | |||
| b641b36480 | |||
| 979f86cf64 | |||
| 8c30f0a9c3 | |||
| e4db1a176f | |||
| e3a78b6243 | |||
| 8673e1335f | |||
| a07a57ec92 | |||
| db9e58bab2 | |||
| e6532ad864 | |||
| fbba0a4204 | |||
| c876731901 | |||
| 9ca7519239 | |||
| 0709854dc8 | |||
| f1d35832f4 | |||
| cf853f14e4 | |||
| 7ca9c59784 | |||
| 250880c088 | |||
| 88b844ce80 | |||
| 3b46629dc0 | |||
| 1e3d4a6323 | |||
| 1c5fa0880d | |||
| 64ae7a3671 | |||
| 0102abae06 | |||
| 6cb1a5ac52 | |||
| 20987f2afe | |||
| 39e4338839 | |||
| 33a1fa7cae | |||
| 00a27a1b85 | |||
| 5cdde7dbc5 | |||
| c4b58e3502 | |||
| 9630fd647f | |||
| 90a4cc76bb | |||
| e33547fe5d | |||
| 09b300bc62 | |||
| 9ffd997c3b | |||
| 37827d81e5 | |||
| febc01db52 | |||
| b2245492e6 | |||
| f87fdd0ea0 | |||
| fdbd7f02e3 | |||
| 75891e714f | |||
| 363a3d936b | |||
| ddb48eda52 | |||
| c17fba44f5 | |||
| 12c340e98b | |||
| dcb0add47b | |||
| f1c6d2a817 | |||
| 05ebfb705e | |||
| 8608147fb5 | |||
| 76d58fe0ff | |||
| b77767f76e | |||
| e0950fc973 | |||
| 778ebdf250 | |||
| 796c386037 | |||
| 72d93b132f | |||
| e09831ba3e | |||
| 05e3689d17 | |||
| d4a6d640bd | |||
| 2cfa54847a | |||
| cd37f63a01 | |||
| 015d5670a1 | |||
| 63c51384df | |||
| 662cd331e3 | |||
| d013c11c8d | |||
| fe7afa379f | |||
| c85e9e2394 | |||
| bf16d6039a | |||
| 8c1be9f2f3 | |||
| 7808ee157c | |||
| 1914c786a0 | |||
| 44f552cbce | |||
| 7d48d32c7b | |||
| 9f8aeaadbf | |||
| 61bdca2db4 | |||
| 23be4162b3 | |||
| 01076cb1c2 | |||
| 3cc1510071 | |||
| 950839175a | |||
| 13bf51e03d | |||
| ce96d7e251 | |||
| 7a7818b579 | |||
| cef8a97384 | |||
| 2d649aae0e | |||
| b7aa05d03a | |||
| c5d5e1f75a | |||
| 319a082940 | |||
| 6044df4ff1 | |||
| e5594525e7 | |||
| e15eaaffe0 | |||
| 74cf57aaac | |||
| cfe44f204b | |||
| 700fd5bad7 | |||
| 8e5fbb7a74 | |||
| 834931486d | |||
| f865336c89 | |||
| 0f8e782bfd | |||
| 0a6c1fb251 | |||
| 75a3d7399b | |||
| 547b95cc7a | |||
| 2a7b56bb36 | |||
| 25c4166722 | |||
| 25b2ffa9ba | |||
| 8a2afae6ca | |||
| 6112b15b8e | |||
| e24a0c73ba | |||
| 0f5abc82a2 | |||
| 795ff3f4c3 | |||
| c41672b2e0 | |||
| 9cc62e703f | |||
| 19d6bafbe1 | |||
| 4ddd5c4370 | |||
| 9592146ca3 | |||
| 8a1568c27a | |||
| 388c1511d6 | |||
| 8849afe5cf | |||
| f8390d4384 | |||
| e4363871b5 | |||
| b641b3f1f2 | |||
| 5dbda0c09f | |||
| 89b962557a | |||
| 5de0153df4 | |||
| ed4d304cd2 | |||
| 48564bda8d | |||
| b9d053b3cd | |||
| cd258c92c3 | |||
| 6230d1d750 | |||
| 365abc6b3b | |||
| 79c65b3e44 | |||
| 6b34901d94 | |||
| 90693ff95e | |||
| 1a01c35e52 | |||
| c335bc6ce7 | |||
| f3ea7e9887 | |||
| c13ec31163 | |||
| bbbb66b489 | |||
| 74f16623c9 | |||
| 1127c43823 | |||
| ea3a22e13c | |||
| c0018b66f3 | |||
| 02e296ed75 | |||
| 4facf5b390 | |||
| c5d11441bc | |||
| 96bdd7c1dd | |||
| 13177979bb |
@@ -0,0 +1,29 @@
|
|||||||
|
{
|
||||||
|
"name": "Jekyll",
|
||||||
|
"image": "mcr.microsoft.com/devcontainers/jekyll:2-bullseye",
|
||||||
|
"onCreateCommand": "git config --global --add safe.directory ${containerWorkspaceFolder}",
|
||||||
|
"postCreateCommand": "bash .devcontainer/post-create.sh",
|
||||||
|
"customizations": {
|
||||||
|
"vscode": {
|
||||||
|
"settings": {
|
||||||
|
"terminal.integrated.defaultProfile.linux": "zsh"
|
||||||
|
},
|
||||||
|
"extensions": [
|
||||||
|
// Liquid tags auto-complete
|
||||||
|
"killalau.vscode-liquid-snippets",
|
||||||
|
// Liquid syntax highlighting and formatting
|
||||||
|
"Shopify.theme-check-vscode",
|
||||||
|
// Shell
|
||||||
|
"timonwong.shellcheck",
|
||||||
|
"mkhl.shfmt",
|
||||||
|
// Common formatter
|
||||||
|
"EditorConfig.EditorConfig",
|
||||||
|
"esbenp.prettier-vscode",
|
||||||
|
"stylelint.vscode-stylelint",
|
||||||
|
"yzhang.markdown-all-in-one",
|
||||||
|
// Git
|
||||||
|
"mhutchie.git-graph"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
if [ -f package.json ]; then
|
||||||
|
bash -i -c "nvm install --lts && nvm install-latest-npm"
|
||||||
|
npm i
|
||||||
|
npm run build
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Install dependencies for shfmt extension
|
||||||
|
curl -sS https://webi.sh/shfmt | sh &>/dev/null
|
||||||
|
|
||||||
|
# Add OMZ plugins
|
||||||
|
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
|
||||||
|
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions
|
||||||
|
sed -i -E "s/^(plugins=\()(git)(\))/\1\2 zsh-syntax-highlighting zsh-autosuggestions\3/" ~/.zshrc
|
||||||
|
|
||||||
|
# Avoid git log use less
|
||||||
|
echo -e "\nunset LESS" >>~/.zshrc
|
||||||
@@ -9,15 +9,6 @@ body:
|
|||||||
[contributing guidelines](https://github.com/cotes2020/jekyll-theme-chirpy/blob/master/docs/CONTRIBUTING.md).
|
[contributing guidelines](https://github.com/cotes2020/jekyll-theme-chirpy/blob/master/docs/CONTRIBUTING.md).
|
||||||
required: true
|
required: true
|
||||||
|
|
||||||
- type: dropdown
|
|
||||||
attributes:
|
|
||||||
label: What is the topic?
|
|
||||||
options:
|
|
||||||
- Sharing tips and tricks
|
|
||||||
- Just chatting
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
|
|
||||||
- type: textarea
|
- type: textarea
|
||||||
attributes:
|
attributes:
|
||||||
label: Description
|
label: Description
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
body:
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
label: Description
|
||||||
|
description: Please describe in detail what you want to share.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
ko_fi: coteschung
|
|
||||||
custom: https://sponsor.cotes.page
|
|
||||||
@@ -53,7 +53,7 @@ body:
|
|||||||
value: |
|
value: |
|
||||||
- Ruby: <!-- run `ruby -v` -->
|
- Ruby: <!-- run `ruby -v` -->
|
||||||
- Jekyll: <!-- run `bundle exec jekyll -v` -->
|
- Jekyll: <!-- run `bundle exec jekyll -v` -->
|
||||||
- Chirpy: <!-- run `bundle info jekyll-theme-chirpy` -->
|
- Chirpy: <!-- run `bundle info --version jekyll-theme-chirpy` -->
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
paths-ignore:
|
||||||
|
- "assets/js"
|
||||||
+13
-10
@@ -2,25 +2,28 @@ version: 2
|
|||||||
updates:
|
updates:
|
||||||
- package-ecosystem: "bundler"
|
- package-ecosystem: "bundler"
|
||||||
directory: "/"
|
directory: "/"
|
||||||
versioning-strategy: increase
|
|
||||||
groups:
|
|
||||||
bundler:
|
|
||||||
dependency-type: "production"
|
|
||||||
schedule:
|
schedule:
|
||||||
interval: "monthly"
|
interval: "weekly"
|
||||||
- package-ecosystem: "npm"
|
- package-ecosystem: "npm"
|
||||||
directory: "/"
|
directory: "/"
|
||||||
versioning-strategy: increase
|
versioning-strategy: increase
|
||||||
groups:
|
groups:
|
||||||
npm:
|
prod-deps:
|
||||||
dependency-type: "development"
|
dependency-type: production
|
||||||
|
dev-deps:
|
||||||
|
dependency-type: development
|
||||||
schedule:
|
schedule:
|
||||||
interval: "monthly"
|
interval: "weekly"
|
||||||
- package-ecosystem: "github-actions"
|
- package-ecosystem: "github-actions"
|
||||||
directory: "/"
|
directories:
|
||||||
|
- "/.github/workflows/**"
|
||||||
groups:
|
groups:
|
||||||
gh-actions:
|
gh-actions:
|
||||||
update-types:
|
update-types:
|
||||||
- "major"
|
- "major"
|
||||||
schedule:
|
schedule:
|
||||||
interval: "monthly"
|
interval: "weekly"
|
||||||
|
- package-ecosystem: "devcontainers"
|
||||||
|
directory: "/"
|
||||||
|
schedule:
|
||||||
|
interval: weekly
|
||||||
|
|||||||
+32
-10
@@ -1,17 +1,39 @@
|
|||||||
name: CD
|
name: CD
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
tags:
|
branches: [production]
|
||||||
- "v[0-9]+.[0-9]+.[0-9]+"
|
tags-ignore: ["**"]
|
||||||
branches:
|
|
||||||
- docs
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
launch:
|
release:
|
||||||
|
if: ${{ ! startsWith(github.event.head_commit.message, 'chore(release)') }}
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
issues: write
|
||||||
|
pull-requests: write
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- run: |
|
- uses: actions/checkout@v7
|
||||||
curl -X POST -H "Accept: application/vnd.github+json" \
|
|
||||||
-H "Authorization: Bearer ${{ secrets.GH_PAT }}" \
|
- uses: ruby/setup-ruby@v1
|
||||||
https://api.github.com/repos/${{ secrets.BUILDER }}/dispatches \
|
with:
|
||||||
-d '{"event_type":"deploy", "client_payload":{"branch": "${{ github.ref_name }}"}}'
|
ruby-version: 3.4
|
||||||
|
bundler-cache: true
|
||||||
|
|
||||||
|
- uses: actions/setup-node@v6
|
||||||
|
with:
|
||||||
|
node-version: lts/*
|
||||||
|
|
||||||
|
- 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
|
||||||
|
secrets:
|
||||||
|
GH_PAT: ${{ secrets.GH_PAT }}
|
||||||
|
BUILDER: ${{ secrets.BUILDER }}
|
||||||
|
|||||||
+21
-13
@@ -1,19 +1,25 @@
|
|||||||
name: "CI"
|
name: CI
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches-ignore:
|
branches:
|
||||||
- "production"
|
- master
|
||||||
- "docs"
|
- "hotfix/*"
|
||||||
paths-ignore:
|
paths-ignore:
|
||||||
- ".github/**"
|
- ".github/**"
|
||||||
- "!.github/workflows/ci.yml"
|
- "!.github/workflows/ci.yml"
|
||||||
- ".gitignore"
|
- .gitignore
|
||||||
- "docs/**"
|
- "docs/**"
|
||||||
- "README.md"
|
- README.md
|
||||||
- "LICENSE"
|
- LICENSE
|
||||||
pull_request:
|
pull_request:
|
||||||
paths:
|
paths-ignore:
|
||||||
- "**"
|
- ".github/**"
|
||||||
|
- "!.github/workflows/ci.yml"
|
||||||
|
- .gitignore
|
||||||
|
- "docs/**"
|
||||||
|
- README.md
|
||||||
|
- LICENSE
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
@@ -21,11 +27,11 @@ jobs:
|
|||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
ruby: ["3.0", "3.1", "3.2"]
|
ruby: ["3.3", "3.4"]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0 # for posts's lastmod
|
fetch-depth: 0 # for posts's lastmod
|
||||||
|
|
||||||
@@ -36,10 +42,12 @@ jobs:
|
|||||||
bundler-cache: true
|
bundler-cache: true
|
||||||
|
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@v6
|
||||||
|
with:
|
||||||
|
node-version: lts/*
|
||||||
|
|
||||||
- name: Build Assets
|
- name: Build Assets
|
||||||
run: npm i && npm run build
|
run: npm i && npm run build
|
||||||
|
|
||||||
- name: Test Site
|
- name: Test Site
|
||||||
run: bash tools/test
|
run: bash tools/test.sh
|
||||||
|
|||||||
@@ -2,11 +2,10 @@ name: "CodeQL"
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
paths: ["**.js"]
|
branches: ["master"]
|
||||||
|
paths: ["_javascript/**/*.js"]
|
||||||
pull_request:
|
pull_request:
|
||||||
paths: ["**.js"]
|
paths: ["_javascript/**/*.js"]
|
||||||
schedule:
|
|
||||||
- cron: "0 0 * * 5"
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
analyze:
|
analyze:
|
||||||
@@ -25,20 +24,21 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v7
|
||||||
|
|
||||||
# Initializes the CodeQL tools for scanning.
|
# Initializes the CodeQL tools for scanning.
|
||||||
- name: Initialize CodeQL
|
- name: Initialize CodeQL
|
||||||
uses: github/codeql-action/init@v3
|
uses: github/codeql-action/init@v4
|
||||||
with:
|
with:
|
||||||
languages: "${{ matrix.language }}"
|
languages: "${{ matrix.language }}"
|
||||||
|
config-file: .github/codeql/codeql-config.yml
|
||||||
|
|
||||||
# Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java).
|
# 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)
|
# If this step fails, then you should remove it and run the build manually (see below)
|
||||||
- name: Autobuild
|
- name: Autobuild
|
||||||
uses: github/codeql-action/autobuild@v3
|
uses: github/codeql-action/autobuild@v4
|
||||||
|
|
||||||
- name: Perform CodeQL Analysis
|
- name: Perform CodeQL Analysis
|
||||||
uses: github/codeql-action/analyze@v3
|
uses: github/codeql-action/analyze@v4
|
||||||
with:
|
with:
|
||||||
category: "/language:${{ matrix.language }}"
|
category: "/language:${{ matrix.language }}"
|
||||||
|
|||||||
@@ -1,11 +1,15 @@
|
|||||||
name: Lint Commit Messages
|
name: Lint Commit Messages
|
||||||
on: pull_request
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
- "hotfix/*"
|
||||||
|
pull_request:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
commitlint:
|
commitlint:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v7
|
||||||
with:
|
- uses: wagoid/commitlint-github-action@v6
|
||||||
fetch-depth: 0
|
|
||||||
- uses: wagoid/commitlint-github-action@v5
|
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
name: Lint JS
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
paths:
|
||||||
|
- "_javascript/**/*.js"
|
||||||
|
- ".github/workflows/scripts/**/*.js"
|
||||||
|
- "*.js"
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- "_javascript/**/*.js"
|
||||||
|
- ".github/workflows/scripts/*.js"
|
||||||
|
- "*.js"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lint-js:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v7
|
||||||
|
|
||||||
|
- name: Setup Node.js
|
||||||
|
uses: actions/setup-node@v6
|
||||||
|
with:
|
||||||
|
node-version: lts/*
|
||||||
|
|
||||||
|
- name: Install Dependencies
|
||||||
|
run: npm i
|
||||||
|
|
||||||
|
- name: Lint JS
|
||||||
|
run: npm run lint:js
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
name: Lint SCSS
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
paths:
|
||||||
|
- "_sass/**/*.scss"
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- "_sass/**/*.scss"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lint-scss:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v7
|
||||||
|
|
||||||
|
- name: Setup Node.js
|
||||||
|
uses: actions/setup-node@v6
|
||||||
|
with:
|
||||||
|
node-version: lts/*
|
||||||
|
|
||||||
|
- name: Install Dependencies
|
||||||
|
run: npm i
|
||||||
|
|
||||||
|
- name: Lint SCSS
|
||||||
|
run: npm run lint:scss
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
name: PR Filter
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request_target:
|
||||||
|
types: [opened, reopened]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
check-template:
|
||||||
|
if: github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
pull-requests: write
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout Code
|
||||||
|
uses: actions/checkout@v7
|
||||||
|
|
||||||
|
- name: Check PR Content
|
||||||
|
id: intercept
|
||||||
|
uses: actions/github-script@v9
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
script: |
|
||||||
|
const { default: filter } = await import('${{ github.workspace }}/.github/workflows/scripts/pr-filter.js');
|
||||||
|
await filter({ github, context, core });
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
name: Publish
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- docs
|
||||||
|
workflow_call:
|
||||||
|
secrets:
|
||||||
|
GH_PAT:
|
||||||
|
required: true
|
||||||
|
BUILDER:
|
||||||
|
required: true
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
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 }}"}}'
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
function hasTypes(markdown) {
|
||||||
|
return /## Type of change/.test(markdown) && /-\s\[x\]/i.test(markdown);
|
||||||
|
}
|
||||||
|
|
||||||
|
function hasDescription(markdown) {
|
||||||
|
return (
|
||||||
|
/## Description/.test(markdown) &&
|
||||||
|
!/## Description\s*\n\s*(##|\s*$)/.test(markdown)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default async ({ github, context, core }) => {
|
||||||
|
const pr = context.payload.pull_request;
|
||||||
|
const body = pr.body === null ? '' : pr.body;
|
||||||
|
const markdown = body.replace(/<!--[\s\S]*?-->/g, '');
|
||||||
|
const action = context.payload.action;
|
||||||
|
|
||||||
|
const isValid =
|
||||||
|
markdown !== '' && hasTypes(markdown) && hasDescription(markdown);
|
||||||
|
|
||||||
|
if (!isValid) {
|
||||||
|
await github.rest.pulls.update({
|
||||||
|
...context.repo,
|
||||||
|
pull_number: pr.number,
|
||||||
|
state: 'closed'
|
||||||
|
});
|
||||||
|
|
||||||
|
await github.rest.issues.createComment({
|
||||||
|
...context.repo,
|
||||||
|
issue_number: pr.number,
|
||||||
|
body: `Oops, it seems you've ${action} an invalid pull request. No worries, we'll close it for you.`
|
||||||
|
});
|
||||||
|
|
||||||
|
core.setFailed('PR content does not meet template requirements.');
|
||||||
|
}
|
||||||
|
};
|
||||||
@@ -9,7 +9,7 @@ permissions:
|
|||||||
pull-requests: write
|
pull-requests: write
|
||||||
|
|
||||||
env:
|
env:
|
||||||
STALE_LABEL: stale
|
STALE_LABEL: inactive
|
||||||
EXEMPT_LABELS: "pending,planning,in progress"
|
EXEMPT_LABELS: "pending,planning,in progress"
|
||||||
MESSAGE: >
|
MESSAGE: >
|
||||||
This conversation has been automatically marked as stale because it has not had recent activity.
|
This conversation has been automatically marked as stale because it has not had recent activity.
|
||||||
@@ -20,10 +20,10 @@ jobs:
|
|||||||
stale:
|
stale:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/stale@v9
|
- uses: actions/stale@v10
|
||||||
with:
|
with:
|
||||||
days-before-stale: 30
|
# 60 days before marking issues/PRs stale
|
||||||
days-before-close: 1
|
days-before-close: -1 # does not close automatically
|
||||||
stale-issue-label: ${{ env.STALE_LABEL }}
|
stale-issue-label: ${{ env.STALE_LABEL }}
|
||||||
exempt-issue-labels: ${{ env.EXEMPT_LABELS }}
|
exempt-issue-labels: ${{ env.EXEMPT_LABELS }}
|
||||||
stale-issue-message: ${{ env.MESSAGE }}
|
stale-issue-message: ${{ env.MESSAGE }}
|
||||||
|
|||||||
+6
-6
@@ -28,7 +28,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
# submodules: true
|
# submodules: true
|
||||||
@@ -37,12 +37,12 @@ jobs:
|
|||||||
|
|
||||||
- name: Setup Pages
|
- name: Setup Pages
|
||||||
id: pages
|
id: pages
|
||||||
uses: actions/configure-pages@v3
|
uses: actions/configure-pages@v6
|
||||||
|
|
||||||
- name: Setup Ruby
|
- name: Setup Ruby
|
||||||
uses: ruby/setup-ruby@v1
|
uses: ruby/setup-ruby@v1
|
||||||
with:
|
with:
|
||||||
ruby-version: 3.2
|
ruby-version: 3.4
|
||||||
bundler-cache: true
|
bundler-cache: true
|
||||||
|
|
||||||
- name: Build site
|
- name: Build site
|
||||||
@@ -53,11 +53,11 @@ jobs:
|
|||||||
- name: Test site
|
- name: Test site
|
||||||
run: |
|
run: |
|
||||||
bundle exec htmlproofer _site \
|
bundle exec htmlproofer _site \
|
||||||
\-\-disable-external=true \
|
\-\-disable-external \
|
||||||
\-\-ignore-urls "/^http:\/\/127.0.0.1/,/^http:\/\/0.0.0.0/,/^http:\/\/localhost/"
|
\-\-ignore-urls "/^http:\/\/127.0.0.1/,/^http:\/\/0.0.0.0/,/^http:\/\/localhost/"
|
||||||
|
|
||||||
- name: Upload site artifact
|
- name: Upload site artifact
|
||||||
uses: actions/upload-pages-artifact@v1
|
uses: actions/upload-pages-artifact@v5
|
||||||
with:
|
with:
|
||||||
path: "_site${{ steps.pages.outputs.base_path }}"
|
path: "_site${{ steps.pages.outputs.base_path }}"
|
||||||
|
|
||||||
@@ -70,4 +70,4 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Deploy to GitHub Pages
|
- name: Deploy to GitHub Pages
|
||||||
id: deployment
|
id: deployment
|
||||||
uses: actions/deploy-pages@v2
|
uses: actions/deploy-pages@v5
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
name: "Style Lint"
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches-ignore:
|
|
||||||
- "production"
|
|
||||||
- "docs"
|
|
||||||
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
|
|
||||||
- run: npm i
|
|
||||||
- run: npm test
|
|
||||||
+11
-1
@@ -5,6 +5,7 @@ Gemfile.lock
|
|||||||
|
|
||||||
# Jekyll cache
|
# Jekyll cache
|
||||||
.jekyll-cache
|
.jekyll-cache
|
||||||
|
.jekyll-metadata
|
||||||
_site
|
_site
|
||||||
|
|
||||||
# RubyGems
|
# RubyGems
|
||||||
@@ -16,7 +17,16 @@ package-lock.json
|
|||||||
|
|
||||||
# IDE configurations
|
# IDE configurations
|
||||||
.idea
|
.idea
|
||||||
.vscode
|
.vscode/*
|
||||||
|
!.vscode/settings.json
|
||||||
|
!.vscode/extensions.json
|
||||||
|
!.vscode/tasks.json
|
||||||
|
|
||||||
# Misc
|
# Misc
|
||||||
|
_sass/vendors
|
||||||
assets/js/dist
|
assets/js/dist
|
||||||
|
|
||||||
|
# Hidden system files
|
||||||
|
*~
|
||||||
|
.DS_Store
|
||||||
|
Thumbs.db
|
||||||
|
|||||||
Executable → Regular
+1
-4
@@ -1,4 +1 @@
|
|||||||
#!/bin/sh
|
npx --no -- commitlint --edit $1
|
||||||
. "$(dirname "$0")/_/husky.sh"
|
|
||||||
|
|
||||||
npx --no -- commitlint -x $(npm root -g)/@commitlint/config-conventional --edit
|
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"commands-show-output": false,
|
||||||
|
"blanks-around-fences": false,
|
||||||
|
"line-length": false,
|
||||||
|
"no-inline-html": {
|
||||||
|
"allowed_elements": ["kbd", "sub"]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
{
|
||||||
|
"ignoreFiles": ["_sass/vendors/**"],
|
||||||
|
"extends": "stylelint-config-standard-scss",
|
||||||
|
"rules": {
|
||||||
|
"no-descending-specificity": null,
|
||||||
|
"shorthand-property-no-redundant-values": null,
|
||||||
|
"at-rule-no-vendor-prefix": null,
|
||||||
|
"property-no-vendor-prefix": null,
|
||||||
|
"selector-no-vendor-prefix": null,
|
||||||
|
"value-no-vendor-prefix": null,
|
||||||
|
"selector-not-notation": "simple",
|
||||||
|
"color-hex-length": "long",
|
||||||
|
"declaration-block-single-line-max-declarations": 3,
|
||||||
|
"scss/operator-no-newline-after": null,
|
||||||
|
"rule-empty-line-before": [
|
||||||
|
"always",
|
||||||
|
{
|
||||||
|
"ignore": ["after-comment", "first-nested"]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"value-keyword-case": [
|
||||||
|
"lower",
|
||||||
|
{
|
||||||
|
"ignoreProperties": ["/^\\$/"]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"media-feature-range-notation": "prefix"
|
||||||
|
}
|
||||||
|
}
|
||||||
Vendored
+3
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"recommendations": ["ms-vscode-remote.remote-containers"]
|
||||||
|
}
|
||||||
Vendored
+30
@@ -0,0 +1,30 @@
|
|||||||
|
{
|
||||||
|
// Prettier
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||||
|
"editor.formatOnSave": true,
|
||||||
|
// Shopify Liquid
|
||||||
|
"files.associations": {
|
||||||
|
"*.html": "liquid"
|
||||||
|
},
|
||||||
|
"[markdown]": {
|
||||||
|
"editor.defaultFormatter": "yzhang.markdown-all-in-one"
|
||||||
|
},
|
||||||
|
// Formatter
|
||||||
|
"[html][liquid]": {
|
||||||
|
"editor.defaultFormatter": "Shopify.theme-check-vscode"
|
||||||
|
},
|
||||||
|
"[shellscript]": {
|
||||||
|
"editor.defaultFormatter": "mkhl.shfmt"
|
||||||
|
},
|
||||||
|
// Disable vscode built-in stylelint
|
||||||
|
"css.validate": false,
|
||||||
|
"scss.validate": false,
|
||||||
|
"less.validate": false,
|
||||||
|
// Stylint extension settings
|
||||||
|
"stylelint.snippet": ["css", "scss"],
|
||||||
|
"stylelint.validate": ["css", "scss"],
|
||||||
|
// Run tasks in macOS
|
||||||
|
"terminal.integrated.profiles.osx": {
|
||||||
|
"zsh": { "path": "/bin/zsh", "args": ["-l", "-i"] }
|
||||||
|
}
|
||||||
|
}
|
||||||
Vendored
+64
@@ -0,0 +1,64 @@
|
|||||||
|
{
|
||||||
|
"version": "2.0.0",
|
||||||
|
"tasks": [
|
||||||
|
{
|
||||||
|
"label": "Run Jekyll Server",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "./tools/run.sh",
|
||||||
|
"group": {
|
||||||
|
"kind": "build",
|
||||||
|
"isDefault": true
|
||||||
|
},
|
||||||
|
"problemMatcher": [],
|
||||||
|
"detail": "Runs the Jekyll server with live reload."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Build Jekyll Site",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "./tools/test.sh",
|
||||||
|
"group": {
|
||||||
|
"kind": "build"
|
||||||
|
},
|
||||||
|
"problemMatcher": [],
|
||||||
|
"detail": "Build the Jekyll site for production."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Build JS (watch)",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "npm run watch:js",
|
||||||
|
"group": {
|
||||||
|
"kind": "build"
|
||||||
|
},
|
||||||
|
"problemMatcher": [],
|
||||||
|
"detail": "Build JS files in watch mode."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Build CSS",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "npm run build:css",
|
||||||
|
"group": {
|
||||||
|
"kind": "build"
|
||||||
|
},
|
||||||
|
"problemMatcher": [],
|
||||||
|
"detail": "Build CSS files."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Build JS & CSS",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "npm run build",
|
||||||
|
"group": {
|
||||||
|
"kind": "build"
|
||||||
|
},
|
||||||
|
"problemMatcher": [],
|
||||||
|
"detail": "Build JS & CSS for production."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Run Jekyll Server + Build JS (watch)",
|
||||||
|
"dependsOn": ["Run Jekyll Server", "Build JS (watch)"],
|
||||||
|
"group": {
|
||||||
|
"kind": "build"
|
||||||
|
},
|
||||||
|
"detail": "Runs both the Jekyll server with live reload and build JS files in watch mode."
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -4,20 +4,11 @@ source "https://rubygems.org"
|
|||||||
|
|
||||||
gemspec
|
gemspec
|
||||||
|
|
||||||
group :test do
|
gem "html-proofer", "~> 5.0", group: :test
|
||||||
gem "html-proofer", "~> 4.4"
|
|
||||||
end
|
|
||||||
|
|
||||||
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
|
platforms :windows, :jruby do
|
||||||
# and associated library.
|
|
||||||
platforms :mingw, :x64_mingw, :mswin, :jruby do
|
|
||||||
gem "tzinfo", ">= 1", "< 3"
|
gem "tzinfo", ">= 1", "< 3"
|
||||||
gem "tzinfo-data"
|
gem "tzinfo-data"
|
||||||
end
|
end
|
||||||
|
|
||||||
# Performance-booster for watching directories on Windows
|
gem "wdm", "~> 0.2.0", :platforms => [: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]
|
|
||||||
|
|||||||
@@ -1,14 +1,16 @@
|
|||||||
|
<!-- markdownlint-disable-next-line -->
|
||||||
<div align="center">
|
<div align="center">
|
||||||
|
|
||||||
|
<!-- markdownlint-disable-next-line -->
|
||||||
# Chirpy Jekyll Theme
|
# Chirpy Jekyll Theme
|
||||||
|
|
||||||
A minimal, responsive, and feature-rich Jekyll theme for technical writing.
|
A minimal, responsive, and feature-rich Jekyll theme for technical writing.
|
||||||
|
|
||||||
[][gem]
|
[![CI][badge-ci]][ci]
|
||||||
[][ci]
|
[![Codacy Badge][badge-codacy]][codacy]
|
||||||
[][codacy]
|
[![GitHub license][badge-license]][license]
|
||||||
[][license]
|
[![Gem Version][badge-gem]][gem]
|
||||||
[](https://996.icu)
|
[![Open in Dev Containers][badge-open-container]][open-container]
|
||||||
|
|
||||||
[**Live Demo** →][demo]
|
[**Live Demo** →][demo]
|
||||||
|
|
||||||
@@ -18,64 +20,58 @@
|
|||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
- Dark / Light Theme Mode
|
- **Design & UX** - Responsive layout, Dark/Light modes, Localized UI language,
|
||||||
- Localized UI language
|
and Dark mode images.
|
||||||
- Pinned Posts on Home Page
|
- **Content Management** - Pinned posts, Hierarchical categories, Trending tags,
|
||||||
- Hierarchical Categories
|
Auto-generated Table of Contents, and Last modified dates.
|
||||||
- Trending Tags
|
- **Rich Text Support** - Syntax highlighting, Mathematical expressions, Mermaid
|
||||||
- Table of Contents
|
diagrams & flowcharts, and Embedded media.
|
||||||
- Last Modified Date
|
- **Interactivity & Outreach** - Built-in search, Multiple comment systems, and
|
||||||
- Syntax Highlighting
|
Atom feeds.
|
||||||
- Mathematical Expressions
|
- **System & Optimization** - PWA support, integrated Web analytics, and
|
||||||
- Mermaid Diagrams & Flowcharts
|
advanced SEO performance.
|
||||||
- Dark / Light Mode Images
|
|
||||||
- Embed Videos
|
|
||||||
- Disqus / Giscus / Utterances Comments
|
|
||||||
- Built-in Search
|
|
||||||
- Atom Feeds
|
|
||||||
- PWA
|
|
||||||
- Google Analytics
|
|
||||||
- SEO & Performance Optimization
|
|
||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
|
|
||||||
To learn how to use, develop, and upgrade the project, please refer to the [Wiki][wiki].
|
To learn how to use, develop, and upgrade the project, please refer to the
|
||||||
|
[Wiki][wiki].
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
Contributions (_pull requests_, _issues_, and _discussions_) are what make the open-source community such an amazing place
|
Contributions (_pull requests_, _issues_, and _discussions_) are what make the
|
||||||
to learn, inspire, and create. Any contributions you make are greatly appreciated.
|
open-source community such an amazing place to learn, inspire, and create. Any
|
||||||
For details, see the "[Contributing Guidelines][contribute-guide]".
|
contributions you make are greatly appreciated.
|
||||||
|
For details, please refer to our [Contributing Guidelines][contribute-guide].
|
||||||
|
|
||||||
## Credits
|
## Credits
|
||||||
|
|
||||||
### Contributors
|
This project is built on the [Jekyll][jekyllrb] ecosystem and integrates a
|
||||||
|
collection of [excellent libraries][lib]. Its avatar and favicon are sourced
|
||||||
|
from [ClipartMAX][clipartmax].
|
||||||
|
|
||||||
Thanks to [all the contributors][contributors] involved in the development of the project!
|
Furthermore, thanks to everyone who contributed to the development of this project!
|
||||||
|
|
||||||
[][contributors]
|
[![all-contributors][contributors-avatar]][contributors]
|
||||||
<sub> —— Made with [contrib.rocks](https://contrib.rocks)</sub>
|
|
||||||
|
|
||||||
### Third-Party Assets
|
|
||||||
|
|
||||||
This project is built on the [Jekyll][jekyllrb] ecosystem and some [great libraries][lib], and is developed using [VS Code][vscode] as well as tools provided by [JetBrains][jetbrains] under a non-commercial open-source software license.
|
|
||||||
|
|
||||||
The avatar and favicon for the project's website are from [ClipartMAX][clipartmax].
|
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
This project is published under [MIT License][license].
|
This project is licensed under the [MIT License][license].
|
||||||
|
|
||||||
|
[badge-ci]: https://img.shields.io/github/actions/workflow/status/cotes2020/jekyll-theme-chirpy/ci.yml?logo=github
|
||||||
|
[badge-codacy]: https://img.shields.io/codacy/grade/4e556876a3c54d5e8f2d2857c4f43894?logo=codacy
|
||||||
|
[badge-license]: https://img.shields.io/github/license/cotes2020/jekyll-theme-chirpy?color=goldenrod
|
||||||
|
[badge-gem]: https://img.shields.io/gem/v/jekyll-theme-chirpy?&logo=RubyGems&logoColor=ghostwhite&label=gem&color=orange
|
||||||
|
[badge-open-container]: https://img.shields.io/badge/Dev_Containers-Open-deepskyblue?logo=linuxcontainers
|
||||||
[gem]: https://rubygems.org/gems/jekyll-theme-chirpy
|
[gem]: https://rubygems.org/gems/jekyll-theme-chirpy
|
||||||
[ci]: https://github.com/cotes2020/jekyll-theme-chirpy/actions/workflows/ci.yml?query=event%3Apush+branch%3Amaster
|
[ci]: https://github.com/cotes2020/jekyll-theme-chirpy/actions/workflows/ci.yml?query=event%3Apush+branch%3Amaster
|
||||||
[codacy]: https://app.codacy.com/gh/cotes2020/jekyll-theme-chirpy/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade
|
[codacy]: https://app.codacy.com/gh/cotes2020/jekyll-theme-chirpy/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade
|
||||||
[license]: https://github.com/cotes2020/jekyll-theme-chirpy/blob/master/LICENSE
|
[license]: https://github.com/cotes2020/jekyll-theme-chirpy/blob/master/LICENSE
|
||||||
|
[open-container]: https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/cotes2020/jekyll-theme-chirpy
|
||||||
[jekyllrb]: https://jekyllrb.com/
|
[jekyllrb]: https://jekyllrb.com/
|
||||||
[clipartmax]: https://www.clipartmax.com/middle/m2i8b1m2K9Z5m2K9_ant-clipart-childrens-ant-cute/
|
[clipartmax]: https://www.clipartmax.com/middle/m2i8b1m2K9Z5m2K9_ant-clipart-childrens-ant-cute/
|
||||||
[demo]: https://cotes2020.github.io/chirpy-demo/
|
[demo]: https://cotes2020.github.io/chirpy-demo/
|
||||||
[wiki]: https://github.com/cotes2020/jekyll-theme-chirpy/wiki
|
[wiki]: https://github.com/cotes2020/jekyll-theme-chirpy/wiki
|
||||||
[contribute-guide]: https://github.com/cotes2020/jekyll-theme-chirpy/blob/master/docs/CONTRIBUTING.md
|
[contribute-guide]: https://github.com/cotes2020/jekyll-theme-chirpy/blob/master/docs/CONTRIBUTING.md
|
||||||
[contributors]: https://github.com/cotes2020/jekyll-theme-chirpy/graphs/contributors
|
[contributors]: https://github.com/cotes2020/jekyll-theme-chirpy/graphs/contributors
|
||||||
|
[contributors-avatar]: https://contrib.rocks/image?repo=cotes2020/jekyll-theme-chirpy&columns=16&max=112
|
||||||
[lib]: https://github.com/cotes2020/chirpy-static-assets
|
[lib]: https://github.com/cotes2020/chirpy-static-assets
|
||||||
[vscode]: https://code.visualstudio.com/
|
|
||||||
[jetbrains]: https://www.jetbrains.com/?from=jekyll-theme-chirpy
|
|
||||||
|
|||||||
+69
-30
@@ -8,7 +8,7 @@ theme: jekyll-theme-chirpy
|
|||||||
# otherwise, the layout language will use the default value of 'en'.
|
# otherwise, the layout language will use the default value of 'en'.
|
||||||
lang: en
|
lang: en
|
||||||
|
|
||||||
# Change to your timezone › https://kevinnovak.github.io/Time-Zone-Picker
|
# Change to your timezone › https://zones.arilyn.cc
|
||||||
timezone: Asia/Shanghai
|
timezone: Asia/Shanghai
|
||||||
|
|
||||||
# jekyll-seo-tag settings › https://github.com/jekyll/jekyll-seo-tag/blob/master/docs/usage.md
|
# jekyll-seo-tag settings › https://github.com/jekyll/jekyll-seo-tag/blob/master/docs/usage.md
|
||||||
@@ -16,41 +16,67 @@ timezone: Asia/Shanghai
|
|||||||
|
|
||||||
title: Chirpy # the main title
|
title: Chirpy # the main title
|
||||||
|
|
||||||
tagline: A text-focused Jekyll theme # it will display as the sub-title
|
tagline: A text-focused Jekyll theme # it will display as the subtitle
|
||||||
|
|
||||||
description: >- # used by seo meta and the atom feed
|
description: >- # used by seo meta and the atom feed
|
||||||
A minimal, responsive and feature-rich Jekyll theme for technical writing.
|
A minimal, responsive and feature-rich Jekyll theme for technical writing.
|
||||||
|
|
||||||
# Fill in the protocol & hostname for your site.
|
# Fill in the protocol & hostname for your site.
|
||||||
# e.g. 'https://username.github.io', note that it does not end with a '/'.
|
# E.g. 'https://username.github.io', note that it does not end with a '/'.
|
||||||
url: ""
|
url: ""
|
||||||
|
|
||||||
github:
|
github:
|
||||||
username: github_username # change to your github username
|
username: github_username # change to your GitHub username
|
||||||
|
|
||||||
twitter:
|
twitter:
|
||||||
username: twitter_username # change to your twitter username
|
username: twitter_username # change to your Twitter username
|
||||||
|
|
||||||
social:
|
social:
|
||||||
# Change to your full name.
|
# Change to your full name.
|
||||||
# It will be displayed as the default author of the posts and the copyright owner in the Footer
|
# It will be displayed as the default author of the posts and the copyright owner in the Footer
|
||||||
name: your_full_name
|
name: your_full_name
|
||||||
email: example@domain.com # change to your email address
|
email: example@domain.com # change to your email address
|
||||||
|
fediverse_handle: # fill in your fediverse handle. E.g. "@username@domain.com"
|
||||||
links:
|
links:
|
||||||
# The first element serves as the copyright owner's link
|
# The first element serves as the copyright owner's link
|
||||||
- https://twitter.com/username # change to your twitter homepage
|
- https://twitter.com/username # change to your Twitter homepage
|
||||||
- https://github.com/username # change to your github homepage
|
- https://github.com/username # change to your GitHub homepage
|
||||||
# Uncomment below to add more social links
|
# Uncomment below to add more social links
|
||||||
# - https://www.facebook.com/username
|
# - https://www.facebook.com/username
|
||||||
# - https://www.linkedin.com/in/username
|
# - https://www.linkedin.com/in/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
|
# The end of `jekyll-seo-tag` settings
|
||||||
|
|
||||||
google_analytics:
|
# Web Analytics Settings
|
||||||
id: # fill in your Google Analytics ID
|
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
|
||||||
|
fathom:
|
||||||
|
id: # fill in your Fathom Site ID
|
||||||
|
|
||||||
|
# Page views settings
|
||||||
|
pageviews:
|
||||||
|
provider: # now only supports 'goatcounter'
|
||||||
|
|
||||||
# Prefer color scheme setting.
|
# Prefer color scheme setting.
|
||||||
#
|
#
|
||||||
@@ -60,17 +86,17 @@ google_analytics:
|
|||||||
#
|
#
|
||||||
# Available options:
|
# Available options:
|
||||||
#
|
#
|
||||||
# light - Use the light color scheme
|
# light — Use the light color scheme
|
||||||
# dark - Use the dark color scheme
|
# dark — Use the dark color scheme
|
||||||
#
|
#
|
||||||
theme_mode: # [light|dark]
|
theme_mode: # [light | dark]
|
||||||
|
|
||||||
# The CDN endpoint for images.
|
# The CDN endpoint for media resources.
|
||||||
# Notice that once it is assigned, the CDN url
|
# Notice that once it is assigned, the CDN url
|
||||||
# will be added to all image (site avatar & posts' images) paths starting with '/'
|
# will be added to all media resources (site avatar, posts' images, audio and video files) paths starting with '/'
|
||||||
#
|
#
|
||||||
# e.g. 'https://cdn.com'
|
# e.g. 'https://cdn.com'
|
||||||
img_cdn: "https://chirpy-img.netlify.app"
|
cdn: "https://chirpy-img.netlify.app"
|
||||||
|
|
||||||
# the avatar on sidebar, support local or CORS resources
|
# the avatar on sidebar, support local or CORS resources
|
||||||
avatar: "/commons/avatar.jpg"
|
avatar: "/commons/avatar.jpg"
|
||||||
@@ -82,9 +108,20 @@ social_preview_image: # string, local or CORS resources
|
|||||||
# boolean type, the global switch for TOC in posts.
|
# boolean type, the global switch for TOC in posts.
|
||||||
toc: true
|
toc: true
|
||||||
|
|
||||||
|
actions:
|
||||||
|
# Display "Edit this post" action on each post page to encourage contributions.
|
||||||
|
edit_post:
|
||||||
|
enabled: false # set to true to display the "Edit this post" action.
|
||||||
|
url: "" # repository base URL, e.g. https://github.com/cotes2020/jekyll-theme-chirpy/edit/master
|
||||||
|
# Use dynamic or static URL for the edit link.
|
||||||
|
# If `static_url` is false, the post's path will be appended to the `url` above as the final edit link.
|
||||||
|
# Set to true if the URL should remain unchanged, which means each post will share the same edit link.
|
||||||
|
static_url: false # [ true | false ]
|
||||||
|
|
||||||
comments:
|
comments:
|
||||||
active: # The global switch for posts comments, e.g., 'disqus'. Keep it empty means disable
|
# Global switch for the post-comment system. Keeping it empty means disabled.
|
||||||
# The active options are as follows:
|
provider: # [disqus | utterances | giscus]
|
||||||
|
# The provider options are as follows:
|
||||||
disqus:
|
disqus:
|
||||||
shortname: # fill with the Disqus shortname. › https://help.disqus.com/en/articles/1717111-what-s-a-shortname
|
shortname: # fill with the Disqus shortname. › https://help.disqus.com/en/articles/1717111-what-s-a-shortname
|
||||||
# utterances settings › https://utteranc.es/
|
# utterances settings › https://utteranc.es/
|
||||||
@@ -98,6 +135,7 @@ comments:
|
|||||||
category:
|
category:
|
||||||
category_id:
|
category_id:
|
||||||
mapping: # optional, default to 'pathname'
|
mapping: # optional, default to 'pathname'
|
||||||
|
strict: # optional, default to '0'
|
||||||
input_position: # optional, default to 'bottom'
|
input_position: # optional, default to 'bottom'
|
||||||
lang: # optional, default to the value of `site.lang`
|
lang: # optional, default to the value of `site.lang`
|
||||||
reactions_enabled: # optional, default to the value of `1`
|
reactions_enabled: # optional, default to the value of `1`
|
||||||
@@ -108,10 +146,17 @@ assets:
|
|||||||
enabled: # boolean, keep empty means false
|
enabled: # boolean, keep empty means false
|
||||||
# specify the Jekyll environment, empty means both
|
# specify the Jekyll environment, empty means both
|
||||||
# only works if `assets.self_host.enabled` is 'true'
|
# only works if `assets.self_host.enabled` is 'true'
|
||||||
env: # [development|production]
|
env: # [development | production]
|
||||||
|
|
||||||
pwa:
|
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 `<SITE_URL>/example/*` will not be cached by the PWA
|
||||||
|
|
||||||
paginate: 10
|
paginate: 10
|
||||||
|
|
||||||
@@ -121,6 +166,7 @@ baseurl: ""
|
|||||||
# ------------ The following options are not recommended to be modified ------------------
|
# ------------ The following options are not recommended to be modified ------------------
|
||||||
|
|
||||||
kramdown:
|
kramdown:
|
||||||
|
footnote_backlink: "↩︎"
|
||||||
syntax_highlighter: rouge
|
syntax_highlighter: rouge
|
||||||
syntax_highlighter_opts: # Rouge Options › https://github.com/jneen/rouge#full-options
|
syntax_highlighter_opts: # Rouge Options › https://github.com/jneen/rouge#full-options
|
||||||
css_class: highlight
|
css_class: highlight
|
||||||
@@ -157,14 +203,6 @@ defaults:
|
|||||||
values:
|
values:
|
||||||
layout: page
|
layout: page
|
||||||
permalink: /:title/
|
permalink: /:title/
|
||||||
- scope:
|
|
||||||
path: assets/img/favicons
|
|
||||||
values:
|
|
||||||
swcache: true
|
|
||||||
- scope:
|
|
||||||
path: assets/js/dist
|
|
||||||
values:
|
|
||||||
swcache: true
|
|
||||||
|
|
||||||
sass:
|
sass:
|
||||||
style: compressed
|
style: compressed
|
||||||
@@ -185,8 +223,9 @@ exclude:
|
|||||||
- tools
|
- tools
|
||||||
- README.md
|
- README.md
|
||||||
- LICENSE
|
- LICENSE
|
||||||
- rollup.config.js
|
- purgecss.js
|
||||||
- package*.json
|
- "*.config.js"
|
||||||
|
- "package*.json"
|
||||||
|
|
||||||
jekyll-archives:
|
jekyll-archives:
|
||||||
enabled: [categories, tags]
|
enabled: [categories, tags]
|
||||||
|
|||||||
@@ -26,3 +26,15 @@
|
|||||||
# - type: stack-overflow
|
# - type: stack-overflow
|
||||||
# icon: 'fab fa-stack-overflow'
|
# icon: 'fab fa-stack-overflow'
|
||||||
# url: '' # Fill with your stackoverflow homepage
|
# url: '' # Fill with your stackoverflow homepage
|
||||||
|
#
|
||||||
|
# - type: bluesky
|
||||||
|
# icon: 'fa-brands fa-bluesky'
|
||||||
|
# url: '' # Fill with your Bluesky profile link
|
||||||
|
#
|
||||||
|
# - type: reddit
|
||||||
|
# icon: 'fa-brands fa-reddit'
|
||||||
|
# url: '' # Fill with your Reddit profile link
|
||||||
|
#
|
||||||
|
# - type: threads
|
||||||
|
# icon: 'fa-brands fa-threads'
|
||||||
|
# url: '' # Fill with your Threads profile link
|
||||||
|
|||||||
@@ -43,12 +43,17 @@ copyright:
|
|||||||
meta: باستخدام :PLATFORM السمة :THEME
|
meta: باستخدام :PLATFORM السمة :THEME
|
||||||
|
|
||||||
not_found:
|
not_found:
|
||||||
statment: عذرا, الرابط التالي غير صالح أو انه يشير إلى صفحة غير موجودة.
|
statement: عذرا, الرابط التالي غير صالح أو انه يشير إلى صفحة غير موجودة.
|
||||||
|
|
||||||
notification:
|
notification:
|
||||||
update_found: يتوفر اصدار جديد للمحتوى.
|
update_found: يتوفر محتوى جديد
|
||||||
update: تحديث
|
update: تحديث
|
||||||
|
|
||||||
|
theme:
|
||||||
|
light: فاتح
|
||||||
|
dark: داكن
|
||||||
|
system: النظام
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
post:
|
post:
|
||||||
@@ -60,6 +65,7 @@ post:
|
|||||||
read_time:
|
read_time:
|
||||||
unit: دقيقة
|
unit: دقيقة
|
||||||
prompt: قراءة
|
prompt: قراءة
|
||||||
|
edit: حرر هذا المنشور
|
||||||
relate_posts: إقرأ المزيد
|
relate_posts: إقرأ المزيد
|
||||||
share: شارك
|
share: شارك
|
||||||
button:
|
button:
|
||||||
|
|||||||
@@ -43,12 +43,17 @@ copyright:
|
|||||||
meta: Създадено чрез :PLATFORM и :THEME тема
|
meta: Създадено чрез :PLATFORM и :THEME тема
|
||||||
|
|
||||||
not_found:
|
not_found:
|
||||||
statment: Съжалявам, но на този URL адрес няма налично съдържание.
|
statement: Съжалявам, но на този URL адрес няма налично съдържание.
|
||||||
|
|
||||||
notification:
|
notification:
|
||||||
update_found: Налична е нова версия на съдържанието.
|
update_found: Има ново съдържание
|
||||||
update: Обнови
|
update: Обнови
|
||||||
|
|
||||||
|
theme:
|
||||||
|
light: Светла
|
||||||
|
dark: Тъмна
|
||||||
|
system: Системна
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
post:
|
post:
|
||||||
@@ -60,6 +65,7 @@ post:
|
|||||||
read_time:
|
read_time:
|
||||||
unit: мин
|
unit: мин
|
||||||
prompt: четиво
|
prompt: четиво
|
||||||
|
edit: Редактирай тази публикация
|
||||||
relate_posts: Още за четене
|
relate_posts: Още за четене
|
||||||
share: Споделете
|
share: Споделете
|
||||||
button:
|
button:
|
||||||
|
|||||||
@@ -0,0 +1,90 @@
|
|||||||
|
# The layout text of site
|
||||||
|
|
||||||
|
# ----- Commons label -----
|
||||||
|
|
||||||
|
layout:
|
||||||
|
post: Entrada
|
||||||
|
category: Categoria
|
||||||
|
tag: Etiqueta
|
||||||
|
|
||||||
|
# The tabs of sidebar
|
||||||
|
tabs:
|
||||||
|
# format: <filename_without_extension>: <value>
|
||||||
|
home: Inici
|
||||||
|
categories: Categories
|
||||||
|
tags: Etiquetes
|
||||||
|
archives: Arxiu
|
||||||
|
about: Sobre
|
||||||
|
|
||||||
|
# the text displayed in the search bar & search results
|
||||||
|
search:
|
||||||
|
hint: Cercar
|
||||||
|
cancel: Cancel·lar
|
||||||
|
no_results: Ups! No s'han trobat resultats.
|
||||||
|
|
||||||
|
panel:
|
||||||
|
lastmod: Actualitzat recentment
|
||||||
|
trending_tags: Etiquetes populars
|
||||||
|
toc: Taula de continguts
|
||||||
|
|
||||||
|
copyright:
|
||||||
|
# Shown at the bottom of the post
|
||||||
|
license:
|
||||||
|
template: Aquesta entrada està llicenciada sota :LICENSE_NAME per l'autor.
|
||||||
|
name: CC BY 4.0
|
||||||
|
link: https://creativecommons.org/licenses/by/4.0/
|
||||||
|
|
||||||
|
# Displayed in the footer
|
||||||
|
brief: Alguns drets reservats.
|
||||||
|
verbose: >-
|
||||||
|
Excepte que s'indiqui explícitament, les entrades d'aquest blog estan llicenciades
|
||||||
|
sota la llicència Creative Commons Attribution 4.0 International (CC BY 4.0) per l'autor.
|
||||||
|
|
||||||
|
meta: Fet amb :PLATFORM utilitzant el tema :THEME
|
||||||
|
|
||||||
|
not_found:
|
||||||
|
statement: Ho sentim, hem perdut aquesta URL o apunta a alguna cosa que no existeix.
|
||||||
|
|
||||||
|
notification:
|
||||||
|
update_found: Hi ha contingut nou disponible
|
||||||
|
update: Actualitzar
|
||||||
|
|
||||||
|
theme:
|
||||||
|
light: Clar
|
||||||
|
dark: Fosc
|
||||||
|
system: Sistema
|
||||||
|
|
||||||
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
|
post:
|
||||||
|
written_by: Per
|
||||||
|
posted: Publicat
|
||||||
|
updated: Actualitzat
|
||||||
|
words: paraules
|
||||||
|
pageview_measure: visites
|
||||||
|
read_time:
|
||||||
|
unit: min
|
||||||
|
prompt: " de lectura"
|
||||||
|
edit: Edita aquesta entrada
|
||||||
|
relate_posts: Entrades relacionades
|
||||||
|
share: Compartir
|
||||||
|
button:
|
||||||
|
next: Següent
|
||||||
|
previous: Anterior
|
||||||
|
copy_code:
|
||||||
|
succeed: Copiat!
|
||||||
|
share_link:
|
||||||
|
title: Copiar enllaç
|
||||||
|
succeed: Enllaç copiat!
|
||||||
|
|
||||||
|
# Date time format.
|
||||||
|
# See: <http://strftime.net/>, <https://day.js.org/docs/en/display/format>
|
||||||
|
df:
|
||||||
|
post:
|
||||||
|
strftime: "%Y/%m/%d"
|
||||||
|
dayjs: "YYYY/MM/DD"
|
||||||
|
|
||||||
|
# categories page
|
||||||
|
categories:
|
||||||
|
category_measure: categories
|
||||||
|
post_measure: entrades
|
||||||
@@ -43,12 +43,17 @@ copyright:
|
|||||||
meta: Použití :PLATFORM s motivem :THEME
|
meta: Použití :PLATFORM s motivem :THEME
|
||||||
|
|
||||||
not_found:
|
not_found:
|
||||||
statment: Omlouváme se, adresu URL jsme špatně umístili nebo odkazuje na něco, co neexistuje.
|
statement: Omlouváme se, adresu URL jsme špatně umístili nebo odkazuje na něco, co neexistuje.
|
||||||
|
|
||||||
notification:
|
notification:
|
||||||
update_found: Je k dispozici nová verze obsahu.
|
update_found: Je tu nový obsah
|
||||||
update: Aktualizace
|
update: Aktualizace
|
||||||
|
|
||||||
|
theme:
|
||||||
|
light: Světlý
|
||||||
|
dark: Tmavý
|
||||||
|
system: Systém
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
post:
|
post:
|
||||||
@@ -60,6 +65,7 @@ post:
|
|||||||
read_time:
|
read_time:
|
||||||
unit: minut
|
unit: minut
|
||||||
prompt: čtení
|
prompt: čtení
|
||||||
|
edit: Uprav tento příspěvek
|
||||||
relate_posts: Další čtení
|
relate_posts: Další čtení
|
||||||
share: Sdílet
|
share: Sdílet
|
||||||
button:
|
button:
|
||||||
|
|||||||
@@ -0,0 +1,92 @@
|
|||||||
|
# The layout text of site
|
||||||
|
|
||||||
|
# ----- Commons label -----
|
||||||
|
|
||||||
|
layout:
|
||||||
|
post: Opslag
|
||||||
|
category: Kategori
|
||||||
|
tag: Tag
|
||||||
|
|
||||||
|
# The tabs of sidebar
|
||||||
|
tabs:
|
||||||
|
# format: <filename_without_extension>: <value>
|
||||||
|
home: Hjem
|
||||||
|
categories: Kategorier
|
||||||
|
tags: Tags
|
||||||
|
archives: Arkiv
|
||||||
|
about: Om siden
|
||||||
|
|
||||||
|
# the text displayed in the search bar & search results
|
||||||
|
search:
|
||||||
|
hint: søg
|
||||||
|
cancel: Afbryd
|
||||||
|
no_results: Ups! Ingen resultater fundet.
|
||||||
|
|
||||||
|
panel:
|
||||||
|
lastmod: Senest opdateret
|
||||||
|
trending_tags: Populære tags
|
||||||
|
toc: Indhold
|
||||||
|
|
||||||
|
copyright:
|
||||||
|
# Shown at the bottom of the post
|
||||||
|
license:
|
||||||
|
template: Dette opslag er licenseret under :LICENSE_NAME af forfatteren.
|
||||||
|
name: CC BY 4.0
|
||||||
|
link: https://creativecommons.org/licenses/by/4.0/
|
||||||
|
|
||||||
|
# Displayed in the footer
|
||||||
|
brief: Nogle rettigheder forbeholdes.
|
||||||
|
verbose: >-
|
||||||
|
Medmindre andet er angivet, er opslag på denne side beskyttet
|
||||||
|
under Creative Commons Attribution 4.0 International (CC BY 4.0) licensen af forfatteren.
|
||||||
|
|
||||||
|
# meta: Using the :THEME theme for :PLATFORM.
|
||||||
|
|
||||||
|
not_found:
|
||||||
|
statement: Beklager, vi har malpaceret denne URL, eller den peger på et sted, som ikke findes.
|
||||||
|
|
||||||
|
notification:
|
||||||
|
update_found: Der er nyt indhold
|
||||||
|
update: Opdater
|
||||||
|
|
||||||
|
theme:
|
||||||
|
light: Lys
|
||||||
|
dark: Mørk
|
||||||
|
system: System
|
||||||
|
|
||||||
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
|
post:
|
||||||
|
written_by: Af
|
||||||
|
posted: Udgivet
|
||||||
|
updated: Opdateret
|
||||||
|
words: ord
|
||||||
|
pageview_measure: visninger
|
||||||
|
read_time:
|
||||||
|
unit: min
|
||||||
|
prompt: læsetid
|
||||||
|
edit: Rediger dette opslag
|
||||||
|
relate_posts: Læs videre
|
||||||
|
share: Del
|
||||||
|
button:
|
||||||
|
next: Nyere
|
||||||
|
previous: Ældre
|
||||||
|
copy_code:
|
||||||
|
succeed: Kopieret!
|
||||||
|
share_link:
|
||||||
|
title: Kopier link
|
||||||
|
succeed: Link kopieret!
|
||||||
|
|
||||||
|
# Date time format.
|
||||||
|
# See: <http://strftime.net/>, <https://day.js.org/docs/en/display/format>
|
||||||
|
df:
|
||||||
|
post:
|
||||||
|
strftime: "%Y/%m/%d"
|
||||||
|
dayjs: "YYYY/MM/DD"
|
||||||
|
|
||||||
|
# categories page
|
||||||
|
categories:
|
||||||
|
category_measure:
|
||||||
|
singular: kategori
|
||||||
|
plural: kategorier
|
||||||
|
post_measure: opslag
|
||||||
@@ -42,12 +42,17 @@ copyright:
|
|||||||
meta: Powered by :PLATFORM with :THEME theme
|
meta: Powered by :PLATFORM with :THEME theme
|
||||||
|
|
||||||
not_found:
|
not_found:
|
||||||
statment: Entschuldigung, dieser Link verweist auf keine vorhandene Ressource.
|
statement: Entschuldigung, dieser Link verweist auf keine vorhandene Ressource.
|
||||||
|
|
||||||
notification:
|
notification:
|
||||||
update_found: Eine neue Version ist verfügbar.
|
update_found: Neue Inhalte verfügbar
|
||||||
update: Neue Version
|
update: Neue Version
|
||||||
|
|
||||||
|
theme:
|
||||||
|
light: Hell
|
||||||
|
dark: Dunkel
|
||||||
|
system: System
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
post:
|
post:
|
||||||
@@ -59,6 +64,7 @@ post:
|
|||||||
read_time:
|
read_time:
|
||||||
unit: Minuten
|
unit: Minuten
|
||||||
prompt: Lesezeit
|
prompt: Lesezeit
|
||||||
|
edit: Diesen Eintrag bearbeiten
|
||||||
relate_posts: Weiterlesen
|
relate_posts: Weiterlesen
|
||||||
share: Teilen
|
share: Teilen
|
||||||
button:
|
button:
|
||||||
@@ -76,7 +82,7 @@ df:
|
|||||||
post:
|
post:
|
||||||
strftime: "%d.%m.%Y"
|
strftime: "%d.%m.%Y"
|
||||||
dayjs: "DD.MM.YYYY"
|
dayjs: "DD.MM.YYYY"
|
||||||
|
|
||||||
# categories page
|
# categories page
|
||||||
categories:
|
categories:
|
||||||
category_measure:
|
category_measure:
|
||||||
|
|||||||
@@ -0,0 +1,96 @@
|
|||||||
|
# The layout text of site in Dhivehi (Maldives)
|
||||||
|
|
||||||
|
# ----- Commons label -----
|
||||||
|
|
||||||
|
layout:
|
||||||
|
post: ޕޯސްޓް
|
||||||
|
category: ނަތީޖާ
|
||||||
|
tag: ޓެގް
|
||||||
|
|
||||||
|
# The tabs of sidebar
|
||||||
|
tabs:
|
||||||
|
# format: <filename_without_extension>: <value>
|
||||||
|
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:
|
||||||
|
statement: ސޯރީ، މި ޔޫ.އާރއެލް މަށެވެއްނެ ނުވަތަ އެކަމެއް ނުވެއެވެ.
|
||||||
|
|
||||||
|
notification:
|
||||||
|
update_found: އައު ކޮންޓެންޓެއް ފެނިއްޖެ
|
||||||
|
update: އޮޕްޑޭޓް
|
||||||
|
|
||||||
|
theme:
|
||||||
|
light: އަލި
|
||||||
|
dark: އަނދިރި
|
||||||
|
system: ސިސްޓަމް
|
||||||
|
|
||||||
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
|
post:
|
||||||
|
written_by: ލެކްއޯލް
|
||||||
|
posted: ޕޯސްޓްކުރެވި
|
||||||
|
updated: އޮޕްޑޭޓްކުރެވި
|
||||||
|
words: ބަސް
|
||||||
|
pageview_measure: ބަނޑުކުރާ
|
||||||
|
read_time:
|
||||||
|
unit: މިނެޓް
|
||||||
|
prompt: އިސްކާރު
|
||||||
|
edit: މި ޕޯސްޓް އެޑިޓް ކުރު
|
||||||
|
relate_posts: އެއްޗެހި ފަހުރަށްދަން
|
||||||
|
share: ސެއާރް
|
||||||
|
button:
|
||||||
|
next: އަދާވަނަ
|
||||||
|
previous: ކޮނޯނި
|
||||||
|
copy_code:
|
||||||
|
succeed: ކޮޕީ ކުރެވި!
|
||||||
|
share_link:
|
||||||
|
title: ލިންކް ކޮޕީ ކުރު
|
||||||
|
succeed: ލިންކް ހަދަންކުރެވި!
|
||||||
|
|
||||||
|
# Date time format.
|
||||||
|
# See: <http://strftime.net/>, <https://day.js.org/docs/en/display/format>
|
||||||
|
df:
|
||||||
|
post:
|
||||||
|
strftime: "%b %e, %Y"
|
||||||
|
dayjs: "ll"
|
||||||
|
archives:
|
||||||
|
strftime: "%b"
|
||||||
|
dayjs: "MMM"
|
||||||
|
|
||||||
|
categories:
|
||||||
|
category_measure:
|
||||||
|
singular: ނަތީޖާ
|
||||||
|
plural: ނަތީޖާތައް
|
||||||
|
post_measure:
|
||||||
|
singular: ޕޯސްޓް
|
||||||
|
plural: ޕޯސްޓްތައް
|
||||||
@@ -43,12 +43,17 @@ copyright:
|
|||||||
meta: Αξιοποιώντας την :PLATFORM theme :THEME
|
meta: Αξιοποιώντας την :PLATFORM theme :THEME
|
||||||
|
|
||||||
not_found:
|
not_found:
|
||||||
statment: Συγνώμη, έχουμε τοποθετήσει λάθος αυτήν την διεύθυνση URL ή υποδεικνύει κάτι που δεν υπάρχει.
|
statement: Συγνώμη, έχουμε τοποθετήσει λάθος αυτήν την διεύθυνση URL ή υποδεικνύει κάτι που δεν υπάρχει.
|
||||||
|
|
||||||
notification:
|
notification:
|
||||||
update_found: Υπάρχει διαθέσιμη μια νέα έκδοση του περιεχομένου.
|
update_found: Νέο περιεχόμενο διαθέσιμο
|
||||||
update: Ενημέρωση
|
update: Ενημέρωση
|
||||||
|
|
||||||
|
theme:
|
||||||
|
light: Φωτεινό
|
||||||
|
dark: Σκοτεινό
|
||||||
|
system: Σύστημα
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
post:
|
post:
|
||||||
@@ -60,6 +65,7 @@ post:
|
|||||||
read_time:
|
read_time:
|
||||||
unit: Λεπτά
|
unit: Λεπτά
|
||||||
prompt: διαβάσματος
|
prompt: διαβάσματος
|
||||||
|
edit: Επεξεργασία αυτής της δημοσίευσης
|
||||||
relate_posts: Περισσότερα
|
relate_posts: Περισσότερα
|
||||||
share: Κοινοποιήστε
|
share: Κοινοποιήστε
|
||||||
button:
|
button:
|
||||||
|
|||||||
@@ -43,12 +43,17 @@ copyright:
|
|||||||
meta: Using the :THEME theme for :PLATFORM.
|
meta: Using the :THEME theme for :PLATFORM.
|
||||||
|
|
||||||
not_found:
|
not_found:
|
||||||
statment: Sorry, we've misplaced that URL or it's pointing to something that doesn't exist.
|
statement: Sorry, we've misplaced that URL or it's pointing to something that doesn't exist.
|
||||||
|
|
||||||
notification:
|
notification:
|
||||||
update_found: A new version of content is available.
|
update_found: New content available
|
||||||
update: Update
|
update: Update
|
||||||
|
|
||||||
|
theme:
|
||||||
|
light: Light
|
||||||
|
dark: Dark
|
||||||
|
system: System
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
post:
|
post:
|
||||||
@@ -60,6 +65,7 @@ post:
|
|||||||
read_time:
|
read_time:
|
||||||
unit: min
|
unit: min
|
||||||
prompt: read
|
prompt: read
|
||||||
|
edit: Edit this post
|
||||||
relate_posts: Further Reading
|
relate_posts: Further Reading
|
||||||
share: Share
|
share: Share
|
||||||
button:
|
button:
|
||||||
|
|||||||
@@ -43,12 +43,17 @@ copyright:
|
|||||||
meta: Hecho con :PLATFORM usando el tema :THEME
|
meta: Hecho con :PLATFORM usando el tema :THEME
|
||||||
|
|
||||||
not_found:
|
not_found:
|
||||||
statment: Lo sentimos, hemos perdido esa URL o apunta a algo que no existe.
|
statement: Lo sentimos, hemos perdido esa URL o apunta a algo que no existe.
|
||||||
|
|
||||||
notification:
|
notification:
|
||||||
update_found: Hay una nueva versión de contenido disponible.
|
update_found: Hay contenido nuevo
|
||||||
update: Actualizar
|
update: Actualizar
|
||||||
|
|
||||||
|
theme:
|
||||||
|
light: Claro
|
||||||
|
dark: Oscuro
|
||||||
|
system: Sistema
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
post:
|
post:
|
||||||
@@ -60,6 +65,7 @@ post:
|
|||||||
read_time:
|
read_time:
|
||||||
unit: min
|
unit: min
|
||||||
prompt: " de lectura"
|
prompt: " de lectura"
|
||||||
|
edit: Edita esta entrada
|
||||||
relate_posts: Lecturas adicionales
|
relate_posts: Lecturas adicionales
|
||||||
share: Compartir
|
share: Compartir
|
||||||
button:
|
button:
|
||||||
|
|||||||
@@ -0,0 +1,97 @@
|
|||||||
|
# The layout text of site
|
||||||
|
|
||||||
|
# ----- Commons label -----
|
||||||
|
|
||||||
|
layout:
|
||||||
|
post: پست
|
||||||
|
category: دستهبندی
|
||||||
|
tag: برچسب
|
||||||
|
|
||||||
|
# The tabs of sidebar
|
||||||
|
tabs:
|
||||||
|
# format: <filename_without_extension>: <value>
|
||||||
|
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:
|
||||||
|
statement: متأسفیم، لینک زیر معتبر نیست یا به صفحهای که وجود ندارد اشاره میکند.
|
||||||
|
|
||||||
|
notification:
|
||||||
|
update_found: محتوای جدیدی پیدا شد
|
||||||
|
update: بهروزرسانی
|
||||||
|
|
||||||
|
theme:
|
||||||
|
light: روشن
|
||||||
|
dark: تیره
|
||||||
|
system: سیستم
|
||||||
|
|
||||||
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
|
post:
|
||||||
|
written_by: نوشته شده توسط
|
||||||
|
posted: منتشر شده
|
||||||
|
updated: بهروزرسانی شده
|
||||||
|
words: کلمه
|
||||||
|
pageview_measure: بازدید
|
||||||
|
read_time:
|
||||||
|
unit: "دقیقه "
|
||||||
|
prompt: " زمان مطالعه"
|
||||||
|
edit: ویرایش این پست
|
||||||
|
relate_posts: بیشتر بخوانید
|
||||||
|
share: اشتراکگذاری
|
||||||
|
button:
|
||||||
|
next: جدیدتر
|
||||||
|
previous: قدیمیتر
|
||||||
|
copy_code:
|
||||||
|
succeed: کپی شد!
|
||||||
|
share_link:
|
||||||
|
title: کپی لینک
|
||||||
|
succeed: لینک با موفقیت کپی شد!
|
||||||
|
|
||||||
|
# Date time format.
|
||||||
|
# See: <http://strftime.net/>, <https://day.js.org/docs/en/display/format>
|
||||||
|
df:
|
||||||
|
post:
|
||||||
|
strftime: "%b %e, %Y"
|
||||||
|
dayjs: "ll"
|
||||||
|
archives:
|
||||||
|
strftime: "%b"
|
||||||
|
dayjs: "MMM"
|
||||||
|
|
||||||
|
# categories page
|
||||||
|
categories:
|
||||||
|
category_measure:
|
||||||
|
singular: دستهبندی
|
||||||
|
plural: دستهبندی
|
||||||
|
post_measure:
|
||||||
|
singular: پست
|
||||||
|
plural: پست
|
||||||
@@ -42,12 +42,17 @@ copyright:
|
|||||||
meta: Käytetään :PLATFORM iä Teema :THEME
|
meta: Käytetään :PLATFORM iä Teema :THEME
|
||||||
|
|
||||||
not_found:
|
not_found:
|
||||||
statment: Valitettavasti tällä URL-osoitteella ei ole saatavilla sisältöä.
|
statement: Valitettavasti tällä URL-osoitteella ei ole saatavilla sisältöä.
|
||||||
|
|
||||||
notification:
|
notification:
|
||||||
update_found: Uusi versio sisällöstä on saatavilla.
|
update_found: Uutta sisältöä löytyi
|
||||||
update: Päivitä
|
update: Päivitä
|
||||||
|
|
||||||
|
theme:
|
||||||
|
light: Vaalea
|
||||||
|
dark: Tumma
|
||||||
|
system: Järjestelmä
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
post:
|
post:
|
||||||
@@ -59,6 +64,7 @@ post:
|
|||||||
read_time:
|
read_time:
|
||||||
unit: minuuttia
|
unit: minuuttia
|
||||||
prompt: lukea
|
prompt: lukea
|
||||||
|
edit: Muokkaa tätä julkaisua
|
||||||
relate_posts: Jatka lukemista
|
relate_posts: Jatka lukemista
|
||||||
share: Jaa
|
share: Jaa
|
||||||
button:
|
button:
|
||||||
|
|||||||
+11
-5
@@ -14,7 +14,7 @@ tabs:
|
|||||||
categories: Catégories
|
categories: Catégories
|
||||||
tags: Tags
|
tags: Tags
|
||||||
archives: Archives
|
archives: Archives
|
||||||
about: A propos de
|
about: À propos
|
||||||
|
|
||||||
# the text displayed in the search bar & search results
|
# the text displayed in the search bar & search results
|
||||||
search:
|
search:
|
||||||
@@ -32,23 +32,28 @@ copyright:
|
|||||||
license:
|
license:
|
||||||
template: Cet article est sous licence :LICENSE_NAME par l'auteur.
|
template: Cet article est sous licence :LICENSE_NAME par l'auteur.
|
||||||
name: CC BY 4.0
|
name: CC BY 4.0
|
||||||
link: https://creativecommons.org/licenses/by/4.0/
|
link: https://creativecommons.org/licenses/by/4.0/deed.fr
|
||||||
|
|
||||||
# Displayed in the footer
|
# Displayed in the footer
|
||||||
brief: Certains droits réservés.
|
brief: Certains droits réservés.
|
||||||
verbose: >-
|
verbose: >-
|
||||||
Sauf mention contraire, les articles de ce site sont publiés sous licence
|
Sauf mention contraire, les articles de ce site sont publiés
|
||||||
sous la licence Creative Commons Attribution 4.0 International (CC BY 4.0) par l'auteur.
|
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
|
meta: Propulsé par :PLATFORM avec le thème :THEME
|
||||||
|
|
||||||
not_found:
|
not_found:
|
||||||
statment: Désolé, nous avons égaré cette URL ou elle pointe vers quelque chose qui n'existe pas.
|
statement: Désolé, nous avons égaré cette URL ou elle pointe vers quelque chose qui n'existe pas.
|
||||||
|
|
||||||
notification:
|
notification:
|
||||||
update_found: Une nouvelle version du contenu est disponible.
|
update_found: Nouveau contenu trouvé
|
||||||
update: Mise à jour
|
update: Mise à jour
|
||||||
|
|
||||||
|
theme:
|
||||||
|
light: Clair
|
||||||
|
dark: Sombre
|
||||||
|
system: Système
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
post:
|
post:
|
||||||
@@ -60,6 +65,7 @@ post:
|
|||||||
read_time:
|
read_time:
|
||||||
unit: min
|
unit: min
|
||||||
prompt: lire
|
prompt: lire
|
||||||
|
edit: Modifier cet article
|
||||||
relate_posts: Autres lectures
|
relate_posts: Autres lectures
|
||||||
share: Partager
|
share: Partager
|
||||||
button:
|
button:
|
||||||
|
|||||||
+28
-9
@@ -14,24 +14,23 @@ tabs:
|
|||||||
categories: Kategóriák
|
categories: Kategóriák
|
||||||
tags: Címkék
|
tags: Címkék
|
||||||
archives: Archívum
|
archives: Archívum
|
||||||
about: Rólam
|
about: Bemutatkozás
|
||||||
|
|
||||||
# the text displayed in the search bar & search results
|
# the text displayed in the search bar & search results
|
||||||
search:
|
search:
|
||||||
hint: keresés
|
hint: keresés
|
||||||
cancel: Mégse
|
cancel: Mégse
|
||||||
no_results: Oops! Nincs találat a keresésre.
|
no_results: Hoppá! Nincs találat a keresésre.
|
||||||
|
|
||||||
panel:
|
panel:
|
||||||
lastmod: Legutóbb frissítve
|
lastmod: Legutóbb frissítve
|
||||||
trending_tags: Népszerű Címkék
|
trending_tags: Népszerű Címkék
|
||||||
toc: Tartalom
|
toc: Tartalom
|
||||||
links: Blog linkek
|
|
||||||
|
|
||||||
copyright:
|
copyright:
|
||||||
# Shown at the bottom of the post
|
# Shown at the bottom of the post
|
||||||
license:
|
license:
|
||||||
template: A bejegyzés :LICENSE_NAME licenccel rendelkezik.
|
template: A bejegyzést a szerző :LICENSE_NAME licenc alatt engedélyezte.
|
||||||
name: CC BY 4.0
|
name: CC BY 4.0
|
||||||
link: https://creativecommons.org/licenses/by/4.0/
|
link: https://creativecommons.org/licenses/by/4.0/
|
||||||
|
|
||||||
@@ -42,15 +41,20 @@ copyright:
|
|||||||
Creative Commons Attribution 4.0 International (CC BY 4.0) licenccel rendelkeznek,
|
Creative Commons Attribution 4.0 International (CC BY 4.0) licenccel rendelkeznek,
|
||||||
hacsak másképp nincs jelezve.
|
hacsak másképp nincs jelezve.
|
||||||
|
|
||||||
meta: Készítve :PLATFORM motorral :THEME témával
|
meta: Készítve :THEME témával a :PLATFORM platformra.
|
||||||
|
|
||||||
not_found:
|
not_found:
|
||||||
statment: Sajnáljuk, az URL-t rosszul helyeztük el, vagy valami nem létezőre mutat.
|
statement: Sajnáljuk, az URL-t rosszul helyeztük el, vagy valami nem létezőre mutat.
|
||||||
|
|
||||||
notification:
|
notification:
|
||||||
update_found: Elérhető a tartalom új verziója.
|
update_found: Új tartalom található
|
||||||
update: Frissítés
|
update: Frissítés
|
||||||
|
|
||||||
|
theme:
|
||||||
|
light: Világos
|
||||||
|
dark: Sötét
|
||||||
|
system: Rendszer
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
post:
|
post:
|
||||||
@@ -62,6 +66,7 @@ post:
|
|||||||
read_time:
|
read_time:
|
||||||
unit: perc
|
unit: perc
|
||||||
prompt: elolvasni
|
prompt: elolvasni
|
||||||
|
edit: Szerkesztés
|
||||||
relate_posts: További olvasnivaló
|
relate_posts: További olvasnivaló
|
||||||
share: Megosztás
|
share: Megosztás
|
||||||
button:
|
button:
|
||||||
@@ -73,7 +78,21 @@ post:
|
|||||||
title: Link másolása
|
title: Link másolása
|
||||||
succeed: Link sikeresen másolva!
|
succeed: Link sikeresen másolva!
|
||||||
|
|
||||||
|
# Date time format.
|
||||||
|
# See: <http://strftime.net/>, <https://day.js.org/docs/en/display/format>
|
||||||
|
df:
|
||||||
|
post:
|
||||||
|
strftime: "%Y. %B. %e."
|
||||||
|
dayjs: "YYYY. MMMM D."
|
||||||
|
archives:
|
||||||
|
strftime: "%B"
|
||||||
|
dayjs: "MMM"
|
||||||
|
|
||||||
# categories page
|
# categories page
|
||||||
categories:
|
categories:
|
||||||
category_measure: kategória
|
category_measure:
|
||||||
post_measure: bejegyzés
|
singular: kategória
|
||||||
|
plural: kategória
|
||||||
|
post_measure:
|
||||||
|
singular: bejegyzés
|
||||||
|
plural: bejegyzés
|
||||||
|
|||||||
@@ -43,12 +43,17 @@ copyright:
|
|||||||
meta: Didukung oleh :PLATFORM dengan tema :THEME
|
meta: Didukung oleh :PLATFORM dengan tema :THEME
|
||||||
|
|
||||||
not_found:
|
not_found:
|
||||||
statment: Maaf, kami gagal menemukan URL itu atau memang mengarah ke sesuatu yang tidak ada.
|
statement: Maaf, kami gagal menemukan URL itu atau memang mengarah ke sesuatu yang tidak ada.
|
||||||
|
|
||||||
notification:
|
notification:
|
||||||
update_found: Versi konten baru tersedia.
|
update_found: Konten baru tersedia
|
||||||
update: Perbarui
|
update: Perbarui
|
||||||
|
|
||||||
|
theme:
|
||||||
|
light: Terang
|
||||||
|
dark: Gelap
|
||||||
|
system: Sistem
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
post:
|
post:
|
||||||
@@ -60,6 +65,7 @@ post:
|
|||||||
read_time:
|
read_time:
|
||||||
unit: menit
|
unit: menit
|
||||||
prompt: baca
|
prompt: baca
|
||||||
|
edit: Sunting entri ini
|
||||||
relate_posts: Postingan Lainya
|
relate_posts: Postingan Lainya
|
||||||
share: Bagikan
|
share: Bagikan
|
||||||
button:
|
button:
|
||||||
|
|||||||
@@ -42,12 +42,17 @@ copyright:
|
|||||||
|
|
||||||
meta: Servizio offerto da :PLATFORM con tema :THEME
|
meta: Servizio offerto da :PLATFORM con tema :THEME
|
||||||
not_found:
|
not_found:
|
||||||
statment: Ci scusiamo, non è stato possibile trovare l'URL in questione. Potrebbe puntare ad una pagina non esistente.
|
statement: Ci scusiamo, non è stato possibile trovare l'URL in questione. Potrebbe puntare ad una pagina non esistente.
|
||||||
|
|
||||||
notification:
|
notification:
|
||||||
update_found: Nuova versione del contenuto disponibile.
|
update_found: Nuovi contenuti trovati
|
||||||
update: Aggiornamento
|
update: Aggiornamento
|
||||||
|
|
||||||
|
theme:
|
||||||
|
light: Chiaro
|
||||||
|
dark: Scuro
|
||||||
|
system: Sistema
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
post:
|
post:
|
||||||
@@ -59,6 +64,7 @@ post:
|
|||||||
read_time:
|
read_time:
|
||||||
unit: min
|
unit: min
|
||||||
prompt: lettura
|
prompt: lettura
|
||||||
|
edit: Modifica questo post
|
||||||
relate_posts: Continua a leggere
|
relate_posts: Continua a leggere
|
||||||
share: Condividi
|
share: Condividi
|
||||||
button:
|
button:
|
||||||
|
|||||||
@@ -0,0 +1,90 @@
|
|||||||
|
# The layout text of site
|
||||||
|
|
||||||
|
# ----- Commons label -----
|
||||||
|
|
||||||
|
layout:
|
||||||
|
post: 投稿
|
||||||
|
category: カテゴリー
|
||||||
|
tag: タグ
|
||||||
|
|
||||||
|
# The tabs of sidebar
|
||||||
|
tabs:
|
||||||
|
# format: <filename_without_extension>: <value>
|
||||||
|
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: 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: :PLATFORM 用の :THEME を使用しています。
|
||||||
|
|
||||||
|
not_found:
|
||||||
|
statement: このURLは存在しないものを指し示しています。
|
||||||
|
|
||||||
|
notification:
|
||||||
|
update_found: 新しいコンテンツがあります
|
||||||
|
update: 更新
|
||||||
|
|
||||||
|
theme:
|
||||||
|
light: ライト
|
||||||
|
dark: ダーク
|
||||||
|
system: システム
|
||||||
|
|
||||||
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
|
post:
|
||||||
|
written_by: 投稿者
|
||||||
|
posted: 投稿日
|
||||||
|
updated: 更新日
|
||||||
|
words: 語
|
||||||
|
pageview_measure: 回閲覧
|
||||||
|
read_time:
|
||||||
|
unit: 分
|
||||||
|
prompt: で読めます
|
||||||
|
edit: この投稿を編集
|
||||||
|
relate_posts: さらに読む
|
||||||
|
share: シェア
|
||||||
|
button:
|
||||||
|
next: 次
|
||||||
|
previous: 前
|
||||||
|
copy_code:
|
||||||
|
succeed: コピーしました
|
||||||
|
share_link:
|
||||||
|
title: リンクをコピー
|
||||||
|
succeed: リンクをコピーしました
|
||||||
|
|
||||||
|
# Date time format.
|
||||||
|
# See: <http://strftime.net/>, <https://day.js.org/docs/en/display/format>
|
||||||
|
df:
|
||||||
|
post:
|
||||||
|
strftime: "%Y/%m/%d"
|
||||||
|
dayjs: "YYYY/MM/DD"
|
||||||
|
|
||||||
|
# categories page
|
||||||
|
categories:
|
||||||
|
category_measure: カテゴリー
|
||||||
|
post_measure: 投稿
|
||||||
@@ -43,12 +43,17 @@ copyright:
|
|||||||
meta: Powered by :PLATFORM with :THEME theme
|
meta: Powered by :PLATFORM with :THEME theme
|
||||||
|
|
||||||
not_found:
|
not_found:
|
||||||
statment: 해당 URL은 존재하지 않습니다.
|
statement: 해당 URL은 존재하지 않습니다.
|
||||||
|
|
||||||
notification:
|
notification:
|
||||||
update_found: 새 버전의 콘텐츠를 사용할 수 있습니다.
|
update_found: 새 콘텐츠가 있습니다
|
||||||
update: 업데이트
|
update: 업데이트
|
||||||
|
|
||||||
|
theme:
|
||||||
|
light: 라이트
|
||||||
|
dark: 다크
|
||||||
|
system: 시스템
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
post:
|
post:
|
||||||
@@ -60,6 +65,7 @@ post:
|
|||||||
read_time:
|
read_time:
|
||||||
unit: 분
|
unit: 분
|
||||||
prompt: 읽는 시간
|
prompt: 읽는 시간
|
||||||
|
edit: 이 글 편집
|
||||||
relate_posts: 관련된 글
|
relate_posts: 관련된 글
|
||||||
share: 공유하기
|
share: 공유하기
|
||||||
button:
|
button:
|
||||||
|
|||||||
@@ -0,0 +1,97 @@
|
|||||||
|
# The layout text of site in Kurdish (Sorani)
|
||||||
|
|
||||||
|
# ----- Commons label -----
|
||||||
|
|
||||||
|
layout:
|
||||||
|
post: بابەت
|
||||||
|
category: هاوپۆل
|
||||||
|
tag: تاگ
|
||||||
|
|
||||||
|
# The tabs of sidebar
|
||||||
|
tabs:
|
||||||
|
# format: <filename_without_extension>: <value>
|
||||||
|
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:
|
||||||
|
statement: ببوورە، ئەم بەستەرە نادۆزرێتەوە یان ئاماژە بە شتێک دەکات کە بوونی نییە.
|
||||||
|
|
||||||
|
notification:
|
||||||
|
update_found: ناوەڕۆکی نوێ بەردەستە
|
||||||
|
update: نوێکردنەوە
|
||||||
|
|
||||||
|
theme:
|
||||||
|
light: ڕووناک
|
||||||
|
dark: تاریک
|
||||||
|
system: سیستەم
|
||||||
|
|
||||||
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
|
post:
|
||||||
|
written_by: نووسەر
|
||||||
|
posted: بڵاوکراوەتەوە
|
||||||
|
updated: نوێکراوەتەوە
|
||||||
|
words: وشە
|
||||||
|
pageview_measure: بینین
|
||||||
|
read_time:
|
||||||
|
unit: خولەک
|
||||||
|
prompt: خوێندنەوە
|
||||||
|
edit: ئەم بابەتە دەستکاری بکە
|
||||||
|
relate_posts: بابەتی پەیوەندیدار
|
||||||
|
share: بڵاوکردنەوە
|
||||||
|
button:
|
||||||
|
next: نوێتر
|
||||||
|
previous: کۆنتر
|
||||||
|
copy_code:
|
||||||
|
succeed: کۆپی کرا!
|
||||||
|
share_link:
|
||||||
|
title: کۆپی بەستەر
|
||||||
|
succeed: بەستەر بە سەرکەوتوویی کۆپی کرا!
|
||||||
|
|
||||||
|
# Date time format.
|
||||||
|
# See: <http://strftime.net/>, <https://day.js.org/docs/en/display/format>
|
||||||
|
df:
|
||||||
|
post:
|
||||||
|
strftime: "%d %b, %Y"
|
||||||
|
dayjs: "DD MMM, YYYY"
|
||||||
|
archives:
|
||||||
|
strftime: "%b"
|
||||||
|
dayjs: "MMM"
|
||||||
|
|
||||||
|
# categories page
|
||||||
|
categories:
|
||||||
|
category_measure:
|
||||||
|
singular: هاوپۆل
|
||||||
|
plural: هاوپۆل
|
||||||
|
post_measure:
|
||||||
|
singular: بابەت
|
||||||
|
plural: بابەت
|
||||||
@@ -43,12 +43,17 @@ copyright:
|
|||||||
meta: Powered by :PLATFORM with :THEME theme
|
meta: Powered by :PLATFORM with :THEME theme
|
||||||
|
|
||||||
not_found:
|
not_found:
|
||||||
statment: ဝမ်းနည်းပါသည်၊ ကျွန်ုပ်တို့သည် အဆိုပါ URL ကို မှားယွင်းစွာ နေရာချထားခြင်း သို့မဟုတ် ၎င်းသည် မရှိသောအရာကို ညွှန်ပြနေပါသည်။
|
statement: ဝမ်းနည်းပါသည်၊ ကျွန်ုပ်တို့သည် အဆိုပါ URL ကို မှားယွင်းစွာ နေရာချထားခြင်း သို့မဟုတ် ၎င်းသည် မရှိသောအရာကို ညွှန်ပြနေပါသည်။
|
||||||
|
|
||||||
notification:
|
notification:
|
||||||
update_found: အကြောင်းအရာဗားရှင်းအသစ်ကို ရနိုင်ပါပြီ။
|
update_found: အကြောင်းအရာအသစ် တွေ့ရှိပါသည်
|
||||||
update: အပ်ဒိတ်
|
update: အပ်ဒိတ်
|
||||||
|
|
||||||
|
theme:
|
||||||
|
light: အလင်း
|
||||||
|
dark: အမှောင်
|
||||||
|
system: စနစ်
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
post:
|
post:
|
||||||
@@ -60,6 +65,7 @@ post:
|
|||||||
read_time:
|
read_time:
|
||||||
unit: မိနစ်
|
unit: မိနစ်
|
||||||
prompt: ဖတ်ပါမည်
|
prompt: ဖတ်ပါမည်
|
||||||
|
edit: ဤပို့စ်ကို တည်းဖြတ်ပါ
|
||||||
relate_posts: နောက်ထပ်ဖတ်ရန်
|
relate_posts: နောက်ထပ်ဖတ်ရန်
|
||||||
share: မျှဝေရန်
|
share: မျှဝေရန်
|
||||||
button:
|
button:
|
||||||
|
|||||||
@@ -0,0 +1,96 @@
|
|||||||
|
# The layout text of site
|
||||||
|
|
||||||
|
# ----- Commons label -----
|
||||||
|
|
||||||
|
layout:
|
||||||
|
post: Post
|
||||||
|
category: Categorie
|
||||||
|
tag: Tag
|
||||||
|
|
||||||
|
# The tabs of sidebar
|
||||||
|
tabs:
|
||||||
|
# format: <filename_without_extension>: <value>
|
||||||
|
home: Startpagina
|
||||||
|
categories: Categorieën
|
||||||
|
tags: Tags
|
||||||
|
archives: Archief
|
||||||
|
about: Over
|
||||||
|
|
||||||
|
# the text displayed in the search bar & search results
|
||||||
|
search:
|
||||||
|
hint: Zoek
|
||||||
|
cancel: Annuleer
|
||||||
|
no_results: Oops! Geen resultaat gevonden.
|
||||||
|
|
||||||
|
panel:
|
||||||
|
lastmod: Recent Bijgewerkt
|
||||||
|
trending_tags: Trending Tags
|
||||||
|
toc: Inhoud
|
||||||
|
|
||||||
|
copyright:
|
||||||
|
# Shown at the bottom of the post
|
||||||
|
license:
|
||||||
|
template: Alle posts zijn onder :LICENSE_NAME gepubliceerd door de auteur.
|
||||||
|
name: CC BY 4.0
|
||||||
|
link: https://creativecommons.org/licenses/by/4.0/
|
||||||
|
|
||||||
|
# Displayed in the footer
|
||||||
|
brief: Sommige rechten voorbehouden.
|
||||||
|
verbose: >-
|
||||||
|
Tenzij anders vermeld, alle posts zijn onder de
|
||||||
|
Creative Commons Attribution 4.0 International (CC BY 4.0) gepubliceerd door de auteur.
|
||||||
|
|
||||||
|
meta: Gebruikt :THEME
|
||||||
|
|
||||||
|
not_found:
|
||||||
|
statement: Sorry, we hebben de URL verkeerd geplaatst of hij verwijst naar iets dat niet bestaat.
|
||||||
|
|
||||||
|
notification:
|
||||||
|
update_found: Nieuwe inhoud gevonden
|
||||||
|
update: Update
|
||||||
|
|
||||||
|
theme:
|
||||||
|
light: Licht
|
||||||
|
dark: Donker
|
||||||
|
system: Systeem
|
||||||
|
|
||||||
|
# ----- Posts related labels -----
|
||||||
|
post:
|
||||||
|
written_by: Door
|
||||||
|
posted: Posted
|
||||||
|
updated: Bijgewerkt
|
||||||
|
words: woorden
|
||||||
|
pageview_measure: Gelezen
|
||||||
|
read_time:
|
||||||
|
unit: min
|
||||||
|
prompt: lees
|
||||||
|
edit: Bewerk dit bericht
|
||||||
|
relate_posts: Verder Lezen
|
||||||
|
share: Deel
|
||||||
|
button:
|
||||||
|
next: Volgende
|
||||||
|
previous: Vorige
|
||||||
|
copy_code:
|
||||||
|
succeed: Gekopieerd!
|
||||||
|
share_link:
|
||||||
|
title: Link kopiëren
|
||||||
|
succeed: Succesvol gekopieerd!
|
||||||
|
|
||||||
|
# Date time format.
|
||||||
|
# See: <http://strftime.net/>, <https://day.js.org/docs/en/display/format>
|
||||||
|
df:
|
||||||
|
post:
|
||||||
|
strftime: "%b %e, %Y"
|
||||||
|
dayjs: "ll"
|
||||||
|
archives:
|
||||||
|
strftime: "%b"
|
||||||
|
dayjs: "MMM"
|
||||||
|
|
||||||
|
# categories page
|
||||||
|
categories:
|
||||||
|
category_measure:
|
||||||
|
singular: categorie
|
||||||
|
plural: categorieën
|
||||||
|
post_measure:
|
||||||
|
singular: post
|
||||||
|
plural: posts
|
||||||
@@ -0,0 +1,96 @@
|
|||||||
|
# The layout text of site in Pashto (Afghanistan)
|
||||||
|
|
||||||
|
# ----- Commons label -----
|
||||||
|
|
||||||
|
layout:
|
||||||
|
post: لیکنه
|
||||||
|
category: وېشنيزه
|
||||||
|
tag: ټګ
|
||||||
|
|
||||||
|
# The tabs of sidebar
|
||||||
|
tabs:
|
||||||
|
# format: <filename_without_extension>: <value>
|
||||||
|
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:
|
||||||
|
statement: بښنه غواړو، دغه URL ناسم دی یا هغه څه ته اشاره کوي چې شتون نه لري.
|
||||||
|
|
||||||
|
notification:
|
||||||
|
update_found: نوې منځپانګه شتون لري
|
||||||
|
update: تازه
|
||||||
|
|
||||||
|
theme:
|
||||||
|
light: روښانه
|
||||||
|
dark: تیاره
|
||||||
|
system: سیستم
|
||||||
|
|
||||||
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
|
post:
|
||||||
|
written_by: لیکوال
|
||||||
|
posted: خپره شوې
|
||||||
|
updated: تازه شوې
|
||||||
|
words: کلمې
|
||||||
|
pageview_measure: کتنې
|
||||||
|
read_time:
|
||||||
|
unit: دقیقې
|
||||||
|
prompt: لوستل
|
||||||
|
edit: دغه لیکنه سمول
|
||||||
|
relate_posts: نوره لوستنه
|
||||||
|
share: شریکول
|
||||||
|
button:
|
||||||
|
next: نوی
|
||||||
|
previous: زوړ
|
||||||
|
copy_code:
|
||||||
|
succeed: کاپي شو!
|
||||||
|
share_link:
|
||||||
|
title: لینک کاپي کړئ
|
||||||
|
succeed: لینک بریالي کاپي شو!
|
||||||
|
|
||||||
|
# Date time format.
|
||||||
|
# See: <http://strftime.net/>, <https://day.js.org/docs/en/display/format>
|
||||||
|
df:
|
||||||
|
post:
|
||||||
|
strftime: "%b %e, %Y"
|
||||||
|
dayjs: "ll"
|
||||||
|
archives:
|
||||||
|
strftime: "%b"
|
||||||
|
dayjs: "MMM"
|
||||||
|
|
||||||
|
categories:
|
||||||
|
category_measure:
|
||||||
|
singular: وېشنيزه
|
||||||
|
plural: وېشنيزې
|
||||||
|
post_measure:
|
||||||
|
singular: لیکنه
|
||||||
|
plural: لیکنې
|
||||||
@@ -43,12 +43,17 @@ copyright:
|
|||||||
meta: Feito com :PLATFORM usando o tema :THEME
|
meta: Feito com :PLATFORM usando o tema :THEME
|
||||||
|
|
||||||
not_found:
|
not_found:
|
||||||
statment: Desculpe, a página não foi encontrada.
|
statement: Desculpe, a página não foi encontrada.
|
||||||
|
|
||||||
notification:
|
notification:
|
||||||
update_found: Uma nova versão do conteúdo está disponível.
|
update_found: Novo conteúdo encontrado
|
||||||
update: atualização
|
update: atualização
|
||||||
|
|
||||||
|
theme:
|
||||||
|
light: Claro
|
||||||
|
dark: Escuro
|
||||||
|
system: Sistema
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
post:
|
post:
|
||||||
@@ -60,6 +65,7 @@ post:
|
|||||||
read_time:
|
read_time:
|
||||||
unit: min
|
unit: min
|
||||||
prompt: " de leitura"
|
prompt: " de leitura"
|
||||||
|
edit: Editar esta postagem
|
||||||
relate_posts: Leia também
|
relate_posts: Leia também
|
||||||
share: Compartilhar
|
share: Compartilhar
|
||||||
button:
|
button:
|
||||||
|
|||||||
@@ -42,12 +42,17 @@ copyright:
|
|||||||
meta: Использует тему :THEME для :PLATFORM
|
meta: Использует тему :THEME для :PLATFORM
|
||||||
|
|
||||||
not_found:
|
not_found:
|
||||||
statment: Извините, мы перепутали URL-адрес или он указывает на что-то несуществующее.
|
statement: Извините, мы перепутали URL-адрес или он указывает на что-то несуществующее.
|
||||||
|
|
||||||
notification:
|
notification:
|
||||||
update_found: Доступна новая версия контента.
|
update_found: Найден новый контент
|
||||||
update: Обновить
|
update: Обновить
|
||||||
|
|
||||||
|
theme:
|
||||||
|
light: Светлая
|
||||||
|
dark: Темная
|
||||||
|
system: Системная
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
post:
|
post:
|
||||||
@@ -59,6 +64,7 @@ post:
|
|||||||
read_time:
|
read_time:
|
||||||
unit: мин.
|
unit: мин.
|
||||||
prompt: чтения
|
prompt: чтения
|
||||||
|
edit: Редактировать этот пост
|
||||||
relate_posts: Похожие посты
|
relate_posts: Похожие посты
|
||||||
share: Поделиться
|
share: Поделиться
|
||||||
button:
|
button:
|
||||||
@@ -76,7 +82,7 @@ df:
|
|||||||
post:
|
post:
|
||||||
strftime: "%d.%m.%Y"
|
strftime: "%d.%m.%Y"
|
||||||
dayjs: "DD.MM.YYYY"
|
dayjs: "DD.MM.YYYY"
|
||||||
|
|
||||||
# categories page
|
# categories page
|
||||||
categories:
|
categories:
|
||||||
category_measure:
|
category_measure:
|
||||||
|
|||||||
@@ -43,12 +43,17 @@ copyright:
|
|||||||
meta: Uporabljena :PLATFORM tema :THEME #Using the :PLATFORM theme :THEME
|
meta: Uporabljena :PLATFORM tema :THEME #Using the :PLATFORM theme :THEME
|
||||||
|
|
||||||
not_found:
|
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.
|
statement: 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:
|
notification:
|
||||||
update_found: Novejša različica vsebine je na voljo. #A new version of content is available.
|
update_found: Nova vsebina je na voljo
|
||||||
update: Posodobi #Update
|
update: Posodobi #Update
|
||||||
|
|
||||||
|
theme:
|
||||||
|
light: Svetla
|
||||||
|
dark: Temna
|
||||||
|
system: Sistemska
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
post:
|
post:
|
||||||
@@ -60,6 +65,7 @@ post:
|
|||||||
read_time:
|
read_time:
|
||||||
unit: min
|
unit: min
|
||||||
prompt: beri #read
|
prompt: beri #read
|
||||||
|
edit: Uredi to objavo #Edit this post
|
||||||
relate_posts: Nadaljnje branje #Further Reading
|
relate_posts: Nadaljnje branje #Further Reading
|
||||||
share: Deli #Share
|
share: Deli #Share
|
||||||
button:
|
button:
|
||||||
|
|||||||
@@ -43,12 +43,17 @@ copyright:
|
|||||||
meta: Byggd med :PLATFORM och temat :THEME
|
meta: Byggd med :PLATFORM och temat :THEME
|
||||||
|
|
||||||
not_found:
|
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.
|
statement: Ursäkta, vi har tappat bort den här webbadressen eller så pekar den på något som inte längre finns.
|
||||||
|
|
||||||
notification:
|
notification:
|
||||||
update_found: Det finns en ny version av innehållet.
|
update_found: Nytt innehåll hittades
|
||||||
update: Uppdatera sidan
|
update: Uppdatera sidan
|
||||||
|
|
||||||
|
theme:
|
||||||
|
light: Ljust
|
||||||
|
dark: Mörkt
|
||||||
|
system: System
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
post:
|
post:
|
||||||
@@ -60,6 +65,7 @@ post:
|
|||||||
read_time:
|
read_time:
|
||||||
unit: min
|
unit: min
|
||||||
prompt: läsning
|
prompt: läsning
|
||||||
|
edit: Redigera detta inlägg
|
||||||
relate_posts: Mer läsning
|
relate_posts: Mer läsning
|
||||||
share: Dela
|
share: Dela
|
||||||
button:
|
button:
|
||||||
|
|||||||
@@ -43,12 +43,17 @@ copyright:
|
|||||||
meta: กำลังใช้ธีมของ :PLATFORM ชื่อ :THEME
|
meta: กำลังใช้ธีมของ :PLATFORM ชื่อ :THEME
|
||||||
|
|
||||||
not_found:
|
not_found:
|
||||||
statment: ขออภัย เราวาง URL นั้นไว้ผิดที่ หรือมันชี้ไปยังสิ่งที่ไม่มีอยู่
|
statement: ขออภัย เราวาง URL นั้นไว้ผิดที่ หรือมันชี้ไปยังสิ่งที่ไม่มีอยู่
|
||||||
|
|
||||||
notification:
|
notification:
|
||||||
update_found: มีเวอร์ชันใหม่ของเนื้อหา
|
update_found: พบเนื้อหาใหม่
|
||||||
update: อัปเดต
|
update: อัปเดต
|
||||||
|
|
||||||
|
theme:
|
||||||
|
light: สว่าง
|
||||||
|
dark: มืด
|
||||||
|
system: ระบบ
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
post:
|
post:
|
||||||
@@ -60,6 +65,7 @@ post:
|
|||||||
read_time:
|
read_time:
|
||||||
unit: นาที
|
unit: นาที
|
||||||
prompt: อ่าน
|
prompt: อ่าน
|
||||||
|
edit: แก้ไขโพสต์นี้
|
||||||
relate_posts: อ่านต่อ
|
relate_posts: อ่านต่อ
|
||||||
share: แชร์
|
share: แชร์
|
||||||
button:
|
button:
|
||||||
|
|||||||
@@ -43,12 +43,17 @@ copyright:
|
|||||||
meta: :PLATFORM ve :THEME teması
|
meta: :PLATFORM ve :THEME teması
|
||||||
|
|
||||||
not_found:
|
not_found:
|
||||||
statment: Üzgünüz, bu linki yanlış yerleştirdik veya var olmayan bir şeye işaret ediyor.
|
statement: Üzgünüz, bu linki yanlış yerleştirdik veya var olmayan bir şeye işaret ediyor.
|
||||||
|
|
||||||
notification:
|
notification:
|
||||||
update_found: İçeriğin yeni bir sürümü mevcut.
|
update_found: Yeni içerik bulundu
|
||||||
update: Güncelle
|
update: Güncelle
|
||||||
|
|
||||||
|
theme:
|
||||||
|
light: Açık
|
||||||
|
dark: Koyu
|
||||||
|
system: Sistem
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
post:
|
post:
|
||||||
@@ -60,6 +65,7 @@ post:
|
|||||||
read_time:
|
read_time:
|
||||||
unit: dakikada
|
unit: dakikada
|
||||||
prompt: okunabilir
|
prompt: okunabilir
|
||||||
|
edit: Bu gönderiyi düzenle
|
||||||
relate_posts: Benzer Gönderiler
|
relate_posts: Benzer Gönderiler
|
||||||
share: Paylaş
|
share: Paylaş
|
||||||
button:
|
button:
|
||||||
|
|||||||
@@ -43,12 +43,17 @@ copyright:
|
|||||||
meta: Powered by :PLATFORM with :THEME theme
|
meta: Powered by :PLATFORM with :THEME theme
|
||||||
|
|
||||||
not_found:
|
not_found:
|
||||||
statment: Вибачте, це посилання вказує на ресурс, що не існує.
|
statement: Вибачте, це посилання вказує на ресурс, що не існує.
|
||||||
|
|
||||||
notification:
|
notification:
|
||||||
update_found: Доступна нова версія вмісту.
|
update_found: Знайдено новий вміст
|
||||||
update: Оновлення
|
update: Оновлення
|
||||||
|
|
||||||
|
theme:
|
||||||
|
light: Світла
|
||||||
|
dark: Темна
|
||||||
|
system: Системна
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
post:
|
post:
|
||||||
@@ -60,6 +65,7 @@ post:
|
|||||||
read_time:
|
read_time:
|
||||||
unit: хвилин
|
unit: хвилин
|
||||||
prompt: читання
|
prompt: читання
|
||||||
|
edit: Редагувати цей пост
|
||||||
relate_posts: Вас також може зацікавити
|
relate_posts: Вас також може зацікавити
|
||||||
share: Поділитися
|
share: Поділитися
|
||||||
button:
|
button:
|
||||||
|
|||||||
@@ -0,0 +1,96 @@
|
|||||||
|
# The layout text of site in Urdu (Pakistan)
|
||||||
|
|
||||||
|
# ----- Commons label -----
|
||||||
|
|
||||||
|
layout:
|
||||||
|
post: تحریر
|
||||||
|
category: زمرہ
|
||||||
|
tag: ٹیگ
|
||||||
|
|
||||||
|
# The tabs of sidebar
|
||||||
|
tabs:
|
||||||
|
# format: <filename_without_extension>: <value>
|
||||||
|
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:
|
||||||
|
statement: معذرت، یہ URL غلط ہے یا جس چیز کی طرف اشارہ کر رہا ہے وہ موجود نہیں۔
|
||||||
|
|
||||||
|
notification:
|
||||||
|
update_found: نیا مواد مل گیا
|
||||||
|
update: اپ ڈیٹ
|
||||||
|
|
||||||
|
theme:
|
||||||
|
light: روشن
|
||||||
|
dark: تاریک
|
||||||
|
system: سسٹم
|
||||||
|
|
||||||
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
|
post:
|
||||||
|
written_by: از
|
||||||
|
posted: شائع شدہ
|
||||||
|
updated: اپ ڈیٹ شدہ
|
||||||
|
words: لفظ
|
||||||
|
pageview_measure: مشاہدات
|
||||||
|
read_time:
|
||||||
|
unit: منٹ
|
||||||
|
prompt: پڑھیں
|
||||||
|
edit: اس تحریر میں ترمیم کریں
|
||||||
|
relate_posts: مزید مطالعہ
|
||||||
|
share: شیئر
|
||||||
|
button:
|
||||||
|
next: نیا
|
||||||
|
previous: پرانا
|
||||||
|
copy_code:
|
||||||
|
succeed: کاپی ہو گیا!
|
||||||
|
share_link:
|
||||||
|
title: لنک کاپی کریں
|
||||||
|
succeed: لنک کامیابی سے کاپی ہو گیا!
|
||||||
|
|
||||||
|
# Date time format.
|
||||||
|
# See: <http://strftime.net/>, <https://day.js.org/docs/en/display/format>
|
||||||
|
df:
|
||||||
|
post:
|
||||||
|
strftime: "%b %e, %Y"
|
||||||
|
dayjs: "ll"
|
||||||
|
archives:
|
||||||
|
strftime: "%b"
|
||||||
|
dayjs: "MMM"
|
||||||
|
|
||||||
|
categories:
|
||||||
|
category_measure:
|
||||||
|
singular: زمرہ
|
||||||
|
plural: زمروں
|
||||||
|
post_measure:
|
||||||
|
singular: تحریر
|
||||||
|
plural: تحریریں
|
||||||
@@ -42,12 +42,17 @@ copyright:
|
|||||||
meta: Trang web này được tạo bởi :PLATFORM với chủ đề :THEME
|
meta: Trang web này được tạo bởi :PLATFORM với chủ đề :THEME
|
||||||
|
|
||||||
not_found:
|
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.
|
statement: 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:
|
notification:
|
||||||
update_found: Đã có phiên bản mới của nội dung.
|
update_found: Đã tìm thấy nội dung mới
|
||||||
update: Cập nhật
|
update: Cập nhật
|
||||||
|
|
||||||
|
theme:
|
||||||
|
light: Sáng
|
||||||
|
dark: Tối
|
||||||
|
system: Hệ thống
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
post:
|
post:
|
||||||
@@ -59,6 +64,7 @@ post:
|
|||||||
read_time:
|
read_time:
|
||||||
unit: phút
|
unit: phút
|
||||||
prompt: đọc
|
prompt: đọc
|
||||||
|
edit: Chỉnh sửa bài viết này
|
||||||
relate_posts: Bài viết liên quan
|
relate_posts: Bài viết liên quan
|
||||||
share: Chia sẻ
|
share: Chia sẻ
|
||||||
button:
|
button:
|
||||||
|
|||||||
@@ -42,12 +42,17 @@ copyright:
|
|||||||
meta: 本站采用 :PLATFORM 主题 :THEME
|
meta: 本站采用 :PLATFORM 主题 :THEME
|
||||||
|
|
||||||
not_found:
|
not_found:
|
||||||
statment: 抱歉,我们放错了该 URL,或者它指向了不存在的内容。
|
statement: 抱歉,我们放错了该 URL,或者它指向了不存在的内容。
|
||||||
|
|
||||||
notification:
|
notification:
|
||||||
update_found: 发现新版本的内容。
|
update_found: 发现新内容
|
||||||
update: 更新
|
update: 更新
|
||||||
|
|
||||||
|
theme:
|
||||||
|
light: 浅色
|
||||||
|
dark: 深色
|
||||||
|
system: 跟随系统
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
post:
|
post:
|
||||||
@@ -59,6 +64,7 @@ post:
|
|||||||
read_time:
|
read_time:
|
||||||
unit: 分钟
|
unit: 分钟
|
||||||
prompt: 阅读
|
prompt: 阅读
|
||||||
|
edit: 编辑此文
|
||||||
relate_posts: 相关文章
|
relate_posts: 相关文章
|
||||||
share: 分享
|
share: 分享
|
||||||
button:
|
button:
|
||||||
|
|||||||
@@ -42,12 +42,17 @@ copyright:
|
|||||||
meta: 本網站使用 :PLATFORM 產生,採用 :THEME 主題
|
meta: 本網站使用 :PLATFORM 產生,採用 :THEME 主題
|
||||||
|
|
||||||
not_found:
|
not_found:
|
||||||
statment: 抱歉,您可能正在存取一個已被移動的 URL,或者它從未存在。
|
statement: 抱歉,您可能正在存取一個已被移動的 URL,或者它從未存在。
|
||||||
|
|
||||||
notification:
|
notification:
|
||||||
update_found: 發現新版本更新。
|
update_found: 發現新內容
|
||||||
update: 更新
|
update: 更新
|
||||||
|
|
||||||
|
theme:
|
||||||
|
light: 淺色
|
||||||
|
dark: 深色
|
||||||
|
system: 跟隨系統
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
post:
|
post:
|
||||||
@@ -59,6 +64,7 @@ post:
|
|||||||
read_time:
|
read_time:
|
||||||
unit: 分鐘
|
unit: 分鐘
|
||||||
prompt: 閱讀
|
prompt: 閱讀
|
||||||
|
edit: 編輯此文
|
||||||
relate_posts: 相關文章
|
relate_posts: 相關文章
|
||||||
share: 分享
|
share: 分享
|
||||||
button:
|
button:
|
||||||
|
|||||||
@@ -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
|
||||||
+6
-13
@@ -4,13 +4,6 @@ webfonts: /assets/lib/fonts/main.css
|
|||||||
|
|
||||||
# Libraries
|
# Libraries
|
||||||
|
|
||||||
jquery:
|
|
||||||
js: /assets/lib/jquery/jquery.min.js
|
|
||||||
|
|
||||||
bootstrap:
|
|
||||||
css: /assets/lib/bootstrap/bootstrap.min.css
|
|
||||||
js: /assets/lib/bootstrap/bootstrap.bundle.min.js
|
|
||||||
|
|
||||||
toc:
|
toc:
|
||||||
css: /assets/lib/tocbot/tocbot.min.css
|
css: /assets/lib/tocbot/tocbot.min.css
|
||||||
js: /assets/lib/tocbot/tocbot.min.js
|
js: /assets/lib/tocbot/tocbot.min.js
|
||||||
@@ -27,13 +20,13 @@ mermaid:
|
|||||||
dayjs:
|
dayjs:
|
||||||
js:
|
js:
|
||||||
common: /assets/lib/dayjs/dayjs.min.js
|
common: /assets/lib/dayjs/dayjs.min.js
|
||||||
locale: /assets/lib/dayjs/locale/en.min.js
|
locale: /assets/lib/dayjs/locale/en.js
|
||||||
relativeTime: /assets/lib/dayjs/plugin/relativeTime.min.js
|
relativeTime: /assets/lib/dayjs/plugin/relativeTime.js
|
||||||
localizedFormat: /assets/lib/dayjs/plugin/localizedFormat.min.js
|
localizedFormat: /assets/lib/dayjs/plugin/localizedFormat.js
|
||||||
|
|
||||||
magnific-popup:
|
glightbox:
|
||||||
css: /assets/lib/magnific-popup/magnific-popup.css
|
css: /assets/lib/glightbox/glightbox.min.css
|
||||||
js: /assets/lib/magnific-popup/jquery.magnific-popup.min.js
|
js: /assets/lib/glightbox/glightbox.min.js
|
||||||
|
|
||||||
lazy-polyfill:
|
lazy-polyfill:
|
||||||
css: /assets/lib/loading-attribute-polyfill/loading-attribute-polyfill.min.css
|
css: /assets/lib/loading-attribute-polyfill/loading-attribute-polyfill.min.css
|
||||||
|
|||||||
+31
-31
@@ -1,57 +1,57 @@
|
|||||||
# CDNs
|
# Resource Hints
|
||||||
|
resource_hints:
|
||||||
cdns:
|
|
||||||
# Google Fonts
|
|
||||||
- url: https://fonts.googleapis.com
|
- url: https://fonts.googleapis.com
|
||||||
|
links:
|
||||||
|
- rel: preconnect
|
||||||
|
- rel: dns-prefetch
|
||||||
- url: https://fonts.gstatic.com
|
- url: https://fonts.gstatic.com
|
||||||
args: crossorigin
|
links:
|
||||||
- url: https://fonts.googleapis.com
|
- rel: preconnect
|
||||||
# jsDelivr CDN
|
opts: [crossorigin]
|
||||||
|
- rel: dns-prefetch
|
||||||
- url: https://cdn.jsdelivr.net
|
- url: https://cdn.jsdelivr.net
|
||||||
|
links:
|
||||||
|
- rel: preconnect
|
||||||
|
- rel: dns-prefetch
|
||||||
|
|
||||||
# fonts
|
# Web Fonts
|
||||||
|
webfonts: https://fonts.googleapis.com/css2?family=Lato:wght@300;400&family=Source+Sans+Pro:wght@400;600;700;900&display=swap
|
||||||
webfonts: https://fonts.googleapis.com/css2?family=Lato&family=Source+Sans+Pro:wght@400;600;700;900&display=swap
|
|
||||||
|
|
||||||
# Libraries
|
# Libraries
|
||||||
|
|
||||||
jquery:
|
|
||||||
js: https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js
|
|
||||||
|
|
||||||
bootstrap:
|
bootstrap:
|
||||||
css: https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css
|
css: https://cdn.jsdelivr.net/npm/bootstrap@5/dist/css/bootstrap.min.css
|
||||||
js: https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js
|
|
||||||
|
|
||||||
toc:
|
toc:
|
||||||
css: https://cdn.jsdelivr.net/npm/tocbot@4.25.0/dist/tocbot.min.css
|
css: https://cdn.jsdelivr.net/npm/tocbot@4/dist/tocbot.min.css
|
||||||
js: https://cdn.jsdelivr.net/npm/tocbot@4.25.0/dist/tocbot.min.js
|
js: https://cdn.jsdelivr.net/npm/tocbot@4/dist/tocbot.min.js
|
||||||
|
|
||||||
fontawesome:
|
fontawesome:
|
||||||
css: https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.5.1/css/all.min.css
|
css: https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@7/css/all.min.css
|
||||||
|
|
||||||
search:
|
search:
|
||||||
js: https://cdn.jsdelivr.net/npm/simple-jekyll-search@1.10.0/dest/simple-jekyll-search.min.js
|
js: https://cdn.jsdelivr.net/npm/simple-jekyll-search@1/dest/simple-jekyll-search.min.js
|
||||||
|
|
||||||
mermaid:
|
mermaid:
|
||||||
js: https://cdn.jsdelivr.net/npm/mermaid@10.6.1/dist/mermaid.min.js
|
js: https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.min.js
|
||||||
|
|
||||||
dayjs:
|
dayjs:
|
||||||
js:
|
js:
|
||||||
common: https://cdn.jsdelivr.net/npm/dayjs@1.11.10/dayjs.min.js
|
common: https://cdn.jsdelivr.net/npm/dayjs@1/dayjs.min.js
|
||||||
locale: https://cdn.jsdelivr.net/npm/dayjs@1.11.10/locale/:LOCALE.min.js
|
locale: https://cdn.jsdelivr.net/npm/dayjs@1/locale/:LOCALE.js
|
||||||
relativeTime: https://cdn.jsdelivr.net/npm/dayjs@1.11.10/plugin/relativeTime.min.js
|
relativeTime: https://cdn.jsdelivr.net/npm/dayjs@1/plugin/relativeTime.js
|
||||||
localizedFormat: https://cdn.jsdelivr.net/npm/dayjs@1.11.10/plugin/localizedFormat.min.js
|
localizedFormat: https://cdn.jsdelivr.net/npm/dayjs@1/plugin/localizedFormat.js
|
||||||
|
|
||||||
magnific-popup:
|
glightbox:
|
||||||
css: https://cdn.jsdelivr.net/npm/magnific-popup@1.1.0/dist/magnific-popup.min.css
|
css: https://cdn.jsdelivr.net/npm/glightbox@3/dist/css/glightbox.min.css
|
||||||
js: https://cdn.jsdelivr.net/npm/magnific-popup@1.1.0/dist/jquery.magnific-popup.min.js
|
js: https://cdn.jsdelivr.net/npm/glightbox@3/dist/js/glightbox.min.js
|
||||||
|
|
||||||
lazy-polyfill:
|
lazy-polyfill:
|
||||||
css: https://cdn.jsdelivr.net/npm/loading-attribute-polyfill@2.1.1/dist/loading-attribute-polyfill.min.css
|
css: https://cdn.jsdelivr.net/npm/loading-attribute-polyfill@2/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
|
js: https://cdn.jsdelivr.net/npm/loading-attribute-polyfill@2/dist/loading-attribute-polyfill.umd.min.js
|
||||||
|
|
||||||
clipboard:
|
clipboard:
|
||||||
js: https://cdn.jsdelivr.net/npm/clipboard@2.0.11/dist/clipboard.min.js
|
js: https://cdn.jsdelivr.net/npm/clipboard@2/dist/clipboard.min.js
|
||||||
|
|
||||||
mathjax:
|
mathjax:
|
||||||
js: https://cdn.jsdelivr.net/npm/mathjax@3.2.2/es5/tex-chtml.js
|
js: https://cdn.jsdelivr.net/npm/mathjax@4/tex-mml-chtml.js
|
||||||
|
|||||||
+14
-2
@@ -18,11 +18,11 @@ platforms:
|
|||||||
#
|
#
|
||||||
# - type: Linkedin
|
# - type: Linkedin
|
||||||
# icon: "fab fa-linkedin"
|
# icon: "fab fa-linkedin"
|
||||||
# link: "https://www.linkedin.com/sharing/share-offsite/?url=URL"
|
# link: "https://www.linkedin.com/feed/?shareActive=true&shareUrl=URL"
|
||||||
#
|
#
|
||||||
# - type: Weibo
|
# - type: Weibo
|
||||||
# icon: "fab fa-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
|
# - type: Mastodon
|
||||||
# icon: "fa-brands fa-mastodon"
|
# icon: "fa-brands fa-mastodon"
|
||||||
@@ -36,3 +36,15 @@ platforms:
|
|||||||
# link: "https://fosstodon.org/"
|
# link: "https://fosstodon.org/"
|
||||||
# - label: photog.social
|
# - label: photog.social
|
||||||
# link: "https://photog.social/"
|
# link: "https://photog.social/"
|
||||||
|
#
|
||||||
|
# - type: Bluesky
|
||||||
|
# icon: "fa-brands fa-bluesky"
|
||||||
|
# link: "https://bsky.app/intent/compose?text=TITLE%20URL"
|
||||||
|
#
|
||||||
|
# - type: Reddit
|
||||||
|
# icon: "fa-brands fa-square-reddit"
|
||||||
|
# link: "https://www.reddit.com/submit?url=URL&title=TITLE"
|
||||||
|
#
|
||||||
|
# - type: Threads
|
||||||
|
# icon: "fa-brands fa-square-threads"
|
||||||
|
# link: "https://www.threads.net/intent/post?text=TITLE%20URL"
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
<!-- Cloudflare Web Analytics -->
|
||||||
|
<script
|
||||||
|
defer
|
||||||
|
src="https://static.cloudflareinsights.com/beacon.min.js"
|
||||||
|
data-cf-beacon='{"token": "{{ site.analytics.cloudflare.id }}"}'
|
||||||
|
></script>
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
<!-- Fathom -->
|
||||||
|
<script
|
||||||
|
src="https://cdn.usefathom.com/script.js"
|
||||||
|
data-site="{{ site.analytics.fathom.id }}"
|
||||||
|
defer
|
||||||
|
></script>
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
<!-- GoatCounter -->
|
||||||
|
<script
|
||||||
|
async
|
||||||
|
src="https://gc.zgo.at/count.js"
|
||||||
|
data-goatcounter="https://{{ site.analytics.goatcounter.id }}.goatcounter.com/count"
|
||||||
|
></script>
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||||
|
<script defer src="https://www.googletagmanager.com/gtag/js?id={{ site.analytics.google.id }}"></script>
|
||||||
|
<script>
|
||||||
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
|
window.dataLayer = window.dataLayer || [];
|
||||||
|
function gtag() {
|
||||||
|
dataLayer.push(arguments);
|
||||||
|
}
|
||||||
|
|
||||||
|
gtag('js', new Date());
|
||||||
|
gtag('config', '{{ site.analytics.google.id }}');
|
||||||
|
});
|
||||||
|
</script>
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
<!-- Matomo -->
|
||||||
|
<script>
|
||||||
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
|
var _paq = (window._paq = window._paq || []);
|
||||||
|
_paq.push(['trackPageView']);
|
||||||
|
_paq.push(['enableLinkTracking']);
|
||||||
|
var u="//{{ site.analytics.matomo.domain }}/";
|
||||||
|
_paq.push(['setTrackerUrl', u+'matomo.php']);
|
||||||
|
_paq.push(['setSiteId', {{ site.analytics.matomo.id }}]);
|
||||||
|
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
|
||||||
|
g.type='text/javascript'; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
|
||||||
|
});
|
||||||
|
</script>
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
<!-- Umami -->
|
||||||
|
<script
|
||||||
|
defer
|
||||||
|
src="{{ site.analytics.umami.domain }}/script.js"
|
||||||
|
data-website-id="{{ site.analytics.umami.id }}"
|
||||||
|
></script>
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
<!-- The comments switcher -->
|
||||||
|
{% if page.comments and site.comments.provider %}
|
||||||
|
{% capture path %}comments/{{ site.comments.provider }}.html{% endcapture %}
|
||||||
|
{% include {{ path }} %}
|
||||||
|
{% endif %}
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
<!-- The comments switcher -->
|
|
||||||
{% if page.comments and site.comments.active %}
|
|
||||||
{% capture path %}comments/{{ site.comments.active }}.html{% endcapture %}
|
|
||||||
{% include {{ path }} %}
|
|
||||||
{% endif %}
|
|
||||||
@@ -1,39 +1,26 @@
|
|||||||
<!-- The Disqus lazy loading. -->
|
<script>
|
||||||
|
|
||||||
<div id="disqus_thread">
|
|
||||||
<p class="text-center text-muted small">Comments powered by <a href="https://disqus.com/">Disqus</a>.</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
var disqus_config = function () {
|
var disqus_config = function () {
|
||||||
this.page.url = '{{ page.url | absolute_url }}';
|
this.page.url = '{{ page.url | absolute_url }}';
|
||||||
this.page.identifier = '{{ page.url }}';
|
this.page.identifier = '{{ page.url }}';
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Lazy loading */
|
function addDisqus() {
|
||||||
var disqus_observer = new IntersectionObserver(
|
let disqusThread = document.createElement('div');
|
||||||
function (entries) {
|
let paragraph = document.createElement('p');
|
||||||
if (entries[0].isIntersecting) {
|
|
||||||
(function () {
|
|
||||||
var d = document,
|
|
||||||
s = d.createElement('script');
|
|
||||||
s.src = 'https://{{ site.comments.disqus.shortname }}.disqus.com/embed.js';
|
|
||||||
s.setAttribute('data-timestamp', +new Date());
|
|
||||||
(d.head || d.body).appendChild(s);
|
|
||||||
})();
|
|
||||||
|
|
||||||
disqus_observer.disconnect();
|
disqusThread.id = 'disqus_thread';
|
||||||
}
|
paragraph.className = 'text-center text-muted small';
|
||||||
},
|
paragraph.innerHTML = 'Comments powered by <a href="https://disqus.com/">Disqus</a>.';
|
||||||
{ threshold: [0] }
|
disqusThread.appendChild(paragraph);
|
||||||
);
|
|
||||||
|
|
||||||
disqus_observer.observe(document.querySelector('#disqus_thread'));
|
const footer = document.querySelector('footer');
|
||||||
|
footer.insertAdjacentElement("beforebegin", disqusThread);
|
||||||
|
}
|
||||||
|
|
||||||
/* Auto switch theme */
|
{%- comment -%} Auto switch theme {%- endcomment -%}
|
||||||
function reloadDisqus() {
|
function reloadDisqus(event) {
|
||||||
if (event.source === window && event.data && event.data.direction === ModeToggle.ID) {
|
if (event.source === window && event.data && event.data.id === Theme.eventId) {
|
||||||
/* Disqus hasn't been loaded */
|
{%- comment -%} Disqus hasn't been loaded {%- endcomment -%}
|
||||||
if (typeof DISQUS === 'undefined') {
|
if (typeof DISQUS === 'undefined') {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -44,7 +31,27 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (document.querySelector('.mode-toggle')) {
|
addDisqus();
|
||||||
window.addEventListener('message', reloadDisqus);
|
|
||||||
|
if (Theme.isToggleable) {
|
||||||
|
addEventListener('message', reloadDisqus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{%- comment -%} Lazy loading {%- endcomment -%}
|
||||||
|
var disqusObserver = new IntersectionObserver(
|
||||||
|
function (entries) {
|
||||||
|
if (entries[0].isIntersecting) {
|
||||||
|
var d = document,
|
||||||
|
s = d.createElement('script');
|
||||||
|
s.src = 'https://{{ site.comments.disqus.shortname }}.disqus.com/embed.js';
|
||||||
|
s.setAttribute('data-timestamp', +new Date());
|
||||||
|
(d.head || d.body).appendChild(s);
|
||||||
|
|
||||||
|
disqusObserver.disconnect();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ threshold: [0] }
|
||||||
|
);
|
||||||
|
|
||||||
|
disqusObserver.observe(document.getElementById('disqus_thread'));
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -1,21 +1,13 @@
|
|||||||
<!-- https://giscus.app/ -->
|
<!-- https://giscus.app/ -->
|
||||||
<script type="text/javascript">
|
<script>
|
||||||
(function () {
|
(function () {
|
||||||
const origin = 'https://giscus.app';
|
const themeMap = Theme.newThemeMap('light', 'dark_dimmed');
|
||||||
const iframe = 'iframe.giscus-frame';
|
const initTheme = themeMap[Theme.resolvedTheme];
|
||||||
const lightTheme = 'light';
|
|
||||||
const darkTheme = 'dark_dimmed';
|
|
||||||
|
|
||||||
let initTheme = lightTheme;
|
let lang = '{{ site.comments.giscus.lang | default: lang }}';
|
||||||
const html = document.documentElement;
|
{%- comment -%} https://github.com/giscus/giscus/tree/main/locales {%- endcomment -%}
|
||||||
|
if (lang.length > 2 && !lang.startsWith('zh')) {
|
||||||
if (
|
lang = lang.slice(0, 2);
|
||||||
(html.hasAttribute('data-mode') &&
|
|
||||||
html.getAttribute('data-mode') === 'dark') ||
|
|
||||||
(!html.hasAttribute('data-mode') &&
|
|
||||||
window.matchMedia('(prefers-color-scheme: dark)').matches)
|
|
||||||
) {
|
|
||||||
initTheme = darkTheme;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
let giscusAttributes = {
|
let giscusAttributes = {
|
||||||
@@ -25,40 +17,48 @@
|
|||||||
'data-category': '{{ site.comments.giscus.category }}',
|
'data-category': '{{ site.comments.giscus.category }}',
|
||||||
'data-category-id': '{{ site.comments.giscus.category_id }}',
|
'data-category-id': '{{ site.comments.giscus.category_id }}',
|
||||||
'data-mapping': '{{ site.comments.giscus.mapping | default: 'pathname' }}',
|
'data-mapping': '{{ site.comments.giscus.mapping | default: 'pathname' }}',
|
||||||
|
'data-strict' : '{{ site.comments.giscus.strict | default: '0' }}',
|
||||||
'data-reactions-enabled': '{{ site.comments.giscus.reactions_enabled | default: '1' }}',
|
'data-reactions-enabled': '{{ site.comments.giscus.reactions_enabled | default: '1' }}',
|
||||||
'data-emit-metadata': '0',
|
'data-emit-metadata': '0',
|
||||||
'data-theme': initTheme,
|
'data-theme': initTheme,
|
||||||
'data-input-position': '{{ site.comments.giscus.input_position | default: 'bottom' }}',
|
'data-input-position': '{{ site.comments.giscus.input_position | default: 'bottom' }}',
|
||||||
'data-lang': '{{ site.comments.giscus.lang | default: lang }}',
|
'data-lang': lang,
|
||||||
'data-loading': 'lazy',
|
'data-loading': 'lazy',
|
||||||
crossorigin: 'anonymous',
|
crossorigin: 'anonymous',
|
||||||
async: ''
|
async: ''
|
||||||
};
|
};
|
||||||
|
|
||||||
let giscusScript = document.createElement('script');
|
let giscusNode = document.createElement('script');
|
||||||
Object.entries(giscusAttributes).forEach(([key, value]) =>
|
Object.entries(giscusAttributes).forEach(([key, value]) =>
|
||||||
giscusScript.setAttribute(key, value)
|
giscusNode.setAttribute(key, value)
|
||||||
);
|
);
|
||||||
document.getElementById('tail-wrapper').appendChild(giscusScript);
|
|
||||||
|
const $footer = document.querySelector('footer');
|
||||||
|
$footer.insertAdjacentElement("beforebegin", giscusNode);
|
||||||
|
|
||||||
addEventListener('message', (event) => {
|
addEventListener('message', (event) => {
|
||||||
if (
|
if (event.source === window && event.data && event.data.id === Theme.eventId) {
|
||||||
event.source === window &&
|
const newTheme = themeMap[Theme.resolvedTheme];
|
||||||
event.data &&
|
|
||||||
event.data.direction === ModeToggle.ID
|
|
||||||
) {
|
|
||||||
/* global theme mode changed */
|
|
||||||
const mode = event.data.message;
|
|
||||||
const theme = mode === ModeToggle.DARK_MODE ? darkTheme : lightTheme;
|
|
||||||
|
|
||||||
const message = {
|
const message = {
|
||||||
setConfig: {
|
setConfig: {
|
||||||
theme: theme
|
theme: newTheme
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const giscus = document.querySelector(iframe).contentWindow;
|
const iframe = document.querySelector('.giscus-frame');
|
||||||
giscus.postMessage({ giscus: message }, origin);
|
|
||||||
|
if (!iframe) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (iframe.classList.contains('giscus-frame--loading')) {
|
||||||
|
let url = new URL(iframe.src);
|
||||||
|
url.searchParams.set('theme', newTheme);
|
||||||
|
iframe.src = url.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
iframe.contentWindow.postMessage({ giscus: message }, 'https://giscus.app');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
})();
|
})();
|
||||||
|
|||||||
@@ -1,50 +1,38 @@
|
|||||||
<!-- https://utteranc.es/ -->
|
<!-- https://utteranc.es/ -->
|
||||||
<script
|
<script>
|
||||||
src="https://utteranc.es/client.js"
|
|
||||||
repo="{{ site.comments.utterances.repo }}"
|
|
||||||
issue-term="{{ site.comments.utterances.issue_term }}"
|
|
||||||
crossorigin="anonymous"
|
|
||||||
async
|
|
||||||
></script>
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
(function () {
|
(function () {
|
||||||
const origin = 'https://utteranc.es';
|
const origin = 'https://utteranc.es';
|
||||||
const iframe = 'iframe.utterances-frame';
|
const themeMap = Theme.newThemeMap('github-light', 'github-dark');
|
||||||
const lightTheme = 'github-light';
|
const initTheme = themeMap[Theme.resolvedTheme];
|
||||||
const darkTheme = 'github-dark';
|
|
||||||
let initTheme = lightTheme;
|
|
||||||
const html = document.documentElement;
|
|
||||||
|
|
||||||
if (
|
let script = document.createElement('script');
|
||||||
(html.hasAttribute('data-mode') && html.getAttribute('data-mode') === 'dark') ||
|
script.src = 'https://utteranc.es/client.js';
|
||||||
(!html.hasAttribute('data-mode') && window.matchMedia('(prefers-color-scheme: dark)').matches)
|
script.setAttribute('repo', '{{ site.comments.utterances.repo }}');
|
||||||
) {
|
script.setAttribute('issue-term', '{{ site.comments.utterances.issue_term }}');
|
||||||
initTheme = darkTheme;
|
script.setAttribute('theme', initTheme);
|
||||||
}
|
script.crossOrigin = 'anonymous';
|
||||||
|
script.async = true;
|
||||||
|
|
||||||
|
const $footer = document.querySelector('footer');
|
||||||
|
$footer.insertAdjacentElement('beforebegin', script);
|
||||||
|
|
||||||
addEventListener('message', (event) => {
|
addEventListener('message', (event) => {
|
||||||
let theme;
|
let newTheme;
|
||||||
|
|
||||||
/* credit to <https://github.com/utterance/utterances/issues/170#issuecomment-594036347> */
|
{%- comment -%}
|
||||||
if (event.origin === origin) {
|
Credit to <https://github.com/utterance/utterances/issues/170#issuecomment-594036347>
|
||||||
/* page initial */
|
{%- endcomment -%}
|
||||||
theme = initTheme;
|
if (event.source === window && event.data && event.data.id === Theme.eventId) {
|
||||||
} else if (event.source === window && event.data && event.data.direction === ModeToggle.ID) {
|
newTheme = themeMap[Theme.resolvedTheme];
|
||||||
/* global theme mode changed */
|
|
||||||
const mode = event.data.message;
|
const message = {
|
||||||
theme = mode === ModeToggle.DARK_MODE ? darkTheme : lightTheme;
|
type: 'set-theme',
|
||||||
} else {
|
theme: newTheme
|
||||||
return;
|
};
|
||||||
|
|
||||||
|
const utterances = document.querySelector('.utterances-frame').contentWindow;
|
||||||
|
utterances.postMessage(message, origin);
|
||||||
}
|
}
|
||||||
|
|
||||||
const message = {
|
|
||||||
type: 'set-theme',
|
|
||||||
theme: theme
|
|
||||||
};
|
|
||||||
|
|
||||||
const utterances = document.querySelector(iframe).contentWindow;
|
|
||||||
utterances.postMessage(message, origin);
|
|
||||||
});
|
});
|
||||||
})();
|
})();
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<!--
|
<!--
|
||||||
Date format snippet
|
Date format snippet
|
||||||
See: ${JS_ROOT}/utils/locale-dateime.js
|
See: ${JS_ROOT}/modules/components/locale-datetime.js
|
||||||
-->
|
-->
|
||||||
|
|
||||||
{% assign df_strftime = site.data.locales[include.lang].df.post.strftime | default: '%d/%m/%Y' %}
|
{% assign df_strftime = site.data.locales[include.lang].df.post.strftime | default: '%d/%m/%Y' %}
|
||||||
|
|||||||
@@ -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 subpath=page.media_subpath %}
|
||||||
|
{%- endcapture -%}
|
||||||
|
{% endunless %}
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<audio class="embed-audio file" controls>
|
||||||
|
{% assign extension = src | split: '.' | last %}
|
||||||
|
{% assign types = extension | concat: types %}
|
||||||
|
|
||||||
|
{% assign ext_size = extension | size %}
|
||||||
|
{% assign src_size = src | size %}
|
||||||
|
{% assign slice_size = src_size | minus: ext_size %}
|
||||||
|
|
||||||
|
{% assign filepath = src | slice: 0, slice_size %}
|
||||||
|
|
||||||
|
{% for type in types %}
|
||||||
|
{% assign src = filepath | append: type %}
|
||||||
|
{% assign media_item = site.data.media | find: 'extension', type %}
|
||||||
|
{% assign mime_type = media_item.mime_type | default: type %}
|
||||||
|
<source src="{{ src }}" type="audio/{{ mime_type }}">
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
Your browser does not support the audio tag. Here is a
|
||||||
|
<a href="{{ src | strip }}">link to the audio file</a> instead.
|
||||||
|
</audio>
|
||||||
|
{% if title %}
|
||||||
|
<em>{{ title }}</em>
|
||||||
|
{% endif %}
|
||||||
|
</p>
|
||||||
@@ -1,10 +1,9 @@
|
|||||||
<iframe
|
<iframe
|
||||||
class="embed-video bilibili"
|
class="embed-video"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
src="https://player.bilibili.com/player.html?bvid={{ include.id }}"
|
src="https://player.bilibili.com/player.html?bvid={{ include.id }}"
|
||||||
scrolling="no"
|
scrolling="no"
|
||||||
border="0"
|
frameborder="0"
|
||||||
frameborder="no"
|
|
||||||
framespacing="0"
|
framespacing="0"
|
||||||
allowfullscreen="true"
|
allowfullscreen="true"
|
||||||
></iframe>
|
></iframe>
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
{% assign size = 352 %}
|
||||||
|
{% assign theme = '' %}
|
||||||
|
|
||||||
|
{% if include.compact %}
|
||||||
|
{% assign size = 152 %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if include.dark %}
|
||||||
|
{% assign theme = '?theme=0' %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<iframe
|
||||||
|
class="embed-audio spotify"
|
||||||
|
src="https://open.spotify.com/embed/track/{{ include.id | append: theme }}"
|
||||||
|
height="{{ size }}"
|
||||||
|
frameBorder="0"
|
||||||
|
allowfullscreen=""
|
||||||
|
allowtransparency="true"
|
||||||
|
allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture"
|
||||||
|
loading="lazy"
|
||||||
|
>
|
||||||
|
</iframe>
|
||||||
@@ -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 subpath=page.media_subpath %}
|
||||||
|
{%- 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 %}
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<video class="embed-video file" {{ poster }} {{ attributes }}>
|
||||||
|
{% assign extension = video_url | split: '.' | last %}
|
||||||
|
{% assign types = extension | concat: types %}
|
||||||
|
|
||||||
|
{% assign ext_size = extension | size %}
|
||||||
|
{% assign src_size = video_url | size %}
|
||||||
|
{% assign slice_size = src_size | minus: ext_size %}
|
||||||
|
|
||||||
|
{% assign filepath = video_url | slice: 0, slice_size %}
|
||||||
|
|
||||||
|
{% for type in types %}
|
||||||
|
{% assign src = filepath | append: type %}
|
||||||
|
{% assign media_item = site.data.media | find: 'extension', type %}
|
||||||
|
{% assign mime_type = media_item.mime_type | default: type %}
|
||||||
|
<source src="{{ src }}" type="video/{{ mime_type }}">
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
Your browser does not support the video tag. Here is a
|
||||||
|
<a href="{{ video_url | strip }}">link to the video file</a> instead.
|
||||||
|
</video>
|
||||||
|
{% if title %}
|
||||||
|
<em>{{ title }}</em>
|
||||||
|
{% endif %}
|
||||||
|
</p>
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<iframe
|
<iframe
|
||||||
class="embed-video youtube"
|
class="embed-video"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
src="https://www.youtube.com/embed/{{ include.id }}"
|
src="https://www.youtube.com/embed/{{ include.id }}"
|
||||||
title="YouTube video player"
|
title="YouTube video player"
|
||||||
|
|||||||
@@ -5,13 +5,10 @@
|
|||||||
|
|
||||||
{% capture favicon_path %}{{ '/assets/img/favicons' | relative_url }}{% endcapture %}
|
{% capture favicon_path %}{{ '/assets/img/favicons' | relative_url }}{% endcapture %}
|
||||||
|
|
||||||
<link rel="apple-touch-icon" sizes="180x180" href="{{ favicon_path }}/apple-touch-icon.png">
|
<link rel="icon" type="image/png" href="{{ favicon_path }}/favicon-96x96.png" sizes="96x96">
|
||||||
<link rel="icon" type="image/png" sizes="32x32" href="{{ favicon_path }}/favicon-32x32.png">
|
<link rel="icon" type="image/svg+xml" href="{{ favicon_path }}/favicon.svg">
|
||||||
<link rel="icon" type="image/png" sizes="16x16" href="{{ favicon_path }}/favicon-16x16.png">
|
|
||||||
<link rel="manifest" href="{{ favicon_path }}/site.webmanifest">
|
|
||||||
<link rel="shortcut icon" href="{{ favicon_path }}/favicon.ico">
|
<link rel="shortcut icon" href="{{ favicon_path }}/favicon.ico">
|
||||||
<meta name="apple-mobile-web-app-title" content="{{ site.title }}">
|
<link rel="apple-touch-icon" sizes="180x180" href="{{ favicon_path }}/apple-touch-icon.png">
|
||||||
<meta name="application-name" content="{{ site.title }}">
|
{% if site.pwa.enabled %}
|
||||||
<meta name="msapplication-TileColor" content="#da532c">
|
<link rel="manifest" href="{{ favicon_path }}/site.webmanifest">
|
||||||
<meta name="msapplication-config" content="{{ favicon_path }}/browserconfig.xml">
|
{% endif %}
|
||||||
<meta name="theme-color" content="#ffffff">
|
|
||||||
|
|||||||
+16
-3
@@ -8,9 +8,15 @@
|
|||||||
"
|
"
|
||||||
>
|
>
|
||||||
<p>
|
<p>
|
||||||
{{ '©' }}
|
{{- '©' }}
|
||||||
<time>{{ 'now' | date: '%Y' }}</time>
|
<time>{{ 'now' | date: '%Y' }}</time>
|
||||||
<a href="{{ site.social.links[0] }}">{{ site.social.name }}</a>.
|
|
||||||
|
{% if site.social.links %}
|
||||||
|
<a href="{{ site.social.links[0] }}">{{ site.social.name }}</a>.
|
||||||
|
{% else %}
|
||||||
|
<em class="fst-normal">{{ site.social.name }}</em>.
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% if site.data.locales[include.lang].copyright.brief %}
|
{% if site.data.locales[include.lang].copyright.brief %}
|
||||||
<span
|
<span
|
||||||
data-bs-toggle="tooltip"
|
data-bs-toggle="tooltip"
|
||||||
@@ -28,7 +34,14 @@
|
|||||||
{%- endcapture -%}
|
{%- endcapture -%}
|
||||||
|
|
||||||
{%- capture _theme -%}
|
{%- capture _theme -%}
|
||||||
<a href="https://github.com/cotes2020/jekyll-theme-chirpy" target="_blank" rel="noopener">Chirpy</a>
|
<a
|
||||||
|
data-bs-toggle="tooltip"
|
||||||
|
data-bs-placement="top"
|
||||||
|
title="v{{ theme.version }}"
|
||||||
|
href="https://github.com/cotes2020/jekyll-theme-chirpy"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener"
|
||||||
|
>Chirpy</a>
|
||||||
{%- endcapture -%}
|
{%- endcapture -%}
|
||||||
|
|
||||||
{{ site.data.locales[include.lang].meta | replace: ':PLATFORM', _platform | replace: ':THEME', _theme }}
|
{{ site.data.locales[include.lang].meta | replace: ':PLATFORM', _platform | replace: ':THEME', _theme }}
|
||||||
|
|||||||
@@ -1,14 +0,0 @@
|
|||||||
<!--
|
|
||||||
The GA snippet
|
|
||||||
-->
|
|
||||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
|
||||||
<script defer src="https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics.id }}"></script>
|
|
||||||
<script>
|
|
||||||
document.addEventListener("DOMContentLoaded", function(event) {
|
|
||||||
window.dataLayer = window.dataLayer || [];
|
|
||||||
function gtag(){dataLayer.push(arguments);}
|
|
||||||
|
|
||||||
gtag('js', new Date());
|
|
||||||
gtag('config', '{{ site.google_analytics.id }}');
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
+67
-36
@@ -2,8 +2,6 @@
|
|||||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#f7f7f7">
|
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#f7f7f7">
|
||||||
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#1b1b1e">
|
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#1b1b1e">
|
||||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
||||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
|
||||||
<meta
|
<meta
|
||||||
name="viewport"
|
name="viewport"
|
||||||
content="width=device-width, user-scalable=no initial-scale=1, shrink-to-fit=no, viewport-fit=cover"
|
content="width=device-width, user-scalable=no initial-scale=1, shrink-to-fit=no, viewport-fit=cover"
|
||||||
@@ -20,7 +18,7 @@
|
|||||||
|
|
||||||
{% unless src contains '://' %}
|
{% unless src contains '://' %}
|
||||||
{%- capture img_url -%}
|
{%- capture img_url -%}
|
||||||
{% include img-url.html src=src img_path=page.img_path %}
|
{% include media-url.html src=src subpath=page.media_subpath absolute=true %}
|
||||||
{%- endcapture -%}
|
{%- endcapture -%}
|
||||||
|
|
||||||
{%- capture old_url -%}{{ src | absolute_url }}{%- endcapture -%}
|
{%- capture old_url -%}{{ src | absolute_url }}{%- endcapture -%}
|
||||||
@@ -31,57 +29,71 @@
|
|||||||
|
|
||||||
{% elsif site.social_preview_image %}
|
{% elsif site.social_preview_image %}
|
||||||
{%- capture img_url -%}
|
{%- capture img_url -%}
|
||||||
{% include img-url.html src=site.social_preview_image %}
|
{% include media-url.html src=site.social_preview_image absolute=true %}
|
||||||
{%- endcapture -%}
|
{%- endcapture -%}
|
||||||
|
|
||||||
{%- capture og_image -%}
|
{%- capture og_image -%}
|
||||||
<meta property="og:image" content="{{ img_url }}" />
|
<meta property="og:image" content="{{ img_url }}" />
|
||||||
{%- endcapture -%}
|
{%- endcapture -%}
|
||||||
|
|
||||||
{% assign old_meta_clip = '<meta name="twitter:card"' %}
|
{%- capture twitter_image -%}
|
||||||
{% assign new_meta_clip = og_image | append: old_meta_clip %}
|
<meta name="twitter:card" content="summary_large_image" />
|
||||||
|
<meta property="twitter:image" content="{{ img_url }}" />
|
||||||
|
{%- endcapture -%}
|
||||||
|
|
||||||
|
{% assign old_meta_clip = '<meta name="twitter:card" content="summary" />' %}
|
||||||
|
{% assign new_meta_clip = og_image | append: twitter_image %}
|
||||||
{% assign seo_tags = seo_tags | replace: old_meta_clip, new_meta_clip %}
|
{% assign seo_tags = seo_tags | replace: old_meta_clip, new_meta_clip %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{{ seo_tags }}
|
{{ seo_tags }}
|
||||||
|
|
||||||
|
{%- if site.social.fediverse_handle %}
|
||||||
|
<!-- Fediverse handle/creator -->
|
||||||
|
<meta name="fediverse:creator" content="{{ site.social.fediverse_handle }}">
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
<title>
|
<title>
|
||||||
{%- unless page.layout == 'home' -%}
|
{%- unless page.layout == 'home' -%}
|
||||||
{{ page.title | append: ' | ' }}
|
{%- capture title -%}
|
||||||
|
{%- if page.collection == 'tabs' -%}
|
||||||
|
{%- assign tab_key = page.title | downcase -%}
|
||||||
|
{{- site.data.locales[include.lang].tabs[tab_key] -}}
|
||||||
|
{%- else -%}
|
||||||
|
{{- page.title -}}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endcapture -%}
|
||||||
|
{{- title | append: ' | ' -}}
|
||||||
{%- endunless -%}
|
{%- endunless -%}
|
||||||
{{ site.title }}
|
{{- site.title -}}
|
||||||
</title>
|
</title>
|
||||||
|
|
||||||
{% include_cached favicons.html %}
|
{% include_cached favicons.html %}
|
||||||
|
|
||||||
{% if site.resources.ignore_env != jekyll.environment and site.resources.self_hosted %}
|
<!-- Resource Hints -->
|
||||||
<link href="{{ site.data.origin[type].webfonts | relative_url }}" rel="stylesheet">
|
{% unless site.assets.self_host.enabled %}
|
||||||
|
{% for hint in site.data.origin.cors.resource_hints %}
|
||||||
{% else %}
|
{% for link in hint.links %}
|
||||||
{% for cdn in site.data.origin[type].cdns %}
|
<link rel="{{ link.rel }}" href="{{ hint.url }}" {{ link.opts | join: ' ' }}>
|
||||||
<link rel="preconnect" href="{{ cdn.url }}" {{ cdn.args }}>
|
{% endfor %}
|
||||||
<link rel="dns-prefetch" href="{{ cdn.url }}" {{ cdn.args }}>
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
{% endunless %}
|
||||||
<link rel="stylesheet" href="{{ site.data.origin[type].webfonts | relative_url }}">
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<!-- GA -->
|
|
||||||
{% if jekyll.environment == 'production' and site.google_analytics.id != empty and site.google_analytics.id %}
|
|
||||||
<link rel="preconnect" href="https://www.google-analytics.com" crossorigin="use-credentials">
|
|
||||||
<link rel="dns-prefetch" href="https://www.google-analytics.com">
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://www.googletagmanager.com" crossorigin="anonymous">
|
|
||||||
<link rel="dns-prefetch" href="https://www.googletagmanager.com">
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<!-- Bootstrap -->
|
<!-- Bootstrap -->
|
||||||
<link rel="stylesheet" href="{{ site.data.origin[type].bootstrap.css | relative_url}}">
|
{% unless jekyll.environment == 'production' %}
|
||||||
|
<link rel="stylesheet" href="{{ site.data.origin.cors.bootstrap.css }}">
|
||||||
|
{% endunless %}
|
||||||
|
|
||||||
<!-- Font Awesome -->
|
<!-- Theme style -->
|
||||||
|
<link rel="stylesheet" href="{{ '/assets/css/:THEME.css' | replace: ':THEME', site.theme | relative_url }}">
|
||||||
|
|
||||||
|
<!-- Web Font -->
|
||||||
|
<link rel="stylesheet" href="{{ site.data.origin[type].webfonts | relative_url }}">
|
||||||
|
|
||||||
|
<!-- Font Awesome Icons -->
|
||||||
<link rel="stylesheet" href="{{ site.data.origin[type].fontawesome.css | relative_url }}">
|
<link rel="stylesheet" href="{{ site.data.origin[type].fontawesome.css | relative_url }}">
|
||||||
|
|
||||||
<link rel="stylesheet" href="{{ '/assets/css/:THEME.css' | replace: ':THEME', site.theme | relative_url }}">
|
<!-- 3rd-party Dependencies -->
|
||||||
|
|
||||||
{% if site.toc and page.toc %}
|
{% if site.toc and page.toc %}
|
||||||
<link rel="stylesheet" href="{{ site.data.origin[type].toc.css | relative_url }}">
|
<link rel="stylesheet" href="{{ site.data.origin[type].toc.css | relative_url }}">
|
||||||
@@ -92,15 +104,34 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if page.layout == 'page' or page.layout == 'post' %}
|
{% if page.layout == 'page' or page.layout == 'post' %}
|
||||||
<!-- Manific Popup -->
|
<!-- Image Popup -->
|
||||||
<link rel="stylesheet" href="{{ site.data.origin[type].magnific-popup.css | relative_url }}">
|
<link rel="stylesheet" href="{{ site.data.origin[type].glightbox.css | relative_url }}">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<!-- JavaScript -->
|
<!-- Scripts -->
|
||||||
|
|
||||||
{% unless site.theme_mode %}
|
<script src="{{ '/assets/js/dist/theme.min.js' | relative_url }}"></script>
|
||||||
{% include mode-toggle.html %}
|
|
||||||
{% endunless %}
|
{% include js-selector.html lang=lang %}
|
||||||
|
|
||||||
|
{% if jekyll.environment == 'production' %}
|
||||||
|
<!-- PWA -->
|
||||||
|
{% if site.pwa.enabled %}
|
||||||
|
<script
|
||||||
|
defer
|
||||||
|
src="{{ '/app.min.js' | relative_url }}?baseurl={{ site.baseurl | default: '' }}®ister={{ site.pwa.cache.enabled }}"
|
||||||
|
></script>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<!-- Web Analytics -->
|
||||||
|
{% for analytics in site.analytics %}
|
||||||
|
{% capture str %}{{ analytics }}{% endcapture %}
|
||||||
|
{% assign platform = str | split: '{' | first %}
|
||||||
|
{% if site.analytics[platform].id and site.analytics[platform].id != empty %}
|
||||||
|
{% include analytics/{{ platform }}.html %}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% include metadata-hook.html %}
|
{% include metadata-hook.html %}
|
||||||
</head>
|
</head>
|
||||||
|
|||||||
@@ -1,32 +0,0 @@
|
|||||||
{%- comment -%}
|
|
||||||
Generate image final URL based on `site.img_cdn`, `page.img_path`
|
|
||||||
|
|
||||||
Arguments:
|
|
||||||
src - basic image path, required
|
|
||||||
img_path - relative path of image, optional
|
|
||||||
|
|
||||||
Return:
|
|
||||||
image URL
|
|
||||||
{%- endcomment -%}
|
|
||||||
|
|
||||||
{% assign url = include.src %}
|
|
||||||
|
|
||||||
{%- if url -%}
|
|
||||||
{% unless url contains ':' %}
|
|
||||||
{%- comment -%} CND URL {%- endcomment -%}
|
|
||||||
{% assign prefix = site.img_cdn | default: '' | relative_url %}
|
|
||||||
|
|
||||||
{%- comment -%} Add page image path prefix {%- endcomment -%}
|
|
||||||
{% assign url = include.img_path | default: '' | append: '/' | append: url %}
|
|
||||||
|
|
||||||
{% assign url = prefix
|
|
||||||
| append: '/'
|
|
||||||
| append: url
|
|
||||||
| replace: '///', '/'
|
|
||||||
| replace: '//', '/'
|
|
||||||
| replace: ':', ':/'
|
|
||||||
%}
|
|
||||||
{% endunless %}
|
|
||||||
{%- endif -%}
|
|
||||||
|
|
||||||
{{- url -}}
|
|
||||||
+15
-36
@@ -2,12 +2,7 @@
|
|||||||
|
|
||||||
<!-- commons -->
|
<!-- commons -->
|
||||||
|
|
||||||
{% assign urls = site.data.origin[type].jquery.js
|
{% assign urls = site.data.origin[type].search.js %}
|
||||||
| append: ','
|
|
||||||
| append: site.data.origin[type].bootstrap.js
|
|
||||||
| append: ','
|
|
||||||
| append: site.data.origin[type].search.js
|
|
||||||
%}
|
|
||||||
|
|
||||||
<!-- layout specified -->
|
<!-- layout specified -->
|
||||||
|
|
||||||
@@ -18,7 +13,7 @@
|
|||||||
<!-- image lazy-loading & popup & clipboard -->
|
<!-- image lazy-loading & popup & clipboard -->
|
||||||
{% assign urls = urls
|
{% assign urls = urls
|
||||||
| append: ','
|
| append: ','
|
||||||
| append: site.data.origin[type]['magnific-popup'].js
|
| append: site.data.origin[type].glightbox.js
|
||||||
| append: ','
|
| append: ','
|
||||||
| append: site.data.origin[type].clipboard.js
|
| append: site.data.origin[type].clipboard.js
|
||||||
%}
|
%}
|
||||||
@@ -31,7 +26,7 @@
|
|||||||
or page.layout == 'category'
|
or page.layout == 'category'
|
||||||
or page.layout == 'tag'
|
or page.layout == 'tag'
|
||||||
%}
|
%}
|
||||||
{% assign locale = site.lang | split: '-' | first %}
|
{% assign locale = include.lang | split: '-' | first %}
|
||||||
|
|
||||||
{% assign urls = urls
|
{% assign urls = urls
|
||||||
| append: ','
|
| append: ','
|
||||||
@@ -66,41 +61,25 @@
|
|||||||
{% endcase %}
|
{% endcase %}
|
||||||
|
|
||||||
{% capture script %}/assets/js/dist/{{ js }}.min.js{% endcapture %}
|
{% capture script %}/assets/js/dist/{{ js }}.min.js{% endcapture %}
|
||||||
|
|
||||||
<script defer src="{{ script | relative_url }}"></script>
|
<script defer src="{{ script | relative_url }}"></script>
|
||||||
|
|
||||||
{% if page.math %}
|
{% if page.math %}
|
||||||
<!-- MathJax -->
|
<!-- MathJax -->
|
||||||
<script>
|
<script src="{{ '/assets/js/data/mathjax.js' | relative_url }}"></script>
|
||||||
/* see: <https://docs.mathjax.org/en/latest/options/input/tex.html#tex-options> */
|
|
||||||
MathJax = {
|
|
||||||
tex: {
|
|
||||||
/* start/end delimiter pairs for in-line math */
|
|
||||||
inlineMath: [
|
|
||||||
['$', '$'],
|
|
||||||
['\\(', '\\)']
|
|
||||||
],
|
|
||||||
/* start/end delimiter pairs for display math */
|
|
||||||
displayMath: [
|
|
||||||
['$$', '$$'],
|
|
||||||
['\\[', '\\]']
|
|
||||||
]
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
|
|
||||||
<script id="MathJax-script" async src="{{ site.data.origin[type].mathjax.js | relative_url }}"></script>
|
<script id="MathJax-script" async src="{{ site.data.origin[type].mathjax.js | relative_url }}"></script>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if jekyll.environment == 'production' %}
|
<!-- Pageviews -->
|
||||||
<!-- PWA -->
|
{% if page.layout == 'post' %}
|
||||||
{% if site.pwa.enabled %}
|
{% assign provider = site.pageviews.provider %}
|
||||||
<script defer src="{{ '/app.js' | relative_url }}"></script>
|
|
||||||
{% else %}
|
|
||||||
<script defer src="{{ '/unregister.js' | relative_url }}"></script>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<!-- GA -->
|
{% if provider and provider != empty %}
|
||||||
{% if site.google_analytics.id != empty and site.google_analytics.id %}
|
{% case provider %}
|
||||||
{% include google-analytics.html %}
|
{% when 'goatcounter' %}
|
||||||
|
{% if site.analytics[provider].id != empty and site.analytics[provider].id %}
|
||||||
|
{% include pageviews/{{ provider }}.html %}
|
||||||
|
{% endif %}
|
||||||
|
{% endcase %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{% assign urls = include.urls | split: ',' %}
|
{% assign urls = include.urls | split: ',' %}
|
||||||
|
|
||||||
{% assign combined_urls = nil %}
|
{% assign combined_urls = null %}
|
||||||
|
|
||||||
{% assign domain = 'https://cdn.jsdelivr.net/' %}
|
{% assign domain = 'https://cdn.jsdelivr.net/' %}
|
||||||
|
|
||||||
@@ -15,12 +15,12 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% elsif url contains '//' %}
|
{% elsif url contains '//' %}
|
||||||
<script src="{{ url }}"></script>
|
<script defer src="{{ url }}"></script>
|
||||||
{% else %}
|
{% else %}
|
||||||
<script src="{{ url | relative_url }}"></script>
|
<script defer src="{{ url | relative_url }}"></script>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
{% if combined_urls %}
|
{% if combined_urls %}
|
||||||
<script src="{{ combined_urls }}"></script>
|
<script defer src="{{ combined_urls }}"></script>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
+3
-1
@@ -1,7 +1,9 @@
|
|||||||
{% comment %}
|
{% comment %}
|
||||||
Detect appearance language and return it through variable "lang"
|
Detect appearance language and return it through variable "lang"
|
||||||
{% endcomment %}
|
{% endcomment %}
|
||||||
{% if site.data.locales[site.lang] %}
|
{% if site.data.locales[page.lang] %}
|
||||||
|
{% assign lang = page.lang %}
|
||||||
|
{% elsif site.data.locales[site.lang] %}
|
||||||
{% assign lang = site.lang %}
|
{% assign lang = site.lang %}
|
||||||
{% else %}
|
{% else %}
|
||||||
{% assign lang = 'en' %}
|
{% assign lang = 'en' %}
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
{% comment %}
|
{% comment %}
|
||||||
|
|
||||||
Convert the alias of the syntax language to the official name
|
Convert the alias of the syntax language to the official name
|
||||||
|
|
||||||
See: <https://github.com/rouge-ruby/rouge/wiki/List-of-supported-languages-and-lexers>
|
See: <https://github.com/rouge-ruby/rouge/wiki/List-of-supported-languages-and-lexers>
|
||||||
|
|
||||||
{% endcomment %}
|
{% endcomment %}
|
||||||
|
|
||||||
{% assign _lang = include.language | default: '' %}
|
{% assign _lang = include.language | default: '' %}
|
||||||
@@ -20,13 +18,13 @@
|
|||||||
{% when 'coffeescript', 'coffee', 'coffee-script' %}
|
{% when 'coffeescript', 'coffee', 'coffee-script' %}
|
||||||
{{ 'CoffeeScript' }}
|
{{ 'CoffeeScript' }}
|
||||||
{% when 'cs', 'csharp' %}
|
{% when 'cs', 'csharp' %}
|
||||||
{{ 'C#' }}
|
{{ 'C#' }}
|
||||||
{% when 'erl' %}
|
{% when 'erl' %}
|
||||||
{{ 'Erlang' }}
|
{{ 'Erlang' }}
|
||||||
{% when 'graphql' %}
|
{% when 'graphql' %}
|
||||||
{{ 'GraphQL' }}
|
{{ 'GraphQL' }}
|
||||||
{% when 'haskell', 'hs' %}
|
{% when 'haskell', 'hs' %}
|
||||||
{{ 'Haskell' }}
|
{{ 'Haskell' }}
|
||||||
{% when 'javascript', 'js' %}
|
{% when 'javascript', 'js' %}
|
||||||
{{ 'JavaScript' }}
|
{{ 'JavaScript' }}
|
||||||
{% when 'make', 'mf', 'gnumake', 'bsdmake' %}
|
{% when 'make', 'mf', 'gnumake', 'bsdmake' %}
|
||||||
@@ -39,22 +37,22 @@
|
|||||||
{{ 'Objective-C' }}
|
{{ 'Objective-C' }}
|
||||||
{% when 'perl', 'pl' %}
|
{% when 'perl', 'pl' %}
|
||||||
{{ 'Perl' }}
|
{{ 'Perl' }}
|
||||||
{% when 'php','php3','php4','php5' %}
|
{% when 'php', 'php3', 'php4', 'php5' %}
|
||||||
{{ 'PHP' }}
|
{{ 'PHP' }}
|
||||||
{% when 'py' %}
|
{% when 'py' %}
|
||||||
{{ 'Python' }}
|
{{ 'Python' }}
|
||||||
{% when 'rb' %}
|
{% when 'rb' %}
|
||||||
{{ 'Ruby' }}
|
{{ 'Ruby' }}
|
||||||
{% when 'rs','no_run','ignore','should_panic' %}
|
{% when 'rs', 'no_run', 'ignore', 'should_panic' %}
|
||||||
{{ 'Rust' }}
|
{{ 'Rust' }}
|
||||||
{% when 'bash', 'zsh', 'ksh', 'sh' %}
|
{% when 'bash', 'zsh', 'ksh', 'sh' %}
|
||||||
{{ 'Shell' }}
|
{{ 'Shell' }}
|
||||||
{% when 'st', 'squeak' %}
|
{% when 'st', 'squeak' %}
|
||||||
{{ 'Smalltalk' }}
|
{{ 'Smalltalk' }}
|
||||||
{% when 'tex'%}
|
{% when 'tex' %}
|
||||||
{{ 'TeX' }}
|
{{ 'TeX' }}
|
||||||
{% when 'latex' %}
|
{% when 'latex' %}
|
||||||
{{ 'LaTex' }}
|
{{ 'LaTeX' }}
|
||||||
{% when 'ts', 'typescript' %}
|
{% when 'ts', 'typescript' %}
|
||||||
{{ 'TypeScript' }}
|
{{ 'TypeScript' }}
|
||||||
{% when 'vb', 'visualbasic' %}
|
{% when 'vb', 'visualbasic' %}
|
||||||
|
|||||||
@@ -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 CDN 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 -}}
|
||||||
@@ -1,58 +0,0 @@
|
|||||||
<!-- mermaid-js loader -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
(function () {
|
|
||||||
function updateMermaid(event) {
|
|
||||||
if (event.source === window && event.data && event.data.direction === ModeToggle.ID) {
|
|
||||||
const mode = event.data.message;
|
|
||||||
|
|
||||||
if (typeof mermaid === 'undefined') {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
let expectedTheme = mode === ModeToggle.DARK_MODE ? 'dark' : 'default';
|
|
||||||
let config = { theme: expectedTheme };
|
|
||||||
|
|
||||||
/* Re-render the SVG › <https://github.com/mermaid-js/mermaid/issues/311#issuecomment-332557344> */
|
|
||||||
$('.mermaid').each(function () {
|
|
||||||
let svgCode = $(this).prev().children().html();
|
|
||||||
$(this).removeAttr('data-processed');
|
|
||||||
$(this).html(svgCode);
|
|
||||||
});
|
|
||||||
|
|
||||||
mermaid.initialize(config);
|
|
||||||
mermaid.init(undefined, '.mermaid');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
let initTheme = 'default';
|
|
||||||
const html = document.documentElement;
|
|
||||||
|
|
||||||
if (
|
|
||||||
(html.hasAttribute('data-mode') && html.getAttribute('data-mode') === 'dark') ||
|
|
||||||
(!html.hasAttribute('data-mode') && window.matchMedia('(prefers-color-scheme: dark)').matches)
|
|
||||||
) {
|
|
||||||
initTheme = 'dark';
|
|
||||||
}
|
|
||||||
|
|
||||||
let mermaidConf = {
|
|
||||||
theme: initTheme /* <default|dark|forest|neutral> */
|
|
||||||
};
|
|
||||||
|
|
||||||
/* Create mermaid tag */
|
|
||||||
document.querySelectorAll('pre>code.language-mermaid').forEach((elem) => {
|
|
||||||
const svgCode = elem.textContent;
|
|
||||||
const backup = elem.parentElement;
|
|
||||||
backup.classList.add('unloaded');
|
|
||||||
/* create mermaid node */
|
|
||||||
let mermaid = document.createElement('pre');
|
|
||||||
mermaid.classList.add('mermaid');
|
|
||||||
const text = document.createTextNode(svgCode);
|
|
||||||
mermaid.appendChild(text);
|
|
||||||
backup.after(mermaid);
|
|
||||||
});
|
|
||||||
|
|
||||||
mermaid.initialize(mermaidConf);
|
|
||||||
|
|
||||||
window.addEventListener('message', updateMermaid);
|
|
||||||
})();
|
|
||||||
</script>
|
|
||||||
@@ -1,143 +0,0 @@
|
|||||||
<!-- Switch the mode between dark and light. -->
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
class ModeToggle {
|
|
||||||
static get MODE_KEY() {
|
|
||||||
return 'mode';
|
|
||||||
}
|
|
||||||
static get MODE_ATTR() {
|
|
||||||
return 'data-mode';
|
|
||||||
}
|
|
||||||
static get DARK_MODE() {
|
|
||||||
return 'dark';
|
|
||||||
}
|
|
||||||
static get LIGHT_MODE() {
|
|
||||||
return 'light';
|
|
||||||
}
|
|
||||||
static get ID() {
|
|
||||||
return 'mode-toggle';
|
|
||||||
}
|
|
||||||
|
|
||||||
constructor() {
|
|
||||||
if (this.hasMode) {
|
|
||||||
if (this.isDarkMode) {
|
|
||||||
if (!this.isSysDarkPrefer) {
|
|
||||||
this.setDark();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (this.isSysDarkPrefer) {
|
|
||||||
this.setLight();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
let self = this;
|
|
||||||
|
|
||||||
/* always follow the system prefers */
|
|
||||||
this.sysDarkPrefers.addEventListener('change', () => {
|
|
||||||
if (self.hasMode) {
|
|
||||||
if (self.isDarkMode) {
|
|
||||||
if (!self.isSysDarkPrefer) {
|
|
||||||
self.setDark();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (self.isSysDarkPrefer) {
|
|
||||||
self.setLight();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
self.clearMode();
|
|
||||||
}
|
|
||||||
|
|
||||||
self.notify();
|
|
||||||
});
|
|
||||||
} /* constructor() */
|
|
||||||
|
|
||||||
get sysDarkPrefers() {
|
|
||||||
return window.matchMedia('(prefers-color-scheme: dark)');
|
|
||||||
}
|
|
||||||
|
|
||||||
get isSysDarkPrefer() {
|
|
||||||
return this.sysDarkPrefers.matches;
|
|
||||||
}
|
|
||||||
|
|
||||||
get isDarkMode() {
|
|
||||||
return this.mode === ModeToggle.DARK_MODE;
|
|
||||||
}
|
|
||||||
|
|
||||||
get isLightMode() {
|
|
||||||
return this.mode === ModeToggle.LIGHT_MODE;
|
|
||||||
}
|
|
||||||
|
|
||||||
get hasMode() {
|
|
||||||
return this.mode != null;
|
|
||||||
}
|
|
||||||
|
|
||||||
get mode() {
|
|
||||||
return sessionStorage.getItem(ModeToggle.MODE_KEY);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* get the current mode on screen */
|
|
||||||
get modeStatus() {
|
|
||||||
if (this.isDarkMode || (!this.hasMode && this.isSysDarkPrefer)) {
|
|
||||||
return ModeToggle.DARK_MODE;
|
|
||||||
} else {
|
|
||||||
return ModeToggle.LIGHT_MODE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
setDark() {
|
|
||||||
document.documentElement.setAttribute(ModeToggle.MODE_ATTR, ModeToggle.DARK_MODE);
|
|
||||||
sessionStorage.setItem(ModeToggle.MODE_KEY, ModeToggle.DARK_MODE);
|
|
||||||
}
|
|
||||||
|
|
||||||
setLight() {
|
|
||||||
document.documentElement.setAttribute(ModeToggle.MODE_ATTR, ModeToggle.LIGHT_MODE);
|
|
||||||
sessionStorage.setItem(ModeToggle.MODE_KEY, ModeToggle.LIGHT_MODE);
|
|
||||||
}
|
|
||||||
|
|
||||||
clearMode() {
|
|
||||||
document.documentElement.removeAttribute(ModeToggle.MODE_ATTR);
|
|
||||||
sessionStorage.removeItem(ModeToggle.MODE_KEY);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Notify another plugins that the theme mode has changed */
|
|
||||||
notify() {
|
|
||||||
window.postMessage(
|
|
||||||
{
|
|
||||||
direction: ModeToggle.ID,
|
|
||||||
message: this.modeStatus
|
|
||||||
},
|
|
||||||
'*'
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
flipMode() {
|
|
||||||
if (this.hasMode) {
|
|
||||||
if (this.isSysDarkPrefer) {
|
|
||||||
if (this.isLightMode) {
|
|
||||||
this.clearMode();
|
|
||||||
} else {
|
|
||||||
this.setLight();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (this.isDarkMode) {
|
|
||||||
this.clearMode();
|
|
||||||
} else {
|
|
||||||
this.setDark();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (this.isSysDarkPrefer) {
|
|
||||||
this.setLight();
|
|
||||||
} else {
|
|
||||||
this.setDark();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
this.notify();
|
|
||||||
} /* flipMode() */
|
|
||||||
} /* ModeToggle */
|
|
||||||
|
|
||||||
const modeToggle = new ModeToggle();
|
|
||||||
</script>
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
{% comment %}
|
|
||||||
Remove the line number of the code snippet.
|
|
||||||
{% endcomment %}
|
|
||||||
|
|
||||||
{% assign content = include.content %}
|
|
||||||
|
|
||||||
{% if content contains '<td class="rouge-gutter gl"><pre class="lineno">' %}
|
|
||||||
{% assign content = content | replace: '<td class="rouge-gutter gl"><pre class="lineno">', '<!-- <td class="rouge-gutter gl"><pre class="lineno">'%}
|
|
||||||
{% assign content = content | replace: '</td><td class="rouge-code">', '</td> --><td class="rouge-code">' %}
|
|
||||||
{% endif %}
|
|
||||||
@@ -1,24 +1,28 @@
|
|||||||
<aside
|
<aside
|
||||||
id="notification"
|
id="notification"
|
||||||
class="toast"
|
class="toast w-auto rounded-5 text-nowrap"
|
||||||
role="alert"
|
role="alert"
|
||||||
aria-live="assertive"
|
aria-live="assertive"
|
||||||
aria-atomic="true"
|
aria-atomic="true"
|
||||||
data-bs-animation="true"
|
data-bs-animation="true"
|
||||||
data-bs-autohide="false"
|
data-bs-autohide="false"
|
||||||
>
|
>
|
||||||
<div class="toast-header">
|
<div class="d-flex align-items-center">
|
||||||
|
<div class="toast-body ps-3">
|
||||||
|
{{- site.data.locales[include.lang].notification.update_found -}}
|
||||||
|
</div>
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
class="btn-close ms-auto"
|
class="btn btn-primary btn-sm rounded-2 py-0"
|
||||||
|
aria-label="Update"
|
||||||
|
>
|
||||||
|
{{- site.data.locales[include.lang].notification.update -}}
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn-close mx-3 ms-2"
|
||||||
data-bs-dismiss="toast"
|
data-bs-dismiss="toast"
|
||||||
aria-label="Close"
|
aria-label="Close"
|
||||||
></button>
|
></button>
|
||||||
</div>
|
</div>
|
||||||
<div class="toast-body text-center pt-0">
|
|
||||||
<p class="px-2 mb-3">{{ site.data.locales[include.lang].notification.update_found }}</p>
|
|
||||||
<button type="button" class="btn btn-primary" aria-label="Update">
|
|
||||||
{{ site.data.locales[include.lang].notification.update }}
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</aside>
|
</aside>
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
<!-- Display GoatCounter pageviews -->
|
||||||
|
<script>
|
||||||
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
|
const pv = document.getElementById('pageviews');
|
||||||
|
|
||||||
|
if (pv !== null) {
|
||||||
|
const uri = location.pathname.replace(/\/$/, '');
|
||||||
|
const url = `https://{{ site.analytics.goatcounter.id }}.goatcounter.com/counter/${encodeURIComponent(uri)}.json`;
|
||||||
|
|
||||||
|
fetch(url)
|
||||||
|
.then((response) => response.json())
|
||||||
|
.then((data) => {
|
||||||
|
const count = data.count.replace(/\D/g, '');
|
||||||
|
pv.innerText = new Intl.NumberFormat().format(count);
|
||||||
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
pv.innerText = '1';
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user