mirror of
https://github.com/cotes2020/jekyll-theme-chirpy.git
synced 2026-01-23 07:11:39 +00:00
Compare commits
18 Commits
v7.3.0
...
ef093ff60d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ef093ff60d | ||
|
|
4d6c788b9c | ||
|
|
cda62e28d1 | ||
|
|
5f8ec7ffd3 | ||
|
|
eaf5e57449 | ||
|
|
29bf95e9c7 | ||
|
|
648398c63c | ||
|
|
b855e8b6b4 | ||
|
|
49519d13e5 | ||
|
|
8bf72fc234 | ||
|
|
c0e4756200 | ||
|
|
81886b11c0 | ||
|
|
7615d72e93 | ||
|
|
1bac96a8e1 | ||
|
|
c706799f9b | ||
|
|
18c48b4c49 | ||
|
|
f5802b8a8a | ||
|
|
09948da235 |
4
.github/workflows/cd.yml
vendored
4
.github/workflows/cd.yml
vendored
@@ -14,14 +14,14 @@ jobs:
|
|||||||
pull-requests: write
|
pull-requests: write
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v5
|
||||||
|
|
||||||
- uses: ruby/setup-ruby@v1
|
- uses: ruby/setup-ruby@v1
|
||||||
with:
|
with:
|
||||||
ruby-version: 3.3
|
ruby-version: 3.3
|
||||||
bundler-cache: true
|
bundler-cache: true
|
||||||
|
|
||||||
- uses: actions/setup-node@v4
|
- uses: actions/setup-node@v5
|
||||||
with:
|
with:
|
||||||
node-version: lts/*
|
node-version: lts/*
|
||||||
|
|
||||||
|
|||||||
4
.github/workflows/ci.yml
vendored
4
.github/workflows/ci.yml
vendored
@@ -31,7 +31,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v5
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0 # for posts's lastmod
|
fetch-depth: 0 # for posts's lastmod
|
||||||
|
|
||||||
@@ -42,7 +42,7 @@ jobs:
|
|||||||
bundler-cache: true
|
bundler-cache: true
|
||||||
|
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@v5
|
||||||
with:
|
with:
|
||||||
node-version: lts/*
|
node-version: lts/*
|
||||||
|
|
||||||
|
|||||||
2
.github/workflows/codeql.yml
vendored
2
.github/workflows/codeql.yml
vendored
@@ -24,7 +24,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
# Initializes the CodeQL tools for scanning.
|
# Initializes the CodeQL tools for scanning.
|
||||||
- name: Initialize CodeQL
|
- name: Initialize CodeQL
|
||||||
|
|||||||
2
.github/workflows/commitlint.yml
vendored
2
.github/workflows/commitlint.yml
vendored
@@ -11,5 +11,5 @@ jobs:
|
|||||||
commitlint:
|
commitlint:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v5
|
||||||
- uses: wagoid/commitlint-github-action@v6
|
- uses: wagoid/commitlint-github-action@v6
|
||||||
|
|||||||
30
.github/workflows/lint-js.yml
vendored
Normal file
30
.github/workflows/lint-js.yml
vendored
Normal 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@v5
|
||||||
|
|
||||||
|
- name: Setup Node.js
|
||||||
|
uses: actions/setup-node@v5
|
||||||
|
with:
|
||||||
|
node-version: lts/*
|
||||||
|
|
||||||
|
- name: Install Dependencies
|
||||||
|
run: npm i
|
||||||
|
|
||||||
|
- name: Lint JS
|
||||||
|
run: npm run lint:js
|
||||||
26
.github/workflows/lint-scss.yml
vendored
Normal file
26
.github/workflows/lint-scss.yml
vendored
Normal 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@v5
|
||||||
|
|
||||||
|
- name: Setup Node.js
|
||||||
|
uses: actions/setup-node@v5
|
||||||
|
with:
|
||||||
|
node-version: lts/*
|
||||||
|
|
||||||
|
- name: Install Dependencies
|
||||||
|
run: npm i
|
||||||
|
|
||||||
|
- name: Lint SCSS
|
||||||
|
run: npm run lint:scss
|
||||||
8
.github/workflows/pr-filter.yml
vendored
8
.github/workflows/pr-filter.yml
vendored
@@ -13,13 +13,13 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Code
|
- name: Checkout Code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
- name: Check PR Content
|
- name: Check PR Content
|
||||||
id: intercept
|
id: intercept
|
||||||
uses: actions/github-script@v7
|
uses: actions/github-script@v8
|
||||||
with:
|
with:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
script: |
|
script: |
|
||||||
const script = require('.github/workflows/scripts/pr-filter.js');
|
const { default: filter } = await import('${{ github.workspace }}/.github/workflows/scripts/pr-filter.js');
|
||||||
await script({ github, context, core });
|
await filter({ github, context, core });
|
||||||
|
|||||||
2
.github/workflows/scripts/pr-filter.js
vendored
2
.github/workflows/scripts/pr-filter.js
vendored
@@ -9,7 +9,7 @@ function hasDescription(markdown) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = async ({ github, context, core }) => {
|
export default async ({ github, context, core }) => {
|
||||||
const pr = context.payload.pull_request;
|
const pr = context.payload.pull_request;
|
||||||
const body = pr.body === null ? '' : pr.body;
|
const body = pr.body === null ? '' : pr.body;
|
||||||
const markdown = body.replace(/<!--[\s\S]*?-->/g, '');
|
const markdown = body.replace(/<!--[\s\S]*?-->/g, '');
|
||||||
|
|||||||
2
.github/workflows/stale.yml
vendored
2
.github/workflows/stale.yml
vendored
@@ -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
|
||||||
|
|||||||
@@ -8,8 +8,6 @@
|
|||||||
"property-no-vendor-prefix": null,
|
"property-no-vendor-prefix": null,
|
||||||
"selector-no-vendor-prefix": null,
|
"selector-no-vendor-prefix": null,
|
||||||
"value-no-vendor-prefix": null,
|
"value-no-vendor-prefix": null,
|
||||||
"color-function-notation": "legacy",
|
|
||||||
"alpha-value-notation": "number",
|
|
||||||
"selector-not-notation": "simple",
|
"selector-not-notation": "simple",
|
||||||
"color-hex-length": "long",
|
"color-hex-length": "long",
|
||||||
"declaration-block-single-line-max-declarations": 3,
|
"declaration-block-single-line-max-declarations": 3,
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
86
_data/locales/da-DK.yml
Normal file
86
_data/locales/da-DK.yml
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
# 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: En ny version af indholdet er fundet!
|
||||||
|
update: Opdater
|
||||||
|
|
||||||
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
|
post:
|
||||||
|
written_by: Af
|
||||||
|
posted: Udgivet
|
||||||
|
updated: Opdateret
|
||||||
|
words: ord
|
||||||
|
pageview_measure: visninger
|
||||||
|
read_time:
|
||||||
|
unit: min
|
||||||
|
prompt: læsetid
|
||||||
|
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
|
||||||
90
_data/locales/dv‑MV.yml
Normal file
90
_data/locales/dv‑MV.yml
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
# 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: އޮޕްޑޭޓް
|
||||||
|
|
||||||
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
|
post:
|
||||||
|
written_by: ލެކްއޯލް
|
||||||
|
posted: ޕޯސްޓްކުރެވި
|
||||||
|
updated: އޮޕްޑޭޓްކުރެވި
|
||||||
|
words: ބަސް
|
||||||
|
pageview_measure: ބަނޑުކުރާ
|
||||||
|
read_time:
|
||||||
|
unit: މިނެޓް
|
||||||
|
prompt: އިސްކާރު
|
||||||
|
relate_posts: އެއްޗެހި ފަހުރަށްދަން
|
||||||
|
share: ސެއާރް
|
||||||
|
button:
|
||||||
|
next: އަދާވަނަ
|
||||||
|
previous: ކޮނޯނި
|
||||||
|
copy_code:
|
||||||
|
succeed: ކޮޕީ ކުރެވި!
|
||||||
|
share_link:
|
||||||
|
title: ލިންކް ކޮޕީ ކުރު
|
||||||
|
succeed: ލިންކް ހަދަންކުރެވި!
|
||||||
|
|
||||||
|
# Date time format.
|
||||||
|
# See: <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: ޕޯސްޓްތައް
|
||||||
@@ -37,10 +37,10 @@ copyright:
|
|||||||
# Displayed in the footer
|
# Displayed in the footer
|
||||||
brief: برخی حقوق محفوظ است.
|
brief: برخی حقوق محفوظ است.
|
||||||
verbose: >-
|
verbose: >-
|
||||||
مگر اینکه خلاف آن ذکر شده باشد، پستهای وبلاگ در این سایت
|
بهجز مواردی که خلاف آن ذکر شده باشد، محتوای پستهای این وبلاگ
|
||||||
تحت مجوز Creative Commons Attribution 4.0 International (CC BY 4.0) توسط نویسنده منتشر شدهاند.
|
تحت مجوز Creative Commons Attribution 4.0 International (CC BY 4.0) توسط نویسنده منتشر شدهاند.
|
||||||
|
|
||||||
meta: با استفاده از :PLATFORM قالب :THEME
|
meta: با استفاده از قالب :THEME برای :PLATFORM
|
||||||
|
|
||||||
not_found:
|
not_found:
|
||||||
statement: متأسفیم، لینک زیر معتبر نیست یا به صفحهای که وجود ندارد اشاره میکند.
|
statement: متأسفیم، لینک زیر معتبر نیست یا به صفحهای که وجود ندارد اشاره میکند.
|
||||||
@@ -55,11 +55,11 @@ post:
|
|||||||
written_by: نوشته شده توسط
|
written_by: نوشته شده توسط
|
||||||
posted: منتشر شده
|
posted: منتشر شده
|
||||||
updated: بهروزرسانی شده
|
updated: بهروزرسانی شده
|
||||||
words: کلمات
|
words: کلمه
|
||||||
pageview_measure: بازدیدها
|
pageview_measure: بازدید
|
||||||
read_time:
|
read_time:
|
||||||
unit: دقیقه
|
unit: "دقیقه "
|
||||||
prompt: زمان مطالعه
|
prompt: " زمان مطالعه"
|
||||||
relate_posts: بیشتر بخوانید
|
relate_posts: بیشتر بخوانید
|
||||||
share: اشتراکگذاری
|
share: اشتراکگذاری
|
||||||
button:
|
button:
|
||||||
@@ -85,7 +85,7 @@ df:
|
|||||||
categories:
|
categories:
|
||||||
category_measure:
|
category_measure:
|
||||||
singular: دستهبندی
|
singular: دستهبندی
|
||||||
plural: دستهبندیها
|
plural: دستهبندی
|
||||||
post_measure:
|
post_measure:
|
||||||
singular: پست
|
singular: پست
|
||||||
plural: پستها
|
plural: پست
|
||||||
91
_data/locales/ku-IQ.yml
Normal file
91
_data/locales/ku-IQ.yml
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
# 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: نوێکردنەوە
|
||||||
|
|
||||||
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
|
post:
|
||||||
|
written_by: نووسەر
|
||||||
|
posted: بڵاوکراوەتەوە
|
||||||
|
updated: نوێکراوەتەوە
|
||||||
|
words: وشە
|
||||||
|
pageview_measure: بینین
|
||||||
|
read_time:
|
||||||
|
unit: خولەک
|
||||||
|
prompt: خوێندنەوە
|
||||||
|
relate_posts: بابەتی پەیوەندیدار
|
||||||
|
share: بڵاوکردنەوە
|
||||||
|
button:
|
||||||
|
next: نوێتر
|
||||||
|
previous: کۆنتر
|
||||||
|
copy_code:
|
||||||
|
succeed: کۆپی کرا!
|
||||||
|
share_link:
|
||||||
|
title: کۆپی بەستەر
|
||||||
|
succeed: بەستەر بە سەرکەوتوویی کۆپی کرا!
|
||||||
|
|
||||||
|
# Date time format.
|
||||||
|
# See: <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: بابەت
|
||||||
90
_data/locales/ps‑AF.yml
Normal file
90
_data/locales/ps‑AF.yml
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
# 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: تازه
|
||||||
|
|
||||||
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
|
post:
|
||||||
|
written_by: لیکوال
|
||||||
|
posted: خپره شوې
|
||||||
|
updated: تازه شوې
|
||||||
|
words: کلمې
|
||||||
|
pageview_measure: کتنې
|
||||||
|
read_time:
|
||||||
|
unit: دقیقې
|
||||||
|
prompt: لوستل
|
||||||
|
relate_posts: نوره لوستنه
|
||||||
|
share: شریکول
|
||||||
|
button:
|
||||||
|
next: نوی
|
||||||
|
previous: زوړ
|
||||||
|
copy_code:
|
||||||
|
succeed: کاپي شو!
|
||||||
|
share_link:
|
||||||
|
title: لینک کاپي کړئ
|
||||||
|
succeed: لینک بریالي کاپي شو!
|
||||||
|
|
||||||
|
# Date time format.
|
||||||
|
# See: <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: لیکنې
|
||||||
90
_data/locales/ur-PK.yml
Normal file
90
_data/locales/ur-PK.yml
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
# 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: اپ ڈیٹ
|
||||||
|
|
||||||
|
# ----- Posts related labels -----
|
||||||
|
|
||||||
|
post:
|
||||||
|
written_by: از
|
||||||
|
posted: شائع شدہ
|
||||||
|
updated: اپ ڈیٹ شدہ
|
||||||
|
words: لفظ
|
||||||
|
pageview_measure: مشاہدات
|
||||||
|
read_time:
|
||||||
|
unit: منٹ
|
||||||
|
prompt: پڑھیں
|
||||||
|
relate_posts: مزید مطالعہ
|
||||||
|
share: شیئر
|
||||||
|
button:
|
||||||
|
next: نیا
|
||||||
|
previous: پرانا
|
||||||
|
copy_code:
|
||||||
|
succeed: کاپی ہو گیا!
|
||||||
|
share_link:
|
||||||
|
title: لنک کاپی کریں
|
||||||
|
succeed: لنک کامیابی سے کاپی ہو گیا!
|
||||||
|
|
||||||
|
# Date time format.
|
||||||
|
# See: <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: تحریریں
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
{% 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
_includes/embed/spotify.html
Normal file
22
_includes/embed/spotify.html
Normal 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>
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
fetch(url)
|
fetch(url)
|
||||||
.then((response) => response.json())
|
.then((response) => response.json())
|
||||||
.then((data) => {
|
.then((data) => {
|
||||||
const count = data.count.replace(/\s/g, '');
|
const count = data.count.replace(/\D/g, '');
|
||||||
pv.innerText = new Intl.NumberFormat().format(count);
|
pv.innerText = new Intl.NumberFormat().format(count);
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
|
|||||||
@@ -2,24 +2,29 @@
|
|||||||
Get post description or generate it from the post content.
|
Get post description or generate it from the post content.
|
||||||
{%- endcomment -%}
|
{%- endcomment -%}
|
||||||
|
|
||||||
{%- assign max_length = include.max_length | default: 200 -%}
|
|
||||||
|
|
||||||
{%- capture description -%}
|
{%- capture description -%}
|
||||||
{%- if post.description -%}
|
{%- if post.description -%}
|
||||||
{{- post.description -}}
|
{{- post.description -}}
|
||||||
{%- else -%}
|
{%- else -%}
|
||||||
{% comment %}
|
{% comment %}
|
||||||
Remove the line number of the code snippet.
|
Remove the line number of the code snippet.
|
||||||
{% endcomment %}
|
{% endcomment %}
|
||||||
{% assign content = post.content %}
|
{%- assign content = post.content -%}
|
||||||
|
|
||||||
{% if content contains '<td class="rouge-gutter gl"><pre class="lineno">' %}
|
{%- 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 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">' %}
|
{%- assign content = content | replace: '</td><td class="rouge-code">', '</td> --><td class="rouge-code">' -%}
|
||||||
{% endif %}
|
{%- endif -%}
|
||||||
|
|
||||||
{{- content | markdownify | strip_html | newline_to_br | replace: '<br />', ' ' | strip_newlines -}}
|
{{- content | strip_html | newline_to_br | replace: '<br />', ' ' | strip_newlines -}}
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
{%- endcapture -%}
|
{%- endcapture -%}
|
||||||
|
|
||||||
{{- description | strip | truncate: max_length | escape -}}
|
{%- if include.json -%}
|
||||||
|
{%- assign description = description | jsonify -%}
|
||||||
|
{%- else -%}
|
||||||
|
{%- assign max_length = include.max_length | default: 200 -%}
|
||||||
|
{%- assign description = description | strip | truncate: max_length -%}
|
||||||
|
{%- endif -%}
|
||||||
|
|
||||||
|
{{- description -}}
|
||||||
|
|||||||
@@ -52,13 +52,21 @@
|
|||||||
{% 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:location.href = 'mailto:' + ['{{ email[0] }}','{{ email[1] }}'].join('@')
|
||||||
{%- endcapture -%}
|
{%- endcapture -%}
|
||||||
|
|||||||
@@ -55,16 +55,15 @@ refactor: true
|
|||||||
|
|
||||||
{% if post.image %}
|
{% if post.image %}
|
||||||
{% assign src = post.image.path | default: post.image %}
|
{% assign src = post.image.path | default: post.image %}
|
||||||
{% unless src contains '//' %}
|
{% capture src %}{% include media-url.html src=src subpath=post.media_subpath %}{% endcapture %}
|
||||||
{% assign src = post.media_subpath | append: '/' | append: src | replace: '//', '/' %}
|
|
||||||
{% endunless %}
|
|
||||||
|
|
||||||
{% assign alt = post.image.alt | xml_escape | default: 'Preview Image' %}
|
{% assign alt = post.image.alt | xml_escape | default: 'Preview Image' %}
|
||||||
|
|
||||||
{% assign lqip = null %}
|
{% assign lqip = null %}
|
||||||
|
|
||||||
{% if post.image.lqip %}
|
{% if post.image.lqip %}
|
||||||
{% capture lqip %}lqip="{{ post.image.lqip }}"{% endcapture %}
|
{% capture lqip_url %}{% include media-url.html src=post.image.lqip subpath=post.media_subpath %}{% endcapture %}
|
||||||
|
{% assign lqip = 'lqip="' | append: lqip_url | append: '"' %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="col-md-5">
|
<div class="col-md-5">
|
||||||
|
|||||||
@@ -256,11 +256,9 @@ For normal images:
|
|||||||
```
|
```
|
||||||
{: .nolineno }
|
{: .nolineno }
|
||||||
|
|
||||||
### Video
|
### Social Media Platforms
|
||||||
|
|
||||||
#### Social Media Platform
|
You can embed video/audio from social media platforms with the following syntax:
|
||||||
|
|
||||||
You can embed videos from social media platforms with the following syntax:
|
|
||||||
|
|
||||||
```liquid
|
```liquid
|
||||||
{% include embed/{Platform}.html id='{ID}' %}
|
{% include embed/{Platform}.html id='{ID}' %}
|
||||||
@@ -268,15 +266,21 @@ You can embed videos from social media platforms with the following syntax:
|
|||||||
|
|
||||||
Where `Platform` is the lowercase of the platform name, and `ID` is the video ID.
|
Where `Platform` is the lowercase of the platform name, and `ID` is the video ID.
|
||||||
|
|
||||||
The following table shows how to get the two parameters we need in a given video URL, and you can also know the currently supported video platforms.
|
The following table shows how to get the two parameters we need in a given video/audio URL, and you can also know the currently supported video platforms.
|
||||||
|
|
||||||
| Video URL | Platform | ID |
|
| Video URL | Platform | ID |
|
||||||
| -------------------------------------------------------------------------------------------------- | ---------- | :------------- |
|
| -------------------------------------------------------------------------------------------------------------------------- | ---------- | :----------------------- |
|
||||||
| [https://www.**youtube**.com/watch?v=**H-B46URT4mg**](https://www.youtube.com/watch?v=H-B46URT4mg) | `youtube` | `H-B46URT4mg` |
|
| [https://www.**youtube**.com/watch?v=**H-B46URT4mg**](https://www.youtube.com/watch?v=H-B46URT4mg) | `youtube` | `H-B46URT4mg` |
|
||||||
| [https://www.**twitch**.tv/videos/**1634779211**](https://www.twitch.tv/videos/1634779211) | `twitch` | `1634779211` |
|
| [https://www.**twitch**.tv/videos/**1634779211**](https://www.twitch.tv/videos/1634779211) | `twitch` | `1634779211` |
|
||||||
| [https://www.**bilibili**.com/video/**BV1Q44y1B7Wf**](https://www.bilibili.com/video/BV1Q44y1B7Wf) | `bilibili` | `BV1Q44y1B7Wf` |
|
| [https://www.**bilibili**.com/video/**BV1Q44y1B7Wf**](https://www.bilibili.com/video/BV1Q44y1B7Wf) | `bilibili` | `BV1Q44y1B7Wf` |
|
||||||
|
| [https://www.open.**spotify**.com/track/**3OuMIIFP5TxM8tLXMWYPGV**](https://open.spotify.com/track/3OuMIIFP5TxM8tLXMWYPGV) | `spotify` | `3OuMIIFP5TxM8tLXMWYPGV` |
|
||||||
|
|
||||||
#### Video Files
|
Spotify supports some additional parameters:
|
||||||
|
|
||||||
|
- `compact` - to display compact player instead (ex. `{% include embed/spotify.html id='3OuMIIFP5TxM8tLXMWYPGV' compact=1 %}`);
|
||||||
|
- `dark` - to force dark theme (ex. `{% include embed/spotify.html id='3OuMIIFP5TxM8tLXMWYPGV' dark=1 %}`).
|
||||||
|
|
||||||
|
### Video Files
|
||||||
|
|
||||||
If you want to embed a video file directly, use the following syntax:
|
If you want to embed a video file directly, use the following syntax:
|
||||||
|
|
||||||
@@ -310,7 +314,7 @@ Consider an example using all of the above:
|
|||||||
%}
|
%}
|
||||||
```
|
```
|
||||||
|
|
||||||
### Audios
|
### Audio Files
|
||||||
|
|
||||||
If you want to embed an audio file directly, use the following syntax:
|
If you want to embed an audio file directly, use the following syntax:
|
||||||
|
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ main {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
background-color: var(--card-hovor-bg);
|
background-color: var(--card-hover-bg);
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
transition: opacity 0.35s ease-in-out;
|
transition: opacity 0.35s ease-in-out;
|
||||||
}
|
}
|
||||||
@@ -314,7 +314,14 @@ main {
|
|||||||
|
|
||||||
.embed-audio {
|
.embed-audio {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: block;
|
|
||||||
|
&.file {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.spotify {
|
||||||
|
border-radius: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
@extend %img-caption;
|
@extend %img-caption;
|
||||||
}
|
}
|
||||||
@@ -349,7 +356,7 @@ main {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.disabled {
|
.disabled {
|
||||||
color: rgb(206, 196, 196);
|
color: rgb(206 196 196);
|
||||||
pointer-events: auto;
|
pointer-events: auto;
|
||||||
cursor: not-allowed;
|
cursor: not-allowed;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ code {
|
|||||||
&.highlighter-rouge {
|
&.highlighter-rouge {
|
||||||
font-size: v.$code-font-size;
|
font-size: v.$code-font-size;
|
||||||
padding: 3px 5px;
|
padding: 3px 5px;
|
||||||
word-break: break-word;
|
overflow-wrap: break-word;
|
||||||
border-radius: v.$radius-sm;
|
border-radius: v.$radius-sm;
|
||||||
background-color: var(--inline-code-bg);
|
background-color: var(--inline-code-bg);
|
||||||
}
|
}
|
||||||
@@ -243,7 +243,7 @@ div {
|
|||||||
}
|
}
|
||||||
|
|
||||||
&:not([timeout]):hover {
|
&:not([timeout]):hover {
|
||||||
background-color: rgba(128, 128, 128, 0.37);
|
background-color: rgb(128 128 128 / 37%);
|
||||||
|
|
||||||
i {
|
i {
|
||||||
color: white;
|
color: white;
|
||||||
|
|||||||
@@ -238,7 +238,7 @@ main {
|
|||||||
border-spacing: 0;
|
border-spacing: 0;
|
||||||
|
|
||||||
thead {
|
thead {
|
||||||
border-bottom: solid 2px rgba(210, 215, 217, 0.75);
|
border-bottom: solid 2px rgb(210 215 217 / 75%);
|
||||||
|
|
||||||
th {
|
th {
|
||||||
@extend %table-cell;
|
@extend %table-cell;
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
border-radius: 0.5rem;
|
border-radius: 0.5rem;
|
||||||
-webkit-backdrop-filter: blur(10px);
|
-webkit-backdrop-filter: blur(10px);
|
||||||
backdrop-filter: blur(10px);
|
backdrop-filter: blur(10px);
|
||||||
background-color: rgba(255, 255, 255, 0.5);
|
background-color: rgb(255 255 255 / 50%);
|
||||||
color: #1b1b1eba;
|
color: #1b1b1eba;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
left: 50%;
|
left: 50%;
|
||||||
|
|||||||
@@ -160,7 +160,7 @@
|
|||||||
cursor: not-allowed;
|
cursor: not-allowed;
|
||||||
|
|
||||||
.page-link {
|
.page-link {
|
||||||
color: rgba(108, 117, 125, 0.57);
|
color: rgb(108 117 125 / 57%);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} /* .page-item */
|
} /* .page-item */
|
||||||
|
|||||||
@@ -2,33 +2,33 @@
|
|||||||
color-scheme: dark;
|
color-scheme: dark;
|
||||||
|
|
||||||
/* Framework color */
|
/* Framework color */
|
||||||
--main-bg: rgb(27, 27, 30);
|
--main-bg: rgb(27 27 30);
|
||||||
--mask-bg: rgb(68, 69, 70);
|
--mask-bg: rgb(68 69 70);
|
||||||
--main-border-color: rgb(44, 45, 45);
|
--main-border-color: rgb(44 45 45);
|
||||||
|
|
||||||
/* Common color */
|
/* Common color */
|
||||||
--text-color: rgb(175, 176, 177);
|
--text-color: rgb(175 176 177);
|
||||||
--text-muted-color: #868686;
|
--text-muted-color: #868686;
|
||||||
--text-muted-highlight-color: #aeaeae;
|
--text-muted-highlight-color: #aeaeae;
|
||||||
--heading-color: #cccccc;
|
--heading-color: #cccccc;
|
||||||
--label-color: #a7a7a7;
|
--label-color: #a7a7a7;
|
||||||
--blockquote-border-color: rgb(66, 66, 66);
|
--blockquote-border-color: rgb(66 66 66);
|
||||||
--blockquote-text-color: #868686;
|
--blockquote-text-color: #868686;
|
||||||
--link-color: rgb(138, 180, 248);
|
--link-color: rgb(138 180 248);
|
||||||
--link-underline-color: rgb(82, 108, 150);
|
--link-underline-color: rgb(82 108 150);
|
||||||
--button-bg: #1e1e1e;
|
--button-bg: #1e1e1e;
|
||||||
--btn-border-color: #2e2f31;
|
--btn-border-color: #2e2f31;
|
||||||
--btn-backtotop-color: var(--text-color);
|
--btn-backtotop-color: var(--text-color);
|
||||||
--btn-backtotop-border-color: #212122;
|
--btn-backtotop-border-color: #212122;
|
||||||
--card-header-bg: #292929;
|
--card-header-bg: #292929;
|
||||||
--checkbox-color: rgb(118, 120, 121);
|
--checkbox-color: rgb(118 120 121);
|
||||||
--checkbox-checked-color: var(--link-color);
|
--checkbox-checked-color: var(--link-color);
|
||||||
--img-bg: radial-gradient(circle, rgb(22, 22, 24) 0%, rgb(32, 32, 32) 100%);
|
--img-bg: radial-gradient(circle, rgb(22 22 24) 0%, rgb(32 32 32) 100%);
|
||||||
--shimmer-bg: linear-gradient(
|
--shimmer-bg: linear-gradient(
|
||||||
90deg,
|
90deg,
|
||||||
rgba(255, 255, 255, 0) 0%,
|
rgb(255 255 255 / 0%) 0%,
|
||||||
rgba(58, 55, 55, 0.4) 50%,
|
rgb(58 55 55 / 40%) 50%,
|
||||||
rgba(255, 255, 255, 0) 100%
|
rgb(255 255 255 / 0%) 100%
|
||||||
);
|
);
|
||||||
|
|
||||||
/* Sidebar */
|
/* Sidebar */
|
||||||
@@ -37,65 +37,65 @@
|
|||||||
--sidebar-bg: #1e1e1e;
|
--sidebar-bg: #1e1e1e;
|
||||||
--sidebar-border-color: #292929;
|
--sidebar-border-color: #292929;
|
||||||
--sidebar-muted-color: #868686;
|
--sidebar-muted-color: #868686;
|
||||||
--sidebar-active-color: rgb(255, 255, 255, 0.95);
|
--sidebar-active-color: rgb(255 255 255 / 95%);
|
||||||
--sidebar-hover-bg: #262626;
|
--sidebar-hover-bg: #262626;
|
||||||
--sidebar-btn-bg: #232328;
|
--sidebar-btn-bg: #232328;
|
||||||
--sidebar-btn-color: #787878;
|
--sidebar-btn-color: #787878;
|
||||||
--avatar-border-color: rgb(206, 206, 206, 0.9);
|
--avatar-border-color: rgb(206 206 206 / 90%);
|
||||||
|
|
||||||
/* Topbar */
|
/* Topbar */
|
||||||
--topbar-bg: rgb(27, 27, 30, 0.64);
|
--topbar-bg: rgb(27 27 30 / 64%);
|
||||||
--topbar-text-color: var(--text-color);
|
--topbar-text-color: var(--text-color);
|
||||||
--search-border-color: rgb(55, 55, 55);
|
--search-border-color: rgb(55 55 55);
|
||||||
--search-icon-color: rgb(100, 102, 105);
|
--search-icon-color: rgb(100 102 105);
|
||||||
--input-focus-border-color: rgb(112, 114, 115);
|
--input-focus-border-color: rgb(112 114 115);
|
||||||
|
|
||||||
/* Home page */
|
/* Home page */
|
||||||
--post-list-text-color: rgb(175, 176, 177);
|
--post-list-text-color: rgb(175 176 177);
|
||||||
--btn-patinator-text-color: var(--text-color);
|
--btn-patinator-text-color: var(--text-color);
|
||||||
--btn-paginator-hover-color: #2e2e2e;
|
--btn-paginator-hover-color: #2e2e2e;
|
||||||
|
|
||||||
/* Posts */
|
/* Posts */
|
||||||
--toc-highlight: rgb(116, 178, 243);
|
--toc-highlight: rgb(116 178 243);
|
||||||
--toc-popup-border-color: #373737;
|
--toc-popup-border-color: #373737;
|
||||||
--tag-hover: rgb(43, 56, 62);
|
--tag-hover: rgb(43 56 62);
|
||||||
--tb-odd-bg: #252526; /* odd rows of the posts' table */
|
--tb-odd-bg: #252526; /* odd rows of the posts' table */
|
||||||
--tb-even-bg: rgb(31, 31, 34); /* even rows of the posts' table */
|
--tb-even-bg: rgb(31 31 34); /* even rows of the posts' table */
|
||||||
--tb-border-color: var(--tb-odd-bg);
|
--tb-border-color: var(--tb-odd-bg);
|
||||||
--footnote-target-bg: rgb(63, 81, 181);
|
--footnote-target-bg: rgb(63 81 181);
|
||||||
--btn-share-color: #6c757d;
|
--btn-share-color: #6c757d;
|
||||||
--btn-share-hover-color: #bfc1ca;
|
--btn-share-hover-color: #bfc1ca;
|
||||||
--card-bg: #1e1e1e;
|
--card-bg: #1e1e1e;
|
||||||
--card-hovor-bg: #464d51;
|
--card-hover-bg: #464d51;
|
||||||
--card-shadow: rgb(21, 21, 21, 0.72) 0 6px 18px 0,
|
--card-shadow: rgb(21 21 21 / 72%) 0 6px 18px 0,
|
||||||
rgb(137, 135, 135, 0.24) 0 0 0 1px;
|
rgb(137 135 135 / 24%) 0 0 0 1px;
|
||||||
--kbd-wrap-color: #6a6a6a;
|
--kbd-wrap-color: #6a6a6a;
|
||||||
--kbd-text-color: #d3d3d3;
|
--kbd-text-color: #d3d3d3;
|
||||||
--kbd-bg-color: #242424;
|
--kbd-bg-color: #242424;
|
||||||
--prompt-text-color: rgb(216, 212, 212, 0.75);
|
--prompt-text-color: rgb(216 212 212 / 75%);
|
||||||
--prompt-tip-bg: rgb(22, 60, 36, 0.64);
|
--prompt-tip-bg: rgb(22 60 36 / 64%);
|
||||||
--prompt-tip-icon-color: rgb(15, 164, 15, 0.81);
|
--prompt-tip-icon-color: rgb(15 164 15 / 81%);
|
||||||
--prompt-info-bg: rgb(7, 59, 104, 0.8);
|
--prompt-info-bg: rgb(7 59 104 / 80%);
|
||||||
--prompt-info-icon-color: #0075d1;
|
--prompt-info-icon-color: #0075d1;
|
||||||
--prompt-warning-bg: rgb(90, 69, 3, 0.88);
|
--prompt-warning-bg: rgb(90 69 3 / 88%);
|
||||||
--prompt-warning-icon-color: rgb(255, 165, 0, 0.8);
|
--prompt-warning-icon-color: rgb(255 165 0 / 80%);
|
||||||
--prompt-danger-bg: rgb(86, 28, 8, 0.8);
|
--prompt-danger-bg: rgb(86 28 8 / 80%);
|
||||||
--prompt-danger-icon-color: #cd0202;
|
--prompt-danger-icon-color: #cd0202;
|
||||||
|
|
||||||
/* Tags */
|
/* Tags */
|
||||||
--tag-border: rgb(59, 79, 88);
|
--tag-border: rgb(59 79 88);
|
||||||
--tag-shadow: rgb(32, 33, 33);
|
--tag-shadow: rgb(32 33 33);
|
||||||
--dash-color: rgb(63, 65, 68);
|
--dash-color: rgb(63 65 68);
|
||||||
--search-tag-bg: #292828;
|
--search-tag-bg: #292828;
|
||||||
|
|
||||||
/* Categories */
|
/* Categories */
|
||||||
--categories-border: rgb(64, 66, 69, 0.5);
|
--categories-border: rgb(64 66 69 / 50%);
|
||||||
--categories-hover-bg: rgb(73, 75, 76);
|
--categories-hover-bg: rgb(73 75 76);
|
||||||
--categories-icon-hover-color: white;
|
--categories-icon-hover-color: white;
|
||||||
|
|
||||||
/* Archive */
|
/* Archive */
|
||||||
--timeline-node-bg: rgb(150, 152, 156);
|
--timeline-node-bg: rgb(150 152 156);
|
||||||
--timeline-color: rgb(63, 65, 68);
|
--timeline-color: rgb(63 65 68);
|
||||||
--timeline-year-dot-color: var(--timeline-color);
|
--timeline-year-dot-color: var(--timeline-color);
|
||||||
|
|
||||||
/* Code highlight colors */
|
/* Code highlight colors */
|
||||||
@@ -103,7 +103,7 @@
|
|||||||
--highlight-bg-color: #151515;
|
--highlight-bg-color: #151515;
|
||||||
--highlighter-rouge-color: #c9def1;
|
--highlighter-rouge-color: #c9def1;
|
||||||
--highlight-lineno-color: #808080;
|
--highlight-lineno-color: #808080;
|
||||||
--inline-code-bg: rgba(255, 255, 255, 0.05);
|
--inline-code-bg: rgb(255 255 255 / 5%);
|
||||||
--code-color: #b0b0b0;
|
--code-color: #b0b0b0;
|
||||||
--code-header-text-color: #6a6a6a;
|
--code-header-text-color: #6a6a6a;
|
||||||
--code-header-muted-color: #353535;
|
--code-header-muted-color: #353535;
|
||||||
@@ -141,11 +141,11 @@
|
|||||||
#archives li:nth-child(odd) {
|
#archives li:nth-child(odd) {
|
||||||
background-image: linear-gradient(
|
background-image: linear-gradient(
|
||||||
to left,
|
to left,
|
||||||
rgb(26, 26, 30),
|
rgb(26 26 30),
|
||||||
rgb(39, 39, 45),
|
rgb(39 39 45),
|
||||||
rgb(39, 39, 45),
|
rgb(39 39 45),
|
||||||
rgb(39, 39, 45),
|
rgb(39 39 45),
|
||||||
rgb(26, 26, 30)
|
rgb(26 26 30)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,34 +20,30 @@
|
|||||||
--btn-backtotop-border-color: #f1f1f1;
|
--btn-backtotop-border-color: #f1f1f1;
|
||||||
--checkbox-color: #c5c5c5;
|
--checkbox-color: #c5c5c5;
|
||||||
--checkbox-checked-color: #07a8f7;
|
--checkbox-checked-color: #07a8f7;
|
||||||
--img-bg: radial-gradient(
|
--img-bg: radial-gradient(circle, rgb(255 255 255) 0%, rgb(239 239 239) 100%);
|
||||||
circle,
|
|
||||||
rgb(255, 255, 255) 0%,
|
|
||||||
rgb(239, 239, 239) 100%
|
|
||||||
);
|
|
||||||
--shimmer-bg: linear-gradient(
|
--shimmer-bg: linear-gradient(
|
||||||
90deg,
|
90deg,
|
||||||
rgba(250, 250, 250, 0) 0%,
|
rgb(250 250 250 / 0%) 0%,
|
||||||
rgba(232, 230, 230, 1) 50%,
|
rgb(232 230 230 / 100%) 50%,
|
||||||
rgba(250, 250, 250, 0) 100%
|
rgb(250 250 250 / 0%) 100%
|
||||||
);
|
);
|
||||||
|
|
||||||
/* Sidebar */
|
/* Sidebar */
|
||||||
--site-title-color: rgb(113, 113, 113);
|
--site-title-color: rgb(113 113 113);
|
||||||
--site-subtitle-color: #717171;
|
--site-subtitle-color: #717171;
|
||||||
--sidebar-bg: #f6f8fa;
|
--sidebar-bg: #f6f8fa;
|
||||||
--sidebar-border-color: #efefef;
|
--sidebar-border-color: #efefef;
|
||||||
--sidebar-muted-color: #545454;
|
--sidebar-muted-color: #545454;
|
||||||
--sidebar-active-color: #1d1d1d;
|
--sidebar-active-color: #1d1d1d;
|
||||||
--sidebar-hover-bg: rgb(223, 233, 241, 0.64);
|
--sidebar-hover-bg: rgb(223 233 241 / 64%);
|
||||||
--sidebar-btn-bg: white;
|
--sidebar-btn-bg: white;
|
||||||
--sidebar-btn-color: #8e8e8e;
|
--sidebar-btn-color: #8e8e8e;
|
||||||
--avatar-border-color: white;
|
--avatar-border-color: white;
|
||||||
|
|
||||||
/* Topbar */
|
/* Topbar */
|
||||||
--topbar-bg: rgb(255, 255, 255, 0.7);
|
--topbar-bg: rgb(255 255 255 / 70%);
|
||||||
--topbar-text-color: rgb(78, 78, 78);
|
--topbar-text-color: rgb(78 78 78);
|
||||||
--search-border-color: rgb(240, 240, 240);
|
--search-border-color: rgb(240 240 240);
|
||||||
--search-icon-color: #c2c6cc;
|
--search-icon-color: #c2c6cc;
|
||||||
--input-focus-border-color: #b8b8b8;
|
--input-focus-border-color: #b8b8b8;
|
||||||
|
|
||||||
@@ -62,9 +58,9 @@
|
|||||||
--btn-share-color: gray;
|
--btn-share-color: gray;
|
||||||
--btn-share-hover-color: #0d6efd;
|
--btn-share-hover-color: #0d6efd;
|
||||||
--card-bg: white;
|
--card-bg: white;
|
||||||
--card-hovor-bg: #e2e2e2;
|
--card-hover-bg: #e2e2e2;
|
||||||
--card-shadow: rgb(104, 104, 104, 0.05) 0 2px 6px 0,
|
--card-shadow: rgb(104 104 104 / 5%) 0 2px 6px 0,
|
||||||
rgba(211, 209, 209, 0.15) 0 0 0 1px;
|
rgb(211 209 209 / 15%) 0 0 0 1px;
|
||||||
--footnote-target-bg: lightcyan;
|
--footnote-target-bg: lightcyan;
|
||||||
--tb-odd-bg: #fbfcfd;
|
--tb-odd-bg: #fbfcfd;
|
||||||
--tb-border-color: #eaeaea;
|
--tb-border-color: #eaeaea;
|
||||||
@@ -72,29 +68,29 @@
|
|||||||
--kbd-wrap-color: #bdbdbd;
|
--kbd-wrap-color: #bdbdbd;
|
||||||
--kbd-text-color: var(--text-color);
|
--kbd-text-color: var(--text-color);
|
||||||
--kbd-bg-color: white;
|
--kbd-bg-color: white;
|
||||||
--prompt-text-color: rgb(46, 46, 46, 0.77);
|
--prompt-text-color: rgb(46 46 46 / 77%);
|
||||||
--prompt-tip-bg: rgb(123, 247, 144, 0.2);
|
--prompt-tip-bg: rgb(123 247 144 / 20%);
|
||||||
--prompt-tip-icon-color: #03b303;
|
--prompt-tip-icon-color: #03b303;
|
||||||
--prompt-info-bg: #e1f5fe;
|
--prompt-info-bg: #e1f5fe;
|
||||||
--prompt-info-icon-color: #0070cb;
|
--prompt-info-icon-color: #0070cb;
|
||||||
--prompt-warning-bg: rgb(255, 243, 205);
|
--prompt-warning-bg: rgb(255 243 205);
|
||||||
--prompt-warning-icon-color: #ef9c03;
|
--prompt-warning-icon-color: #ef9c03;
|
||||||
--prompt-danger-bg: rgb(248, 215, 218, 0.56);
|
--prompt-danger-bg: rgb(248 215 218 / 56%);
|
||||||
--prompt-danger-icon-color: #df3c30;
|
--prompt-danger-icon-color: #df3c30;
|
||||||
|
|
||||||
/* Tags */
|
/* Tags */
|
||||||
--tag-border: #dee2e6;
|
--tag-border: #dee2e6;
|
||||||
--tag-shadow: var(--btn-border-color);
|
--tag-shadow: var(--btn-border-color);
|
||||||
--tag-hover: rgb(222, 226, 230);
|
--tag-hover: rgb(222 226 230);
|
||||||
--search-tag-bg: #f8f9fa;
|
--search-tag-bg: #f8f9fa;
|
||||||
|
|
||||||
/* Categories */
|
/* Categories */
|
||||||
--categories-border: rgba(0, 0, 0, 0.125);
|
--categories-border: rgb(0 0 0 / 12.5%);
|
||||||
--categories-hover-bg: var(--btn-border-color);
|
--categories-hover-bg: var(--btn-border-color);
|
||||||
--categories-icon-hover-color: darkslategray;
|
--categories-icon-hover-color: darkslategray;
|
||||||
|
|
||||||
/* Archive */
|
/* Archive */
|
||||||
--timeline-color: rgba(0, 0, 0, 0.075);
|
--timeline-color: rgb(0 0 0 / 7.5%);
|
||||||
--timeline-node-bg: #c2c6cc;
|
--timeline-node-bg: #c2c6cc;
|
||||||
--timeline-year-dot-color: #ffffff;
|
--timeline-year-dot-color: #ffffff;
|
||||||
|
|
||||||
@@ -103,7 +99,7 @@
|
|||||||
--highlight-bg-color: #f6f8fa;
|
--highlight-bg-color: #f6f8fa;
|
||||||
--highlighter-rouge-color: #3f596f;
|
--highlighter-rouge-color: #3f596f;
|
||||||
--highlight-lineno-color: #9e9e9e;
|
--highlight-lineno-color: #9e9e9e;
|
||||||
--inline-code-bg: rgba(25, 25, 28, 0.05);
|
--inline-code-bg: rgb(25 25 28 / 5%);
|
||||||
--code-color: #3a3a3a;
|
--code-color: #3a3a3a;
|
||||||
--code-header-text-color: #a3a3a3;
|
--code-header-text-color: #a3a3a3;
|
||||||
--code-header-muted-color: #e5e5e5;
|
--code-header-muted-color: #e5e5e5;
|
||||||
@@ -111,7 +107,7 @@
|
|||||||
--clipboard-checked-color: #43c743;
|
--clipboard-checked-color: #43c743;
|
||||||
|
|
||||||
[class^='prompt-'] {
|
[class^='prompt-'] {
|
||||||
--link-underline-color: rgb(219, 216, 216);
|
--link-underline-color: rgb(219 216 216);
|
||||||
}
|
}
|
||||||
|
|
||||||
.dark {
|
.dark {
|
||||||
|
|||||||
@@ -5,16 +5,13 @@ swcache: true
|
|||||||
|
|
||||||
[
|
[
|
||||||
{% for post in site.posts %}
|
{% for post in site.posts %}
|
||||||
{%- capture description -%}
|
|
||||||
{% include post-description.html %}
|
|
||||||
{%- endcapture -%}
|
|
||||||
{
|
{
|
||||||
"title": {{ post.title | jsonify }},
|
"title": {{ post.title | jsonify }},
|
||||||
"url": {{ post.url | relative_url | jsonify }},
|
"url": {{ post.url | relative_url | jsonify }},
|
||||||
"categories": {{ post.categories | join: ', ' | jsonify }},
|
"categories": {{ post.categories | join: ', ' | jsonify }},
|
||||||
"tags": {{ post.tags | join: ', ' | jsonify }},
|
"tags": {{ post.tags | join: ', ' | jsonify }},
|
||||||
"date": "{{ post.date }}",
|
"date": {{ post.date | jsonify }},
|
||||||
"content": "{{ description }}"
|
"content": {% include post-description.html json=true %}
|
||||||
}{% unless forloop.last %},{% endunless %}
|
}{% unless forloop.last %},{% endunless %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,5 +1,11 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## [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))
|
||||||
|
|
||||||
## [7.3.0](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v7.2.4...v7.3.0) (2025-05-18)
|
## [7.3.0](https://github.com/cotes2020/jekyll-theme-chirpy/compare/v7.2.4...v7.3.0) (2025-05-18)
|
||||||
|
|
||||||
### Features
|
### Features
|
||||||
|
|||||||
@@ -1,5 +1,35 @@
|
|||||||
export default [
|
import { defineConfig, globalIgnores } from 'eslint/config';
|
||||||
|
import js from '@eslint/js';
|
||||||
|
import globals from 'globals';
|
||||||
|
|
||||||
|
export default defineConfig([
|
||||||
|
globalIgnores(['assets/*', 'node_modules/*', '_site/*']),
|
||||||
|
js.configs.recommended,
|
||||||
{
|
{
|
||||||
files: ['_javascript/**/*.js']
|
rules: {
|
||||||
|
semi: ['error', 'always'],
|
||||||
|
quotes: ['error', 'single']
|
||||||
|
},
|
||||||
|
languageOptions: {
|
||||||
|
globals: {
|
||||||
|
...globals.browser,
|
||||||
|
...globals.node
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
files: ['_javascript/**/*.js'],
|
||||||
|
languageOptions: {
|
||||||
|
globals: {
|
||||||
|
ClipboardJS: 'readonly',
|
||||||
|
GLightbox: 'readonly',
|
||||||
|
Theme: 'readonly',
|
||||||
|
dayjs: 'readonly',
|
||||||
|
mermaid: 'readonly',
|
||||||
|
tocbot: 'readonly',
|
||||||
|
importScripts: 'readonly',
|
||||||
|
swconf: 'readonly'
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
];
|
]);
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
Gem::Specification.new do |spec|
|
Gem::Specification.new do |spec|
|
||||||
spec.name = "jekyll-theme-chirpy"
|
spec.name = "jekyll-theme-chirpy"
|
||||||
spec.version = "7.3.0"
|
spec.version = "7.3.1"
|
||||||
spec.authors = ["Cotes Chung"]
|
spec.authors = ["Cotes Chung"]
|
||||||
spec.email = ["cotes.chung@gmail.com"]
|
spec.email = ["cotes.chung@gmail.com"]
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "jekyll-theme-chirpy",
|
"name": "jekyll-theme-chirpy",
|
||||||
"version": "7.3.0",
|
"version": "7.3.1",
|
||||||
"description": "A minimal, responsive, and feature-rich Jekyll theme for technical writing.",
|
"description": "A minimal, responsive, and feature-rich Jekyll theme for technical writing.",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
@@ -13,14 +13,16 @@
|
|||||||
"url": "https://github.com/cotes2020/jekyll-theme-chirpy/issues"
|
"url": "https://github.com/cotes2020/jekyll-theme-chirpy/issues"
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/cotes2020/jekyll-theme-chirpy/",
|
"homepage": "https://github.com/cotes2020/jekyll-theme-chirpy/",
|
||||||
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "concurrently npm:build:*",
|
"build": "concurrently npm:build:*",
|
||||||
"build:css": "node purgecss.js",
|
"build:css": "node purgecss.js",
|
||||||
"build:js": "rollup -c --bundleConfigAsCjs --environment BUILD:production",
|
"build:js": "rollup -c --bundleConfigAsCjs --environment BUILD:production",
|
||||||
"watch:js": "rollup -c --bundleConfigAsCjs -w",
|
"watch:js": "rollup -c --bundleConfigAsCjs -w",
|
||||||
|
"lint:js": "eslint",
|
||||||
"lint:scss": "stylelint _sass/**/*.scss",
|
"lint:scss": "stylelint _sass/**/*.scss",
|
||||||
"lint:fix:scss": "npm run lint:scss -- --fix",
|
"lint:fix:scss": "npm run lint:scss -- --fix",
|
||||||
"test": "npm run lint:scss",
|
"test": "npm run lint:js && npm run lint:scss",
|
||||||
"prepare": "husky"
|
"prepare": "husky"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -42,6 +44,8 @@
|
|||||||
"@semantic-release/git": "^10.0.1",
|
"@semantic-release/git": "^10.0.1",
|
||||||
"concurrently": "^9.1.2",
|
"concurrently": "^9.1.2",
|
||||||
"conventional-changelog-conventionalcommits": "^8.0.0",
|
"conventional-changelog-conventionalcommits": "^8.0.0",
|
||||||
|
"eslint": "^9.27.0",
|
||||||
|
"globals": "^16.1.0",
|
||||||
"husky": "^9.1.7",
|
"husky": "^9.1.7",
|
||||||
"purgecss": "^7.0.2",
|
"purgecss": "^7.0.2",
|
||||||
"rollup": "^4.41.0",
|
"rollup": "^4.41.0",
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
const fs = require('fs').promises;
|
import { promises as fs } from 'fs';
|
||||||
const { PurgeCSS } = require('purgecss');
|
import { PurgeCSS } from 'purgecss';
|
||||||
|
|
||||||
const DIST_PATH = '_sass/vendors';
|
const DIST_PATH = '_sass/vendors';
|
||||||
const output = `${DIST_PATH}/_bootstrap.scss`;
|
const output = `${DIST_PATH}/_bootstrap.scss`;
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ const DIST = 'assets/js/dist';
|
|||||||
const banner = `/*!
|
const banner = `/*!
|
||||||
* ${pkg.name} v${pkg.version} | © ${pkg.since} ${pkg.author} | ${pkg.license} Licensed | ${pkg.homepage}
|
* ${pkg.name} v${pkg.version} | © ${pkg.since} ${pkg.author} | ${pkg.license} Licensed | ${pkg.homepage}
|
||||||
*/`;
|
*/`;
|
||||||
const frontmatter = `---\npermalink: /:basename\n---\n`;
|
const frontmatter = '---\npermalink: /:basename\n---\n';
|
||||||
const isProd = process.env.BUILD === 'production';
|
const isProd = process.env.BUILD === 'production';
|
||||||
|
|
||||||
let hasWatched = false;
|
let hasWatched = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user