# Komaki Furigana **Japanese Furigana Annotation Plugin for Obsidian** **日本語假名标注插件 | Obsidian 用ふりがな注釈プラグイン** **Author / 作者 / 作者:** komaki **Version / 版本 / バージョン:** 1.0.0 **License / 许可证 / ライセンス:** MIT **Languages:** [English](#english) | [简体中文](#简体中文) | [日本語](#日本語) --- # English ## Overview **Komaki Furigana** is an Obsidian plugin for manually adding, editing, and removing Japanese furigana annotations using standard HTML Ruby markup. Select Japanese text, enter its reading, and save the annotation directly into your Markdown notes. ```html 日本語にほんご ``` No Templater, account, internet connection, or API key is required. The plugin is precompiled, so ordinary users do not need Node.js. ### Features - Add and edit furigana annotations. - Remove furigana while preserving the original text. - Annotate multiple words in a single operation. - Preview annotations before saving. - Show or hide readings for self-testing. - Customize reading size and position. - Convert entered readings between hiragana and katakana. - Support existing standard HTML Ruby annotations. - Work offline without telemetry or external requests. ## Installation Komaki Furigana is currently available for **manual installation only**. It has not yet been published in the official Obsidian Community Plugins directory. 1. Extract the downloaded ZIP archive. 2. Locate the `komaki-furigana` folder. 3. Copy it into your vault's `.obsidian/plugins/` directory. 4. Verify that the following files exist: ```text YourVault/ └── .obsidian/ └── plugins/ └── komaki-furigana/ ├── main.js ├── manifest.json └── styles.css ``` 5. Restart Obsidian. 6. Open **Settings → Community plugins**. 7. Enable community plugins if necessary, then enable **Komaki Furigana**. Make sure the plugin folder is not accidentally nested inside another folder with the same name. On macOS, press **⌘ + Shift + .** in Finder to show hidden files. If your vault uses a custom configuration folder instead of `.obsidian`, use that folder. Mobile installation follows the same directory structure. However, the plugin has not yet been fully tested on actual Android or iOS devices. ## Quick Start 1. Open a note in editing mode. 2. Select `日本語`. 3. Open the Command Palette with **Ctrl + P** (Windows/Linux) or **⌘ + P** (macOS). 4. Search for `Komaki Furigana`. 5. Run **Add / Edit Furigana**. 6. Enter `にほんご` in the reading field. 7. Review the preview and press **Enter** or click **Save Annotation**. You can also use the editor context menu or the ribbon icon. When no text is selected, the dialog allows you to enter both the original text and its reading. The result is inserted at the original cursor position. Pressing **Esc** or cancelling the dialog does not modify the note. An empty reading does not overwrite the original text. ## Editing and Removing Annotations ### Edit an existing annotation Place your cursor inside an existing `...` element, or select its original text, and run **Add / Edit Furigana**. The dialog automatically loads the existing text and reading. Saving updates that annotation. ### Remove an annotation Place your cursor inside a Ruby annotation and run **Remove Furigana (Keep Text)**. Alternatively, click **Remove Annotation** in the editing dialog. You can also select a block containing multiple complete Ruby annotations and remove their readings together. If the selection cuts through multiple annotations without including them completely, the plugin asks you to adjust the selection. Ordinary operations can be reversed using Obsidian's Undo command. Batch insertion and removal are handled as single text edits. Existing Ruby annotations created with Templater are supported without migration. Complex Ruby markup containing multiple `` elements, nested tags, custom attributes, or complicated HTML structures is preserved rather than forcibly rewritten. ## Batch Annotation Run **Batch Furigana (Text | Reading)** and enter one pair per line: ```text 日本語|にほんご 勉強|べんきょう 学校|がっこう ``` Supported separators: - Full-width vertical bar: `|` - Half-width vertical bar: `|` - Tab character You can select existing lines in your note before opening the batch dialog. Saving replaces the selected lines with Ruby annotations. Without a selection, annotations are inserted at the original cursor position. Additional rules: - Blank lines are preserved. - A maximum of 200 pairs is supported per operation. - Each text or reading field may contain up to 500 characters. - If any line is invalid, the entire operation is cancelled and the problematic line number is displayed. - Use **Ctrl / ⌘ + Enter** to save. - Use **Esc** to cancel. The visual rendering of single line breaks follows Markdown rendering rules. ## Commands and Keyboard Shortcuts Open **Settings → Hotkeys**, search for `Komaki Furigana`, and assign your preferred shortcuts. | Command | Description | |---|---| | Add / Edit Furigana | Add or modify an annotation | | Remove Furigana (Keep Text) | Remove Ruby markup while preserving the original text | | Batch Furigana (Text \| Reading) | Insert multiple annotations | | Show / Hide Furigana | Toggle reading visibility for self-testing | No default keyboard shortcuts are reserved. ## Display and Settings ### Reading View Ruby annotations are rendered through Obsidian's HTML rendering system. ### Live Preview Annotations are displayed when the cursor is outside the Ruby element. Clicking an annotation or moving the cursor into it reveals its source markup. Source markup also appears when the cursor touches the annotation boundary. ### Source Mode Ruby markup remains visible as source code. ### Appearance - **Font size:** 35%–85% of the main text size, with a default of 55%. - **Position:** Above or below the original text. - **Hide readings:** Conceals readings while preserving their layout space. - **Preview:** The annotation dialog always displays readings, even when hidden in notes. ### Kana Conversion Convert entered readings manually between hiragana and katakana, or configure automatic conversion when saving. This feature converts existing kana input. It does not automatically determine the pronunciation of kanji. ### Fallback Parentheses Optionally insert `` elements for readers without Ruby support: ```html 日本語(にほんご) ``` When editing an existing annotation, its original fallback-parenthesis style is preserved. ### Context Menu The editor context-menu integration can be enabled or disabled in settings. Display settings also affect standard Ruby annotations in older notes. Disabling the plugin does not remove the Ruby markup stored in your Markdown files. ## Limitations and Data Protection - This is a **manual annotation tool**, not an automatic furigana generator. - No Japanese dictionary or online pronunciation service is included. - Only single-line source text is supported. - Plain-text selection is recommended. - Markdown formatting characters entered in the dialog are treated as literal text. - Special HTML characters, including `<`, `>`, `&`, and quotation marks, are escaped. - Fenced code blocks, inline code, indented code, frontmatter, and HTML comments are excluded from annotation processing. - Some complicated Markdown structures may conservatively be treated as code. - Multiple simultaneous selections are not supported for editing. - During Japanese IME composition, Enter will not immediately save the dialog. Confirm the composition first, then press Enter again or click Save. - If the active file changes or its contents are modified while the dialog is open, the plugin refuses to overwrite the note. - If Live Preview conflicts with your theme or another editor plugin, disable the plugin's Live Preview integration in settings. The plugin modifies only the text involved in the requested operation. Settings are stored in Obsidian's plugin-specific `data.json`. **No telemetry. No external requests. No note uploads.** ## Files and Development | File | Purpose | |---|---| | `main.js` | Compiled plugin entry point | | `manifest.json` | Plugin metadata and version information | | `styles.css` | Interface styling | | `src/` | TypeScript source code | | `tests/` | Text-processing and browser integration tests | | `package.json` | Development dependencies and scripts | | `package-lock.json` | Dependency lockfile | | `esbuild.config.mjs` | Build configuration | | `tsconfig.json` | TypeScript configuration | | `EXAMPLES.md` | Example notes | Only `main.js`, `manifest.json`, and `styles.css` are required for ordinary installation. To build and test from source: ```sh npm ci npm run build npm test ``` Browser integration tests use a real CodeMirror editor with simulated Obsidian host interfaces. To run them: ```sh npm install --no-save playwright npx playwright install chromium node tests/browser-smoke.cjs ``` Development references: - [Official Obsidian API](https://github.com/obsidianmd/obsidian-api) - [Official Obsidian Sample Plugin](https://github.com/obsidianmd/obsidian-sample-plugin) **Minimum Obsidian version:** 1.5.0 The package has not yet undergone complete acceptance testing in actual Obsidian desktop or mobile environments. See `VALIDATION.md` for testing scope and results. ## License MIT License © 2026 komaki. See [LICENSE](LICENSE) for details. --- # 简体中文 ## 插件简介 **Komaki Furigana** 是一款适用于 Obsidian 的日语假名标注插件,支持使用标准 HTML Ruby 语法手动添加、修改和移除日语注音。 选中日语原文,输入假名读音,即可将标注保存到 Markdown 笔记中。 ```html 日本語にほんご ``` 插件无需依赖 Templater,也不需要账号、网络连接或 API Key。 安装包已经编译完成,普通用户无需安装 Node.js。 ### 主要功能 - 为选中的日语文字添加假名。 - 修改已有的 Ruby 注音。 - 移除注音,同时保留原文。 - 一次性批量标注多个词语。 - 保存前实时预览注音效果。 - 显示或隐藏假名,方便自我测试。 - 自定义假名字号及显示位置。 - 支持平假名与片假名转换。 - 兼容已有的标准 HTML Ruby 标注。 - 完全离线运行,无遥测和外部请求。 ## 安装方法 目前插件仅支持**手动安装**,尚未发布到 Obsidian 官方社区插件目录。 1. 解压下载的 ZIP 安装包。 2. 找到 `komaki-furigana` 文件夹。 3. 将该文件夹复制到 Obsidian 仓库的 `.obsidian/plugins/` 目录下。 4. 确认文件结构如下: ```text 你的仓库/ └── .obsidian/ └── plugins/ └── komaki-furigana/ ├── main.js ├── manifest.json └── styles.css ``` 5. 重启 Obsidian。 6. 进入 **设置 → 第三方插件**。 7. 如有需要,先开启第三方插件功能,再在已安装插件列表中启用 **Komaki Furigana**。 注意不要在解压时额外嵌套一层同名文件夹。 macOS 用户可以在 Finder 中按 **⌘ + Shift + .** 显示隐藏文件。 如果修改过 Obsidian 仓库的默认配置目录名称,请使用实际配置目录。 移动端安装也需要将插件文件夹放入对应仓库的配置目录。本插件尚未在 Android 和 iOS 真机上完成全面测试。 ## 快速使用 1. 打开一篇笔记,进入编辑模式。 2. 选中 `日本語`。 3. 按 **Ctrl + P**,macOS 用户按 **⌘ + P**,打开命令面板。 4. 搜索 `Komaki Furigana`。 5. 执行 **添加 / 编辑假名**。 6. 在读音输入框中填写 `にほんご`。 7. 查看效果预览,按 **Enter** 或点击 **保存标注**。 也可以通过编辑器右键菜单或左侧工具栏图标打开标注窗口。 未选中文字时,窗口允许同时输入原文和假名,并将生成的标注插入打开窗口时的光标位置。 按 **Esc** 或点击取消不会修改笔记。假名为空时不会覆盖原文。 ## 修改与移除假名 ### 修改已有标注 将光标放入已有的 `...` 标签内部,或者选中其中的原文,然后执行 **添加 / 编辑假名**。 窗口会自动读取已有原文和读音。修改并保存后,原有标注将被更新。 ### 移除已有标注 将光标放在 Ruby 标注内部,执行 **移除假名(保留原文)**。 也可以在编辑窗口中点击 **移除标注**。 选中包含多条完整 Ruby 标注的正文后,可以一次性移除其中的注音。 如果选区只截取了多条标注中的一部分,插件会提示重新选择。 常规操作支持使用 Obsidian 的撤销功能恢复。批量插入和批量移除会作为一次文本修改处理。 插件能够直接识别原先通过 Templater 生成的 Ruby 标注,无需迁移。 对于包含多个 ``、嵌套标签、自定义属性或复杂 HTML 结构的 Ruby,插件会保守处理,避免强制改写。 ## 批量标注 执行 **批量标注(原文|假名)**,每行输入一组原文和读音: ```text 日本語|にほんご 勉強|べんきょう 学校|がっこう ``` 支持以下分隔符: - 全角竖线:`|` - 半角竖线:`|` - 制表符:Tab 可以提前在笔记中写好这些内容并选中,再打开批量标注窗口。保存后,选区会被替换为 Ruby 标注。 如果没有选中文字,标注将插入原来的光标位置。 使用规则: - 保留空行。 - 每次最多处理 200 组。 - 每个原文或读音字段最多 500 个字符。 - 任何一行格式错误,整个批次均不会写入。 - 格式错误时显示具体行号。 - 按 **Ctrl / ⌘ + Enter** 保存。 - 按 **Esc** 取消。 源码中的单个换行如何显示,取决于 Markdown 渲染规则。 ## 命令与快捷键 进入 **设置 → 快捷键**,搜索 `Komaki Furigana`,为命令自行设置快捷键。 | 命令 | 功能 | |---|---| | 添加 / 编辑假名 | 添加注音或修改已有标注 | | 移除假名(保留原文) | 移除注音标签并保留原文 | | 批量标注(原文|假名) | 一次性标注多个词语 | | 显示 / 隐藏假名 | 切换假名显示状态,方便自测 | 插件不会预先占用默认快捷键。 ## 显示效果与设置 ### 阅读视图 使用 Obsidian 的 HTML 渲染功能显示 Ruby 注音。 ### 实时预览 当光标离开标注时,显示注音效果。 点击标注、将光标移入标注或紧贴标注边缘时,会显示对应的 Ruby 源码。 ### 源码模式 始终显示完整的 `` 源码,不隐藏标签。 ### 外观设置 - **假名字号:** 正文字号的 35%–85%,默认 55%。 - **注音位置:** 可选择显示在原文上方或下方。 - **隐藏假名:** 隐藏读音但保留占位,方便记忆测试。 - **效果预览:** 即使在笔记中隐藏读音,输入窗口仍会显示完整预览。 ### 假名转换 可以在输入窗口中手动将平假名转换为片假名,或将片假名转换为平假名。 也可以设置保存时自动转换已输入的假名。 此功能只负责假名字符转换,不会自动推断汉字读音。 ### 兼容括号 可为新标注添加 `` 标签: ```html 日本語(にほんご) ``` 这样,在不支持 Ruby 的阅读器中,可以显示后备括号。 修改已有标注时,插件会保留原来的括号模式。 ### 右键菜单 可以在设置中启用或关闭编辑器右键菜单功能。 插件的显示设置同样适用于旧笔记中的标准 Ruby 注音。 即使停用插件,笔记中的 Ruby 数据也不会丢失。 ## 使用限制与数据保护 - 本插件是**手动假名标注工具**,不支持自动推断汉字读音。 - 不内置日语词典或在线注音服务。 - 仅支持单行原文。 - 建议选择纯文字进行标注。 - 输入窗口中的 Markdown 格式符号将作为普通文字保存。 - 自动转义 `<`、`>`、`&`、引号等 HTML 特殊字符。 - 跳过代码围栏、行内代码、缩进代码、文档属性和 HTML 注释。 - 部分复杂 Markdown 结构可能被保守地识别为代码。 - 同时存在多个选区时,不执行多选区修改。 - 日语输入法正在组词或确认候选字时,Enter 不会立即触发保存。完成输入后可再次按 Enter 或点击保存。 - 如果窗口打开后切换了文件,或者笔记内容发生变化,插件会拒绝覆盖原有内容。 - 如果实时预览与主题或其他编辑器插件冲突,可以在设置中关闭插件的实时预览功能。 插件只修改本次操作涉及的文本。 设置保存在 Obsidian 提供的插件专用 `data.json` 文件中。 **无遥测、无外部请求、不上传笔记内容。** ## 文件说明与开发 | 文件 | 用途 | |---|---| | `main.js` | 已编译的插件入口 | | `manifest.json` | 插件名称、作者和版本信息 | | `styles.css` | 插件界面样式 | | `src/` | TypeScript 源代码 | | `tests/` | 文本处理测试与浏览器集成测试 | | `package.json` | 开发依赖和脚本 | | `package-lock.json` | 依赖版本锁定文件 | | `esbuild.config.mjs` | 构建配置 | | `tsconfig.json` | TypeScript 配置 | | `EXAMPLES.md` | 示例笔记 | 普通用户只需要安装 `main.js`、`manifest.json` 和 `styles.css` 三个文件。 开发者可以在项目目录执行: ```sh npm ci npm run build npm test ``` 浏览器集成测试使用真实 CodeMirror 编辑器以及模拟的 Obsidian 宿主接口。 运行浏览器测试需要额外安装 Playwright 和 Chromium: ```sh npm install --no-save playwright npx playwright install chromium node tests/browser-smoke.cjs ``` 开发参考: - [Obsidian 官方 API](https://github.com/obsidianmd/obsidian-api) - [Obsidian 官方插件示例](https://github.com/obsidianmd/obsidian-sample-plugin) **最低 Obsidian 版本:** 1.5.0 本插件尚未在真实 Obsidian 桌面端或移动端完成全面验收。测试范围与结果详见 `VALIDATION.md`。 ## 许可证 MIT License © 2026 komaki。 详细内容请参阅 [LICENSE](LICENSE)。 --- # 日本語 ## 概要 **Komaki Furigana** は、Obsidian で日本語のふりがなを手動で追加・編集・削除できるプラグインです。 標準的な HTML の Ruby マークアップを使用し、Markdown ノートに読み仮名を保存します。 ```html 日本語にほんご ``` 日本語のテキストを選択して読み仮名を入力するだけで、簡単にふりがなを付けられます。 Templater、アカウント、インターネット接続、API キーは不要です。 プラグインはビルド済みのため、通常のインストールに Node.js は必要ありません。 ### 主な機能 - 選択した日本語テキストにふりがなを追加 - 既存のふりがなを編集 - 元のテキストを残してふりがなを削除 - 複数の単語をまとめて注釈 - 保存前のプレビュー - 暗記・復習用のふりがな表示切り替え - ふりがなの文字サイズと表示位置の変更 - ひらがなとカタカナの相互変換 - 既存の標準 HTML Ruby との互換性 - オフライン動作、テレメトリーや外部通信なし ## インストール 現在、Komaki Furigana は**手動インストールのみ**に対応しています。Obsidian の公式コミュニティプラグイン一覧にはまだ公開されていません。 1. ダウンロードした ZIP ファイルを解凍します。 2. `komaki-furigana` フォルダーを探します。 3. そのフォルダーを保管庫(Vault)の `.obsidian/plugins/` にコピーします。 4. 次のファイル構成になっていることを確認します。 ```text YourVault/ └── .obsidian/ └── plugins/ └── komaki-furigana/ ├── main.js ├── manifest.json └── styles.css ``` 5. Obsidian を再起動します。 6. **設定 → コミュニティプラグイン** を開きます。 7. 必要に応じてコミュニティプラグインを有効にし、インストール済みの一覧から **Komaki Furigana** を有効にします。 解凍時に同名フォルダーが二重にならないように注意してください。 macOS では、Finder で **⌘ + Shift + .** を押すと隠しファイルを表示できます。 Obsidian の設定フォルダー名を変更している場合は、実際の設定フォルダーを使用してください。 モバイル版でも対応する保管庫の設定フォルダーにプラグインを配置する必要があります。ただし、Android と iOS の実機での十分な動作検証はまだ完了していません。 ## 基本的な使い方 1. ノートを編集モードで開きます。 2. `日本語` を選択します。 3. **Ctrl + P**(macOS では **⌘ + P**)でコマンドパレットを開きます。 4. `Komaki Furigana` を検索します。 5. **ふりがなの追加・編集** コマンドを実行します。 6. 読み仮名の入力欄に `にほんご` と入力します。 7. プレビューを確認し、**Enter** キーまたは **保存** ボタンで確定します。 エディターの右クリックメニューや左側のリボンアイコンからも操作できます。 テキストを選択していない場合は、元の文字列と読み仮名の両方を入力できます。 生成された注釈は、ダイアログを開いたときのカーソル位置に挿入されます。 **Esc** キーまたはキャンセル操作ではノートは変更されません。読み仮名が空の場合も、元のテキストは上書きされません。 ## ふりがなの編集と削除 ### 既存のふりがなを編集する 既存の `...` 要素の内部にカーソルを置くか、その元の文字列を選択して、**ふりがなの追加・編集** を実行します。 ダイアログには元の文字列と読み仮名が自動的に入力されます。 内容を変更して保存すると、既存の注釈が更新されます。 ### ふりがなを削除する Ruby 要素内にカーソルを置き、**ふりがなを削除(元の文字列を保持)** を実行します。 編集ダイアログの **注釈を削除** ボタンからも削除できます。 複数の完全な Ruby 要素を含む範囲を選択すると、まとめてふりがなを削除できます。 選択範囲が複数の Ruby 要素の途中で切れている場合は、範囲の選択し直しを求めるメッセージが表示されます。 通常の操作は Obsidian の元に戻す機能で復元できます。一括挿入や一括削除は、1 回のテキスト変更として処理されます。 Templater で作成した既存の Ruby 注釈も、変換作業なしで認識できます。 複数の ``、入れ子になったタグ、独自属性、複雑な HTML 構造を含む Ruby 要素は、無理に書き換えず元の内容を保持します。 ## 一括注釈 **一括ふりがな(原文|読み仮名)** コマンドを実行し、1 行につき 1 組の原文と読み仮名を入力します。 ```text 日本語|にほんご 勉強|べんきょう 学校|がっこう ``` 使用できる区切り文字: - 全角縦線:`|` - 半角縦線:`|` - タブ文字 あらかじめノートに記述した行を選択してから、一括注釈ダイアログを開くこともできます。 保存すると、選択範囲が Ruby 注釈に置き換えられます。 選択範囲がない場合は、元のカーソル位置に挿入されます。 ### 処理ルール - 空行は保持されます。 - 1 回の操作で最大 200 組まで処理できます。 - 原文と読み仮名は、それぞれ最大 500 文字です。 - 形式に誤りがある行が 1 つでも存在する場合、処理全体を中止します。 - エラーが発生した行番号を表示します。 - **Ctrl / ⌘ + Enter** で保存します。 - **Esc** でキャンセルします。 単一の改行が画面上でどのように表示されるかは、Markdown のレンダリング規則に従います。 ## コマンドとショートカット **設定 → ホットキー** で `Komaki Furigana` を検索すると、各コマンドにショートカットを割り当てられます。 | コマンド | 機能 | |---|---| | ふりがなの追加・編集 | 注釈の追加と編集 | | ふりがなを削除(元の文字列を保持) | 読み仮名を削除して原文を残す | | 一括ふりがな(原文|読み仮名) | 複数の注釈をまとめて挿入 | | ふりがなの表示・非表示 | 暗記・復習用に表示を切り替える | デフォルトのショートカットは設定されていません。 ## 表示と設定 ### リーディングビュー Obsidian の HTML レンダリング機能を利用して Ruby 注釈を表示します。 ### ライブプレビュー カーソルが注釈の外にあるときは、ふりがな付きの文字列を表示します。 注釈をクリックするか、カーソルを注釈の内部に移動すると、Ruby のソースコードが表示されます。 カーソルが注釈の境界に接している場合も、ソースコードが表示されます。 ### ソースモード `` タグを含むソースコードを常に表示します。 ### 外観設定 - **文字サイズ:** 本文の 35%〜85%。初期値は 55%。 - **表示位置:** 元の文字列の上または下。 - **ふりがなを隠す:** 読み仮名を非表示にし、表示領域は維持します。 - **プレビュー:** ノート上でふりがなを非表示にしていても、入力ダイアログでは読み仮名を表示します。 ### かな変換 入力したひらがなをカタカナに、またはカタカナをひらがなに変換できます。 保存時に自動変換する設定も利用できます。 この機能は入力済みのかなを変換するものであり、漢字の読み方を自動判定するものではありません。 ### フォールバック用の括弧 必要に応じて、新しい注釈に `` 要素を追加できます。 ```html 日本語(にほんご) ``` Ruby に対応していない環境では、括弧付きの読み仮名を表示するために使用されます。 既存の注釈を編集する場合は、元の括弧設定を保持します。 ### 右クリックメニュー 設定画面から、エディターの右クリックメニューへの統合を有効または無効にできます。 表示設定は、以前のノートに保存されている標準的な Ruby 注釈にも適用されます。 プラグインを無効にしても、Markdown ファイル内の Ruby データは削除されません。 ## 制限事項とデータ保護 - 本プラグインは**手動のふりがな注釈ツール**です。 - 漢字の読み方を自動生成する機能はありません。 - 日本語辞書やオンライン読み仮名サービスは搭載していません。 - 原文は 1 行のテキストのみ対応しています。 - プレーンテキストの選択を推奨します。 - ダイアログ内に入力した Markdown 記号は、通常の文字として保存されます。 - `<`、`>`、`&`、引用符などの HTML 特殊文字はエスケープされます。 - コードフェンス、インラインコード、インデントされたコード、フロントマター、HTML コメントは処理対象から除外されます。 - 複雑な Markdown 構造は、安全のためコードとして扱われる場合があります。 - 複数の選択範囲を同時に編集することはできません。 - 日本語入力システム(IME)で変換候補を確定している間は、Enter キーで直ちに保存されません。入力確定後にもう一度 Enter を押すか、保存ボタンをクリックしてください。 - ダイアログを開いた後にファイルが切り替わったり、ノートの内容が変更されたりした場合、上書きを防ぐため保存を拒否します。 - ライブプレビューがテーマや他のエディタープラグインと競合する場合は、設定から本プラグインのライブプレビュー機能を無効にできます。 プラグインが変更するのは、操作対象のテキストのみです。 設定は Obsidian が提供するプラグイン専用の `data.json` に保存されます。 **テレメトリーなし。外部通信なし。ノートのアップロードなし。** ## ファイル構成と開発 | ファイル | 用途 | |---|---| | `main.js` | ビルド済みのプラグイン本体 | | `manifest.json` | プラグイン情報とバージョン | | `styles.css` | インターフェースのスタイル | | `src/` | TypeScript ソースコード | | `tests/` | テキスト処理とブラウザー統合テスト | | `package.json` | 開発用依存関係とスクリプト | | `package-lock.json` | 依存関係のロックファイル | | `esbuild.config.mjs` | ビルド設定 | | `tsconfig.json` | TypeScript 設定 | | `EXAMPLES.md` | サンプルノート | 通常のインストールに必要なのは、`main.js`、`manifest.json`、`styles.css` の 3 ファイルのみです。 ソースコードからビルドする場合: ```sh npm ci npm run build npm test ``` ブラウザー統合テストでは、実際の CodeMirror エディターと、Obsidian のホストインターフェースを模した環境を使用します。 テストの実行には Playwright と Chromium が必要です。 ```sh npm install --no-save playwright npx playwright install chromium node tests/browser-smoke.cjs ``` 開発時の参考資料: - [Obsidian 公式 API](https://github.com/obsidianmd/obsidian-api) - [Obsidian 公式サンプルプラグイン](https://github.com/obsidianmd/obsidian-sample-plugin) **対応する Obsidian の最低バージョン:** 1.5.0 本パッケージは、実際の Obsidian デスクトップ版およびモバイル版での完全な動作検証をまだ完了していません。 テスト範囲と結果については `VALIDATION.md` を参照してください。 ## ライセンス MIT License © 2026 komaki. 詳細は [LICENSE](LICENSE) を参照してください。