mirror of
https://github.com/iDvel/rime-ice.git
synced 2026-05-14 00:30:37 +08:00
3.8 KiB
3.8 KiB
仓库维护指南
本仓库是 Rime 输入法配置仓库,包含输入方案、词库、OpenCC 映射和 Lua 扩展。修改时优先保持现有文件结构和命名风格,不要把生成文件当作源文件直接维护。
常用命令
make -C others/script/ build
make -C others/script/ lint
make -C others/script/ smoke
build:生成并排序词库和 OpenCC 映射文件,依赖 Go 环境。lint:校验 YAML 和 Lua,依赖yamllint和luacheck。smoke:执行功能测试。建议只在 CI 中运行,本地执行会清空用户词库。
修改配置、词库、Lua 或生成源文件后,至少运行 make -C others/script/ build 和 make -C others/script/ lint。只修改文档时不需要运行构建。
主要文件
cn_dicts/:中文词库文件。8105:默认启用的常用汉字单字。41448:大字表,默认不启用,主要收录生僻字。base:核心词库,包含两字词和常用词,必须包含注音和词频。ext:扩展词库,必须包含注音和词频。tencent:大词库,不需要包含注音,禁止加入多音字。
en_dicts/*.yaml:英文词库文件。en:核心英文词库,只包含常用英文词。en_ext:扩展英文词库,包含术语、流行词、科技短语等。
en_dicts/*.txt:中英混合词库文件,由others/cn_en.txt派生。opencc/:OpenCC 映射文件,控制 Emoji 和部分特殊词输出,由others/emoji-map.txt派生。lua/:Lua 扩展脚本,使用librime-luaAPI。others/script/:构建、检查和测试脚本。others/recipes/:plum 配方文件。*.schema.yaml:输入方案文件,定义拼写、翻译器、过滤器和词库引用。*.dict.yaml:主词库文件,在文件头引用具体词库文件。此类文件的具体格式请参考既有文件的写法,和标准 yaml 有所不同。recipe.yaml:plum 默认配方。symbols*:控制v/V模式下的符号输入。weasel.yaml:小狼毫前端配置。squirrel.yaml:鼠须管前端配置。default.yaml:全局默认配置,控制启用方案和通用行为。custom_phrase.txt:全拼自定义短语。
修改规则
- 禁止删除任何文件。
- 禁止修改 README.md。
- 修改或添加中文词,写入
cn_dicts/下对应词典;不要直接修改rime_ice.dict.yaml。 - 修改或添加英文词,写入
en_dicts/下对应词典;不要直接修改melt_eng.dict.yaml。 - 修改中英混合词时,只改
others/cn_en.txt,再运行构建生成en_dicts/*.txt。 - 修改 Emoji 映射时,只改
others/emoji-map.txt,再运行构建生成opencc/*.txt。 *.dict.yaml文件很大。确认内容时优先读取前 50 行,再用搜索定位;修改时优先用查找、替换或追加,避免整文件重写。- 禁止修改
radical_pinyin.*.yaml和lua/search.lua。这些文件从mirtlecn/rime-radical-pinyin同步;发现问题时应到上游处理。
提交规则
提交信息必须使用 Conventional Commits,正文使用中文。类型和作用域(scope):
feat,fix,refactor,ci,build,docs,chore等依照常规使用dict(cn):修改中文词库。dict(en):修改英文词库。dict(radical):修改拆字相关词库。dict(opencc):修改opencc/相关源文件或生成结果。config:修改配置项或输入方案。例如 config(schema) 修改输入方案文件,config(weasel) 修改weasel.yaml。- 作用域:
lua,修改lua/*.lua时使用,例如feat(lua)
破坏性更新在类型或作用域后添加 !,例如 refactor(lua)!: 修改农历输出,并同步更新 others/docs/Changelog.md。
提交前确认工作区只包含本次任务相关文件,不要混入无关格式化或生成结果。