Yabuk
5b87c3cad8
fix(ui): add section dividers, restyle choices, fix locale issues
...
- Insert hr divider between story sections after each player choice,
matching Inky's visual style
- Restyle choice buttons: centered, no border/bullets, muted text color
with hover effect using Obsidian CSS variables
- Replace hardcoded "存档" with "Slot" in save/restore modal
- Fix timestamp locale: use system locale instead of hardcoded zh-CN
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23 01:23:27 +01:00
Yabuk
ba6199a1e0
fix(ui): rewrite save/restore modal with custom styles
...
- Replace Obsidian modal classes with fully custom ink-modal CSS
- Add visible close button (✕) with hover effect
- Fix scroll: height fit-content, overflow hidden
- Fix header/title styling via Obsidian CSS variables
- Add modal_* i18n keys to EN, PL, ZH locales
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23 01:22:53 +01:00
Yabuk
d0ed5491d4
feat(i18n): add Polish locale, improve EN/ZH settings descriptions
...
- Add pl.json with full Polish translation
- Rewrite all English setting titles and descriptions for clarity
- Fill in missing descriptions and update Chinese translations to match
- Register Polish locale in i18n.ts
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23 01:22:53 +01:00
Yabuk
c5d979a5db
fix(ui): add section dividers, restyle choices, fix locale issues
...
- Insert hr divider between story sections after each player choice,
matching Inky's visual style
- Restyle choice buttons: centered, no border/bullets, muted text color
with hover effect using Obsidian CSS variables
- Replace hardcoded "存档" with "Slot" in save/restore modal
- Fix timestamp locale: use system locale instead of hardcoded zh-CN
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23 01:22:53 +01:00
Yabuk
f345ee68d6
feat(i18n): add Polish locale, improve EN/ZH settings descriptions
...
- Add pl.json with full Polish translation
- Rewrite all English setting titles and descriptions for clarity
- Fill in missing descriptions and update Chinese translations to match
- Register Polish locale in i18n.ts
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23 01:22:13 +01:00
Yabuk
fac1d9ec61
fix(ui): add section dividers, restyle choices, fix locale issues
...
- Insert hr divider between story sections after each player choice,
matching Inky's visual style
- Restyle choice buttons: centered, no border/bullets, muted text color
with hover effect using Obsidian CSS variables
- Replace hardcoded "存档" with "Slot" in save/restore modal
- Fix timestamp locale: use system locale instead of hardcoded zh-CN
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23 01:22:13 +01:00
Yabuk
0ffb3837e3
fix: resolve intermittent ink story activation failures
...
- Read file content from the correct leaf by path instead of active view,
with vault.read() fallback for file-menu invocations
- Add guard and try/catch around compiledStory() to handle empty markdown,
null story, and compiler exceptions
- Improve XHR error handling with try/catch and status code in message
- Replace React hook calls inside patch effects with zustand subscriptions
to avoid Rules of Hooks violations when settings change between activations
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23 00:46:49 +01:00
田陆
d3abdf81d8
Update README.zh-cn.md
2025-05-21 18:52:27 +08:00
田陆
38df86c2cd
Update README.md
2025-05-21 18:52:05 +08:00
Uglyboy
259ec37ad8
feat(settings): 添加新设置项并优化国际化
...
- 新增多个设置项,包括音频播放器、图像使用、链接打开方式等
- 优化国际化文件,增加新的翻译项
- 调整插件初始化逻辑,移除冗余代码
- 更新 tsconfig.json 配置
2025-03-21 15:30:56 +08:00
Uglyboy
8536dd128a
feat(i18n): 添加国际化支持并升级依赖
...
- 新增 Mustache 依赖和相关类型定义
- 实现国际化支持,添加多语言翻译功能
- 优化设置界面,使用国际化文本
- 更新 TypeScript 配置,启用模块互操作性
2025-03-19 21:12:11 +08:00
Uglyboy
f7ccfc5eb1
refactor(components): 优化 InkContents 组件中的可见行数逻辑
...
- 修改了 visibleLines 的计算方式,使用三元运算符替代逻辑或运算符
- 提高了代码的可读性和准确性,确保在 ink.visibleLines 有值时优先使用
feat(audio): 循环播放背景音乐
- 在 audio 类的 set_music 方法中添加了循环播放设置
- 确保背景音乐可以持续播放,提升用户体验
2025-03-18 20:59:45 +08:00
Uglyboy
6c987a4c63
refactor(ink): 优化标签和选择解析器的清除功能
...
- 在 ChoiceParser 和 Tags 类中添加排除键集合,避免删除特定的预定义标签
- 优化 clear 方法,保留预定义标签不被清除
- 更新 Tags 类中的 functions 属性为 Map 数据结构,提高性能
- 移除不必要的 Patches.add 调用,简化内存补丁逻辑
2025-03-18 12:39:04 +08:00
Uglyboy
2bcaf90089
build(版本号): 更新版本号至 1.1.0
...
- 在 manifest.json 和 package.json 中将版本号从 1.0.2 修改为 1.1.0
- 此次更新为功能性和性能改进
2025-03-18 11:58:41 +08:00
Uglyboy
6bd933b334
feat(插件系统): 实现插件热更新机制
...
- 新增 updatePlugins 函数,用于根据设置动态加载插件
- 重构 patches 目录,每个插件独立为一个模块
- 在 plugin.ts 中调用 updatePlugins 函数,实现插件热更新
- 优化 ChoiceParser、Parser 和 Tags 类,添加 clear 方法以便于插件更新
2025-03-18 11:57:34 +08:00
Uglyboy
1d8f41eb9c
feat(plugin): 添加 Ink Story 插件设置功能
...
- 新增插件设置页面,包含多个配置选项
- 在 main.ts 中添加类型定义,提高代码可读性
- 更新 package-lock.json,升级部分依赖版本
- 重构部分代码,为新功能做准备
2025-03-18 10:55:48 +08:00
Uglyboy
c4dafb0b9e
refactor(fadeforline): 优化行延迟设置逻辑
...
- 在清除效果中添加对行延迟的判断
- 仅当行延迟不为 0 时,才重置内容完成状态
2025-03-17 14:28:24 +08:00
Uglyboy
c579299390
feat(autosave): 添加自动保存功能
...
- 实现了一个新的 autosave 标签,当启用自动保存时,会在标签处保存游戏进度
- 添加了 autosave 模块,包含保存逻辑和选项配置
- 在 patches.ts 中注释掉了 autosave 模块的引用
2025-03-17 14:10:14 +08:00
Uglyboy
6bcf01ed7c
refactor(ink): 重构 Ink 组件和故事逻辑
...
- 更新 InkChoices 和 InkContents 组件,使其从 useStory 钩子获取数据
- 新增 InkImage 组件用于显示故事图片
- 修改 InkStory 组件,整合新组件并简化代码结构
- 调整 InkStory 类,移除不必要的属性和方法
- 更新 fadeforline 补丁,优化内容完成和选择延迟逻辑
2025-03-17 13:31:41 +08:00
Uglyboy
841a90fa26
refactor(ink): 重构游戏存档和故事管理功能
...
- 重构了 InkStory 类,增加了 title、clears 和 save_label 属性
- 优化了游戏菜单和存档功能,支持根据故事标题保存和加载游戏
- 改进了故事内容和图片的处理方式,提高了性能和可维护性
- 重新设计了存储模块,使其更加通用和灵活
2025-03-17 11:31:55 +08:00
Uglyboy
d72cceb342
refactor(ink): 重构 Ink 组件和 hooks
...
- 移除了 InkStory 组件中的状态管理,改为使用 InkStory 类的属性
- 重构了 InkContents 和 InkChoices 组件,优化了性能和可维护性
- 删除了未使用的 useImage hook,简化了故事内容的管理
- 新增了 scrollafterchoice 和 fadeforline 补丁,改善了用户体验
- 优化了样式,使用类选择器替代元素选择器,提高了性能
2025-03-16 22:30:21 +08:00
Uglyboy
816ce1e983
refactor(组件): 重构 Ink 组件并优化滚动逻辑
...
- 新增 Ink 组件作为主组件,替换原有的 InkStory 组件
- 优化 InkChoices 的滚动逻辑,使用 useRef 替代 querySelector
- 更新 InkMenu 组件,使用 useCallback 优化性能
- 重构 InkStory 组件,更名为 Ink
- 更新相关 hooks 和样式
2025-03-16 07:56:14 +08:00
Uglyboy
e560723359
refactor(components): 重构 InkChoices 和 InkContents 组件
...
- 将 InkChoices 中的 button 替换为 a 标签,以改善用户体验
- 优化 InkContents 的样式应用方式,提高代码可读性
- 更新 autoButton 和 cdButton 组件,与 InkChoices 保持一致
- 调整 styles.css,为新的 a 标签添加样式
2025-03-11 12:54:53 +08:00
Uglyboy
375fdb327d
build(ink-player): 更新版本号至 1.0.2
...
- 在 manifest.json 和 package.json 中将版本号从 1.0.1 修改为 1.0.2
- 此次更新统一版本号,确保版本一致性
2025-03-11 12:14:13 +08:00
Uglyboy
c576cccea6
refactor: 优化代码结构和变量声明
...
- 将 var 关键字替换为 let 关键字,以提高变量作用域的可控性
- 简化部分代码结构,提高可读性
- 移除未使用的 FileSystemAdapter 导入
2025-03-11 12:13:02 +08:00
Uglyboy
0f80e39a66
refactor: 重构 Ink Player 插件
...
- 修改插件 ID 从 obsidian-ink-player 改为 ink-player
- 更新版本号至 1.0.1
2025-03-11 11:34:04 +08:00
田陆
09cc877e8e
Update LICENSE
2025-03-11 11:21:43 +08:00
Uglyboy
ff774e01d1
docs(README): 更新文档以匹配 Ink Player 插件
...
- 修改 README.md 文件,移除与示例插件无关的内容
- 添加 Ink Player 插件的安装和使用说明
- 更新版本号至 1.0.0
2025-03-11 10:23:58 +08:00
Uglyboy
8ab1d3532d
refactor(save): 重构存储模块并优化记忆卡功能
...
- 重构存储模块,使用动态存储类型
- 修复记忆卡格式设置问题
- 移除未使用的 splitTag 函数
- 调整导出顺序,提高代码可读性
2025-03-11 10:02:40 +08:00
Uglyboy
150cc7f79f
refactor(ink): 重构 Ink 组件和库
...
- 优化 InkChoices 和 InkContents 组件的样式和逻辑
- 重构 InkScreen 组件,增加对故事初始化和行延迟的处理
- 简化 InkStory 组件的结构
- 更新 Ink 库的配置选项和相关功能
2025-03-10 19:29:05 +08:00
Uglyboy
608c401f37
refactor(ink): 重构 InkStory 和音频处理逻辑
...
- 优化了 InkChoices 组件,添加 canShow 属性控制显示状态
- 重构了 InkScreen 组件,简化了内容完成逻辑
- 修改了 useStory 和 useStoryScene hooks,优化状态管理
- 重构了 InkStory 类,添加 dispose 方法处理清理逻辑
- 新增 image 和 linkopen 标签处理功能
- 优化了 media 标签处理逻辑,使用静态类管理音频
2025-03-10 18:37:13 +08:00
Uglyboy
71b384afe7
fix(components): 修复 InkScreen 组件中的 InkChoices 渲染问题
...
- 使用 visibility 属性替代直接的条件渲染,以避免组件卸载和重新挂载
- 添加 key 属性到 InkChoices 组件,以优化性能和避免潜在的问题
2025-03-10 15:15:26 +08:00
Uglyboy
c488cfe6b2
feat(components): 实现内容淡入效果并优化故事展示逻辑
...
- 在 InkContents 组件中添加内容淡入效果,使用 CSS 动画实现
- 优化 InkScreen 组件,增加内容完成状态管理
- 更新 story_contents.ts,添加最后一个内容的跟踪功能
- 修改 main.ts,选择选项后设置最后一个内容
2025-03-10 14:53:30 +08:00
Uglyboy
e2d47b44f5
refactor(ink): 重构 Ink 相关组件和 hooks
...
- 重构了 InkStory 组件,将故事逻辑移至 InkStory 类中
- 更新了 InkChoices、InkMenu 等组件以适应新的 InkStory 类
- 重构了 useStory hook,现在返回 InkStory 实例
- 新增 ExternalFunctions 和 Patches 类以支持外部函数和补丁
- 更新了 Tags 类,现在使用 InkStory 实例进行处理
- 新增 memory 补丁以支持保存和加载游戏
2025-03-10 11:33:48 +08:00
Uglyboy
88c8e8f71f
refactor(components): 优化组件样式和结构
...
- 移除 InkContents 组件中多余的类名
- 重构 InkScreen 组件中的状态管理
- 删除 error 和 story_variables hook 中未使用的导入
2025-03-09 21:55:17 +08:00
Uglyboy
cb6d5acdac
refactor(ink): 重构 Ink 解析逻辑
...
- 新增 ChoiceParser 类,用于解析和处理选项
- 新增 Parser 类,用于处理文本和标签
- 重构 Tags 类,简化标签处理逻辑
- 更新 InkChoices 组件,使用新的选择解析逻辑
- 移动媒体标签处理到单独的文件中
- 删除未使用的自动按钮和冷却按钮组件
2025-03-09 21:55:07 +08:00
Uglyboy
128970f546
feat(story): 重构故事标签处理系统
...
- 新增 Tags 类统一处理故事标签
- 优化标签处理逻辑,提高可扩展性
- 重构故事场景和选择处理逻辑
- 新增 splitAtCharacter 函数替代原有的 splitTag 函数
2025-03-09 14:18:02 +08:00
Uglyboy
2770752e46
feat(plugin): 添加设置选项并优化插件功能
...
- 在插件中添加设置选项,包括一个测试设置
- 实现国际化支持,根据当前语言显示不同文本
- 优化激活 Ink Story 功能,支持从不同入口激活
- 移除不必要的控制台日志输出
2025-03-09 14:15:01 +08:00
Uglyboy
fda07a38e7
Add release workflow
2025-03-08 08:56:37 +08:00
Uglyboy
1640ff8ee8
refactor(layout): 优化页面布局和滚动功能
...
- 修改 InkChoices 组件,使用更精确的选择器来定位最后一个按钮
- 更新 InkMenuModal 组件,移除重复的类名
- 重构 InkScreen 组件,添加 className 属性
- 调整 InkStory 组件布局,为 InkScreen 添加类名
- 在 styles.css 中添加 .ink 类样式,设置高度为 99%
2025-03-07 12:10:42 +08:00
Uglyboy
1cc38b2ece
refactor(hooks): 重构 file hook 并添加资源路径功能
...
- 重构 file hook,添加 init 和 getResource 方法
- 更新 story hook 中的变量处理逻辑
- 修改 story scene hook 中的路径获取方式
- 重新实现 markdown2story 函数,使用新的 file handler
- 添加 ObsidianFileHandler 类以处理资源路径和文件加载
- 更新 plugin 中的文件初始化和视图激活逻辑
- 优化视图中的文件路径显示
2025-03-07 08:57:03 +08:00
Uglyboy
1c56ad4e22
refactor(error): 重构错误处理逻辑并引入 Ink.js 类型定义
...
- 新增 Ink.js 类型定义文件,声明模块 'inkjs/types'
- 优化错误处理逻辑,简化接口并提高可读性
- 更新相关模块以使用新的错误处理机制
2025-03-06 15:40:50 +08:00
Uglyboy
126df46d8a
feat(story): 优化音频资源管理
...
- 新增 cleanupSound 和 cleanupMusic 方法,用于清理音频资源
- 在组件卸载时调用清理方法,避免内存泄漏
- 优化音频播放逻辑,解决之前存在的问题
- 调整音效和背景音乐的处理方式,提高资源利用率
2025-03-06 14:50:23 +08:00
Uglyboy
ed8d4cb321
feat(plugin): 优化资源路径处理并添加存档功能
...
- 重构了文件路径处理逻辑,使用 hooks 管理文件路径
- 添加了存档和读档功能,实现游戏保存和加载
- 优化了界面样式,调整了按钮和对话框的布局
- 修复了一些小问题,提高了代码的可维护性
2025-03-06 11:16:21 +08:00
Uglyboy
7b266eac35
feat: 创建 Ink Player 插件
...
- 新增 Ink Player 插件,用于播放基于 ink 脚本语言的文字互动游戏
- 实现了故事渲染、选择处理、保存和加载功能
- 添加了背景音乐和音效支持
- 集成了 React 组件用于渲染故事界面
- 实现了 Markdown 到 Ink 脚本的编译功能
- 优化了插件结构和目录组织
2025-03-04 21:17:37 +08:00
田陆
32b67fd404
Initial commit
2025-03-04 10:25:20 +08:00