Twee / Twine 文件构建与打包工具,支持脚本注入与 Excel 数据导出
脚本示例
当前版本: 1.0.1
- 将
.twee/.tw转为 HTML,支持监听、起始片段指定、媒体 Base64 打包。 pack模式可同时压缩资源,适合分发发布。- 内置脚本注入管线,可在读取 Twee 或生成 HTML 后执行自定义 JS。
- Excel 数据转 JS/HTML:支持对象表、参数表与 HTML 表,生成 JS 赋值或嵌入
<tweers-exceldata>。
- 下载 Release 可执行文件并置于任意目录(建议与
story-format/、scripts/同级)。 - 或源码构建:
cargo build --release,产物位于target/release/tweers。 - Rspress 文档站开发:进入
docs/后pnpm install && pnpm run dev。
# 构建 HTML
tweers build story/ -o dist/index.html
# 监听模式
tweers build story/ -w -o dist/index.html
# Base64 打包媒体并指定起始片段
tweers build story/ -b -s Start
# 构建并打包资源
tweers pack story/ -a assets/ -o package.ziptweers build <source_dir> [-o <output>][-s <start>][-b][-w][-t]- 主要参数:
-o, --output-path输出 HTML,默认index.html-s, --start-passage指定起始片段-b, --base64媒体转 Base64 嵌入-w, --watch监听源文件变更-t, --is-debug输出调试日志
tweers pack <source_dir> -a <assets_dir>... [-o <zip>][-f][-t]- 主要参数:
-a, --assets需压缩的资源目录,可多次指定-o, --output-path输出压缩包,默认package.zip-f, --fast-compression快速压缩(低质量高速度)-t, --is-debug调试日志
可选安装 ffmpeg 以获得更好的音视频压缩体验。
tweers update [-f]:更新到最新发布版(-f强制更新)。
- 表头行以
#开头;对象表需要#save、#obj、#type三行;参数表需要#save、#var;HTML 表需要#save、#html。 - 保存变量写在
#save后,支持三类模板:all#Target($content):批量生成数组并传入模板中的$content。single#Target($name,{displayName:$displayName},$tags):逐行展开占位符。- 直接变量名(如
window.items):生成window.items = [...]。
- HTML 表会生成
<tweers-exceldata><saveName>...</saveName></tweers-exceldata>,id固定为<saveName>-<行号>,name列会写入data-name。 - 示例与工具:见
test/excel/example.xlsx、scripts/tool/get-value.js(提供GetValue.byId/byName读取 HTML 数据)。
- 在
scripts/下放置数据注入脚本(处理 Twee 数据)或 HTML 注入脚本(生成后替换)。 - 示例:
scripts/html/sugarcube/save-slots.js:修改存档插槽上限。scripts/data/sugarcube/i18.js:按语言前缀过滤/重命名片段。scripts/tool/get-value.js:运行时读取<tweers-exceldata>。
- 正则匹配与 JS 注入
- Excel 支持(对象/参数/HTML 表)
- 媒体压缩(图片/音频/视频)
- Twine 1 / Harlowe 支持