From 20c0997cc56fd39fe3126dcb76c6bd536b843c98 Mon Sep 17 00:00:00 2001 From: Cell <1024@lruihao.cn> Date: Thu, 16 Jul 2026 00:08:08 +0800 Subject: [PATCH] fix(assets): restructure SCSS pages directory and fix positioning issues - Restructure SCSS pages directory and rename shared to content - Ensure hr overflow visible for awesome-hr icon - Restore position relative on .page for absolute children --- assets/scss/archives.scss | 3 -- .../{pages/shared => content}/_alert.scss | 0 .../scss/{pages/shared => content}/_code.scss | 0 .../{pages/shared => content}/_content.scss | 0 .../shared => content}/_copy-icon-btn.scss | 0 .../shared => content}/_fixit-decryptor.scss | 0 .../{pages/shared => content}/_index.scss | 1 - .../{pages/shared => content}/_patch.scss | 0 .../shared => content}/code-syntax/_dark.scss | 0 .../code-syntax/_index.scss | 0 .../code-syntax/_light.scss | 0 .../shortcodes/_admonition.scss | 0 .../shortcodes/_bluesky.scss | 0 .../shortcodes/_cardlink.scss | 0 .../shortcodes/_center-quote.scss | 0 .../shortcodes/_douyin.scss | 0 .../shortcodes/_echarts.scss | 0 .../shortcodes/_file-tree.scss | 0 .../shared => content}/shortcodes/_gist.scss | 0 .../shared => content}/shortcodes/_index.scss | 0 .../shortcodes/_mapbox.scss | 0 .../shortcodes/_mermaid.scss | 0 .../shortcodes/_reward.scss | 0 .../shared => content}/shortcodes/_tabs.scss | 0 .../shortcodes/_timeline.scss | 0 assets/scss/core/_reboot.scss | 2 + assets/scss/core/layouts/_index.scss | 2 +- assets/scss/core/layouts/_page-style.scss | 24 --------- .../{pages/shared => core/layouts}/_page.scss | 24 +++++++++ assets/scss/core/layouts/_wrapper.scss | 4 +- assets/scss/friends.scss | 3 -- assets/scss/home.scss | 3 -- assets/scss/link.scss | 3 -- assets/scss/main.scss | 2 +- assets/scss/pages/_index.scss | 1 - .../{_friends.scss => friends/_index.scss} | 0 .../pages/{_home.scss => home/_index.scss} | 0 .../pages/{_link.scss => link/_index.scss} | 0 .../{_search.scss => search/_index.scss} | 0 assets/scss/posts.scss | 3 -- assets/scss/search.scss | 3 -- layouts/_partials/base/head/css.html | 49 +++++++++++-------- .../_partials/init/detection-deprecated.html | 10 ++-- layouts/_partials/init/index.html | 2 +- 44 files changed, 64 insertions(+), 75 deletions(-) delete mode 100644 assets/scss/archives.scss rename assets/scss/{pages/shared => content}/_alert.scss (100%) rename assets/scss/{pages/shared => content}/_code.scss (100%) rename assets/scss/{pages/shared => content}/_content.scss (100%) rename assets/scss/{pages/shared => content}/_copy-icon-btn.scss (100%) rename assets/scss/{pages/shared => content}/_fixit-decryptor.scss (100%) rename assets/scss/{pages/shared => content}/_index.scss (87%) rename assets/scss/{pages/shared => content}/_patch.scss (100%) rename assets/scss/{pages/shared => content}/code-syntax/_dark.scss (100%) rename assets/scss/{pages/shared => content}/code-syntax/_index.scss (100%) rename assets/scss/{pages/shared => content}/code-syntax/_light.scss (100%) rename assets/scss/{pages/shared => content}/shortcodes/_admonition.scss (100%) rename assets/scss/{pages/shared => content}/shortcodes/_bluesky.scss (100%) rename assets/scss/{pages/shared => content}/shortcodes/_cardlink.scss (100%) rename assets/scss/{pages/shared => content}/shortcodes/_center-quote.scss (100%) rename assets/scss/{pages/shared => content}/shortcodes/_douyin.scss (100%) rename assets/scss/{pages/shared => content}/shortcodes/_echarts.scss (100%) rename assets/scss/{pages/shared => content}/shortcodes/_file-tree.scss (100%) rename assets/scss/{pages/shared => content}/shortcodes/_gist.scss (100%) rename assets/scss/{pages/shared => content}/shortcodes/_index.scss (100%) rename assets/scss/{pages/shared => content}/shortcodes/_mapbox.scss (100%) rename assets/scss/{pages/shared => content}/shortcodes/_mermaid.scss (100%) rename assets/scss/{pages/shared => content}/shortcodes/_reward.scss (100%) rename assets/scss/{pages/shared => content}/shortcodes/_tabs.scss (100%) rename assets/scss/{pages/shared => content}/shortcodes/_timeline.scss (100%) delete mode 100644 assets/scss/core/layouts/_page-style.scss rename assets/scss/{pages/shared => core/layouts}/_page.scss (78%) delete mode 100644 assets/scss/friends.scss delete mode 100644 assets/scss/home.scss delete mode 100644 assets/scss/link.scss delete mode 100644 assets/scss/pages/_index.scss rename assets/scss/pages/{_friends.scss => friends/_index.scss} (100%) rename assets/scss/pages/{_home.scss => home/_index.scss} (100%) rename assets/scss/pages/{_link.scss => link/_index.scss} (100%) rename assets/scss/pages/{_search.scss => search/_index.scss} (100%) delete mode 100644 assets/scss/posts.scss delete mode 100644 assets/scss/search.scss diff --git a/assets/scss/archives.scss b/assets/scss/archives.scss deleted file mode 100644 index 4e54ff2f..00000000 --- a/assets/scss/archives.scss +++ /dev/null @@ -1,3 +0,0 @@ -@charset "utf-8"; - -@use "pages/archives"; diff --git a/assets/scss/pages/shared/_alert.scss b/assets/scss/content/_alert.scss similarity index 100% rename from assets/scss/pages/shared/_alert.scss rename to assets/scss/content/_alert.scss diff --git a/assets/scss/pages/shared/_code.scss b/assets/scss/content/_code.scss similarity index 100% rename from assets/scss/pages/shared/_code.scss rename to assets/scss/content/_code.scss diff --git a/assets/scss/pages/shared/_content.scss b/assets/scss/content/_content.scss similarity index 100% rename from assets/scss/pages/shared/_content.scss rename to assets/scss/content/_content.scss diff --git a/assets/scss/pages/shared/_copy-icon-btn.scss b/assets/scss/content/_copy-icon-btn.scss similarity index 100% rename from assets/scss/pages/shared/_copy-icon-btn.scss rename to assets/scss/content/_copy-icon-btn.scss diff --git a/assets/scss/pages/shared/_fixit-decryptor.scss b/assets/scss/content/_fixit-decryptor.scss similarity index 100% rename from assets/scss/pages/shared/_fixit-decryptor.scss rename to assets/scss/content/_fixit-decryptor.scss diff --git a/assets/scss/pages/shared/_index.scss b/assets/scss/content/_index.scss similarity index 87% rename from assets/scss/pages/shared/_index.scss rename to assets/scss/content/_index.scss index ec14146e..5a925c9a 100644 --- a/assets/scss/pages/shared/_index.scss +++ b/assets/scss/content/_index.scss @@ -3,5 +3,4 @@ @forward "code"; @forward "content"; @forward "fixit-decryptor"; -@forward "page"; @forward "patch"; diff --git a/assets/scss/pages/shared/_patch.scss b/assets/scss/content/_patch.scss similarity index 100% rename from assets/scss/pages/shared/_patch.scss rename to assets/scss/content/_patch.scss diff --git a/assets/scss/pages/shared/code-syntax/_dark.scss b/assets/scss/content/code-syntax/_dark.scss similarity index 100% rename from assets/scss/pages/shared/code-syntax/_dark.scss rename to assets/scss/content/code-syntax/_dark.scss diff --git a/assets/scss/pages/shared/code-syntax/_index.scss b/assets/scss/content/code-syntax/_index.scss similarity index 100% rename from assets/scss/pages/shared/code-syntax/_index.scss rename to assets/scss/content/code-syntax/_index.scss diff --git a/assets/scss/pages/shared/code-syntax/_light.scss b/assets/scss/content/code-syntax/_light.scss similarity index 100% rename from assets/scss/pages/shared/code-syntax/_light.scss rename to assets/scss/content/code-syntax/_light.scss diff --git a/assets/scss/pages/shared/shortcodes/_admonition.scss b/assets/scss/content/shortcodes/_admonition.scss similarity index 100% rename from assets/scss/pages/shared/shortcodes/_admonition.scss rename to assets/scss/content/shortcodes/_admonition.scss diff --git a/assets/scss/pages/shared/shortcodes/_bluesky.scss b/assets/scss/content/shortcodes/_bluesky.scss similarity index 100% rename from assets/scss/pages/shared/shortcodes/_bluesky.scss rename to assets/scss/content/shortcodes/_bluesky.scss diff --git a/assets/scss/pages/shared/shortcodes/_cardlink.scss b/assets/scss/content/shortcodes/_cardlink.scss similarity index 100% rename from assets/scss/pages/shared/shortcodes/_cardlink.scss rename to assets/scss/content/shortcodes/_cardlink.scss diff --git a/assets/scss/pages/shared/shortcodes/_center-quote.scss b/assets/scss/content/shortcodes/_center-quote.scss similarity index 100% rename from assets/scss/pages/shared/shortcodes/_center-quote.scss rename to assets/scss/content/shortcodes/_center-quote.scss diff --git a/assets/scss/pages/shared/shortcodes/_douyin.scss b/assets/scss/content/shortcodes/_douyin.scss similarity index 100% rename from assets/scss/pages/shared/shortcodes/_douyin.scss rename to assets/scss/content/shortcodes/_douyin.scss diff --git a/assets/scss/pages/shared/shortcodes/_echarts.scss b/assets/scss/content/shortcodes/_echarts.scss similarity index 100% rename from assets/scss/pages/shared/shortcodes/_echarts.scss rename to assets/scss/content/shortcodes/_echarts.scss diff --git a/assets/scss/pages/shared/shortcodes/_file-tree.scss b/assets/scss/content/shortcodes/_file-tree.scss similarity index 100% rename from assets/scss/pages/shared/shortcodes/_file-tree.scss rename to assets/scss/content/shortcodes/_file-tree.scss diff --git a/assets/scss/pages/shared/shortcodes/_gist.scss b/assets/scss/content/shortcodes/_gist.scss similarity index 100% rename from assets/scss/pages/shared/shortcodes/_gist.scss rename to assets/scss/content/shortcodes/_gist.scss diff --git a/assets/scss/pages/shared/shortcodes/_index.scss b/assets/scss/content/shortcodes/_index.scss similarity index 100% rename from assets/scss/pages/shared/shortcodes/_index.scss rename to assets/scss/content/shortcodes/_index.scss diff --git a/assets/scss/pages/shared/shortcodes/_mapbox.scss b/assets/scss/content/shortcodes/_mapbox.scss similarity index 100% rename from assets/scss/pages/shared/shortcodes/_mapbox.scss rename to assets/scss/content/shortcodes/_mapbox.scss diff --git a/assets/scss/pages/shared/shortcodes/_mermaid.scss b/assets/scss/content/shortcodes/_mermaid.scss similarity index 100% rename from assets/scss/pages/shared/shortcodes/_mermaid.scss rename to assets/scss/content/shortcodes/_mermaid.scss diff --git a/assets/scss/pages/shared/shortcodes/_reward.scss b/assets/scss/content/shortcodes/_reward.scss similarity index 100% rename from assets/scss/pages/shared/shortcodes/_reward.scss rename to assets/scss/content/shortcodes/_reward.scss diff --git a/assets/scss/pages/shared/shortcodes/_tabs.scss b/assets/scss/content/shortcodes/_tabs.scss similarity index 100% rename from assets/scss/pages/shared/shortcodes/_tabs.scss rename to assets/scss/content/shortcodes/_tabs.scss diff --git a/assets/scss/pages/shared/shortcodes/_timeline.scss b/assets/scss/content/shortcodes/_timeline.scss similarity index 100% rename from assets/scss/pages/shared/shortcodes/_timeline.scss rename to assets/scss/content/shortcodes/_timeline.scss diff --git a/assets/scss/core/_reboot.scss b/assets/scss/core/_reboot.scss index 43a40b3a..f5da39b4 100644 --- a/assets/scss/core/_reboot.scss +++ b/assets/scss/core/_reboot.scss @@ -53,10 +53,12 @@ h1 { } // 1. Add the correct box sizing in Firefox. +// 2. Ensure `::before` pseudo-element (e.g. awesome-hr icon) is not clipped. hr { box-sizing: content-box; // 1 height: 0; // 1 + overflow: visible; // 2 } // 1. Correct the inheritance and scaling of font size in all browsers. diff --git a/assets/scss/core/layouts/_index.scss b/assets/scss/core/layouts/_index.scss index 18a312ec..c56f35a4 100644 --- a/assets/scss/core/layouts/_index.scss +++ b/assets/scss/core/layouts/_index.scss @@ -1,7 +1,7 @@ @use "wrapper"; @use "header"; -@use "page-style"; @use "breadcrumb"; +@use "page"; @use "pagination"; @use "comment"; @use "footer"; diff --git a/assets/scss/core/layouts/_page-style.scss b/assets/scss/core/layouts/_page-style.scss deleted file mode 100644 index 2d235c2d..00000000 --- a/assets/scss/core/layouts/_page-style.scss +++ /dev/null @@ -1,24 +0,0 @@ -@use "core/mixins" as *; - -@include page-style; - -@include page-style('wide') { - @include media('xl') { - width: ROUND(64%, 2px); - max-width: 1600px; - } - - @include media('lg') { - width: ROUND(60%, 2px); - } - - @include media('md') { - width: ROUND(56%, 2px); - } -} - -@include page-style('narrow') { - @include media('xl') { - max-width: 800px; - } -} diff --git a/assets/scss/pages/shared/_page.scss b/assets/scss/core/layouts/_page.scss similarity index 78% rename from assets/scss/pages/shared/_page.scss rename to assets/scss/core/layouts/_page.scss index a49e7519..89f32d78 100644 --- a/assets/scss/pages/shared/_page.scss +++ b/assets/scss/core/layouts/_page.scss @@ -2,6 +2,7 @@ @use "core/mixins" as *; .page { + position: relative; padding-inline: 0.5rem; box-sizing: border-box; @@ -40,3 +41,26 @@ padding-top: 0 !important; } } + +@include page-style; + +@include page-style('wide') { + @include media('xl') { + width: ROUND(64%, 2px); + max-width: 1600px; + } + + @include media('lg') { + width: ROUND(60%, 2px); + } + + @include media('md') { + width: ROUND(56%, 2px); + } +} + +@include page-style('narrow') { + @include media('xl') { + max-width: 800px; + } +} diff --git a/assets/scss/core/layouts/_wrapper.scss b/assets/scss/core/layouts/_wrapper.scss index ea688d06..c92ec157 100644 --- a/assets/scss/core/layouts/_wrapper.scss +++ b/assets/scss/core/layouts/_wrapper.scss @@ -16,7 +16,7 @@ padding: 0.5rem; max-width: 500px; - &:not(:has(~ aside)) { + &:first-of-type:not(:has(~ aside)) { display: none; } @@ -48,7 +48,7 @@ aside:first-child:not(:empty) ~ aside#toc-auto:empty { display: none; } - + aside:first-child:empty:has(~ aside:not(:empty)) ~ article, aside:first-child:not(:empty) ~ article:has(~ aside:empty) { flex: 3; diff --git a/assets/scss/friends.scss b/assets/scss/friends.scss deleted file mode 100644 index 25e13004..00000000 --- a/assets/scss/friends.scss +++ /dev/null @@ -1,3 +0,0 @@ -@charset "utf-8"; - -@use "pages/friends"; diff --git a/assets/scss/home.scss b/assets/scss/home.scss deleted file mode 100644 index 084de0df..00000000 --- a/assets/scss/home.scss +++ /dev/null @@ -1,3 +0,0 @@ -@charset "utf-8"; - -@use "pages/home"; diff --git a/assets/scss/link.scss b/assets/scss/link.scss deleted file mode 100644 index 61eaac51..00000000 --- a/assets/scss/link.scss +++ /dev/null @@ -1,3 +0,0 @@ -@charset "utf-8"; - -@use "pages/link"; diff --git a/assets/scss/main.scss b/assets/scss/main.scss index 19a88eda..2331e220 100644 --- a/assets/scss/main.scss +++ b/assets/scss/main.scss @@ -1,5 +1,5 @@ @charset "utf-8"; @use "core"; -@use "pages"; +@use "content"; @use "widgets"; diff --git a/assets/scss/pages/_index.scss b/assets/scss/pages/_index.scss deleted file mode 100644 index 8594dc21..00000000 --- a/assets/scss/pages/_index.scss +++ /dev/null @@ -1 +0,0 @@ -@use "shared"; diff --git a/assets/scss/pages/_friends.scss b/assets/scss/pages/friends/_index.scss similarity index 100% rename from assets/scss/pages/_friends.scss rename to assets/scss/pages/friends/_index.scss diff --git a/assets/scss/pages/_home.scss b/assets/scss/pages/home/_index.scss similarity index 100% rename from assets/scss/pages/_home.scss rename to assets/scss/pages/home/_index.scss diff --git a/assets/scss/pages/_link.scss b/assets/scss/pages/link/_index.scss similarity index 100% rename from assets/scss/pages/_link.scss rename to assets/scss/pages/link/_index.scss diff --git a/assets/scss/pages/_search.scss b/assets/scss/pages/search/_index.scss similarity index 100% rename from assets/scss/pages/_search.scss rename to assets/scss/pages/search/_index.scss diff --git a/assets/scss/posts.scss b/assets/scss/posts.scss deleted file mode 100644 index 93206d6b..00000000 --- a/assets/scss/posts.scss +++ /dev/null @@ -1,3 +0,0 @@ -@charset "utf-8"; - -@use "pages/posts"; diff --git a/assets/scss/search.scss b/assets/scss/search.scss deleted file mode 100644 index d87ff8e5..00000000 --- a/assets/scss/search.scss +++ /dev/null @@ -1,3 +0,0 @@ -@charset "utf-8"; - -@use "pages/search"; diff --git a/layouts/_partials/base/head/css.html b/layouts/_partials/base/head/css.html index 1b904315..6f9e7288 100644 --- a/layouts/_partials/base/head/css.html +++ b/layouts/_partials/base/head/css.html @@ -24,28 +24,35 @@ {{- dict "Resource" $mainCSS | partial "plugin/style.html" -}} {{- /* Page-specific CSS */ -}} -{{- $pageCSSPath := "" -}} -{{- if eq .Kind "home" -}} - {{- if in .RelPermalink "archives" -}} - {{- $pageCSSPath = "scss/archives.scss" -}} - {{- else if in .RelPermalink "link" -}} - {{- $pageCSSPath = "scss/link.scss" -}} - {{- else -}} - {{- $pageCSSPath = "scss/home.scss" -}} - {{- end -}} -{{- else if eq .Kind "page" -}} - {{- if eq .Layout "search" -}} - {{- $pageCSSPath = "scss/search.scss" -}} - {{- else if eq .Layout "friends" -}} - {{- $pageCSSPath = "scss/friends.scss" -}} - {{- else if eq .Type "posts" -}} - {{- $pageCSSPath = "scss/posts.scss" -}} - {{- end -}} -{{- else if in (slice "section" "taxonomy" "term") .Kind -}} - {{- $pageCSSPath = "scss/archives.scss" -}} +{{- $pageName := "" -}} +{{- $kindsMap := dict + "section" "archives" + "taxonomy" "archives" + "term" "archives" + "home" ( + cond (in .RelPermalink "archives") "archives" ( + cond (in .RelPermalink "link") "link" ( + cond (in .RelPermalink "offline") "" "home" + ) + ) + ) + "page" ( + cond (in (slice "search" "friends") .Layout) .Layout ( + cond (eq .Type "posts") "posts" "" + ) + ) +-}} +{{- with (index $kindsMap .Kind) -}} + {{- $pageName = . -}} {{- end -}} -{{- with $pageCSSPath -}} - {{- dict "Source" . "ToCSS" (dict "vars" $scssVars) "Fingerprint" $fingerprint | partial "plugin/style.html" -}} +{{- with $pageName -}} + {{- dict + "Content" (printf `@use "pages/%s";` .) + "Path" (printf "scss/%s.scss" .) + "ToCSS" (dict "vars" $scssVars "targetPath" (printf "css/pages/%s.css" .)) + "Fingerprint" $fingerprint + | partial "plugin/style.html" + -}} {{- end -}} {{- /* Custom CSS (highest priority) */ -}} diff --git a/layouts/_partials/init/detection-deprecated.html b/layouts/_partials/init/detection-deprecated.html index 56acd27b..3e89290a 100644 --- a/layouts/_partials/init/detection-deprecated.html +++ b/layouts/_partials/init/detection-deprecated.html @@ -114,23 +114,23 @@ {{- end -}} {{- if fileExists "assets/css/_custom.scss" -}} - {{- $warns = $warns | append "The file `assets/css/_custom.scss` is deprecated. Please move your custom styles to `assets/scss/custom.scss`." -}} + {{- $warns = $warns | append "The file `assets/css/_custom.scss` is deprecated. Please move your custom styles to `assets/scss/custom.scss`.\nSee: https://fixit.lruihao.cn/docs/advanced/" -}} {{- end -}} {{- if fileExists "assets/css/_override.scss" -}} - {{- $warns = $warns | append "The file `assets/css/_override.scss` is deprecated. Use `[params.appearance]` in your site configuration instead." -}} + {{- $warns = $warns | append "The file `assets/css/_override.scss` is deprecated. Use `[params.appearance]` in your site configuration instead.\nSee: https://fixit.lruihao.cn/docs/advanced/" -}} {{- end -}} {{- if fileExists "assets/scss/override.scss" -}} - {{- $warns = $warns | append "The file `assets/scss/override.scss` is deprecated. Use `[params.appearance]` in your site configuration instead." -}} + {{- $warns = $warns | append "The file `assets/scss/override.scss` is deprecated. Use `[params.appearance]` in your site configuration instead.\nSee: https://fixit.lruihao.cn/docs/advanced/" -}} {{- end -}} {{- if fileExists "assets/css/_variables.scss" -}} - {{- $warns = $warns | append "The file `assets/css/_variables.scss` is deprecated. Please move your variables to `assets/scss/_variables.scss`." -}} + {{- $warns = $warns | append "The file `assets/css/_variables.scss` is deprecated. Please move your variables to `assets/scss/_variables.scss`.\nSee: https://fixit.lruihao.cn/docs/advanced/" -}} {{- end -}} {{- if fileExists "assets/js/_custom.js" -}} - {{- $warns = $warns | append "The file `assets/js/_custom.js` is deprecated. Please move your custom scripts to `assets/js/custom.ts` or `assets/js/custom.js`." -}} + {{- $warns = $warns | append "The file `assets/js/_custom.js` is deprecated. Please move your custom scripts to `assets/js/custom.ts` or `assets/js/custom.js`.\nSee: https://fixit.lruihao.cn/docs/advanced/" -}} {{- end -}} {{- if len $warns -}} diff --git a/layouts/_partials/init/index.html b/layouts/_partials/init/index.html index 1bfbb567..485d1ae0 100644 --- a/layouts/_partials/init/index.html +++ b/layouts/_partials/init/index.html @@ -1,4 +1,4 @@ -{{- hugo.Store.Set "version" "v1.0.0-mrkfkp6z" -}} +{{- hugo.Store.Set "version" "v1.0.0-mrma4qc1" -}} {{- .Store.Set "this" dict -}} {{- partial "init/detection-env.html" . -}}