diff --git a/_config.yml b/_config.yml index d6f84c5..0a78679 100644 --- a/_config.yml +++ b/_config.yml @@ -213,7 +213,7 @@ exclude: - README.md - LICENSE - purgecss.js - - rollup.config.js + - "*.config.js" - "package*.json" jekyll-archives: diff --git a/_data/locales/ca-ES.yml b/_data/locales/ca-ES.yml new file mode 100644 index 0000000..e3d5b39 --- /dev/null +++ b/_data/locales/ca-ES.yml @@ -0,0 +1,84 @@ +# The layout text of site + +# ----- Commons label ----- + +layout: + post: Entrada + category: Categoria + tag: Etiqueta + +# The tabs of sidebar +tabs: + # format: : + 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 una nova versió de contingut disponible. + update: Actualitzar + +# ----- Posts related labels ----- + +post: + written_by: Per + posted: Publicat + updated: Actualitzat + words: paraules + pageview_measure: visites + read_time: + unit: min + prompt: " de lectura" + 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: , +df: + post: + strftime: "%Y/%m/%d" + dayjs: "YYYY/MM/DD" + +# categories page +categories: + category_measure: categories + post_measure: entrades diff --git a/_data/locales/fa-IR.yaml b/_data/locales/fa-IR.yaml new file mode 100644 index 0000000..d5c6e0e --- /dev/null +++ b/_data/locales/fa-IR.yaml @@ -0,0 +1,91 @@ +# The layout text of site + +# ----- Commons label ----- + +layout: + post: پست + category: دسته‌بندی + tag: برچسب + +# The tabs of sidebar +tabs: + # format: : + home: خانه + categories: دسته‌بندی‌ها + tags: برچسب‌ها + archives: آرشیو + about: درباره + +# the text displayed in the search bar & search results +search: + hint: جستجو + cancel: لغو + no_results: متأسفیم! هیچ نتیجه‌ای یافت نشد. + +panel: + lastmod: آخرین به‌روزرسانی + trending_tags: برچسب‌های پرطرفدار + toc: فهرست مطالب + +copyright: + # Shown at the bottom of the post + license: + template: این پست تحت مجوز :LICENSE_NAME توسط نویسنده منتشر شده است. + name: CC BY 4.0 + link: https://creativecommons.org/licenses/by/4.0/ + + # Displayed in the footer + brief: برخی حقوق محفوظ است. + verbose: >- + مگر اینکه خلاف آن ذکر شده باشد، پست‌های وبلاگ در این سایت + تحت مجوز Creative Commons Attribution 4.0 International (CC BY 4.0) توسط نویسنده منتشر شده‌اند. + +meta: با استفاده از :PLATFORM قالب :THEME + +not_found: + 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: , +df: + post: + strftime: "%b %e, %Y" + dayjs: "ll" + archives: + strftime: "%b" + dayjs: "MMM" + +# categories page +categories: + category_measure: + singular: دسته‌بندی + plural: دسته‌بندی‌ها + post_measure: + singular: پست + plural: پست‌ها diff --git a/_data/locales/ja-JP.yml b/_data/locales/ja-JP.yml new file mode 100644 index 0000000..8e016b9 --- /dev/null +++ b/_data/locales/ja-JP.yml @@ -0,0 +1,84 @@ +# The layout text of site + +# ----- Commons label ----- + +layout: + post: 投稿 + category: カテゴリー + tag: タグ + +# The tabs of sidebar +tabs: + # format: : + home: ホーム + categories: カテゴリー + tags: タグ + archives: アーカイブ + about: このサイトについて + +# the text displayed in the search bar & search results +search: + hint: 検索 + cancel: キャンセル + no_results: 該当なし + +panel: + lastmod: 最近更新された投稿 + trending_tags: トレンドのタグ + toc: コンテンツ + +copyright: + # Shown at the bottom of the post + license: + template: この投稿は投稿者によって :LICENSE_NAME の下でライセンスされています。 + name: CC BY 4.0 + link: https://creativecommons.org/licenses/by/4.0/ + + # Displayed in the footer + brief: 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: 更新 + +# ----- Posts related labels ----- + +post: + written_by: 投稿者 + posted: 投稿日 + updated: 更新日 + words: 語 + pageview_measure: 回閲覧 + read_time: + unit: 分 + prompt: で読めます + relate_posts: さらに読む + share: シェア + button: + next: 次 + previous: 前 + copy_code: + succeed: コピーしました + share_link: + title: リンクをコピー + succeed: リンクをコピーしました + +# Date time format. +# See: , +df: + post: + strftime: "%Y/%m/%d" + dayjs: "YYYY/MM/DD" + +# categories page +categories: + category_measure: カテゴリー + post_measure: 投稿 diff --git a/_data/locales/nl-NL.yml b/_data/locales/nl-NL.yml new file mode 100644 index 0000000..d7e8016 --- /dev/null +++ b/_data/locales/nl-NL.yml @@ -0,0 +1,90 @@ +# The layout text of site + +# ----- Commons label ----- + +layout: + post: Post + category: Categorie + tag: Tag + +# The tabs of sidebar +tabs: + # format: : + 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 versie van inhoud beschikbaar. + update: Update + +# ----- Posts related labels ----- +post: + written_by: Door + posted: Posted + updated: Bijgewerkt + words: woorden + pageview_measure: Gelezen + read_time: + unit: min + prompt: lees + 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: , +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 diff --git a/_data/share.yml b/_data/share.yml index 6f97568..edbc02b 100644 --- a/_data/share.yml +++ b/_data/share.yml @@ -18,7 +18,7 @@ platforms: # # - type: 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 # icon: "fab fa-weibo" diff --git a/_includes/head.html b/_includes/head.html index 4514666..e24384d 100644 --- a/_includes/head.html +++ b/_includes/head.html @@ -70,7 +70,7 @@ {% unless jekyll.environment == 'production' %} - + {% endunless %} diff --git a/_includes/js-selector.html b/_includes/js-selector.html index fd4acca..5a80532 100644 --- a/_includes/js-selector.html +++ b/_includes/js-selector.html @@ -66,7 +66,7 @@ {% if page.math %} - + {% endif %} diff --git a/_includes/no-linenos.html b/_includes/no-linenos.html deleted file mode 100644 index 8500693..0000000 --- a/_includes/no-linenos.html +++ /dev/null @@ -1,10 +0,0 @@ -{% comment %} - Remove the line number of the code snippet. -{% endcomment %} - -{% assign content = include.content %} - -{% if content contains '
' %}
-  {% assign content = content | replace: '
', '' %}
-{% endif %}
diff --git a/_includes/post-description.html b/_includes/post-description.html
index 6c40036..c00e516 100644
--- a/_includes/post-description.html
+++ b/_includes/post-description.html
@@ -8,8 +8,17 @@
 {%- if post.description -%}
   {{- post.description -}}
 {%- else -%}
-  {%- include no-linenos.html content=post.content -%}
-  {{- content | markdownify | strip_html -}}
+  {% comment %}
+    Remove the line number of the code snippet.
+  {% endcomment %}
+  {% assign content = post.content %}
+
+  {% if content contains '
' %}
+    {% assign content = content | replace: '
', '' %}
+  {% endif %}
+
+  {{- content | markdownify | strip_html | newline_to_br | replace: '
', ' ' | strip_newlines -}} {%- endif -%} {%- endcapture -%} diff --git a/_includes/refactor-content.html b/_includes/refactor-content.html index 8d298cd..4586f5c 100644 --- a/_includes/refactor-content.html +++ b/_includes/refactor-content.html @@ -88,9 +88,41 @@ {% endfor %} + {% assign _wrapper_class = '' %} + {% if _class %} - {% capture _old_class %}class="{{ _class }}"{% endcapture %} - {% assign _left = _left | remove: _old_class %} + {% assign _remain = _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 %} {% assign _final_src = null %} @@ -110,7 +142,7 @@ {% if _lqip %} {% assign _lazyload = false %} - {% assign _class = _class | append: ' blur' %} + {% assign _wrapper_class = _wrapper_class | append: ' blur' %} {% unless _lqip contains 'data:' %} {% assign _lqip_alt = 'lqip="' | append: _path_prefix %} @@ -121,7 +153,7 @@ {% assign _left = _left | replace: 'src=', 'data-src=' | replace: ' lqip=', ' data-lqip="true" src=' %} {% else %} - {% assign _class = _class | append: ' shimmer' %} + {% assign _wrapper_class = _wrapper_class | append: ' shimmer' %} {% endif %} @@ -153,8 +185,8 @@ {% assign _wrapper_start = _final_src | default: _src | prepend: '' %} diff --git a/_includes/search-loader.html b/_includes/search-loader.html index 7fd065d..5a43fba 100644 --- a/_includes/search-loader.html +++ b/_includes/search-loader.html @@ -12,7 +12,7 @@ {tags} -

{snippet}

+

{content}

{% endcapture %} diff --git a/_includes/search-results.html b/_includes/search-results.html index 00a3182..04a1030 100644 --- a/_includes/search-results.html +++ b/_includes/search-results.html @@ -3,7 +3,7 @@
- {% include_cached trending-tags.html %} + {% include_cached trending-tags.html lang=include.lang %}
diff --git a/_includes/topbar.html b/_includes/topbar.html index fd68d1f..735f1d1 100644 --- a/_includes/topbar.html +++ b/_includes/topbar.html @@ -1,6 +1,6 @@ -
+
- @@ -55,7 +55,7 @@ {% endif %}
- diff --git a/_javascript/modules/theme.js b/_javascript/theme.js similarity index 95% rename from _javascript/modules/theme.js rename to _javascript/theme.js index f9ebf20..49e4e89 100644 --- a/_javascript/modules/theme.js +++ b/_javascript/theme.js @@ -39,7 +39,10 @@ class Theme { } static get #mode() { - return sessionStorage.getItem(this.#modeKey); + return ( + sessionStorage.getItem(this.#modeKey) || + document.documentElement.getAttribute(this.#modeAttr) + ); } static get #isDarkMode() { diff --git a/_posts/2019-08-08-write-a-new-post.md b/_posts/2019-08-08-write-a-new-post.md index 085e7d6..1020165 100644 --- a/_posts/2019-08-08-write-a-new-post.md +++ b/_posts/2019-08-08-write-a-new-post.md @@ -21,7 +21,7 @@ Basically, you need to fill the [Front Matter](https://jekyllrb.com/docs/front-m --- title: TITLE date: YYYY-MM-DD HH:MM:SS +/-TTTT -categories: [TOP_CATEGORIE, SUB_CATEGORIE] +categories: [TOP_CATEGORY, SUB_CATEGORY] tags: [TAG] # TAG names should always be lowercase --- ``` diff --git a/_posts/2019-08-09-getting-started.md b/_posts/2019-08-09-getting-started.md index 2681126..7138393 100644 --- a/_posts/2019-08-09-getting-started.md +++ b/_posts/2019-08-09-getting-started.md @@ -68,7 +68,7 @@ For Unix-like systems, you can set up the environment natively for optimal perfo To run the site locally, use the following command: ```terminal -$ bundle exec jekyll s +$ bundle exec jekyll serve ``` > If you are using Dev Containers, you must run that command in the **VS Code** Terminal. diff --git a/_sass/abstracts/_placeholders.scss b/_sass/abstracts/_placeholders.scss index 9a2b8ac..d8a1060 100644 --- a/_sass/abstracts/_placeholders.scss +++ b/_sass/abstracts/_placeholders.scss @@ -31,7 +31,10 @@ } %tag-hover { + @extend %link-color; + background: var(--tag-hover); + border-color: var(--tag-hover); transition: background 0.35s ease-in-out; } diff --git a/_sass/pages/_post.scss b/_sass/pages/_post.scss index 12a301f..2cd3eee 100644 --- a/_sass/pages/_post.scss +++ b/_sass/pages/_post.scss @@ -143,9 +143,7 @@ header { .post-tag { &:hover { - @extend %link-hover; @extend %tag-hover; - @extend %no-bottom-border; } } } diff --git a/assets/404.html b/assets/404.html index af89d6d..cb129c0 100644 --- a/assets/404.html +++ b/assets/404.html @@ -2,13 +2,8 @@ layout: page title: "404: Page not found" permalink: /404.html - -redirect_from: - - /norobots/ - - /assets/ - - /posts/ --- {% include lang.html %} -

{{ site.data.locales[lang].not_found.statement }}

+

{{ site.data.locales[lang].not_found.statement }}

\ No newline at end of file diff --git a/assets/css/jekyll-theme-chirpy.scss b/assets/css/jekyll-theme-chirpy.scss index 7ff89bf..ff1f01c 100644 --- a/assets/css/jekyll-theme-chirpy.scss +++ b/assets/css/jekyll-theme-chirpy.scss @@ -1,6 +1,7 @@ --- --- +/* prettier-ignore */ @use 'main {%- if jekyll.environment == 'production' -%} .bundle diff --git a/assets/js/data/search.json b/assets/js/data/search.json index 2601ed0..32bcff9 100644 --- a/assets/js/data/search.json +++ b/assets/js/data/search.json @@ -5,16 +5,16 @@ swcache: true [ {% for post in site.posts %} + {%- capture description -%} + {% include post-description.html %} + {%- endcapture -%} { "title": {{ post.title | jsonify }}, "url": {{ post.url | relative_url | jsonify }}, "categories": {{ post.categories | join: ', ' | jsonify }}, "tags": {{ post.tags | join: ', ' | jsonify }}, "date": "{{ post.date }}", - {% include no-linenos.html content=post.content %} - {% assign _content = content | strip_html | strip_newlines %} - "snippet": {{ _content | truncate: 200 | jsonify }}, - "content": {{ _content | jsonify }} + "content": "{{ description }}" }{% unless forloop.last %},{% endunless %} {% endfor %} ] diff --git a/assets/lib b/assets/lib index b9e18a1..02f4ada 160000 --- a/assets/lib +++ b/assets/lib @@ -1 +1 @@ -Subproject commit b9e18a1510e3be5de250ed34205da318b76474e0 +Subproject commit 02f4ada65dc75197654c3265a37a6f5fbc39f17c diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..c8f6d53 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,5 @@ +export default [ + { + files: ['_javascript/**/*.js'] + } +]; diff --git a/jekyll-theme-chirpy.gemspec b/jekyll-theme-chirpy.gemspec index e3ad5d6..969e4d0 100644 --- a/jekyll-theme-chirpy.gemspec +++ b/jekyll-theme-chirpy.gemspec @@ -27,7 +27,6 @@ Gem::Specification.new do |spec| spec.add_runtime_dependency "jekyll", "~> 4.3" spec.add_runtime_dependency "jekyll-paginate", "~> 1.1" - spec.add_runtime_dependency "jekyll-redirect-from", "~> 0.16" spec.add_runtime_dependency "jekyll-seo-tag", "~> 2.8" spec.add_runtime_dependency "jekyll-archives", "~> 2.2" spec.add_runtime_dependency "jekyll-sitemap", "~> 1.4" diff --git a/package.json b/package.json index 3fc089c..8e2232c 100644 --- a/package.json +++ b/package.json @@ -25,29 +25,29 @@ }, "dependencies": { "@popperjs/core": "^2.11.8", - "bootstrap": "^5.3.3" + "bootstrap": "^5.3.6" }, "devDependencies": { - "@babel/core": "^7.26.0", - "@babel/plugin-transform-class-properties": "^7.25.9", - "@babel/plugin-transform-private-methods": "^7.25.9", - "@babel/preset-env": "^7.26.0", - "@commitlint/cli": "^19.6.0", - "@commitlint/config-conventional": "^19.6.0", + "@babel/core": "^7.27.1", + "@babel/plugin-transform-class-properties": "^7.27.1", + "@babel/plugin-transform-private-methods": "^7.27.1", + "@babel/preset-env": "^7.27.2", + "@commitlint/cli": "^19.8.1", + "@commitlint/config-conventional": "^19.8.1", "@rollup/plugin-babel": "^6.0.4", - "@rollup/plugin-node-resolve": "^15.3.0", + "@rollup/plugin-node-resolve": "^16.0.1", "@rollup/plugin-terser": "^0.4.4", "@semantic-release/changelog": "^6.0.3", - "@semantic-release/exec": "^6.0.3", + "@semantic-release/exec": "^7.1.0", "@semantic-release/git": "^10.0.1", - "concurrently": "^9.1.0", + "concurrently": "^9.1.2", "conventional-changelog-conventionalcommits": "^8.0.0", "husky": "^9.1.7", "purgecss": "^7.0.2", - "rollup": "^4.27.4", - "semantic-release": "^24.2.0", - "stylelint": "^16.10.0", - "stylelint-config-standard-scss": "^13.1.0" + "rollup": "^4.41.0", + "semantic-release": "^24.2.4", + "stylelint": "^16.19.1", + "stylelint-config-standard-scss": "^15.0.1" }, "prettier": { "trailingComma": "none" diff --git a/rollup.config.js b/rollup.config.js index 0e8a6c7..d9322f8 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -80,7 +80,7 @@ export default [ build('page'), build('post'), build('misc'), - build('theme', { src: `${SRC_DEFAULT}/modules`, outputName: 'Theme' }), + build('theme', { outputName: 'Theme' }), build('app', { src: SRC_PWA, jekyll: true }), build('sw', { src: SRC_PWA, jekyll: true }) ];