dsh-theme-retro-press 3.8.0 → 3.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/README.md +4 -0
- package/client.js +20 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.8.1
|
|
4
|
+
|
|
5
|
+
- 修正两套冷调配色的英文观感:用 `font-size-adjust` 把西文的 x-height 拉齐到同页中文字面。
|
|
6
|
+
- 靛蓝:标题 Franklin Gothic(x-height .49)对齐思源黑体 .54。
|
|
7
|
+
- 苔绿:正文 Gill Sans(.45)对齐 .54;标题 Bodoni(.38)对齐小标宋 .46——此前英文比中文小一档,Bodoni 更明显。
|
|
8
|
+
- 代码块、引文显式 `font-size-adjust:none`:VT323 与仿宋保留自己原本的尺度,不被一起放大。
|
|
9
|
+
|
|
3
10
|
## 3.8.0
|
|
4
11
|
|
|
5
12
|
- 十二套配色统一命名:朱印 / 鼠尾草 / 靛蓝 / 苔绿 / 显像管 / 铜青 / 琥珀 / 磷光 / 主机蓝 / 八位紫 / 墨水屏 / 暗房红(英文同名规则)。
|
package/README.md
CHANGED
|
@@ -6,6 +6,10 @@ Twelve palettes for the DeepSeek Harness Web client — a print shop and a row o
|
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
+
> 发版与上架流程见 [docs/发布流程-RELEASE.md](docs/发布流程-RELEASE.md)。
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
9
13
|
## 这是什么
|
|
10
14
|
|
|
11
15
|
Retro Press 是一间开在 DeepSeek Harness 里的复古印制车间。十二套配色,从木刻朱印的暖白纸,到显像管的磷光绿——每一套都有自己的纸、自己的规则线、自己的字体配对,还有一枚按该套配色重绘的 DeepSeek 鲸鱼标记。
|
package/client.js
CHANGED
|
@@ -168,6 +168,11 @@ window.__ModuleLoader__.load({
|
|
|
168
168
|
headingStack: FONT_MIST_HEAD,
|
|
169
169
|
headWeight: 600,
|
|
170
170
|
headTracking: '.06em',
|
|
171
|
+
// Body Chinese (思源黑体) sits at x-height .54; Franklin trails it at
|
|
172
|
+
// .49. Lift the Latin to the Chinese measure so the English stops
|
|
173
|
+
// reading a size smaller than the Chinese beside it.
|
|
174
|
+
xHeight: 0.54,
|
|
175
|
+
headXHeight: 0.54,
|
|
171
176
|
code: 'sepia(.08) saturate(.78)',
|
|
172
177
|
tokens: {
|
|
173
178
|
'--dsw-alias-bg-base': { light: '#F8FAFC', dark: '#0E1218' },
|
|
@@ -202,6 +207,11 @@ window.__ModuleLoader__.load({
|
|
|
202
207
|
headingStack: FONT_MOSS_HEAD,
|
|
203
208
|
headWeight: 400,
|
|
204
209
|
headTracking: '.05em',
|
|
210
|
+
// Gill Sans (.45) against 思源黑体 (.54), and Bodoni (.38) against
|
|
211
|
+
// 小标宋 (.46) 鈥?both pairs leave the English visibly undersized, so
|
|
212
|
+
// each is normalised to the Chinese face it is set beside.
|
|
213
|
+
xHeight: 0.54,
|
|
214
|
+
headXHeight: 0.46,
|
|
205
215
|
code: 'saturate(.9) sepia(.04)',
|
|
206
216
|
tokens: {
|
|
207
217
|
'--dsw-alias-bg-base': { light: '#F9FBF7', dark: '#0E1310' },
|
|
@@ -701,6 +711,13 @@ window.__ModuleLoader__.load({
|
|
|
701
711
|
const heading = palette.headingStack ?? (palette.heading === 'serif' ? FONT_SERIF : null)
|
|
702
712
|
const tracking = palette.headTracking ?? '.02em'
|
|
703
713
|
const css = [`body{--dsw-font-family:${stack}!important}`]
|
|
714
|
+
if (palette.xHeight) {
|
|
715
|
+
// font-size-adjust equalises x-height across faces: the Latin is grown
|
|
716
|
+
// to the Chinese measure, the Chinese (already at that measure) is left
|
|
717
|
+
// alone. Anything with its own cast 鈥?code, quotes 鈥?is opted out
|
|
718
|
+
// further down, or the terminal face would balloon.
|
|
719
|
+
css.push(`body{font-size-adjust:${palette.xHeight}}`)
|
|
720
|
+
}
|
|
704
721
|
if (heading && (palette.headingStack || palette.font !== 'serif')) {
|
|
705
722
|
// Markdown headings are real h1–h3, but the hero headline is a plain span
|
|
706
723
|
// inside the shell's titleGroup — without its own selector the title font
|
|
@@ -711,7 +728,7 @@ window.__ModuleLoader__.load({
|
|
|
711
728
|
'body h3',
|
|
712
729
|
'body [class*="titleGroup"]>span:first-child',
|
|
713
730
|
]
|
|
714
|
-
css.push(`${targets.join(',')}{font-family:${heading}!important;letter-spacing:${tracking};font-weight:${palette.headWeight ?? 600};font-synthesis:none}`)
|
|
731
|
+
css.push(`${targets.join(',')}{font-family:${heading}!important;letter-spacing:${tracking};font-weight:${palette.headWeight ?? 600};font-synthesis:none${palette.headXHeight ? `;font-size-adjust:${palette.headXHeight}` : ''}}`)
|
|
715
732
|
}
|
|
716
733
|
return css.join('\n')
|
|
717
734
|
}
|
|
@@ -749,6 +766,7 @@ window.__ModuleLoader__.load({
|
|
|
749
766
|
// same screen face, so the two press runs still read as one machine.
|
|
750
767
|
parts.push(
|
|
751
768
|
`body pre,body pre code,body code,body kbd,body samp{font-family:${FONT_CRT}!important}`,
|
|
769
|
+
'body pre,body pre code,body code,body kbd,body samp{font-size-adjust:none}',
|
|
752
770
|
'body pre{font-size:.96em;line-height:1.6;letter-spacing:.01em}',
|
|
753
771
|
'body :not(pre)>code{font-size:1.02em;letter-spacing:.02em}',
|
|
754
772
|
)
|
|
@@ -770,7 +788,7 @@ window.__ModuleLoader__.load({
|
|
|
770
788
|
// A quotation is a different press run: 仿宋, upright, one notch smaller.
|
|
771
789
|
// Never italic — CJK italics are synthesised obliques and read as errors.
|
|
772
790
|
parts.push(
|
|
773
|
-
`body blockquote{font-family:${FONT_QUOTE};font-style:normal;font-size:.97em;letter-spacing:.01em}`,
|
|
791
|
+
`body blockquote{font-family:${FONT_QUOTE};font-style:normal;font-size:.97em;letter-spacing:.01em;font-size-adjust:none}`,
|
|
774
792
|
'body blockquote em,body blockquote i{font-style:normal;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}',
|
|
775
793
|
)
|
|
776
794
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-theme-retro-press",
|
|
3
|
-
"version": "3.8.
|
|
3
|
+
"version": "3.8.1",
|
|
4
4
|
"description": "Retro Press — a theme workshop for the DeepSeek Harness Web client: twelve print-shop and CRT palettes, each with its own paper, rules, type pairing and drawn whale mark, plus a dark-mode phosphor layer for code.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|