From 8898bb599740c64ca6d8c91bd51da0dc6d9cc674 Mon Sep 17 00:00:00 2001 From: neveler <55753029+neveler@users.noreply.github.com> Date: Sun, 7 Jun 2026 17:31:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=80=E7=A7=8D=E6=96=B0?= =?UTF-8?q?=E7=9A=84=20frontmatter=20=E6=A0=BC=E5=BC=8F=20(#466)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _plugins/front_matter_enhancer.rb | 13 +++++++++++++ ...ilter-version-sort.rb => version_sort_filter.rb} | 0 assets/css/main.scss | 4 ++-- assets/css/skins/air.scss | 4 ++-- assets/css/skins/aqua.scss | 4 ++-- assets/css/skins/catppuccin_latte.scss | 4 ++-- assets/css/skins/catppuccin_mocha.scss | 4 ++-- assets/css/skins/contrast.scss | 4 ++-- assets/css/skins/dark.scss | 4 ++-- assets/css/skins/default.scss | 4 ++-- assets/css/skins/dirt.scss | 4 ++-- assets/css/skins/mint.scss | 4 ++-- assets/css/skins/neon.scss | 4 ++-- assets/css/skins/plum.scss | 4 ++-- assets/css/skins/sunrise.scss | 4 ++-- assets/js/settings.js | 5 +++-- assets/js/theme.js | 5 +++-- 17 files changed, 45 insertions(+), 30 deletions(-) create mode 100644 _plugins/front_matter_enhancer.rb rename _plugins/{filter-version-sort.rb => version_sort_filter.rb} (100%) diff --git a/_plugins/front_matter_enhancer.rb b/_plugins/front_matter_enhancer.rb new file mode 100644 index 0000000..8371504 --- /dev/null +++ b/_plugins/front_matter_enhancer.rb @@ -0,0 +1,13 @@ +module Jekyll + class Document + YAML_FRONT_MATTER_REGEXP = %r!\A(?:---|/\* @frontmatter)\s*\n(.*?\n?)^((?:---|\*/|\.\.\.)\s*$\n?)!m.freeze + end + + module Utils + def has_yaml_header?(file) + File.open(file, "rb", &:readline).match? %r!\A(---|/\* @frontmatter)\s*\r?\n! + rescue EOFError + false + end + end +end diff --git a/_plugins/filter-version-sort.rb b/_plugins/version_sort_filter.rb similarity index 100% rename from _plugins/filter-version-sort.rb rename to _plugins/version_sort_filter.rb diff --git a/assets/css/main.scss b/assets/css/main.scss index 0f4452f..68632f5 100644 --- a/assets/css/main.scss +++ b/assets/css/main.scss @@ -1,5 +1,5 @@ ---- ---- +/* @frontmatter +*/ @charset "utf-8"; diff --git a/assets/css/skins/air.scss b/assets/css/skins/air.scss index 581fb34..9d3cfd1 100644 --- a/assets/css/skins/air.scss +++ b/assets/css/skins/air.scss @@ -1,5 +1,5 @@ ---- ---- +/* @frontmatter +*/ @charset "utf-8"; diff --git a/assets/css/skins/aqua.scss b/assets/css/skins/aqua.scss index 2a03a4d..c608933 100644 --- a/assets/css/skins/aqua.scss +++ b/assets/css/skins/aqua.scss @@ -1,5 +1,5 @@ ---- ---- +/* @frontmatter +*/ @charset "utf-8"; diff --git a/assets/css/skins/catppuccin_latte.scss b/assets/css/skins/catppuccin_latte.scss index 59b9147..d2d6dfc 100644 --- a/assets/css/skins/catppuccin_latte.scss +++ b/assets/css/skins/catppuccin_latte.scss @@ -1,5 +1,5 @@ ---- ---- +/* @frontmatter +*/ @charset "utf-8"; diff --git a/assets/css/skins/catppuccin_mocha.scss b/assets/css/skins/catppuccin_mocha.scss index 8af2421..6afdb85 100644 --- a/assets/css/skins/catppuccin_mocha.scss +++ b/assets/css/skins/catppuccin_mocha.scss @@ -1,5 +1,5 @@ ---- ---- +/* @frontmatter +*/ @charset "utf-8"; diff --git a/assets/css/skins/contrast.scss b/assets/css/skins/contrast.scss index 474cc29..481f658 100644 --- a/assets/css/skins/contrast.scss +++ b/assets/css/skins/contrast.scss @@ -1,5 +1,5 @@ ---- ---- +/* @frontmatter +*/ @charset "utf-8"; diff --git a/assets/css/skins/dark.scss b/assets/css/skins/dark.scss index b7bb9c2..d99491b 100644 --- a/assets/css/skins/dark.scss +++ b/assets/css/skins/dark.scss @@ -1,5 +1,5 @@ ---- ---- +/* @frontmatter +*/ @charset "utf-8"; diff --git a/assets/css/skins/default.scss b/assets/css/skins/default.scss index a845151..4b4fe16 100644 --- a/assets/css/skins/default.scss +++ b/assets/css/skins/default.scss @@ -1,2 +1,2 @@ ---- ---- +/* @frontmatter +*/ diff --git a/assets/css/skins/dirt.scss b/assets/css/skins/dirt.scss index 1b711f5..ab1fd62 100644 --- a/assets/css/skins/dirt.scss +++ b/assets/css/skins/dirt.scss @@ -1,5 +1,5 @@ ---- ---- +/* @frontmatter +*/ @charset "utf-8"; diff --git a/assets/css/skins/mint.scss b/assets/css/skins/mint.scss index 7385126..51c6053 100644 --- a/assets/css/skins/mint.scss +++ b/assets/css/skins/mint.scss @@ -1,5 +1,5 @@ ---- ---- +/* @frontmatter +*/ @charset "utf-8"; diff --git a/assets/css/skins/neon.scss b/assets/css/skins/neon.scss index 4ba4097..f592f39 100644 --- a/assets/css/skins/neon.scss +++ b/assets/css/skins/neon.scss @@ -1,5 +1,5 @@ ---- ---- +/* @frontmatter +*/ @charset "utf-8"; diff --git a/assets/css/skins/plum.scss b/assets/css/skins/plum.scss index b40391c..626b676 100644 --- a/assets/css/skins/plum.scss +++ b/assets/css/skins/plum.scss @@ -1,5 +1,5 @@ ---- ---- +/* @frontmatter +*/ @charset "utf-8"; diff --git a/assets/css/skins/sunrise.scss b/assets/css/skins/sunrise.scss index 9c33069..9eeb97b 100644 --- a/assets/css/skins/sunrise.scss +++ b/assets/css/skins/sunrise.scss @@ -1,5 +1,5 @@ ---- ---- +/* @frontmatter +*/ @charset "utf-8"; diff --git a/assets/js/settings.js b/assets/js/settings.js index b4674c3..bea54ee 100644 --- a/assets/js/settings.js +++ b/assets/js/settings.js @@ -1,6 +1,7 @@ ---- +/* @frontmatter layout: null ---- +*/ + (function () { const PREFIX = "HMCL_DOCS_SETTINGS_", data = {}, bus = new EventTarget(), configs = /*{%comment%}*/{}/*{%endcomment%}*/ /**{{'/'}}{{ site.data.settings | jsonify }}/**/; window.addEventListener("storage", ({ key, newValue }) => key !== null && key.startsWith(PREFIX) && newValue !== data[key] && bus.dispatchEvent(new CustomEvent(key, { detail: (data[key] = newValue) }))); diff --git a/assets/js/theme.js b/assets/js/theme.js index 6cece47..a8616d6 100644 --- a/assets/js/theme.js +++ b/assets/js/theme.js @@ -1,6 +1,7 @@ ---- +/* @frontmatter layout: null ---- +*/ + window.addEventListener("DOMContentLoaded", function () { var skinLink = document.getElementById("skin"); var darkModeQuery = window.matchMedia("(prefers-color-scheme: dark)");