小莫 and fanlusky
ab0c14e1bb
fix(server): 兼容社区皮肤的共享基底 ( #1003 )
...
* fix(server): 兼容社区皮肤的共享基底
* fix(server): 共享基底的选中与悬停色跟随清单覆盖后的配色
- selected / hover 按上游 resolve 规则从覆盖后的 accent / text 派生,非十六进制写法退回基底原色
- system 并入共享基底表,校验与适配只用 FindSharedBase 一处判定
- 皮肤样例校验、schema 文档与 niya-demo 注释同步接受共享基底
---------
Co-authored-by: fanlusky <1730976608@qq.com >
2026-10-16 20:56:06 +08:00
時崎 ギャラクシー
bcbbdcf74c
Merge pull request #903 from Tokisaki-Galaxy/feat/skin-schema-v2
...
feat(server): 外部皮肤新增 schema_version 2,WebView2 与 D2D 双后端支持九宫格贴图与自由挂件
2026-10-13 00:57:14 +08:00
fanlusky
797c0f5652
feat(server,ui,ui-html): 候选窗可严格按文字宽度收紧
...
皮肤新增 [candidate_window] fit_content,设置页「外观」新增「候选窗口按文字收紧宽度」
(appearance.candidate_window_fit_content),两者取或。打开后:
- D2D 不再垫 160 DIP 卡片最小宽度和列表 80 DIP 下限,行尾不再多留 6 DIP,
右侧留白与序号左侧留白相同;
- WebView2 去掉 .container 的 7em 下限;
- 同一输入里宽度不再只增不减,高度仍保持。
皮肤的 min_width_dip 与装饰图宽度照常生效;内置皮肤清单出厂为 false。
2026-10-12 02:03:59 +08:00
Lu Fan(SonnyCalcr)
0d7ae4ca79
feat(server): 翻译里的词性与分隔符单独配色 ( #848 )
...
候选翻译(如 "adj. spreading; n. sound of laughter")由 Server 切成单词、词性、
分隔符三段:WebView2 端包成 .cand-pos / .cand-sep,D2D 端经
CandidateList::Item::translationRuns 用分段画刷绘制,两端同一切法。
新增皮肤键 translation_pos / translation_separator 及选中行的
selected_translation_pos / selected_translation_separator,留空时与翻译同色。
内置皮肤的翻译改用 Notion 调色板:词性取相邻的另一个色相并降到 50% 不透明度,
分隔符为单词色 45%;铺实色高亮的选中行另配一组。仓库内的外部皮肤同步补上词性与
分隔符配色。
2026-10-11 23:28:30 +08:00
fanlusky
1ae1f1eddb
revert(server): 撤回 #576 的 skin.toml 统一规则
...
This reverts commit c5b0c24c48 .
#576 未经评审即被合入 develop,先撤回,待评审意见处理后重新提交。
2026-10-03 18:11:23 +08:00
小莫
c5b0c24c48
feat(server): read skin.toml with the rules every platform shares ( #576 )
...
* feat(server): 外部皮肤接受跨平台客户端的 base 与装饰规则,社区皮肤可在 Windows 加载
社区皮肤库按跨平台客户端(msime 的 client-core)的规则校验,base 写的是全局主题 system / shuishan / light / paper / night / ink,而 Windows 只认六个内置皮肤 ID,所以社区里绝大多数皮肤在 Windows 上整包加载失败。
- base 为 system 时按 fluent 加载,配色原样保留。
- base 为五个内置全局主题时按 fluent 加载,并照 theme::resolve 换算配色:主题固定明暗,只取包里那一种明暗的配色,深浅两种模式都画它;读不懂的颜色当作没写,没写的按主题补齐,右键菜单和悬浮工具栏一并补上。包没声明那一种明暗时不生效,与客户端一致。
- 装饰规则与客户端对齐:空表或两个尺寸都为 0 表示无装饰;有尺寸而无 image 时用图片类型的 preview,都没有就不画。
- 复制 msime-cloud 的 client_dialect.json 作测试夹具,新测试要求客户端接受的每个包在 Windows 上都能加载;scripts/sync-client-dialect.py 负责同步,每周的 Skin client dialect 工作流比对上游。
* feat(server): 皮肤清单与跨平台客户端统一为同一套规则
同一个皮肤包现在在每个平台上要么都能加载,要么都被拒绝。规则以 msime client-core 的 load() 为准,共享用例表 client_dialect.json 改为从 msime 同步,测试要求每一条用例的接受与否都与客户端一致。
- 保留 ID 加上全局主题 ID(system、shuishan、light、paper、night、ink、custom)。
- 收紧到客户端的规则:skin.toml 最大 64 KiB;schema_version 必须是整数 1;author、description 写了不能为空;preview 写了必须指向包内已有的文件;toolbar_stylesheet 写了必须是包根目录里已有的 .css 文件;[license] 的各键有长度限制;[candidate] 与其中的 dark、light 必须是表;装饰图与背景图须是图片扩展名。
- 仓库自带的 7 个皮肤、示例皮肤和 msime-skins 里的 4 个皮肤在新规则下都能加载。
2026-10-03 17:39:49 +09:00
fanlusky
451b6a1954
docs(skins): 示例皮肤写全可配置字段并说明颜色写法
...
niya-demo 的 skin.toml 写出 schema_version 1 支持的全部键,逐项注释取值范围、必填与回落规则;新补的键大多取 fluent 基底原值,外观基本不变。
在示例皮肤、schema 说明和两份 README 中补充颜色写法:适用的键、十六进制与 rgb()/rgba()/transparent,十六进制必须带 #,不透明度在末尾(#RRGGBBAA)。
2026-09-30 20:51:05 +08:00
fanlusky
ec00892121
feat(server): 新增仿微软拼音的内置皮肤 microsoft
...
- 候选窗:深色 #2C2C2C 底、#383838 选中底、#E183D9 紫色选中条,序号与候选同字号,
横排每项最小 4.35em、间距 0.28em(换行的行间同样隔 0.28em);尺寸均按字号缩放
- 翻页:默认开启,实心圆角三角,与候选行等高,横排前加分隔线
- 悬浮工具栏沿用默认页面,拖拽条改为紫色
- ui:PagerArrows 新增 Glyph::Triangle 与分隔线,三角用单一路径填充,半透明时不出现描边重叠;
CandidateList 新增 minItemWidth 与 selectedBarInside
- 设置页新增皮肤卡片与预览;更新内置皮肤列表、文档与配置注释,补充测试
2026-09-30 17:35:38 +08:00
fanlusky
4582550862
feat(skins): 内置皮肤抽出为 skins/default 设置清单并支持 page_arrows
...
五个内置皮肤各有一份 skins/default/<id>/skin.toml,承载皮肤级开关;
[candidate_window] page_arrows 控制候选框翻页箭头,出厂与缺省均为关闭。
外部皮肤可自行设置,不写时沿用 base 对应的默认清单。
皮肤扫描跳过 default 目录,且不允许用它作外部皮肤 ID。
2026-09-30 12:42:24 +08:00
fanlusky
6c6d175c99
style(skins): 外部皮肤的翻译改用 Notion 风格的彩色
...
翻译色换成 Notion 的彩色文字色,按皮肤选与正文、序号、高亮最能区分的色相:
蓝色大肥鱼与搜狗经典用绿,QQ 经典蓝与 Niya Demo 用紫。
原色放在选中行上对比度只有 1.7–3.9,另配同色相的 selected_translation
(深色提亮、浅色压暗),选中行到 4.5:1。QQ 经典蓝浅色原先是白底橙字,约 2.8:1。
Niya Demo 的两份副本同步修改。
2026-09-30 02:53:19 +08:00
fanlusky
2b7cd6a96f
fix(server): D2D 候选配色支持 #rgba 并拒绝含非十六进制字符的颜色
2026-09-29 22:43:52 +08:00
fanlusky
b109880c1c
docs(skins): 说明外部皮肤新增的细分配色、菜单、线宽、高亮圆角、阴影与字体族,并更新样例
2026-09-29 22:13:15 +08:00
fanlusky
218542fa35
chore: 将皮肤样例与皮肤合集接入本仓 CI 与文档
...
移除样例仓库自带的 .github(子目录里的 workflow 不会运行)和误提交的 __pycache__,改由根 CI 的 Skins 任务同时校验 examples/skin-examples 与 skins/。manifest 测试与 schema 说明对齐 Server 皮肤目录的实际规则:base 必填,author 可选。
2026-09-29 19:41:21 +08:00
fanlusky
7bca26d648
feat(niya-demo): declare decoration, background and toolbar styles in skin.toml
...
- Move the decoration image into [candidate_window.decoration] (102x88, right-aligned)
- Add [candidate_window.background] with a translucent texture and 12dip corner radius
- Replace toolbar.css with [toolbar] / [toolbar.dark] / [toolbar.light]
- Bump version to 0.2.0
- Update tests, preview.html and schema docs for the new fields
- Rewrite README
2026-09-28 22:13:42 +08:00
Evan Hu
27773d9b4c
fix(ci): avoid duplicate CodeQL scans on pushes
2026-09-07 01:03:03 +09:00
Evan
4bfaba8876
docs: 补 LICENSE、badge 与 star 趋势
...
公开仓库没有 LICENSE 在法律上等于保留所有权利,别人不能合法使用或分发。README 顶部加 CI /
CodeQL / license / stars badge,底部加 star 趋势图。
2026-09-06 12:29:22 +09:00
dependabot[bot]
fb1e5ca6a2
chore(deps): bump the actions group with 2 updates ( #2 )
...
Bumps the actions group with 2 updates: [actions/setup-go](https://github.com/actions/setup-go ) and [actions/dependency-review-action](https://github.com/actions/dependency-review-action ).
Updates `actions/setup-go` from 6.5.0 to 7.0.0
- [Release notes](https://github.com/actions/setup-go/releases )
- [Commits](https://github.com/actions/setup-go/compare/924ae3a1cded613372ab5595356fb5720e22ba16...b7ad1dad31e06c5925ef5d2fc7ad053ef454303e )
Updates `actions/dependency-review-action` from 4.9.0 to 5.0.0
- [Release notes](https://github.com/actions/dependency-review-action/releases )
- [Commits](https://github.com/actions/dependency-review-action/compare/2031cfc080254a8a887f58cffee85186f0e49e48...a1d282b36b6f3519aa1f3fc636f609c47dddb294 )
---
updated-dependencies:
- dependency-name: actions/setup-go
dependency-version: 7.0.0
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions
- dependency-name: actions/dependency-review-action
dependency-version: 5.0.0
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-06 11:06:10 +09:00
Evan
4369f64fd9
ci(automation): 补齐持续集成与开源安全检查 ( #1 )
2026-09-06 10:02:20 +09:00
fanlusky
876e7f1a81
Switch the demo skin from skin.json and cand.css to skin.toml
...
Declare decoration geometry and candidate colors in TOML, drop the CSS
candidate stylesheet, and update install.ps1, preview, and the README.
2026-09-02 15:30:48 +08:00
fanlusky
038035b0fc
Optimize niya skin.
2026-08-29 22:53:09 +08:00
fanlusky
92d76b0353
Adjust some styles.
2026-08-29 21:48:02 +08:00
fanlusky
9242a86aff
Add a demo skin.
2026-08-29 19:37:30 +08:00
fanlusky
b473372aa3
first commit
2026-08-29 11:01:56 +08:00