1
0
mirror of https://github.com/cotes2020/jekyll-theme-chirpy.git synced 2026-06-22 15:58:41 +00:00

Compare commits

...

204 Commits

Author SHA1 Message Date
semantic-release-bot 152093879e chore(release): 7.6.0
## [7.6.0](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v7.5.0...v7.6.0) (2026-06-20)

### Features

* add edit this post link ([#2517](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2517)) ([6bd446c](https://github.com/cotes2020/jekyll-theme-chirpy/commit/6bd446ccdedbe37752cf24b1866e1e2dd9cb82c8))
* **theme:** persist user theme preferences ([#2756](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2756)) ([7496dd4](https://github.com/cotes2020/jekyll-theme-chirpy/commit/7496dd41fa053c4636a82027fe3fb3e38357e385))
* **ui:** optimize design of PWA update notification ([#2757](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2757)) ([5cc9dc6](https://github.com/cotes2020/jekyll-theme-chirpy/commit/5cc9dc66acb1eb9213988d3ac6de5cf5adf1a6f6))

### Bug Fixes

* **giscus:** synchronize theme state during lazy loading ([#2742](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2742)) ([ceb2a41](https://github.com/cotes2020/jekyll-theme-chirpy/commit/ceb2a41463cbb6251fa257b640990a8d9717b0bb))
* prevent Firefox from opening blank page on `mailto` links ([#2642](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2642)) ([2685b91](https://github.com/cotes2020/jekyll-theme-chirpy/commit/2685b91957d0207c2d31dab828430c78a2fcc3d0))
* **pwa:** avoid iOS status bar overlapping PWA content ([#2173](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2173)) ([3823212](https://github.com/cotes2020/jekyll-theme-chirpy/commit/38232120b729de653bfb42909a8dad047559438d))

### Improvements

* **ui:** prevent vertical flickering caused by subtitle loading ([2db0535](https://github.com/cotes2020/jekyll-theme-chirpy/commit/2db053553bcf9606fc80c4a86959d0dd25d0446a))
2026-06-20 13:35:41 +00:00
Cotes Chung 0bf1c724d8 Merge branch 'master' into production 2026-06-20 21:30:15 +08:00
Cotes Chung 2ec2036d37 chore(deps): upgrade static assets 2026-06-20 21:29:37 +08:00
Cotes Chung cd1fb15481 ci(deps): bump the gh-actions group across 2 directories with 5 updates
Updates `actions/checkout` from 6 to 7
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v6...v7)

Updates `actions/github-script` from 8 to 9
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v8...v9)

Updates `actions/checkout` from 6 to 7
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v6...v7)

Updates `actions/checkout` from 6 to 7
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v6...v7)

Updates `actions/checkout` from 6 to 7
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v6...v7)

Updates `actions/configure-pages` from 5 to 6
- [Release notes](https://github.com/actions/configure-pages/releases)
- [Commits](https://github.com/actions/configure-pages/compare/v5...v6)

Updates `actions/upload-pages-artifact` from 4 to 5
- [Release notes](https://github.com/actions/upload-pages-artifact/releases)
- [Commits](https://github.com/actions/upload-pages-artifact/compare/v4...v5)

Updates `actions/deploy-pages` from 4 to 5
- [Release notes](https://github.com/actions/deploy-pages/releases)
- [Commits](https://github.com/actions/deploy-pages/compare/v4...v5)
2026-06-20 21:26:10 +08:00
Cotes Chung 9ea9dcf930 chore(deps-dev): update dependencies
@babel/core                                 ^7.29.0  →   ^7.29.7
 @babel/preset-env                           ^7.29.0  →   ^7.29.7
 @commitlint/cli                             ^20.4.4  →   ^21.0.2
 @commitlint/config-conventional             ^20.4.4  →   ^21.0.2
 @eslint/js                                  ^10.0.0  →   ^10.0.1
 @rollup/plugin-babel                         ^7.0.0  →    ^7.1.0
 concurrently                                 ^9.2.1  →   ^10.0.3
 conventional-changelog-conventionalcommits   ^9.3.0  →    ^9.3.1
 eslint                                      ^10.0.3  →   ^10.5.0
 globals                                     ^17.4.0  →   ^17.6.0
 rollup                                      ^4.59.0  →   ^4.62.2
 semantic-release                            ^25.0.3  →   ^25.0.5
 stylelint                                   ^17.4.0  →  ^17.13.0
2026-06-20 21:22:58 +08:00
Cotes Chung 2db053553b perf(ui): prevent vertical flickering caused by subtitle loading 2026-06-20 20:23:58 +08:00
Cotes Chung 18cf79bdac refactor(ui): reduce the size of the 'close' and 'copy' buttons
- The close button in the TOC popup
- The copy button in the code block
2026-06-20 20:23:33 +08:00
Cotes Chung 5cc9dc66ac feat(ui): optimize design of PWA update notification (#2757) 2026-06-20 05:42:07 +08:00
Cotes Chung 7496dd41fa feat(theme): persist user theme preferences (#2756)
- Migrate theme persistence from `sessionStorage` to `localStorage`
- Rename theme HTML attribute to `data-bs-theme` for Bootstrap compatibility
- Trim and compile CSS according to the chosen theme mode
2026-06-17 23:20:12 +08:00
Cotes Chung ceb2a41463 fix(giscus): synchronize theme state during lazy loading (#2742)
Previously, theme switch events were lost if triggered before the
Giscus iframe was fully loaded (e.g., when deferred by lazy loading
or before the client script executed). This resulted in Giscus
rendering with the outdated initial theme once it finally appeared
in the viewport.

This commit handles these edge cases by:
1. Updating the `data-theme` attribute on the Giscus script node
   if the iframe hasn't been created yet.
2. Modifying the `theme` query parameter in the iframe's `src` URL
   if it is currently in a pending/lazy-loading state.
2026-05-23 23:00:48 +08:00
Cotes Chung 38232120b7 fix(pwa): avoid iOS status bar overlapping PWA content (#2173)
Fixes #2173
2026-05-16 14:39:58 +08:00
Cotes Chung fb3aa94c1f chore: remove funding 2026-05-16 14:37:04 +08:00
Cotes Chung 832b24729d refactor(deps): update CDN URLs to follow production best practices (#2740) 2026-05-15 15:38:08 +08:00
Cotes Chung 97a537e692 chore(deps): bump mathjax from 3.2.2 to 4.x 2026-05-15 15:22:19 +08:00
Cotes Chung 1344e90246 docs: update readme 2026-05-15 15:17:06 +08:00
Cotes Chung 2cfb4bba88 chore: update github issue template 2026-05-15 15:01:34 +08:00
Alexander Fuks 6bd446ccde feat: add edit this post link (#2517) 2026-05-06 22:31:32 +08:00
lynkos 2685b91957 fix: prevent Firefox from opening blank page on mailto links (#2642) 2026-04-10 00:29:33 +08:00
Cotes Chung 6245dec754 docs: improve readme 2026-04-04 02:08:24 +08:00
Shen Lin f20ed1c4b1 chore: ignore hidden system files and editor backups (#2704) 2026-03-28 10:44:48 +08:00
semantic-release-bot 9adb7e352b Merge branch 'production' 2026-03-15 20:14:45 +00:00
semantic-release-bot 297fbde1a2 chore(release): 7.5.0
## [7.5.0](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v7.4.1...v7.5.0) (2026-03-15)

### Features

* add support for `fediverse:creator` meta tag ([#2593](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2593)) ([d2db439](https://github.com/cotes2020/jekyll-theme-chirpy/commit/d2db439c169c45ac683fa1c8157c6ea7e0b54b85))

### Bug Fixes

* **i18n:** localize the title ([#2610](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2610)) ([52d160f](https://github.com/cotes2020/jekyll-theme-chirpy/commit/52d160f8574e8d0cddcaa46af114eb382fea1644))
2026-03-15 20:14:32 +00:00
Cotes Chung d760823619 Merge branch 'master' into production 2026-03-16 04:12:56 +08:00
Cotes Chung da4b8cd168 chore(deps): update packages to latest version
@fortawesome/fontawesome-free    7.1.0  ->  7.2.0
 dayjs                          1.11.18  ->  1.11.20
 mermaid                        11.12.0  ->  11.13.0
2026-03-16 04:11:41 +08:00
Cotes Chung 8893a98191 ci: update ruby version to 3.4
Ruby 3.1 and 3.2 are now EOL
See: https://www.ruby-lang.org/en/downloads/branches/
2026-03-15 19:57:33 +08:00
Cotes Chung 6afe5a6d7b refactor: correct typos in comments and identifiers (#2681)
- Rename `loadTooptip` to `loadTooltip` in tooltip-loader.js, components.js, and basic.js
- Fix grammar: "This script make" → "This script makes" in search-display.js
- Fix "HomgPage" → "HomePage" in post-paginator.html
- Fix "CND URL" → "CDN URL" in media-url.html
- Fix "locale-dateime.js" → "locale-datetime.js" in datetime.html
- Fix "LaTex" → "LaTeX" in language-alias.html
- Fix "exist <a> tag" → "existing <a> tag" in refactor-content.html
- Fix "Archvies" → "Archives" in _archives.scss
- Fix "underlinke" → "underline" in _syntax.scss
2026-03-14 19:01:21 +08:00
Cotes Chung 8fd56560a4 docs: fix typos in tutorial 2026-03-14 18:57:52 +08:00
dependabot[bot] fe968a7701 build(deps): bump the gh-actions group across 2 directories with 4 updates (#2678)
Bumps the gh-actions group with 2 updates in the /.github/workflows directory: [actions/checkout](https://github.com/actions/checkout) and [actions/setup-node](https://github.com/actions/setup-node).
Bumps the gh-actions group with 3 updates in the /.github/workflows/starter directory: [actions/checkout](https://github.com/actions/checkout), [actions/configure-pages](https://github.com/actions/configure-pages) and [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact).


Updates `actions/checkout` from 5 to 6
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

Updates `actions/setup-node` from 5 to 6
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v5...v6)

Updates `actions/checkout` from 4 to 6
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

Updates `actions/configure-pages` from 4 to 5
- [Release notes](https://github.com/actions/configure-pages/releases)
- [Commits](https://github.com/actions/configure-pages/compare/v4...v5)

Updates `actions/upload-pages-artifact` from 3 to 4
- [Release notes](https://github.com/actions/upload-pages-artifact/releases)
- [Commits](https://github.com/actions/upload-pages-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: gh-actions
- dependency-name: actions/setup-node
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: gh-actions
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: gh-actions
- dependency-name: actions/configure-pages
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: gh-actions
- dependency-name: actions/upload-pages-artifact
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: gh-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-12 21:42:58 +08:00
Cotes Chung cc1d44ee3e build(gh-actions): enable dependabot to scan the starter workflow 2026-03-12 21:37:15 +08:00
Cotes Chung ce14e1a087 chore: update ESLint dependencies and improve js style 2026-03-12 21:37:03 +08:00
Cotes Chung 477394b744 style: interpolate sass variable in CSS custom property 2026-03-12 21:37:03 +08:00
Cotes Chung 96da25abbd build(dev-deps): upgrade node packages 2026-03-12 21:37:03 +08:00
Cotes Chung 0fbaa5359b chore: reduce optional config defaults 2026-01-03 07:42:17 +08:00
Corey Goldberg 92e0ff63ec build(deps): update platforms in Gemfile for Windows (#2628) 2025-12-19 02:55:28 +08:00
nakamura 52d160f857 fix(i18n): localize the title (#2610) 2025-12-18 01:51:53 +08:00
Jason Raveling d2db439c16 feat: add support for fediverse:creator meta tag (#2593) 2025-11-17 14:19:16 +08:00
semantic-release-bot cecfc4237f Merge branch 'production' 2025-10-26 21:49:28 +00:00
semantic-release-bot 525c2888c5 chore(release): 7.4.1
## [7.4.1](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v7.4.0...v7.4.1) (2025-10-26)

### Bug Fixes

* avoid duplicate base URL for homepage preview images ([#2568](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2568)) ([66bf232](https://github.com/cotes2020/jekyll-theme-chirpy/commit/66bf232951fbe752821b623dc1e7e4e2824c15bf))
2025-10-26 21:49:12 +00:00
Cotes Chung 4950edc75e Merge branch 'master' into production 2025-10-27 05:48:01 +08:00
Cotes 66bf232951 fix: avoid duplicate base URL for homepage preview images (#2568) 2025-10-27 05:39:39 +08:00
Cotes Chung 37377a43e0 Revert "refactor: avoid converting media‘s relative paths to absolute paths (#2552)"
This reverts commit b3d7db3cda.
2025-10-27 05:16:47 +08:00
semantic-release-bot 7f35d8e550 Merge branch 'production' 2025-10-19 23:15:56 +00:00
semantic-release-bot 18ab8fcfdf chore(release): 7.4.0
## [7.4.0](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v7.3.1...v7.4.0) (2025-10-19)

### Features

* add support for embed spotify ([#2515](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2515)) ([cda62e2](https://github.com/cotes2020/jekyll-theme-chirpy/commit/cda62e28d1b71ce4018301aacf93532230aa2b3b))
* **i18n:** add Danish locale ([#2410](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2410)) ([f5802b8](https://github.com/cotes2020/jekyll-theme-chirpy/commit/f5802b8a8a4fb94cd51a484e438f6ba2ba8d62c9))
* **i18n:** add locale files for some rtl languages ([#2415](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2415)) ([18c48b4](https://github.com/cotes2020/jekyll-theme-chirpy/commit/18c48b4c49f896eeeeb52a8de1dca715add70c6a))

### Bug Fixes

* avoid unconfigured social options in sidebar ([#2507](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2507)) ([5f8ec7f](https://github.com/cotes2020/jekyll-theme-chirpy/commit/5f8ec7ffd3b23998bad48c110e809576fe5daf80))
* correct GoatCounter pageviews extraction ([#2420](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2420)) ([c706799](https://github.com/cotes2020/jekyll-theme-chirpy/commit/c706799f9b2e724dee9a3b891dea72dfa587929e))
* resolve discrepancy in lqip between post and main page ([#2453](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2453)) ([1bac96a](https://github.com/cotes2020/jekyll-theme-chirpy/commit/1bac96a8e1ae23a7a48f2b7d249bfbfd5d9bfe50))
* restore blurry animation for homepage LQIP ([#2551](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2551)) ([221ca9f](https://github.com/cotes2020/jekyll-theme-chirpy/commit/221ca9f52b55b103900832f3c03ad2ecc4415bcc))
* **search:** restore full-text search for posts with description ([#2557](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2557)) ([604528e](https://github.com/cotes2020/jekyll-theme-chirpy/commit/604528e3ce11ec0278e83f41105ed5949362bb54))
2025-10-19 23:15:40 +00:00
Cotes Chung 078cf86f79 Merge branch 'master' into production 2025-10-20 07:13:19 +08:00
Cotes Chung 45cb428b01 build(deps): upgrade dependencies 2025-10-20 07:11:29 +08:00
Cotes Chung 3578111ecd refactor: resolve various StyleLint warnings 2025-10-20 06:47:30 +08:00
Cotes Chung 022b963403 build(dev-deps): upgrade dependencies 2025-10-20 06:47:29 +08:00
Cotes aa832c29de refactor: update favicon files and documentation (#2558) 2025-10-20 02:55:43 +08:00
Cotes 604528e3ce fix(search): restore full-text search for posts with description (#2557) 2025-10-20 02:24:40 +08:00
Cotes b3d7db3cda refactor: avoid converting media‘s relative paths to absolute paths (#2552) 2025-10-17 00:02:12 +08:00
dependabot[bot] ee6839516e build(deps): bump the gh-actions group across 1 directory with 5 updates (#2550)
Bumps the gh-actions group with 5 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [actions/checkout](https://github.com/actions/checkout) | `4` | `5` |
| [actions/setup-node](https://github.com/actions/setup-node) | `4` | `5` |
| [github/codeql-action](https://github.com/github/codeql-action) | `3` | `4` |
| [actions/github-script](https://github.com/actions/github-script) | `7` | `8` |
| [actions/stale](https://github.com/actions/stale) | `9` | `10` |



Updates `actions/checkout` from 4 to 5
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

Updates `actions/setup-node` from 4 to 5
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v4...v5)

Updates `github/codeql-action` from 3 to 4
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v3...v4)

Updates `actions/github-script` from 7 to 8
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v7...v8)

Updates `actions/stale` from 9 to 10
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v9...v10)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: gh-actions
- dependency-name: actions/setup-node
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: gh-actions
- dependency-name: github/codeql-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: gh-actions
- dependency-name: actions/github-script
  dependency-version: '8'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: gh-actions
- dependency-name: actions/stale
  dependency-version: '10'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: gh-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-14 05:23:24 +08:00
Cotes Chung a385ffabff chore: improve ESLint config 2025-10-14 04:54:48 +08:00
Cotes Chung f51641b541 chore: remove deprecated URL 2025-10-14 04:53:51 +08:00
Cotes 221ca9f52b fix: restore blurry animation for homepage LQIP (#2551) 2025-10-14 04:36:02 +08:00
Alexander Fuks 4d6c788b9c docs: update timezone picker reference (#2518) 2025-09-08 23:48:19 +04:00
Alexander Fuks cda62e28d1 feat: add support for embed spotify (#2515) 2025-09-08 23:45:20 +04:00
Jason Raveling 5f8ec7ffd3 fix: avoid unconfigured social options in sidebar (#2507) 2025-08-31 21:51:01 +08:00
Cotes Chung eaf5e57449 ci: change filter script to ESM format
Because `"type": "module"` was added to `package.json`
2025-07-31 03:37:32 +08:00
Cotes Chung 29bf95e9c7 style: change css color functions to use modern notation
- `rgba()` → `rgb()`
2025-07-27 21:42:49 +08:00
Cotes Chung 648398c63c ci: migrate eslint and stylelint from codacy to gh-actions 2025-07-27 21:42:49 +08:00
Cotes Chung b855e8b6b4 style: unify quote style in rollup config 2025-07-27 00:55:54 +08:00
Cotes Chung 49519d13e5 chore: complete ESLint v9 configuration 2025-07-27 00:53:58 +08:00
semantic-release-bot 8bf72fc234 Merge branch 'production' 2025-07-26 12:25:02 +00:00
semantic-release-bot c0e4756200 chore(release): 7.3.1
## [7.3.1](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v7.3.0...v7.3.1) (2025-07-26)

### Bug Fixes

* escape special JSON characters in search results ([#2481](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2481)) ([7615d72](https://github.com/cotes2020/jekyll-theme-chirpy/commit/7615d72e9300a1514ef2fc8ec941ab2974ba7eb4))
2025-07-26 12:24:47 +00:00
Cotes Chung 81886b11c0 Merge branch 'hotfix/7.3.1' into production 2025-07-26 20:23:38 +08:00
Cotes Chung 7615d72e93 fix: escape special JSON characters in search results (#2481)
Also restore full-text search
2025-07-26 20:22:30 +08:00
Josh Wickham 1bac96a8e1 fix: resolve discrepancy in lqip between post and main page (#2453) 2025-06-27 23:58:10 +08:00
Alexander Fuks c706799f9b fix: correct GoatCounter pageviews extraction (#2420) 2025-06-01 04:51:43 +08:00
Zakaria Fatahi 18c48b4c49 feat(i18n): add locale files for some rtl languages (#2415) 2025-05-22 01:06:12 +08:00
Nicolai Skødt Holmgaard f5802b8a8a feat(i18n): add Danish locale (#2410) 2025-05-22 01:03:29 +08:00
Cotes Chung 09948da235 Merge branch 'production' 2025-05-18 21:32:02 +08:00
semantic-release-bot 53770e4923 chore(release): 7.3.0
## [7.3.0](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v7.2.4...v7.3.0) (2025-05-18)

### Features

* **i18n:** add Catalan Spanish locale translation ([#2349](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2349)) ([167c98c](https://github.com/cotes2020/jekyll-theme-chirpy/commit/167c98c781d0607c90ede8fc73eb43dffeea6abd))
* **i18n:** add Dutch locale ([#2076](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2076)) ([981ddba](https://github.com/cotes2020/jekyll-theme-chirpy/commit/981ddba30e57934f9056b8d468f0d17db131e1e8))
* **i18n:** add Japanese locale ([#2295](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2295)) ([571c90f](https://github.com/cotes2020/jekyll-theme-chirpy/commit/571c90f13011eb91d0e1392218f3953060b920c9))
* **i18n:** add persian language ([#2238](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2238)) ([7d4d35c](https://github.com/cotes2020/jekyll-theme-chirpy/commit/7d4d35cd10109e78d60fbb6b25a9b205f780ad63))

### Bug Fixes

* avoid `mathjax` loading failure on page refresh ([#2389](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2389)) ([401e2af](https://github.com/cotes2020/jekyll-theme-chirpy/commit/401e2af0f8a173d8437e03027c7aff558e8c0bde))
* improve accuracy of moving `img` element classes ([#2399](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2399)) ([d0f8f95](https://github.com/cotes2020/jekyll-theme-chirpy/commit/d0f8f9553e41536eb84ae2fdd3f3bc9d13f7ef8c))
* prevent the search bar from moving when focused ([#2336](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2336)) ([f744929](https://github.com/cotes2020/jekyll-theme-chirpy/commit/f7449299e88c71da2104f0007f2db23a8fa798be))
* recognize global theme mode ([#2357](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2357)) ([7708adb](https://github.com/cotes2020/jekyll-theme-chirpy/commit/7708adbf30e6dea51a84311b86bc224739f656f6))
* **search:** avoid missing spaces between paragraphs in search results ([#2199](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2199)) ([0eb7efa](https://github.com/cotes2020/jekyll-theme-chirpy/commit/0eb7efa7f53508bf6b48eb9d773d5c5047c3c525))
* **ui:** fix incomplete border color on hover for tags ([#2359](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2359)) ([c626447](https://github.com/cotes2020/jekyll-theme-chirpy/commit/c62644759cb4e0e07f7ee6eb9503ef69be62371b))

### Improvements

* **seo:** improve accessibility and aligns with best practices ([#2289](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2289)) ([54d4d59](https://github.com/cotes2020/jekyll-theme-chirpy/commit/54d4d59d22ac543a14bfbd9bb3d6fb6756056041))
2025-05-18 13:17:30 +00:00
Cotes Chung d84b72706a Merge branch 'master' into production 2025-05-18 21:16:09 +08:00
Cotes Chung 519e4f193a chore: upgrade dependencies to the latest version (#2409) 2025-05-18 21:14:56 +08:00
Cotes Chung d0f8f9553e fix: improve accuracy of moving img element classes (#2399) 2025-05-11 22:19:18 +08:00
Cotes Chung 401e2af0f8 fix: avoid mathjax loading failure on page refresh (#2389) 2025-05-05 11:55:48 +08:00
Cotes Chung ada38aad96 chore: avoid auto-formatting liquid and sass mixed code 2025-05-05 11:15:08 +08:00
Cotes Chung 61ae6cced8 chore(dev-deps): add eslint config file 2025-05-05 11:14:07 +08:00
Cotes Chung 9f38a2dead refactor: move the path of theme.js 2025-05-03 16:18:52 +08:00
Cotes Chung 23d953c313 chore(deps): remove plugin jekyll-redirect-from
Discussed in #2313
2025-05-03 16:14:50 +08:00
iSpeakNerd b48ea68bf7 chore: update linkedin sharing url (#2307) 2025-04-24 20:25:46 +08:00
László Várady c62644759c fix(ui): fix incomplete border color on hover for tags (#2359) 2025-04-24 20:23:43 +08:00
Cotes Chung 7708adbf30 fix: recognize global theme mode (#2357) 2025-04-16 18:08:43 +08:00
Delyn Choong 167c98c781 feat(i18n): add Catalan Spanish locale translation (#2349) 2025-04-13 22:16:47 +08:00
László Várady f7449299e8 fix: prevent the search bar from moving when focused (#2336) 2025-04-07 19:36:32 +08:00
Alejandro db40db6d3d chore: add parameter in search-results.html (#2330) 2025-04-05 07:28:29 +08:00
nakamura 571c90f130 feat(i18n): add Japanese locale (#2295) 2025-03-29 03:54:54 +08:00
Türkalp Burak KAYRANCIOĞLU 54d4d59d22 perf(seo): improve accessibility and aligns with best practices (#2289) 2025-03-08 22:24:47 +08:00
Corey Goldberg e3158642c3 docs: fix typo in 2019-08-08-write-a-new-post.md (#2281)
Signed-off-by: Corey Goldberg <1113081+cgoldberg@users.noreply.github.com>
2025-03-05 05:06:37 +08:00
MasihGhaznavi 7d4d35cd10 feat(i18n): add persian language (#2238) 2025-02-09 14:28:39 +08:00
algorithmic-parallels 231956d77a docs: using long form Jekyll subcommand (#2231) 2025-02-06 13:27:54 +08:00
Cotes Chung 0eb7efa7f5 fix(search): avoid missing spaces between paragraphs in search results (#2199)
- Use a common post-snippet for search results to avoid line break issues
- Reduce Jekyll include files to speed up the build
- Remove outdated key from search.json
2025-01-20 21:27:18 +08:00
semantic-release-bot e44c048aef Merge branch 'production' 2024-12-21 19:22:37 +00:00
semantic-release-bot 5e41d874b3 chore(release): 7.2.4
## [7.2.4](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v7.2.3...v7.2.4) (2024-12-21)

### Bug Fixes

* toc not visible when switching from mobile to desktop mode ([#2139](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2139)) ([32051da](https://github.com/cotes2020/jekyll-theme-chirpy/commit/32051dad03cb8f60fa4206969377b9674f9a3f0c))
* **ui:** left borderline of TOC is notched ([#2140](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2140)) ([8a4d0bc](https://github.com/cotes2020/jekyll-theme-chirpy/commit/8a4d0bc4ee9e142a11401cad80bc9605878f121d))
2024-12-21 19:22:22 +00:00
Cotes Chung 774ee93d78 Release v7.2.4 (#2141) 2024-12-22 03:21:28 +08:00
Cotes Chung 8a4d0bc4ee fix(ui): left borderline of TOC is notched (#2140) 2024-12-22 03:11:20 +08:00
Cotes Chung 1b93f6db9b docs: update the setting name for the comments 2024-12-22 02:32:03 +08:00
Cotes Chung 32051dad03 fix: toc not visible when switching from mobile to desktop mode (#2139) 2024-12-22 02:29:29 +08:00
semantic-release-bot c12875fdba Merge branch 'production' 2024-12-15 13:06:04 +00:00
semantic-release-bot c174f62f26 chore(release): 7.2.3
## [7.2.3](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v7.2.2...v7.2.3) (2024-12-15)

### Bug Fixes

* refreshing mermaid theme may fail ([#2113](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2113)) ([2f00d41](https://github.com/cotes2020/jekyll-theme-chirpy/commit/2f00d41861f1b06c2ff7fa4e67e14e647c3c34b0))
* **ui:** gap between TOC entries is inconsistent ([#2119](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2119)) ([1b4e318](https://github.com/cotes2020/jekyll-theme-chirpy/commit/1b4e318dc1cd57da812e11bf69ebb06083c213fc))
* **ui:** slow script loading hides TOC fade-up effect in desktop ([#2120](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2120)) ([e0c3faf](https://github.com/cotes2020/jekyll-theme-chirpy/commit/e0c3fafa470eb12bd04ffdf198018bc28b6de20d))
2024-12-15 13:05:48 +00:00
Cotes Chung e741aa43cf Merge branch 'hotfix/7.2.3' into production 2024-12-15 21:04:09 +08:00
Cotes Chung e0c3fafa47 fix(ui): slow script loading hides TOC fade-up effect in desktop (#2120) 2024-12-15 14:51:51 +08:00
Cotes Chung 1b4e318dc1 fix(ui): gap between TOC entries is inconsistent (#2119)
In desktop mode, H2 and the first sub-level H3 in the TOC are too close.
2024-12-15 14:43:07 +08:00
Cotes Chung 2f00d41861 fix: refreshing mermaid theme may fail (#2113) 2024-12-12 01:24:37 +08:00
semantic-release-bot f40fa6a13c Merge branch 'production' 2024-12-06 17:04:04 +00:00
semantic-release-bot 0360c9e90b chore(release): 7.2.2
## [7.2.2](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v7.2.1...v7.2.2) (2024-12-06)

### Bug Fixes

* js files in subdirectories are excluded from the site output ([#2101](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2101)) ([f55cc31](https://github.com/cotes2020/jekyll-theme-chirpy/commit/f55cc31dbd0e7455328c80c7ef38186ad8e54099))
2024-12-06 17:03:47 +00:00
Cotes Chung d87c2de675 Merge branch 'hotfix/7.2.2' into production 2024-12-07 00:57:46 +08:00
Cotes Chung f55cc31dbd fix: js files in subdirectories are excluded from the site output (#2101) 2024-12-07 00:55:47 +08:00
cheese 981ddba30e feat(i18n): add Dutch locale (#2076) 2024-12-05 21:38:06 +08:00
semantic-release-bot 4925a58bf5 Merge branch 'production' 2024-12-05 13:34:00 +00:00
semantic-release-bot 7630356a94 chore(release): 7.2.1
## [7.2.1](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v7.2.0...v7.2.1) (2024-12-05)

### Bug Fixes

* **build:** exclude `purgecss.js` from output files ([#2090](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2090)) ([976e1a1](https://github.com/cotes2020/jekyll-theme-chirpy/commit/976e1a184b3dbe08991e8a50db4d5d7f8a0b7090))
* correct the import condition for theme script ([#2075](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2075)) ([a16aa7d](https://github.com/cotes2020/jekyll-theme-chirpy/commit/a16aa7d41e3c3cb28649bfa1361e8bcb91b9ca47))
* ensure pageviews are fetched after DOM is loaded ([#2071](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2071)) ([b4019f3](https://github.com/cotes2020/jekyll-theme-chirpy/commit/b4019f3517e4a3284df51567d29938cb12bf3acc))
* **toc:** resume fade up animation in desktop mode ([#2085](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2085)) ([8280adb](https://github.com/cotes2020/jekyll-theme-chirpy/commit/8280adb901b9d15cc1bc18009553aae8746121d8))
2024-12-05 13:33:44 +00:00
Cotes Chung 6c112c641a Merge branch 'master' into production 2024-12-05 21:32:17 +08:00
Cotes Chung 976e1a184b fix(build): exclude purgecss.js from output files (#2090) 2024-12-05 21:28:37 +08:00
Cotes Chung 7ea3545ba3 refactor: reduce the height of the TOC bottom overlay in desktop mode 2024-12-05 21:09:07 +08:00
Cotes Chung 8280adb901 fix(toc): resume fade up animation in desktop mode (#2085) 2024-12-03 22:41:28 +08:00
Cotes Chung 4180992272 style: add indentation to js code 2024-12-03 22:22:20 +08:00
Alexander Fuks a16aa7d41e fix: correct the import condition for theme script (#2075) 2024-12-01 04:34:12 +08:00
Cotes Chung 8e55e4dcb2 build: correct the js rollup watch path (#2074)
1. Correct the rollup watch path
2. Avoid registering watch listeners redundantly across multiple tasks
2024-12-01 04:20:47 +08:00
Alexander Fuks b4019f3517 fix: ensure pageviews are fetched after DOM is loaded (#2071) 2024-11-30 23:07:53 +03:00
semantic-release-bot 2966fc174d Merge branch 'production' 2024-11-28 08:59:03 +00:00
semantic-release-bot 3df83fd0d9 chore(release): 7.2.0
## [7.2.0](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v7.1.1...v7.2.0) (2024-11-28)

### Features

* show toc on mobile screens ([#1964](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1964)) ([8a064a5](https://github.com/cotes2020/jekyll-theme-chirpy/commit/8a064a5e5a95cd22aa654f7c80da09d107262508))
* support vertical scrolling for toc in desktop mode ([#2064](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2064)) ([5265b03](https://github.com/cotes2020/jekyll-theme-chirpy/commit/5265b039741555943f9a6f0451287aefb6810f28))

### Bug Fixes

* pagination error when pinned posts exceed the page size ([#1965](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1965)) ([93f616b](https://github.com/cotes2020/jekyll-theme-chirpy/commit/93f616b25d7ed6c4f090c50c8663f8c1f59947f4))

### Improvements

* modular sass architecture ([#2052](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2052)) ([35c794c](https://github.com/cotes2020/jekyll-theme-chirpy/commit/35c794cf5896565430389f35c660b88a93cebb17))
* speed up page rendering and jekyll build process ([#2034](https://github.com/cotes2020/jekyll-theme-chirpy/issues/2034)) ([65f960c](https://github.com/cotes2020/jekyll-theme-chirpy/commit/65f960c31a734b5306a8b919040c3aae9b783efd))
2024-11-28 08:58:47 +00:00
Cotes Chung 82ba82e6da Merge branch 'master' into production 2024-11-28 16:56:02 +08:00
Cotes Chung 5265b03974 feat: support vertical scrolling for toc in desktop mode (#2064) 2024-11-28 05:40:57 +08:00
Cotes Chung 11647697bb build(deps): update dependencies version 2024-11-25 03:55:11 +08:00
Cotes Chung 5756b8fc26 build(deps-dev): upgrade dependencies
Close #2058
2024-11-25 00:19:56 +08:00
Cotes Chung 35c794cf58 perf: modular sass architecture (#2052)
- Modularized the Sass architecture to enhance code maintainability and reduce the output file size
- Replaced deprecated `@import` with `@use` / `@forward`
2024-11-25 00:05:28 +08:00
Cotes Chung c69914effc ci: avoid repeated runs of stylelint (#2057) 2024-11-24 04:33:46 +08:00
Cotes Chung 65f960c31a perf: speed up page rendering and jekyll build process (#2034)
Close stale issues and PRs / stale (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
Style Lint / stylelint (push) Has been cancelled
Lint Commit Messages / commitlint (push) Has been cancelled
Build and Deploy / build (push) Has been cancelled
Build and Deploy / deploy (push) Has been cancelled
- Ensure inline scripts execute after the DOM has fully loaded.
- Use Rollup to bundle the theme-mode and Mermaid scripts, reducing the number of Jekyll include snippets.
2024-11-16 22:49:55 +08:00
Cotes Chung d51345e297 ci: reduce unnecessary pr-filter runs (#2033)
- Checking the repository of the PR is more effective than checking the label to identify bot-initiated PRs
- This change also allows more flexible PR body definitions for developers with write access to the repository
2024-11-08 22:35:18 +08:00
Cotes Chung 2f844978aa chore: change stale label to inactive 2024-11-08 22:15:31 +08:00
Supreeth Mysore Venkatesh 42dea8ee29 build(deps): update wdm gem version for compatibility (#2028) 2024-11-04 00:45:59 +08:00
Alexander Fuks 86b13c917f chore: improve feed interoperability (#2024) 2024-11-01 14:39:03 +04:00
Cotes Chung 4ef3cd8efc ci: improve workflow triggers (#2017)
- Unchain commit-lint and CI
  - Even if a commit does not meet the CI path filter, it still needs to lint the commit message.
- Unchain PR filter and CI
  - The CI workflow needs to be triggered when the commits in a pull request are modified.
- Allow manual publishing
  - Sometimes `semantic-release` will error out due to commit messages referencing discussions, but this does not affect the final RubyGems/GitHub Release. In such cases, manual triggering of the publish process is needed to complete the remaining publishing steps.
2024-10-29 22:56:32 +08:00
Cotes Chung c7f967529c ci: skip test for invalid PRs (#2013) 2024-10-26 16:58:07 +08:00
Cotes Chung 74ed06321c ci: block invalid pull requests (#2010) 2024-10-25 19:48:11 +08:00
Cotes Chung d4f7f39ece refactor: simplify sidebar animation 2024-10-22 11:13:06 +08:00
Cotes Chung c1bd9eb9ee refactor: reduce duplicate scss 2024-10-20 13:52:42 +08:00
Cotes Chung 6f461132c0 refactor: improve toc popup module 2024-10-19 21:15:31 +08:00
Alexander Fuks 03e302cbf6 chore: close toc-popup gracefully with Esc key (#1990) 2024-10-14 01:16:25 +08:00
Alexander Fuks 8a064a5e5a feat: show toc on mobile screens (#1964) 2024-10-11 22:32:10 +08:00
Bence Boros 740bd84c51 chore(i18n): update hungarian translation (#1976) 2024-10-01 23:19:39 +08:00
Cotes Chung 93f616b25d fix: pagination error when pinned posts exceed the page size (#1965) 2024-09-26 22:30:56 +08:00
Alexander Fuks e6b87d2811 chore: remove h1 element from site title (#1960) 2024-09-24 08:21:34 +08:00
semantic-release-bot 73749067c5 Merge branch 'production' 2024-09-23 11:56:46 +00:00
semantic-release-bot fd0df8320f chore(release): 7.1.1
## [7.1.1](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v7.1.0...v7.1.1) (2024-09-23)

### Bug Fixes

* **i18n:** correct fr-FR translations ([#1949](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1949)) ([367262e](https://github.com/cotes2020/jekyll-theme-chirpy/commit/367262e74d1005bddf1328bb2b3a2b9e152c0086))
* **pwa:** site baseurl not passed to `app.js` ([#1955](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1955)) ([5a63244](https://github.com/cotes2020/jekyll-theme-chirpy/commit/5a63244721d21b1ad3a0ae83420723a2f0379e8b))
2024-09-23 11:56:31 +00:00
Cotes Chung fbcdf8ce85 Merge branch 'master' into production 2024-09-23 19:48:06 +08:00
Cotes Chung fac6116af1 build(dev-deps): bump 7 dependencies versions 2024-09-23 19:41:28 +08:00
Cotes Chung 5a63244721 fix(pwa): site baseurl not passed to app.js (#1955) 2024-09-18 22:32:26 +08:00
Cotes Chung 3ab3b844d2 refactor: replace deprecated meta element
Replace `apple-mobile-web-app-capable` with `mobile-web-app-capable`
2024-09-18 21:41:08 +08:00
denis-games 367262e74d fix(i18n): correct fr-FR translations (#1949)
Co-authored-by: Denis Jean <dj@denisjean.fr>
2024-09-16 20:38:46 +08:00
semantic-release-bot cbc93193e1 Merge branch 'production' 2024-08-27 07:29:10 +00:00
semantic-release-bot a784f0a0f9 chore(release): 7.1.0
## [7.1.0](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v7.0.1...v7.1.0) (2024-08-27)

### Features

* add Bluesky social links ([#1759](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1759)) ([0102aba](https://github.com/cotes2020/jekyll-theme-chirpy/commit/0102abae062be24ec289fb7facb11950aca79e3f))
* add Reddit social option ([#1836](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1836)) ([8673e13](https://github.com/cotes2020/jekyll-theme-chirpy/commit/8673e1335f0771eac364d0a2866f27476d61a58b))
* add Threads social links ([#1837](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1837)) ([e3a78b6](https://github.com/cotes2020/jekyll-theme-chirpy/commit/e3a78b6243f7056105d72185bb6e94b436834e5b))
* **analytics:** add fathom analytics ([#1913](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1913)) ([befc4ce](https://github.com/cotes2020/jekyll-theme-chirpy/commit/befc4ce9c5026f67f99bce66e223d056229f0bdb))
* **dev:** add vscode tasks ([#1843](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1843)) ([e4db1a1](https://github.com/cotes2020/jekyll-theme-chirpy/commit/e4db1a176f3f69f676cbc0bf27b1d5a657ece05e))
* **dev:** support vscode dev-container ([#1781](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1781)) ([1e3d4a6](https://github.com/cotes2020/jekyll-theme-chirpy/commit/1e3d4a6323ba3eed06a57f8bf1b2edefd890b127))
* **ui:** improve block quote layout ([80bd792](https://github.com/cotes2020/jekyll-theme-chirpy/commit/80bd7928a02c75c843a550bd377d11b574e8bfda))
* **ui:** improve visibility of inline code ([#1831](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1831)) ([c876731](https://github.com/cotes2020/jekyll-theme-chirpy/commit/c876731901784a72ef9d2e9e2936df65ddff5f61))
* **ui:** make `info-prompt` icon looks like the letter "i" ([#1835](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1835)) ([a07a57e](https://github.com/cotes2020/jekyll-theme-chirpy/commit/a07a57ec922249d3a22da56fbcb30d83eadef728))
* **ui:** set `<kbd>` font to 'Lato' ([64c7262](https://github.com/cotes2020/jekyll-theme-chirpy/commit/64c7262245e878534971a2e3a2630b614daf72f3))

### Bug Fixes

* adapt the giscus localization parameter ([#1810](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1810)) ([0709854](https://github.com/cotes2020/jekyll-theme-chirpy/commit/0709854dc8f6099d38c2578967a02f73b4be0dc8))
* avoid caching pageviews data ([#1849](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1849)) ([979f86c](https://github.com/cotes2020/jekyll-theme-chirpy/commit/979f86cf64e1fcace4231fb070c7e6398fd4e5ec))
* remove extra dual-mode images from lightbox ([#1883](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1883)) ([5c5910f](https://github.com/cotes2020/jekyll-theme-chirpy/commit/5c5910f1fc661ec3dce203ac961c7f64f1991895))
2024-08-27 07:28:55 +00:00
Cotes Chung a2bf5dc58e Merge branch 'master' into production 2024-08-27 15:22:53 +08:00
Cotes Chung 8b7dba71e3 docs: update tutorial and readme
Change Dev Containers logo in README:

Simple Icons has removed all Microsoft icons due to copyright restrictions, see <https://github.com/simple-icons/simple-icons/issues/11236>
2024-08-27 15:18:52 +08:00
Cotes Chung fc3d101258 build: improve the JS build for PWA (#1923) 2024-08-26 16:49:48 +08:00
Cotes Chung 604e01eb36 chore(deps): correct Tocbot version number 2024-08-26 00:49:05 +08:00
Cotes Chung 31e19c6d0f refactor(ui): standardize the border radius (#1920)
Impact:
- Increase the border radius of inline code and `<kbd>` tags
- Variable `$base-radius` renamed to `$radius-lg`
2024-08-25 18:17:38 +08:00
Cotes Chung 5f4dab1745 build: upgrade dependencies 2024-08-25 01:18:34 +08:00
Cotes Chung 8cfd721494 build(deps-dev): bump the dev-deps 2024-08-25 00:25:29 +08:00
Cotes Chung 64c7262245 feat(ui): set <kbd> font to 'Lato' 2024-08-25 00:12:28 +08:00
Cotes Chung 707a209424 refactor: improve heading layout 2024-08-25 00:12:00 +08:00
Cotes Chung 80bd7928a0 feat(ui): improve block quote layout 2024-08-24 22:27:35 +08:00
Julius Gamanyi befc4ce9c5 feat(analytics): add fathom analytics (#1913) 2024-08-22 01:21:29 +08:00
Cotes Chung bf6c996c4e chore: move entries in git-ignore 2024-08-21 14:31:22 +08:00
Cotes Chung 99eaf6089e chore: remove duplicate config 2024-08-21 14:28:57 +08:00
Cotes Chung efd2941ce0 build: resume platform-specific dependencies 2024-08-21 14:28:14 +08:00
Cotes Chung 7f83c3d00d refactor: improve the efficiency of GLightbox switching
Repeatedly using `GLightbox.destroy()` (>= 4 times) will cause `GLightbox` to fail to generate new objects
2024-08-20 00:04:09 +08:00
Cotes Chung d74bfaeda2 chore(tools): improve the init-script 2024-08-19 05:10:34 +08:00
Andrew 23729c9c8f refactor: update the sass mixed declarations (#1872)
See: https://sass-lang.com/d/mixed-decls
2024-08-19 05:10:34 +08:00
Cotes Chung e347d0632f build: update ruby version requirements
`html-proofer` 5.x requires Ruby `>= 3.1, < 4.0`
2024-08-19 05:10:33 +08:00
Cotes Chung 35fdea0c4f docs: add devcontainers tutorial (#1844) 2024-08-19 05:10:33 +08:00
Cotes Chung 5c5910f1fc fix: remove extra dual-mode images from lightbox (#1883) 2024-08-19 05:10:33 +08:00
Cotes Chung b641b36480 ci: set node version to LTS
There are some problems with the latest version.

See: https://github.com/cotes2020/jekyll-theme-chirpy/actions/runs/9977150040
2024-07-18 01:20:17 +08:00
Alexander Fuks 979f86cf64 fix: avoid caching pageviews data (#1849) 2024-07-17 23:32:48 +08:00
Cotes Chung 8c30f0a9c3 build(dev): support for running tasks in macOS 2024-07-12 02:03:52 +08:00
Alexander Fuks e4db1a176f feat(dev): add vscode tasks (#1843) 2024-07-11 04:22:37 +08:00
Daniel Singleton e3a78b6243 feat: add Threads social links (#1837) 2024-07-06 04:53:02 +08:00
Daniel Singleton 8673e1335f feat: add Reddit social option (#1836) 2024-07-05 20:03:01 +08:00
Cotes Chung a07a57ec92 feat(ui): make info-prompt icon looks like the letter "i" (#1835) 2024-07-04 02:21:22 +08:00
dependabot[bot] db9e58bab2 build(deps-dev): bump the dev-deps group with 3 updates (#1824)
Updates the requirements on [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core), [@babel/plugin-transform-class-properties](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-class-properties) and [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) to permit the latest version.

Updates `@babel/core` to 7.24.7
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.24.7/packages/babel-core)

Updates `@babel/plugin-transform-class-properties` to 7.24.7
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.24.7/packages/babel-plugin-transform-class-properties)

Updates `@babel/preset-env` to 7.24.7
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.24.7/packages/babel-preset-env)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  dependency-group: dev-deps
- dependency-name: "@babel/plugin-transform-class-properties"
  dependency-type: direct:development
  dependency-group: dev-deps
- dependency-name: "@babel/preset-env"
  dependency-type: direct:development
  dependency-group: dev-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-04 01:49:30 +08:00
Cotes Chung e6532ad864 refactor: fix typos in locale variable
statment -> statement
2024-07-04 01:42:29 +08:00
Cotes Chung fbba0a4204 chore: fix typos in project files and docs 2024-07-02 08:44:07 +08:00
Cotes Chung c876731901 feat(ui): improve visibility of inline code (#1831) 2024-07-01 07:02:36 +08:00
Cotes Chung 9ca7519239 docs: unify the style of badges 2024-06-27 05:30:53 +08:00
Cotes Chung 0709854dc8 fix: adapt the giscus localization parameter (#1810) 2024-06-16 22:25:41 +08:00
Cotes Chung f1d35832f4 build(devcontainer): add omz plugins & verify extension signature
VSCode fixed signature validation hangs in v1.90
2024-06-08 00:54:15 +08:00
Cotes Chung cf853f14e4 chore: upgrade husky v9 settings 2024-06-07 19:27:54 +08:00
Cotes Chung 7ca9c59784 build(deps-dev): remove package rollup-plugin-license (#1796)
The `rollup-plugin-license` has been using too many deprecated dependencies, so it is necessary to remove it.

As an alternative, this changes uses Rollup `output.banner` to insert copyright information. Since `terser` runs after `output`, it is not possible to insert the Front Matter defining permlink for `sw.js` through the same way (Jekyll Front Matter is YAML rather than JS, which would cause errors with terser).

Therefore, _Jekyll Collection_ is now used to add permlink to `sw.js`, with the collection named `app`, and the directory placed in `_app`. This directory is not tracked by git, but it will be included when building the gem.
2024-06-05 23:51:10 +08:00
Cotes Chung 250880c088 docs: change ordering of badges 2024-06-05 01:12:25 +08:00
Cotes Chung 88b844ce80 build(deps): improve dependency grouping 2024-06-04 19:26:33 +08:00
Cotes Chung 3b46629dc0 build(deps-dev): bump the npm group across 1 directory with 8 updates
Updates the requirements on [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core), [@babel/plugin-transform-class-properties](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-class-properties), [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env), [conventional-changelog-conventionalcommits](https://github.com/conventional-changelog/conventional-changelog/tree/HEAD/packages/conventional-changelog-conventionalcommits), [rollup](https://github.com/rollup/rollup), [rollup-plugin-license](https://github.com/mjeanroy/rollup-plugin-license), [semantic-release](https://github.com/semantic-release/semantic-release) and [stylelint](https://github.com/stylelint/stylelint) to permit the latest version.

Updates `@babel/core` to 7.24.6
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.24.6/packages/babel-core)

Updates `@babel/plugin-transform-class-properties` to 7.24.6
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.24.6/packages/babel-plugin-transform-class-properties)

Updates `@babel/preset-env` to 7.24.6
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.24.6/packages/babel-preset-env)

Updates `conventional-changelog-conventionalcommits` from 7.0.2 to 8.0.0
- [Release notes](https://github.com/conventional-changelog/conventional-changelog/releases)
- [Changelog](https://github.com/conventional-changelog/conventional-changelog/blob/master/packages/conventional-changelog-conventionalcommits/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/conventional-changelog/commits/conventional-changelog-conventionalcommits-v8.0.0/packages/conventional-changelog-conventionalcommits)

Updates `rollup` to 4.18.0
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.17.2...v4.18.0)

Updates `rollup-plugin-license` to 3.4.0
- [Changelog](https://github.com/mjeanroy/rollup-plugin-license/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mjeanroy/rollup-plugin-license/compare/v3.3.1...v3.4.0)

Updates `semantic-release` from 23.1.1 to 24.0.0
- [Release notes](https://github.com/semantic-release/semantic-release/releases)
- [Commits](https://github.com/semantic-release/semantic-release/compare/v23.1.1...v24.0.0)

Updates `stylelint` to 16.6.1
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/16.5.0...16.6.1)
2024-06-04 01:36:27 +08:00
Cotes Chung 1e3d4a6323 feat(dev): support vscode dev-container (#1781) 2024-06-03 21:12:54 +08:00
Cotes Chung 1c5fa0880d refactor: restore shell script extensions
Without an extension, the shell script configuration in `.gitattribute` will not work.
2024-06-01 04:15:09 +08:00
Cotes Chung 64ae7a3671 docs: correct markdown syntax of tutorial (#1787) 2024-05-30 03:33:35 +08:00
Jason 0102abae06 feat: add Bluesky social links (#1759) 2024-05-18 19:05:09 +08:00
semantic-release-bot 6cb1a5ac52 Merge branch 'production' 2024-05-18 11:01:37 +00:00
semantic-release-bot 20987f2afe chore(release): 7.0.1
## [7.0.1](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v7.0.0...v7.0.1) (2024-05-18)

### Bug Fixes

* **analytics:** goatcounter pv greater than 1K cannot be converted to numbers ([#1762](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1762)) ([33a1fa7](https://github.com/cotes2020/jekyll-theme-chirpy/commit/33a1fa7cae2181625e2f335708d59de4dd20ee7d))
* audio/video path apply variable `media_subpath` ([#1745](https://github.com/cotes2020/jekyll-theme-chirpy/issues/1745)) ([00a27a1](https://github.com/cotes2020/jekyll-theme-chirpy/commit/00a27a1b85f665d0642b77babd54c6903fbdeb22))
2024-05-18 11:01:22 +00:00
Cotes Chung 39e4338839 Merge branch 'hotfix/7.0.1' into production 2024-05-18 18:58:08 +08:00
Cotes Chung 33a1fa7cae fix(analytics): goatcounter pv greater than 1K cannot be converted to numbers (#1762)
The goatcounter PV report splits numbers with spaces, e.g. 1024 would be '1 024'
2024-05-18 18:52:45 +08:00
Alexander Fuks 00a27a1b85 fix: audio/video path apply variable media_subpath (#1745) 2024-05-18 18:47:12 +08:00
Cotes Chung 5cdde7dbc5 ci: enable ci/style-lint for the hotfix branches 2024-05-17 20:11:08 +08:00
Cotes Chung c4b58e3502 build: upgrade dependencies
Updates `@fortawesome/fontawesome-free` to 6.5.2
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.5.1...6.5.2)

Updates `dayjs` to 1.11.11
- [Release notes](https://github.com/iamkun/dayjs/releases)
- [Changelog](https://github.com/iamkun/dayjs/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/iamkun/dayjs/compare/v1.11.10...v1.11.11)

Updates `mermaid` to 10.9.0
- [Release notes](https://github.com/mermaid-js/mermaid/releases)
- [Changelog](https://github.com/mermaid-js/mermaid/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/mermaid-js/mermaid/compare/v10.8.0...v10.9.0)

Updates `tocbot` to 4.27.20
- [Release notes](https://github.com/tscanlin/tocbot/releases)
- [Changelog](https://github.com/tscanlin/tocbot/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tscanlin/tocbot/compare/v4.25.0...v4.27.20)
2024-05-17 00:03:53 +08:00
Cotes Chung 9630fd647f ci(release): pass secrets to called workflow 2024-05-12 07:35:58 +08:00
semantic-release-bot 90a4cc76bb Merge branch 'production' 2024-05-11 07:30:47 +00:00
194 changed files with 6318 additions and 3974 deletions
+29
View File
@@ -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"
]
}
}
}
+18
View File
@@ -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
-2
View File
@@ -1,2 +0,0 @@
ko_fi: coteschung
custom: https://sponsor.cotes.page
+1 -1
View File
@@ -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
+10 -6
View File
@@ -8,18 +8,22 @@ updates:
directory: "/" directory: "/"
versioning-strategy: increase versioning-strategy: increase
groups: groups:
npm: prod-deps:
update-types: dependency-type: production
- "major" dev-deps:
- "minor" dependency-type: development
- "patch"
schedule: schedule:
interval: "weekly" 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: "weekly" interval: "weekly"
- package-ecosystem: "devcontainers"
directory: "/"
schedule:
interval: weekly
+10 -8
View File
@@ -2,29 +2,28 @@ name: CD
on: on:
push: push:
branches: branches: [production]
- production tags-ignore: ["**"]
tags-ignore:
- "**"
jobs: jobs:
release: release:
if: ${{ ! startsWith(github.event.head_commit.message, 'chore(release)') }}
permissions: permissions:
contents: write contents: write
issues: write issues: write
pull-requests: write pull-requests: write
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v7
- uses: ruby/setup-ruby@v1 - uses: ruby/setup-ruby@v1
with: with:
ruby-version: 3.3 ruby-version: 3.4
bundler-cache: true bundler-cache: true
- uses: actions/setup-node@v4 - uses: actions/setup-node@v6
with: with:
node-version: latest node-version: lts/*
- run: npm install - run: npm install
- run: npx semantic-release - run: npx semantic-release
@@ -35,3 +34,6 @@ jobs:
publish: publish:
needs: release needs: release
uses: ./.github/workflows/publish.yml uses: ./.github/workflows/publish.yml
secrets:
GH_PAT: ${{ secrets.GH_PAT }}
BUILDER: ${{ secrets.BUILDER }}
+19 -10
View File
@@ -1,16 +1,25 @@
name: "CI" name: CI
on: on:
push: push:
branches: branches:
- "master" - master
- "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-ignore:
- ".github/**"
- "!.github/workflows/ci.yml"
- .gitignore
- "docs/**"
- README.md
- LICENSE
jobs: jobs:
build: build:
@@ -18,11 +27,11 @@ jobs:
strategy: strategy:
matrix: matrix:
ruby: ["3.1", "3.2", "3.3"] 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
@@ -33,12 +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: with:
node-version: latest 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
+4 -4
View File
@@ -24,11 +24,11 @@ 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 config-file: .github/codeql/codeql-config.yml
@@ -36,9 +36,9 @@ jobs:
# 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 }}"
+8 -2
View File
@@ -1,9 +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
- uses: wagoid/commitlint-github-action@v6 - uses: wagoid/commitlint-github-action@v6
+30
View File
@@ -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
+26
View File
@@ -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
+25
View File
@@ -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 });
+6
View File
@@ -5,6 +5,12 @@ on:
branches: branches:
- docs - docs
workflow_call: workflow_call:
secrets:
GH_PAT:
required: true
BUILDER:
required: true
workflow_dispatch:
jobs: jobs:
launch: launch:
+36
View File
@@ -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.');
}
};
+2 -2
View File
@@ -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,7 +20,7 @@ jobs:
stale: stale:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/stale@v9 - uses: actions/stale@v10
with: with:
# 60 days before marking issues/PRs stale # 60 days before marking issues/PRs stale
days-before-close: -1 # does not close automatically days-before-close: -1 # does not close automatically
+5 -5
View File
@@ -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@v4 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.3 ruby-version: 3.4
bundler-cache: true bundler-cache: true
- name: Build site - name: Build site
@@ -57,7 +57,7 @@ jobs:
\-\-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@v3 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@v4 uses: actions/deploy-pages@v5
-23
View File
@@ -1,23 +0,0 @@
name: "Style Lint"
on:
push:
branches: ["master"]
paths: ["_sass/**/*.scss"]
pull_request:
paths: ["_sass/**/*.scss"]
jobs:
stylelint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: latest
- run: npm i
- run: npm test
+8 -2
View File
@@ -17,10 +17,16 @@ package-lock.json
# IDE configurations # IDE configurations
.idea .idea
.vscode .vscode/*
!.vscode/settings.json !.vscode/settings.json
!.vscode/extensions.json !.vscode/extensions.json
!.vscode/tasks.json
# Misc # Misc
_sass/dist _sass/vendors
assets/js/dist assets/js/dist
# Hidden system files
*~
.DS_Store
Thumbs.db
Executable → Regular
+1 -4
View File
@@ -1,4 +1 @@
#!/bin/sh npx --no -- commitlint --edit $1
. "$(dirname "$0")/_/husky.sh"
npx --no -- commitlint --edit ${1}
+29
View File
@@ -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"
}
}
+1 -11
View File
@@ -1,13 +1,3 @@
{ {
"recommendations": [ "recommendations": ["ms-vscode-remote.remote-containers"]
// Liquid tags auto-complete
"killalau.vscode-liquid-snippets",
// Liquid syntax highlighting and formatting
"Shopify.theme-check-vscode",
// Common formatter
"esbenp.prettier-vscode",
"foxundermoon.shell-format",
"stylelint.vscode-stylelint",
"yzhang.markdown-all-in-one"
]
} }
+7 -4
View File
@@ -2,7 +2,6 @@
// Prettier // Prettier
"editor.defaultFormatter": "esbenp.prettier-vscode", "editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true, "editor.formatOnSave": true,
"prettier.trailingComma": "none",
// Shopify Liquid // Shopify Liquid
"files.associations": { "files.associations": {
"*.html": "liquid" "*.html": "liquid"
@@ -15,13 +14,17 @@
"editor.defaultFormatter": "Shopify.theme-check-vscode" "editor.defaultFormatter": "Shopify.theme-check-vscode"
}, },
"[shellscript]": { "[shellscript]": {
"editor.defaultFormatter": "foxundermoon.shell-format" "editor.defaultFormatter": "mkhl.shfmt"
}, },
// Disable vscode built-in stylelint // Disable vscode built-in stylelint
"css.validate": false, "css.validate": false,
"scss.validate": false, "scss.validate": false,
"less.validate": false, "less.validate": false,
// Stylint extension settings // Stylint extension settings
"stylelint.snippet": ["css", "less", "postcss", "scss"], "stylelint.snippet": ["css", "scss"],
"stylelint.validate": ["css", "less", "postcss", "scss"] "stylelint.validate": ["css", "scss"],
// Run tasks in macOS
"terminal.integrated.profiles.osx": {
"zsh": { "path": "/bin/zsh", "args": ["-l", "-i"] }
}
} }
+64
View File
@@ -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."
}
]
}
+7 -2
View File
@@ -4,6 +4,11 @@ source "https://rubygems.org"
gemspec gemspec
group :test do gem "html-proofer", "~> 5.0", group: :test
gem "html-proofer", "~> 5.0"
platforms :windows, :jruby do
gem "tzinfo", ">= 1", "< 3"
gem "tzinfo-data"
end end
gem "wdm", "~> 0.2.0", :platforms => [:windows]
+34 -40
View File
@@ -6,11 +6,11 @@
A minimal, responsive, and feature-rich Jekyll theme for technical writing. A minimal, responsive, and feature-rich Jekyll theme for technical writing.
[![Gem Version](https://img.shields.io/gem/v/jekyll-theme-chirpy?color=brightgreen)][gem]&nbsp; [![CI][badge-ci]][ci]&nbsp;
[![CI](https://github.com/cotes2020/jekyll-theme-chirpy/actions/workflows/ci.yml/badge.svg?branch=master&event=push)][ci]&nbsp; [![Codacy Badge][badge-codacy]][codacy]&nbsp;
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/4e556876a3c54d5e8f2d2857c4f43894)][codacy]&nbsp; [![GitHub license][badge-license]][license]&nbsp;
[![GitHub license](https://img.shields.io/github/license/cotes2020/jekyll-theme-chirpy.svg)][license]&nbsp; [![Gem Version][badge-gem]][gem]&nbsp;
[![996.icu](https://img.shields.io/badge/link-996.icu-%23FF4D5B.svg)](https://996.icu) [![Open in Dev Containers][badge-open-container]][open-container]
[**Live Demo** →][demo] [**Live Demo** →][demo]
@@ -20,64 +20,58 @@
## Features ## Features
- Dark Theme - **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 Mode Images
- Embed Media
- Comment Systems
- Built-in Search
- Atom Feeds
- PWA
- Web 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!
[![all-contributors](https://contrib.rocks/image?repo=cotes2020/jekyll-theme-chirpy&columns=16)][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
+28 -18
View File
@@ -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,30 +16,31 @@ 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
@@ -70,8 +71,10 @@ analytics:
domain: # fill in your Matomo domain domain: # fill in your Matomo domain
cloudflare: cloudflare:
id: # fill in your Cloudflare Web Analytics token id: # fill in your Cloudflare Web Analytics token
fathom:
id: # fill in your Fathom Site ID
# Pageviews settings # Page views settings
pageviews: pageviews:
provider: # now only supports 'goatcounter' provider: # now only supports 'goatcounter'
@@ -83,8 +86,8 @@ pageviews:
# #
# 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]
@@ -105,8 +108,18 @@ 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:
# Global switch for the post comment system. Keeping it empty means disabled. # Global switch for the post-comment system. Keeping it empty means disabled.
provider: # [disqus | utterances | giscus] provider: # [disqus | utterances | giscus]
# The provider options are as follows: # The provider options are as follows:
disqus: disqus:
@@ -136,9 +149,9 @@ assets:
env: # [development | production] env: # [development | production]
pwa: pwa:
enabled: true # the option for PWA feature (installable) enabled: true # The option for PWA feature (installable)
cache: cache:
enabled: true # the option for PWA offline cache enabled: true # The option for PWA offline cache
# Paths defined here will be excluded from the PWA cache. # Paths defined here will be excluded from the PWA cache.
# Usually its value is the `baseurl` of another website that # Usually its value is the `baseurl` of another website that
# shares the same domain name as the current website. # shares the same domain name as the current website.
@@ -190,10 +203,6 @@ defaults:
values: values:
layout: page layout: page
permalink: /:title/ permalink: /:title/
- scope:
path: assets/js/dist
values:
swcache: true
sass: sass:
style: compressed style: compressed
@@ -214,8 +223,9 @@ exclude:
- tools - tools
- README.md - README.md
- LICENSE - LICENSE
- purgecss.js
- "*.config.js" - "*.config.js"
- package*.json - "package*.json"
jekyll-archives: jekyll-archives:
enabled: [categories, tags] enabled: [categories, tags]
+12
View File
@@ -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
+8 -2
View File
@@ -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:
+8 -2
View File
@@ -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:
+90
View File
@@ -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
+8 -2
View File
@@ -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:
+92
View File
@@ -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
+9 -3
View File
@@ -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:
+96
View File
@@ -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: ޕޯސްޓްތައް
+8 -2
View File
@@ -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:
+8 -2
View File
@@ -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:
+8 -2
View File
@@ -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:
+97
View File
@@ -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: پست‌
+8 -2
View File
@@ -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
View File
@@ -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
View File
@@ -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: Hop! 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
+8 -2
View File
@@ -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:
+8 -2
View File
@@ -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:
+90
View File
@@ -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: 投稿
+8 -2
View File
@@ -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:
+97
View File
@@ -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: بابەت
+8 -2
View File
@@ -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:
+96
View File
@@ -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
+96
View File
@@ -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: لیکنې
+8 -2
View File
@@ -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:
+9 -3
View File
@@ -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:
+8 -2
View File
@@ -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:
+8 -2
View File
@@ -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:
+8 -2
View File
@@ -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:
+8 -2
View File
@@ -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:
+8 -2
View File
@@ -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:
+96
View File
@@ -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: تحریریں
+8 -2
View File
@@ -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:
+8 -2
View File
@@ -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:
+8 -2
View File
@@ -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:
+3 -3
View File
@@ -20,9 +20,9 @@ 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
glightbox: glightbox:
css: /assets/lib/glightbox/glightbox.min.css css: /assets/lib/glightbox/glightbox.min.css
+18 -15
View File
@@ -19,36 +19,39 @@ webfonts: https://fonts.googleapis.com/css2?family=Lato:wght@300;400&family=Sour
# Libraries # Libraries
bootstrap:
css: https://cdn.jsdelivr.net/npm/bootstrap@5/dist/css/bootstrap.min.css
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.8.0/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
glightbox: glightbox:
css: https://cdn.jsdelivr.net/npm/glightbox@3.3.0/dist/css/glightbox.min.css css: https://cdn.jsdelivr.net/npm/glightbox@3/dist/css/glightbox.min.css
js: https://cdn.jsdelivr.net/npm/glightbox@3.3.0/dist/js/glightbox.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
+13 -1
View File
@@ -18,7 +18,7 @@ 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"
@@ -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"
-1
View File
@@ -4,4 +4,3 @@
src="https://static.cloudflareinsights.com/beacon.min.js" src="https://static.cloudflareinsights.com/beacon.min.js"
data-cf-beacon='{"token": "{{ site.analytics.cloudflare.id }}"}' data-cf-beacon='{"token": "{{ site.analytics.cloudflare.id }}"}'
></script> ></script>
<!-- End Cloudflare Web Analytics -->
+6
View File
@@ -0,0 +1,6 @@
<!-- Fathom -->
<script
src="https://cdn.usefathom.com/script.js"
data-site="{{ site.analytics.fathom.id }}"
defer
></script>
+1 -1
View File
@@ -1,7 +1,7 @@
<!-- Global site tag (gtag.js) - Google Analytics --> <!-- Global site tag (gtag.js) - Google Analytics -->
<script defer src="https://www.googletagmanager.com/gtag/js?id={{ site.analytics.google.id }}"></script> <script defer src="https://www.googletagmanager.com/gtag/js?id={{ site.analytics.google.id }}"></script>
<script> <script>
document.addEventListener('DOMContentLoaded', function (event) { document.addEventListener('DOMContentLoaded', () => {
window.dataLayer = window.dataLayer || []; window.dataLayer = window.dataLayer || [];
function gtag() { function gtag() {
dataLayer.push(arguments); dataLayer.push(arguments);
+6 -7
View File
@@ -1,14 +1,13 @@
<!-- Matomo --> <!-- Matomo -->
<script type="text/javascript"> <script>
var _paq = window._paq = window._paq || []; document.addEventListener('DOMContentLoaded', () => {
_paq.push(['trackPageView']); var _paq = (window._paq = window._paq || []);
_paq.push(['enableLinkTracking']); _paq.push(['trackPageView']);
(function() { _paq.push(['enableLinkTracking']);
var u="//{{ site.analytics.matomo.domain }}/"; var u="//{{ site.analytics.matomo.domain }}/";
_paq.push(['setTrackerUrl', u+'matomo.php']); _paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', {{ site.analytics.matomo.id }}]); _paq.push(['setSiteId', {{ site.analytics.matomo.id }}]);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; 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); g.type='text/javascript'; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})(); });
</script> </script>
<!-- End Matomo Code -->
+35 -28
View File
@@ -1,38 +1,25 @@
<!-- 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 }}';
}; };
{%- comment -%} Lazy loading {%- endcomment -%} 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.getElementById('disqus_thread')); const footer = document.querySelector('footer');
footer.insertAdjacentElement("beforebegin", disqusThread);
}
{%- comment -%} Auto switch theme {%- endcomment -%} {%- 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) {
{%- comment -%} Disqus hasn't been loaded {%- endcomment -%} {%- comment -%} Disqus hasn't been loaded {%- endcomment -%}
if (typeof DISQUS === 'undefined') { if (typeof DISQUS === 'undefined') {
return; return;
@@ -44,7 +31,27 @@
} }
} }
if (document.getElementById('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>
+29 -29
View File
@@ -1,20 +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 lightTheme = 'light'; const initTheme = themeMap[Theme.resolvedTheme];
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 = {
@@ -29,36 +22,43 @@
'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
) {
{%- comment -%} global theme mode changed {%- endcomment -%}
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.getElementsByClassName('giscus-frame')[0].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');
} }
}); });
})(); })();
+27 -38
View File
@@ -1,49 +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 lightTheme = 'github-light'; const themeMap = Theme.newThemeMap('github-light', 'github-dark');
const darkTheme = 'github-dark'; const initTheme = themeMap[Theme.resolvedTheme];
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;
{%- comment -%} credit to <https://github.com/utterance/utterances/issues/170#issuecomment-594036347> {%- endcomment -%} {%- comment -%}
if (event.origin === origin) { Credit to <https://github.com/utterance/utterances/issues/170#issuecomment-594036347>
{%- comment -%} page initial {%- endcomment -%} {%- 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];
{%- comment -%} global theme mode changed {%- endcomment -%}
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.getElementsByClassName('utterances-frame')[0].contentWindow;
utterances.postMessage(message, origin);
}); });
})(); })();
</script> </script>
+1 -1
View File
@@ -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' %}
+2 -2
View File
@@ -4,12 +4,12 @@
{% unless src contains '://' %} {% unless src contains '://' %}
{%- capture src -%} {%- capture src -%}
{% include media-url.html src=src %} {% include media-url.html src=src subpath=page.media_subpath %}
{%- endcapture -%} {%- endcapture -%}
{% endunless %} {% endunless %}
<p> <p>
<audio class="embed-audio" controls> <audio class="embed-audio file" controls>
{% assign extension = src | split: '.' | last %} {% assign extension = src | split: '.' | last %}
{% assign types = extension | concat: types %} {% assign types = extension | concat: types %}
+22
View File
@@ -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>
+1 -1
View File
@@ -5,7 +5,7 @@
{% unless video_url contains '://' %} {% unless video_url contains '://' %}
{%- capture video_url -%} {%- capture video_url -%}
{% include media-url.html src=video_url %} {% include media-url.html src=video_url subpath=page.media_subpath %}
{%- endcapture -%} {%- endcapture -%}
{% endunless %} {% endunless %}
+3 -8
View File
@@ -5,15 +5,10 @@
{% capture favicon_path %}{{ '/assets/img/favicons' | relative_url }}{% endcapture %} {% capture favicon_path %}{{ '/assets/img/favicons' | relative_url }}{% endcapture %}
<link rel="icon" type="image/png" href="{{ favicon_path }}/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/svg+xml" href="{{ favicon_path }}/favicon.svg">
<link rel="shortcut icon" href="{{ favicon_path }}/favicon.ico">
<link rel="apple-touch-icon" sizes="180x180" href="{{ favicon_path }}/apple-touch-icon.png"> <link rel="apple-touch-icon" sizes="180x180" href="{{ favicon_path }}/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="{{ favicon_path }}/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="{{ favicon_path }}/favicon-16x16.png">
{% if site.pwa.enabled %} {% if site.pwa.enabled %}
<link rel="manifest" href="{{ favicon_path }}/site.webmanifest"> <link rel="manifest" href="{{ favicon_path }}/site.webmanifest">
{% endif %} {% endif %}
<link rel="shortcut icon" href="{{ favicon_path }}/favicon.ico">
<meta name="apple-mobile-web-app-title" content="{{ site.title }}">
<meta name="application-name" content="{{ site.title }}">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="msapplication-config" content="{{ favicon_path }}/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
+39 -9
View File
@@ -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"
@@ -50,11 +48,24 @@
{{ 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 %}
@@ -70,7 +81,7 @@
<!-- Bootstrap --> <!-- Bootstrap -->
{% unless jekyll.environment == 'production' %} {% unless jekyll.environment == 'production' %}
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css"> <link rel="stylesheet" href="{{ site.data.origin.cors.bootstrap.css }}">
{% endunless %} {% endunless %}
<!-- Theme style --> <!-- Theme style -->
@@ -97,11 +108,30 @@
<link rel="stylesheet" href="{{ site.data.origin[type].glightbox.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: '' }}&register={{ 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>
+3 -25
View File
@@ -6,8 +6,6 @@
<!-- layout specified --> <!-- layout specified -->
{% assign js_dist = '/assets/js/dist/' %}
{% if page.layout == 'post' or page.layout == 'page' or page.layout == 'home' %} {% if page.layout == 'post' or page.layout == 'page' or page.layout == 'home' %}
{% assign urls = urls | append: ',' | append: site.data.origin[type]['lazy-polyfill'].js %} {% assign urls = urls | append: ',' | append: site.data.origin[type]['lazy-polyfill'].js %}
@@ -62,13 +60,13 @@
{% assign js = 'commons' %} {% assign js = 'commons' %}
{% endcase %} {% endcase %}
{% capture script %}{{ js_dist }}{{ js }}.min.js{% endcapture %} {% capture script %}/assets/js/dist/{{ js }}.min.js{% endcapture %}
<script src="{{ script | relative_url }}"></script>
<script defer src="{{ script | relative_url }}"></script>
{% if page.math %} {% if page.math %}
<!-- MathJax --> <!-- MathJax -->
<script src="{{ '/assets/js/data/mathjax.js' | relative_url }}"></script> <script src="{{ '/assets/js/data/mathjax.js' | relative_url }}"></script>
<script src="https://cdnjs.cloudflare.com/polyfill/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 %}
@@ -85,23 +83,3 @@
{% endcase %} {% endcase %}
{% endif %} {% endif %}
{% endif %} {% endif %}
{% if page.mermaid %}
{% include mermaid.html %}
{% endif %}
{% if jekyll.environment == 'production' %}
<!-- PWA -->
{% if site.pwa.enabled %}
<script defer src="{{ 'app.min.js' | prepend: js_dist | relative_url }}"></script>
{% endif %}
<!-- Web Analytics -->
{% for analytics in site.analytics %}
{% capture str %}{{ analytics }}{% endcapture %}
{% assign type = str | split: '{' | first %}
{% if site.analytics[type].id and site.analytics[type].id != empty %}
{% include analytics/{{ type }}.html %}
{% endif %}
{% endfor %}
{% endif %}
+4 -4
View File
@@ -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 %}
+7 -9
View File
@@ -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' %}
+1 -1
View File
@@ -17,7 +17,7 @@
{%- comment -%} Add media resources subpath prefix {%- endcomment -%} {%- comment -%} Add media resources subpath prefix {%- endcomment -%}
{% assign url = include.subpath | default: '' | append: '/' | append: url %} {% assign url = include.subpath | default: '' | append: '/' | append: url %}
{%- comment -%} Prepend CND URL {%- endcomment -%} {%- comment -%} Prepend CDN URL {%- endcomment -%}
{% if site.cdn %} {% if site.cdn %}
{% assign url = site.cdn | append: '/' | append: url %} {% assign url = site.cdn | append: '/' | append: url %}
{% endif %} {% endif %}
-62
View File
@@ -1,62 +0,0 @@
<!-- mermaid-js loader -->
<script type="text/javascript">
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 };
{%- comment -%}
Re-render the SVG <https://github.com/mermaid-js/mermaid/issues/311#issuecomment-332557344>
{%- endcomment -%}
const mermaidList = document.getElementsByClassName('mermaid');
[...mermaidList].forEach((elem) => {
const svgCode = elem.previousSibling.children.item(0).innerHTML;
elem.innerHTML = svgCode;
elem.removeAttribute('data-processed');
});
mermaid.initialize(config);
mermaid.init(undefined, '.mermaid');
}
}
(function () {
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 {%- comment -%} <default | dark | forest | neutral> {%- endcomment -%}
};
{%- comment -%} Create mermaid tag {%- endcomment -%}
const basicList = document.getElementsByClassName('language-mermaid');
[...basicList].forEach((elem) => {
const svgCode = elem.textContent;
const backup = elem.parentElement;
backup.classList.add('d-none');
{%- comment -%} create mermaid node {%- endcomment -%}
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>
-116
View File
@@ -1,116 +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() {
let self = this;
{%- comment -%} always follow the system prefers {%- endcomment -%}
this.sysDarkPrefers.addEventListener('change', () => {
if (self.hasMode) {
self.clearMode();
}
self.notify();
});
if (!this.hasMode) {
return;
}
if (this.isDarkMode) {
this.setDark();
} else {
this.setLight();
}
}
get sysDarkPrefers() {
return window.matchMedia('(prefers-color-scheme: dark)');
}
get isPreferDark() {
return this.sysDarkPrefers.matches;
}
get isDarkMode() {
return this.mode === ModeToggle.DARK_MODE;
}
get hasMode() {
return this.mode != null;
}
get mode() {
return sessionStorage.getItem(ModeToggle.MODE_KEY);
}
{%- comment -%} get the current mode on screen {%- endcomment -%}
get modeStatus() {
if (this.hasMode) {
return this.mode;
} else {
return this.isPreferDark ? ModeToggle.DARK_MODE : 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);
}
{%- comment -%}
Notify another plugins that the theme mode has changed
{%- endcomment -%}
notify() {
window.postMessage(
{
direction: ModeToggle.ID,
message: this.modeStatus
},
'*'
);
}
flipMode() {
if (this.hasMode) {
this.clearMode();
} else {
if (this.isPreferDark) {
this.setLight();
} else {
this.setDark();
}
}
this.notify();
}
}
const modeToggle = new ModeToggle();
</script>
-10
View File
@@ -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 %}
+13 -9
View File
@@ -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>
+16 -13
View File
@@ -1,18 +1,21 @@
<!-- Display GoatCounter pageviews --> <!-- Display GoatCounter pageviews -->
<script> <script>
let pv = document.getElementById('pageviews'); document.addEventListener('DOMContentLoaded', () => {
const pv = document.getElementById('pageviews');
if (pv !== null) { if (pv !== null) {
const uri = location.pathname.replace(/\/$/, ''); const uri = location.pathname.replace(/\/$/, '');
const url = `https://{{ site.analytics.goatcounter.id }}.goatcounter.com/counter/${encodeURIComponent(uri)}.json`; const url = `https://{{ site.analytics.goatcounter.id }}.goatcounter.com/counter/${encodeURIComponent(uri)}.json`;
fetch(url) fetch(url)
.then((response) => response.json()) .then((response) => response.json())
.then((data) => { .then((data) => {
pv.innerText = new Intl.NumberFormat().format(data.count); const count = data.count.replace(/\D/g, '');
}) pv.innerText = new Intl.NumberFormat().format(count);
.catch((error) => { })
pv.innerText = '1'; .catch((error) => {
}); pv.innerText = '1';
} });
}
});
</script> </script>
-16
View File
@@ -1,16 +0,0 @@
{%- comment -%}
Get post description or generate it from the post content.
{%- endcomment -%}
{%- assign max_length = include.max_length | default: 200 -%}
{%- capture description -%}
{%- if post.description -%}
{{- post.description -}}
{%- else -%}
{%- include no-linenos.html content=post.content -%}
{{- content | markdownify | strip_html -}}
{%- endif -%}
{%- endcapture -%}
{{- description | strip | truncate: max_length | escape -}}
+23
View File
@@ -0,0 +1,23 @@
<!-- Link to edit the post to contribute. -->
{% assign enabled = site.actions.edit_post.enabled %}
{% assign url = site.actions.edit_post.url %}
{% assign static_url = site.actions.edit_post.static_url %}
{% unless static_url %}
{% assign url = url | append: '/' | append: page.path %}
{% endunless %}
{% if enabled %}
<div class="post-edit">
{% assign edit = site.data.locales[include.lang].post.edit %}
<a
href="{{ url }}"
target="_blank"
rel="noopener"
>
<i class="fa fa-pen fa-fw me-1"></i>
<span>{{ edit }}</span>
</a>
</div>
{% endif %}
+1 -1
View File
@@ -1,4 +1,4 @@
<!-- The paginator for post list on HomgPage. --> <!-- The paginator for post list on HomePage. -->
<nav aria-label="Page Navigation"> <nav aria-label="Page Navigation">
<ul class="pagination align-items-center mt-4 mb-0"> <ul class="pagination align-items-center mt-4 mb-0">
+39
View File
@@ -0,0 +1,39 @@
{%- comment -%}
Get the post's description or body content.
Arguments:
full_text: If true, return the full content. Default is false.
max_length: The maximum length of the returned content. Default is 200.
{%- endcomment -%}
{%- if post.description and include.full_text != true -%}
{{- post.description -}}
{%- else -%}
{%- comment -%} Remove the line numbers from the code snippet. {%- endcomment -%}
{%- assign content = post.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 -%}
{%- assign content = content
| markdownify
| strip_html
| newline_to_br
| replace: '<br />', ' '
| strip_newlines
| strip
-%}
{%- unless include.full_text -%}
{%- assign max_length = include.max_length | default: 200 -%}
{%- assign content = content | truncate: max_length -%}
{%- endunless -%}
{{- content -}}
{%- endif -%}
+40 -8
View File
@@ -88,9 +88,41 @@
{% endfor %} {% endfor %}
<!-- take out classes --> <!-- take out classes -->
{% assign _wrapper_class = '' %}
{% if _class %} {% if _class %}
{% capture _old_class %}class="{{ _class }}"{% endcapture %} {% assign _remain = _class %}
{% assign _left = _left | remove: _old_class %} {% assign _class_array = _class | split: ' ' %}
{% for c in _class_array %}
{% assign _pick = false %}
{% case c %}
{% when 'preview-img', 'normal', 'left', 'right', 'light', 'dark' %}
{% assign _pick = true %}
{% else %}
{% if c contains '-' %}
{% assign start = c | split: '-' | first %}
{% if start == 'w' %}
{% assign _pick = true %}
{% endif %}
{% endif %}
{% endcase %}
{% if _pick %}
{% assign _remain = _remain | remove: c | strip %}
{% assign _wrapper_class = _wrapper_class | append: ' ' | append: c %}
{% endif %}
{% endfor %}
{% unless _wrapper_class == '' %}
{% capture _old_class %}class="{{ _class }}"{% endcapture %}
{% assign _left = _left | remove: _old_class %}
{% unless _remain == '' %}
{% capture _new_class %}class="{{ _remain }}"{% endcapture %}
{% assign _left = _left | append: _new_class %}
{% endunless %}
{% endunless %}
{% endif %} {% endif %}
{% assign _final_src = null %} {% assign _final_src = null %}
@@ -110,7 +142,7 @@
{% if _lqip %} {% if _lqip %}
{% assign _lazyload = false %} {% assign _lazyload = false %}
{% assign _class = _class | append: ' blur' %} {% assign _wrapper_class = _wrapper_class | append: ' blur' %}
{% unless _lqip contains 'data:' %} {% unless _lqip contains 'data:' %}
{% assign _lqip_alt = 'lqip="' | append: _path_prefix %} {% assign _lqip_alt = 'lqip="' | append: _path_prefix %}
@@ -121,7 +153,7 @@
{% assign _left = _left | replace: 'src=', 'data-src=' | replace: ' lqip=', ' data-lqip="true" src=' %} {% assign _left = _left | replace: 'src=', 'data-src=' | replace: ' lqip=', ' data-lqip="true" src=' %}
{% else %} {% else %}
{% assign _class = _class | append: ' shimmer' %} {% assign _wrapper_class = _wrapper_class | append: ' shimmer' %}
{% endif %} {% endif %}
<!-- lazy-load images --> <!-- lazy-load images -->
@@ -131,7 +163,7 @@
{% if page.layout == 'home' %} {% if page.layout == 'home' %}
<!-- create the image wrapper --> <!-- create the image wrapper -->
{% assign _wrapper_start = '<div class="preview-img ' | append: _class | append: '">' %} {% assign _wrapper_start = '<div class="preview-img ' | append: _wrapper_class | append: '">' %}
{% assign _img_content = _img_content | append: _wrapper_start %} {% assign _img_content = _img_content | append: _wrapper_start %}
{% assign _right = _right | prepend: '></div' %} {% assign _right = _right | prepend: '></div' %}
@@ -141,7 +173,7 @@
{% assign _parent = _right | slice: 1, 4 %} {% assign _parent = _right | slice: 1, 4 %}
{% if _parent == '</a>' %} {% if _parent == '</a>' %}
<!-- add class to exist <a> tag --> <!-- add class to existing <a> tag -->
{% assign _size = _img_content | size | minus: 1 %} {% assign _size = _img_content | size | minus: 1 %}
{% capture _class %} {% capture _class %}
class="img-link{% unless _lqip %} shimmer{% endunless %}" class="img-link{% unless _lqip %} shimmer{% endunless %}"
@@ -153,8 +185,8 @@
{% assign _wrapper_start = _final_src {% assign _wrapper_start = _final_src
| default: _src | default: _src
| prepend: '<a href="' | prepend: '<a href="'
| append: '" class="popup img-link ' | append: '" class="popup img-link'
| append: _class | append: _wrapper_class
| append: '">' | append: '">'
%} %}
+1 -1
View File
@@ -82,7 +82,7 @@
{% include datetime.html date=post.date lang=include.lang %} {% include datetime.html date=post.date lang=include.lang %}
<h4 class="pt-0 my-2">{{ post.title }}</h4> <h4 class="pt-0 my-2">{{ post.title }}</h4>
<div class="text-muted"> <div class="text-muted">
<p>{% include post-description.html %}</p> <p>{% include post-summary.html %}</p>
</div> </div>
</div> </div>
</a> </a>
+23 -21
View File
@@ -12,36 +12,38 @@
{tags} {tags}
</div> </div>
</header> </header>
<p>{snippet}</p> <p>{content}</p>
</article> </article>
{% endcapture %} {% endcapture %}
{% capture not_found %}<p class="mt-5">{{ site.data.locales[include.lang].search.no_results }}</p>{% endcapture %} {% capture not_found %}<p class="mt-5">{{ site.data.locales[include.lang].search.no_results }}</p>{% endcapture %}
<script> <script>
{%- comment -%} Note: dependent library will be loaded in `js-selector.html` {%- endcomment -%} {% comment %} Note: dependent library will be loaded in `js-selector.html` {% endcomment %}
SimpleJekyllSearch({ document.addEventListener('DOMContentLoaded', () => {
searchInput: document.getElementById('search-input'), SimpleJekyllSearch({
resultsContainer: document.getElementById('search-results'), searchInput: document.getElementById('search-input'),
json: '{{ '/assets/js/data/search.json' | relative_url }}', resultsContainer: document.getElementById('search-results'),
searchResultTemplate: '{{ result_elem | strip_newlines }}', json: '{{ '/assets/js/data/search.json' | relative_url }}',
noResultsText: '{{ not_found }}', searchResultTemplate: '{{ result_elem | strip_newlines }}',
templateMiddleware: function(prop, value, template) { noResultsText: '{{ not_found }}',
if (prop === 'categories') { templateMiddleware: function(prop, value, template) {
if (value === '') { if (prop === 'categories') {
return `${value}`; if (value === '') {
} else { return `${value}`;
return `<div class="me-sm-4"><i class="far fa-folder fa-fw"></i>${value}</div>`; } else {
return `<div class="me-sm-4"><i class="far fa-folder fa-fw"></i>${value}</div>`;
}
} }
}
if (prop === 'tags') { if (prop === 'tags') {
if (value === '') { if (value === '') {
return `${value}`; return `${value}`;
} else { } else {
return `<div><i class="fa fa-tag fa-fw"></i>${value}</div>`; return `<div><i class="fa fa-tag fa-fw"></i>${value}</div>`;
}
} }
} }
} });
}); });
</script> </script>
+1 -1
View File
@@ -3,7 +3,7 @@
<div id="search-result-wrapper" class="d-flex justify-content-center d-none"> <div id="search-result-wrapper" class="d-flex justify-content-center d-none">
<div class="col-11 content"> <div class="col-11 content">
<div id="search-hints"> <div id="search-hints">
{% include_cached trending-tags.html %} {% include_cached trending-tags.html lang=include.lang %}
</div> </div>
<div id="search-results" class="d-flex flex-wrap justify-content-center text-muted mt-3"></div> <div id="search-results" class="d-flex flex-wrap justify-content-center text-muted mt-3"></div>
</div> </div>
+58 -10
View File
@@ -11,9 +11,7 @@
{%- endif -%} {%- endif -%}
</a> </a>
<h1 class="site-title"> <a class="site-title d-block" href="{{ '/' | relative_url }}">{{ site.title }}</a>
<a href="{{ '/' | relative_url }}">{{ site.title }}</a>
</h1>
<p class="site-subtitle fst-italic mb-0">{{ site.tagline }}</p> <p class="site-subtitle fst-italic mb-0">{{ site.tagline }}</p>
</header> </header>
<!-- .profile-wrapper --> <!-- .profile-wrapper -->
@@ -42,11 +40,53 @@
</ul> </ul>
</nav> </nav>
<div class="sidebar-bottom d-flex flex-wrap align-items-center w-100"> <div class="sidebar-bottom d-flex flex-wrap align-items-center w-100">
{% unless site.theme_mode %} {% unless site.theme_mode == 'light' or site.theme_mode == 'dark' %}
<button type="button" class="btn btn-link nav-link" aria-label="Switch Mode" id="mode-toggle"> {%- capture icon_system -%}
<i class="fas fa-adjust"></i> <i class="fa-solid fa-display" data-theme-mode="system"></i>
</button> {%- endcapture -%}
{%- capture icon_light -%}
<i class="fa-regular fa-sun" data-theme-mode="light"></i>
{%- endcapture -%}
{%- capture icon_dark -%}
<i class="fa-regular fa-moon" data-theme-mode="dark"></i>
{%- endcapture -%}
<div class="btn-group dropup">
<button
type="button"
class="btn btn-link nav-link"
aria-label="Switch Mode"
id="mode-toggle"
data-bs-toggle="dropdown"
>
{{- icon_light -}}
{{- icon_dark -}}
{{- icon_system -}}
</button>
<ul class="dropdown-menu rounded-3 mb-1 p-1">
<li>
<button class="dropdown-item d-flex align-items-center" type="button" data-theme-mode="light">
{{- icon_light -}}
{{- site.data.locales[lang].theme.light -}}
</button>
</li>
<li>
<button class="dropdown-item d-flex align-items-center" type="button" data-theme-mode="dark">
{{- icon_dark -}}
{{- site.data.locales[lang].theme.dark -}}
</button>
</li>
<li>
<button class="dropdown-item d-flex align-items-center" type="button" data-theme-mode="system">
{{- icon_system -}}
{{- site.data.locales[lang].theme.system -}}
</button>
</li>
</ul>
</div>
{% if site.data.contact.size > 0 %} {% if site.data.contact.size > 0 %}
<span class="icon-border"></span> <span class="icon-border"></span>
@@ -54,15 +94,23 @@
{% endunless %} {% endunless %}
{% for entry in site.data.contact %} {% for entry in site.data.contact %}
{%- assign url = null -%}
{% case entry.type %} {% case entry.type %}
{% when 'github', 'twitter' %} {% when 'github', 'twitter' %}
{%- unless site[entry.type].username -%}
{%- continue -%}
{%- endunless -%}
{%- capture url -%} {%- capture url -%}
https://{{ entry.type }}.com/{{ site[entry.type].username }} https://{{ entry.type }}.com/{{ site[entry.type].username }}
{%- endcapture -%} {%- endcapture -%}
{% when 'email' %} {% when 'email' %}
{% assign email = site.social.email | split: '@' %} {%- unless site.social.email -%}
{%- continue -%}
{%- endunless -%}
{%- assign email = site.social.email | split: '@' -%}
{%- capture url -%} {%- capture url -%}
javascript:location.href = 'mailto:' + ['{{ email[0] }}','{{ email[1] }}'].join('@') javascript:void(location.href = 'mailto:' + ['{{ email[0] }}','{{ email[1] }}'].join('@'))
{%- endcapture -%} {%- endcapture -%}
{% when 'rss' %} {% when 'rss' %}
{% assign url = '/feed.xml' | relative_url %} {% assign url = '/feed.xml' | relative_url %}
+10
View File
@@ -0,0 +1,10 @@
{% comment %}
Determine TOC state and return it through variable "enable_toc"
{% endcomment %}
{% assign enable_toc = false %}
{% if site.toc and page.toc %}
{% if page.content contains '<h2' or page.content contains '<h3' %}
{% assign enable_toc = true %}
{% endif %}
{% endif %}
+4 -8
View File
@@ -1,13 +1,9 @@
{% assign enable_toc = false %} {% include toc-status.html %}
{% if site.toc and page.toc %}
{% if page.content contains '<h2' or page.content contains '<h3' %}
{% assign enable_toc = true %}
{% endif %}
{% endif %}
{% if enable_toc %} {% if enable_toc %}
<section id="toc-wrapper" class="d-none ps-0 pe-4"> <div class="toc-border-cover z-3"></div>
<h2 class="panel-heading ps-3 mb-2">{{- site.data.locales[include.lang].panel.toc -}}</h2> <section id="toc-wrapper" class="invisible position-sticky ps-0 pe-4 pb-4">
<h2 class="panel-heading ps-3 pb-2 mb-0">{{- site.data.locales[include.lang].panel.toc -}}</h2>
<nav id="toc"></nav> <nav id="toc"></nav>
</section> </section>
{% endif %} {% endif %}
+3 -3
View File
@@ -1,6 +1,6 @@
<!-- The Top Bar --> <!-- The Top Bar -->
<header id="topbar-wrapper" aria-label="Top Bar"> <header id="topbar-wrapper" class="flex-shrink-0" aria-label="Top Bar">
<div <div
id="topbar" id="topbar"
class="d-flex align-items-center justify-content-between px-lg-3 h-100" class="d-flex align-items-center justify-content-between px-lg-3 h-100"
@@ -40,7 +40,7 @@
</nav> </nav>
<!-- endof #breadcrumb --> <!-- endof #breadcrumb -->
<button type="button" id="sidebar-trigger" class="btn btn-link"> <button type="button" id="sidebar-trigger" class="btn btn-link" aria-label="Sidebar">
<i class="fas fa-bars fa-fw"></i> <i class="fas fa-bars fa-fw"></i>
</button> </button>
@@ -55,7 +55,7 @@
{% endif %} {% endif %}
</div> </div>
<button type="button" id="search-trigger" class="btn btn-link"> <button type="button" id="search-trigger" class="btn btn-link" aria-label="Search">
<i class="fas fa-search fa-fw"></i> <i class="fas fa-search fa-fw"></i>
</button> </button>
-1
View File
@@ -1 +0,0 @@
Chirpy v<%= pkg.version %> | © 2019 <%= pkg.author %> | <%= pkg.license %> Licensed | <%= pkg.homepage %>
+1 -1
View File
@@ -1,5 +1,5 @@
import { basic, initSidebar, initTopbar } from './modules/layouts'; import { basic, initSidebar, initTopbar } from './modules/layouts';
import { categoryCollapse } from './modules/plugins'; import { categoryCollapse } from './modules/components';
basic(); basic();
initSidebar(); initSidebar();

Some files were not shown because too many files have changed in this diff Show More