From 3717b77ef854cb09e6dd70c39088d214fa5bcef5 Mon Sep 17 00:00:00 2001 From: tamakyi Date: Mon, 19 Oct 2026 21:19:36 +0800 Subject: [PATCH] =?UTF-8?q?theme(shiroko):=20=E8=A3=85=E9=A5=B0=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E4=B8=80=E7=BB=84=E4=B8=A4=E4=BA=BA=EF=BC=8C=E5=8E=BB?= =?UTF-8?q?=E6=8E=89=E6=95=A3=E5=B0=84=E4=B8=8E=E5=8D=8A=E9=80=8F=E6=98=8E?= =?UTF-8?q?=E7=AB=8B=E7=BB=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 四角各摆一个人读起来像贴纸墙纸:人物之间没有位置关系,也没有和内容的关系, 右下角还会和右对齐的页脚文案(社区规则 / 备案号)挤在一起。 - 只留左下角一组:盘腿坐(330)+ 挥手(190),贴住左边缘和下沿; 990px 以下缩小并整体左移,900px 以下(卡片占满宽度)不出人物,顺带省掉图片请求。 - 删掉 16% 透明度的 hero-fade 叠层:虚实两套人物叠在一起像重影。 - 纹样减到雪花 + 光环 + 两点,透明度 0.2 → 0.16,tile 320 → 340。 - 卡片压在近白底色上分不清边界,补一圈 1px 冷调描边(box-shadow,不占布局)。 - StaticVersion → 20261019n --- docs/theme-shiroko.md | 6 +- internal/conf/static.go | 2 +- static/css/themes/shiroko.css | 68 +++++++++--------- static/images/themes/shiroko/hero-fade.webp | Bin 18454 -> 0 bytes static/images/themes/shiroko/pattern-dark.svg | 20 ++---- static/images/themes/shiroko/pattern.svg | 23 +++--- 6 files changed, 53 insertions(+), 66 deletions(-) delete mode 100644 static/images/themes/shiroko/hero-fade.webp diff --git a/docs/theme-shiroko.md b/docs/theme-shiroko.md index 8ca58a4..799390b 100644 --- a/docs/theme-shiroko.md +++ b/docs/theme-shiroko.md @@ -49,7 +49,7 @@ available = default,sakura,shiroko | `chibi/cheer.webp` | 双手欢呼 | 354×620 | 27KB | | `chibi/think.webp` | 托腮 | 283×620 | 26KB | | `chibi/doze.webp` | 打瞌睡 | 274×620 | 26KB | -| `hero-fade.webp` | 用户立绘,预乘 16% 透明度 | 275×620 | 18KB | +| `chibi/sit.webp` | 盘腿坐 | 321×620 | 29KB | | `pattern.svg` | 浅色平铺(几何纹样) | 240×240 | 0.9KB | | `pattern-dark.svg` | 深色平铺 | 240×240 | 0.8KB | @@ -57,7 +57,7 @@ available = default,sakura,shiroko | 素材 | 来源 | | --- | --- | -| `static/images/shiroko-cutout.png` → `hero-fade.webp` | **用户自行用 AI 生成**的立绘,裁边后降透明度 | +| `static/images/shiroko-cutout.png` | **用户自行用 AI 生成**的立绘,仅作生成参考图,不再上页面 | | `chibi/*.webp` | WorkBuddy ImageGen **以用户立绘为参考图**(image-to-image)生成,再抠白底 | | `pattern.svg` / `pattern-dark.svg` | 手写 SVG,纯几何,无外部素材 | @@ -89,7 +89,7 @@ available = default,sakura,shiroko 1. 加姿态:按上面的提示词骨架换动作句生成,白底 → 抠图 → 存 `chibi/.webp`(高 620), 再塞进 `shiroko.css` 的 `--tb-deco`(记得保持 6 个值)。 -2. 换立绘:透明 PNG 覆盖 `static/images/shiroko-cutout.png`,按 620 高、alpha 16% 重新导出 `hero-fade.webp`。 +2. 换立绘:透明 PNG 覆盖 `static/images/shiroko-cutout.png`,再按同一提示词骨架重新生成姿态。 3. 换配色:改 `shiroko.css` 的令牌即可,插画是位图,换色需重新生成。 4. 新增素材不需要改 `static/fs.go`(已嵌整个 `images/themes` 目录);但改了 CSS 必须把 `conf.StaticVersion` +1,否则老访客吃缓存看不到变化。 diff --git a/internal/conf/static.go b/internal/conf/static.go index 626cd34..70139a6 100644 --- a/internal/conf/static.go +++ b/internal/conf/static.go @@ -10,7 +10,7 @@ var ( BuildCommit = "dev" // StaticVersion 静态资源缓存版本号:base.css 与主题 css 共用,改样式只改这一处。 - StaticVersion = "20261019m" + StaticVersion = "20261019n" ) // 文本审核通道取值([security] text_censor_source)。定义在 conf 侧, diff --git a/static/css/themes/shiroko.css b/static/css/themes/shiroko.css index 45f1cdc..4c91a59 100644 --- a/static/css/themes/shiroko.css +++ b/static/css/themes/shiroko.css @@ -2,9 +2,8 @@ 只覆盖令牌与外观层面的组件微调,不改任何布局。 素材(static/images/themes/shiroko/): - - chibi/*.webp Q 版人物(wave/cheer/think/doze),以用户立绘为参考图生成 + 抠白底 - - hero-fade.webp 用户提供的立绘(16% 透明,贴右下角当整页装饰) - - pattern.svg / pattern-dark.svg 雪花 + 光环 + 圆环点簇的平铺纹样 + - chibi/*.webp Q 版人物(wave/cheer/think/doze/sit),以用户立绘为参考图生成 + 抠白底 + - pattern.svg / pattern-dark.svg 雪花 + 光环的极淡平铺纹样 来源、提示词与抠图参数见 docs/theme-shiroko.md。 */ html[data-theme-style="shiroko"] { --tb-bg: #edf2f8; @@ -27,19 +26,19 @@ html[data-theme-style="shiroko"] { /* 整页底色用极浅的竖向渐变(纯 CSS):比图片稳,不会有 cover 缩放差异 */ --tb-page-image: linear-gradient(180deg, #f8fbfe 0%, #edf3f9 58%, #e2ecf6 100%); --tb-page-pattern: url("/static/images/themes/shiroko/pattern.svg"); - --tb-page-pattern-size: 320px 320px; + --tb-page-pattern-size: 340px 340px; - /* 装饰层:左右各两个(上一下一),立绘在右下当背景水印。 - 顶部用固定 92px 而不是百分比:顶栏高 80px,百分比会随视口高度浮动、把头顶压进顶栏。 */ - --tb-deco: url("/static/images/themes/shiroko/hero-fade.webp"), - url("/static/images/themes/shiroko/chibi/sit.webp"), + /* 装饰层:左下角一组两人(盘腿坐 + 挥手),都贴住左边缘与页面下沿。 + 四角各摆一个人会读成贴纸墙纸;半透明立绘叠在实心人物后面则是虚实混搭,像重影; + 右下角不能放人 —— 页脚文案是右对齐的(社区规则 / 备案号),会和人物挤在一起。 */ + --tb-deco: url("/static/images/themes/shiroko/chibi/sit.webp"), url("/static/images/themes/shiroko/chibi/wave.webp"), - url("/static/images/themes/shiroko/chibi/cheer.webp"), + none, + none, none, none; - --tb-deco-size: auto 420px, auto 240px, auto 172px, auto 160px, auto, auto; - --tb-deco-position: right 1% bottom 6px, left 1% bottom 6px, left 2% top 96px, - right 2% top 96px, left top, left top; + --tb-deco-size: auto 330px, auto 190px, auto, auto, auto, auto; + --tb-deco-position: left 0 bottom 0, left 150px bottom 0, left top, left top, left top, left top; } html[data-theme="dark"][data-theme-style="shiroko"] { @@ -62,44 +61,45 @@ html[data-theme="dark"][data-theme-style="shiroko"] { --tb-page-image: linear-gradient(180deg, #161d26 0%, #141a22 60%, #11161d 100%); --tb-page-pattern: url("/static/images/themes/shiroko/pattern-dark.svg"); - --tb-page-pattern-size: 320px 320px; + --tb-page-pattern-size: 340px 340px; - /* 深色下浅色线稿会糊成灰块,装饰层整体关掉,只留底色与浅色图案 */ + /* 深色下人物整体关掉:浅色立绘在深底上会变成一块块亮斑,抢正文 */ --tb-deco: none, none, none, none, none, none; --tb-deco-size: auto, auto, auto, auto, auto, auto; --tb-deco-position: left top, left top, left top, left top, left top, left top; } -/* 高屏才放中间两个:矮屏(1366×768 等)立绘从 348px 起,中间位会和它重叠。 - 门槛按「真实视口」定:1080p 全屏的 innerHeight 约 950-990,所以写 920 而不是 1050。 */ -@media (min-height: 920px) { +/* 卡片最宽 750px,两侧留白在 1000px 以下已经放不下整个人物, + 这时缩小并靠近边缘,让人物被卡片挡住一部分(读作「站在卡片后面」,比硬挤在留白里自然) */ +@media (max-width: 1179px) { html[data-theme-style="shiroko"] { - --tb-deco: url("/static/images/themes/shiroko/hero-fade.webp"), - url("/static/images/themes/shiroko/chibi/sit.webp"), - url("/static/images/themes/shiroko/chibi/wave.webp"), - url("/static/images/themes/shiroko/chibi/cheer.webp"), - url("/static/images/themes/shiroko/chibi/think.webp"), - url("/static/images/themes/shiroko/chibi/doze.webp"); - --tb-deco-size: auto 420px, auto 240px, auto 172px, auto 160px, auto 126px, auto 126px; - --tb-deco-position: right 1% bottom 6px, left 1% bottom 6px, left 2% top 96px, - right 2% top 96px, left 2.6% top 46%, right 2.6% top 46%; + --tb-deco-size: auto 260px, auto 150px, auto, auto, auto, auto; + --tb-deco-position: left 0 bottom 0, left 118px bottom 0, left top, left top, left top, + left top; } } -/* 窄屏:只保留立绘和一个坐姿,尺寸同步收小 */ -@media (max-width: 640px) { +/* 窄屏卡片占满宽度,两侧没有视觉空间:人物退场,只留底色与纹样,顺带省掉 60KB 图片请求 */ +@media (max-width: 900px) { html[data-theme-style="shiroko"] { - --tb-deco: url("/static/images/themes/shiroko/hero-fade.webp"), - url("/static/images/themes/shiroko/chibi/sit.webp"), none, none, none, none; - --tb-deco-size: auto 300px, auto 130px, auto, auto, auto, auto; - --tb-deco-position: right 2% bottom 0, left 1% bottom 0, left top, left top, left top, - left top; - --tb-page-pattern-size: 240px 240px; + --tb-deco: none, none, none, none, none, none; + --tb-page-pattern-size: 260px 260px; } } /* 组件微调(仅外观) */ +/* 白卡片压在近白底色上几乎看不出边界,补一圈 1px 冷调描边把它托起来(box-shadow 不占布局) */ +html[data-theme-style="shiroko"] .uk-card-default { + box-shadow: 0 0 0 1px rgba(74, 127, 193, 0.12), var(--tb-shadow); +} +html[data-theme-style="shiroko"] .uk-card-default.uk-card-hover:hover { + box-shadow: 0 0 0 1px rgba(74, 127, 193, 0.18), var(--tb-shadow-hover); +} +html[data-theme="dark"][data-theme-style="shiroko"] .uk-card-default { + box-shadow: 0 0 0 1px rgba(111, 163, 224, 0.14), var(--tb-shadow); +} + /* 顶栏融进页面底色后,UIkit 默认的 #999 在灰蓝底上偏淡,提到次要文字色 */ html[data-theme-style="shiroko"] .uk-navbar-nav > li > a { color: var(--tb-text-secondary); diff --git a/static/images/themes/shiroko/hero-fade.webp b/static/images/themes/shiroko/hero-fade.webp deleted file mode 100644 index 48ab055d96ce57d3f6afd0906d6e78c69f67ac86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18454 zcmV(|K+(TaNk&EvNB{s=MM6+kP&il$0000G0000I0RU?P06|PpNbVH?009&QZQDo* zf7X(`bU%u6OonNq1f_AK-;!$DUoz8oedCzf(jzi-~Io;7;R?O*(XLlMZ^Snw6#4- zv~AmtfY_pH$2< zomOWoy^|26_*^=b&RBk@AndX9snHqBJxT(^faNEJY6D;<;DO~HsW@dqZRGdr?O;5J zwh7ED^)fR&i-Rt?g-JUxS^zMfw!g^p?-6J_fa=b_M*as;wg7aG_;b2 zJWjzXF_uq-kQfbX$pxnweyaKw*_)TOLgZ8Zn8)-kt<0ZJ8Xnil*3LmM@-Y(>old7? zL`31Evygu{Y51+1>(N4s#f{LqPdk(N!w3e4XJl}|VjuHDL~*W`-01xkJgPAZ#e#HM zE97p{T)(@~`v`n0ncl>ka9;Mt4iRnhX`Eg$eatP%>8*C_=X8q%QHI5%&@GhF_{^@C zi=el=%lUG7_M<}p#w6^Q<$PUWs4rwy?02VA*7lA75{pO2S86atwC?^|jZPT83E%f+ z^O4pMqWi1WE{(!oO0I_IeAcd<#PRi5RyspOVtc!f(t+(DgvZN9m)-`KdR_}_oAPy8 zrVp+WQ5ZLB9RPjGmQah(ctAv(bE($>hBBs#%4IlsK}4Htp;iIL(lHh5Wn@k81$Wl&7-+QlE(EP|Fp7K4pn|1EhWtg{Nr+pifDPO^|v<6rP$D zfIg*&3KOKh5mA&XdqAHuw3$ti`bQLIvpt|c@`-Hb@x+6Osr8(PV}$VnRgn z>4$)ONDXZ!Gw3TDw0SB^7D0(V8cm>Q*R9gV* zJsU)uryVRgGel1t&__Oq;?4?CQA5|+0#NPvAi63m=%}IHYy)$C;Da{VY{BDoWQKOV z4FC^5h&HVm0G~2L^i)>R9QhzR%@*KK)X<@|0yIZHXxmr-T55Its4bf$?gt=5k=Ye0Qufli$XI!6!DrPsEA<{mOYqBFsn zAfn@74UpyDKN6jZ-!nvX9jpPU;=OMqIs74DNkrRR*#n^RtxvQuKtU7Hwo@wr=$|`(=&YA50Z&BRT(1G3%MQL!u?%~rh@zKX z1wfx3{Mf2x9alurbyx?$_}F_uw`D#ci%47ty$*o!aSdGC>P4HQi->lGUI~ECpK<6C zb≫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 JQA@A@004F09`gVI diff --git a/static/images/themes/shiroko/pattern-dark.svg b/static/images/themes/shiroko/pattern-dark.svg index d83fe41..5aec0aa 100644 --- a/static/images/themes/shiroko/pattern-dark.svg +++ b/static/images/themes/shiroko/pattern-dark.svg @@ -1,17 +1,11 @@ - - - - + + + + - - - - - - - - - + + + diff --git a/static/images/themes/shiroko/pattern.svg b/static/images/themes/shiroko/pattern.svg index 75a0004..4a3f412 100644 --- a/static/images/themes/shiroko/pattern.svg +++ b/static/images/themes/shiroko/pattern.svg @@ -1,21 +1,14 @@ - + - - - + + + - - - - - - - - - - - + + + +