MoonReader Note Sync

by seeyou2night
5
4
3
2
1
Score: 31/100

Description

Reviews

No reviews yet.

Stats

3
stars
168
downloads
0
forks
105
days
9
days
9
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
1
total issues
1
open issues
0
closed issues
26
commits

Latest Version

9 days ago

Changelog

更新记录

0.4.2

  • 刷新时的目录读取和批注下载均设为 30 秒请求超时,失败后可重试,迟到响应不会覆盖新缓存。
  • 原编辑视图关闭后拒绝光标导入,可显式改为文末追加。
  • 旧版默认替换设置在加载时归一化为光标插入,移除无调用的凭据状态方法。

0.4.1

  • 修正社区审核指出的 DOM helper 与定时器调用,改善弹出窗口兼容性,并增加对应回归检查。
  • 精简中英文使用说明,补充插件市场和手动下载安装方式,移除旧版升级、开发验证及发布流程。

0.4.0

  • 重新设计设置页,整合 WebDAV 地址、账号和凭据,分别反馈连接、书库、导入方式和模板的保存结果。
  • 支持自定义 Keychain 名称,明确区分已有条目与新建条目,统一验证和保存入口,关闭设置时清除草稿。
  • 修复已有缓存无法替换的问题;写入失败可回滚,中断后可恢复。
  • 连接检查支持取消及 30 秒超时;取消尚未提交的保存,已开始的提交会完成缓存切换,迟到响应不干扰新操作。
  • 修复唯一 Keychain 无法重新选择、偏好保存反馈错位、导入期间书库更新未显示和重复导入记录归属错误。

0.3.2

  • 设置接入 Obsidian 全局搜索,缓存改用库内文件接口。
  • 最低 Obsidian 版本提高到 1.13.0,提供中英文说明。

0.3.1

  • 恢复社区目录登记的插件 ID obsidian-moonreader-sync,修正配置校验和宿主 API 使用问题。
  • 发布仅包含三个插件文件,并提供构建来源证明。

0.3.0

  • 增加书籍展示数量、书名和备份时间排序,保留搜索及当前选书。
  • 精简书库与导入目标展示,补充英文使用说明。

0.2.0

  • 将选书、预览和导入合并为同一面板,支持键盘操作、窄窗口和模板编辑。
  • 增加连接测试,密码改用 Obsidian Keychain,最低版本为桌面版 1.11.5。
  • 替换正文和同一会话内重复导入均需确认;异常备份或刷新失败时保留缓存。

README file from

Github

MoonReader Note Sync

English | 中文

Import highlights and annotations from Moon+ Reader WebDAV backups into Obsidian. Search books, preview notes, customize templates, and browse cached books offline. The interface follows Obsidian's English or Chinese language setting.

Requires Obsidian 1.13.0 or later on desktop. Mobile is not supported. See release notes for changes.

Installation

Obsidian community plugins

  1. Open Settings → Community plugins and turn on community plugins if needed.
  2. Select Browse and search for MoonReader Note Sync.
  3. Select Install, then Enable.

For updates, use Check for updates in Community plugins.

Manual download

  1. Open the latest GitHub release. Under Assets, download main.js, manifest.json, and styles.css.
  2. Place all three files directly in your vault's .obsidian/plugins/obsidian-moonreader-sync/ folder. Create the folder if needed.
  3. Restart Obsidian or reload the plugin, then enable it in Settings → Community plugins.

Source code archives are not built plugin packages. When updating, replace only the three downloaded files; keep data.json and cache files, and avoid duplicate installations.

Usage

Connect your backup

Back up annotations to WebDAV from Moon+ Reader and locate the folder containing .an files.

  1. In the plugin settings, enter the WebDAV folder URL and Username.
  2. Choose an entry from Saved Keychains, or select New Keychain and enter a name and password or app password.
  3. Optionally select Test connection; testing does not save anything. Apply the connection with Verify and save connection, or Create Keychain and save connection for a new entry.
  4. Open the library from the ribbon button or the Browse and import notes command. An empty cache is fetched automatically; use Refresh library for later updates.

Keychain names accept lowercase letters, numbers and dashes, up to 64 characters. Existing names cannot be overwritten. Changing the account or server requires choosing a credential again. Manage existing entries in Obsidian Keychain.

Each WebDAV request times out after 30 seconds, including folder listings and annotation downloads during refresh. Connection checks can also be cancelled. Closing settings discards drafts and cancels saves that have not started writing; a save already writing finishes and switches the library to the new connection.

Import notes

Select a book to preview its first three annotations. The import button writes all annotations from that book; the footer shows the destination and insertion mode.

  • The default inserts at the cursor captured when the panel opened, without replacing selected text. If another pane has focus, it uses the most recent Markdown note still open.
  • With no open destination, use Choose note, select a Markdown file, then append.
  • More lets you append, change the destination, or replace the body. Replacement requires confirmation and preserves leading YAML properties.
  • Arrow keys select books, Enter focuses the import button, and Ctrl/Cmd+Enter imports. Shortcuts cannot bypass confirmation.

Importing the same book into the same note again requires confirmation during one plugin session. There is no deduplication across sessions or two-way sync; repeated imports may duplicate content and block IDs. Remote backups are never modified. Closing during a write waits for it to finish.

Library display

Use the list's order button to sort by title or backup modification time in either direction. The default is newest backup first; missing dates appear last. Dates refer to backup files, not reading or annotation time.

Books shown sets the display limit; 0 shows all books. Search covers all cached books before applying the limit, which does not affect downloads. Display and default insertion preferences save immediately.

Templates

Use Adjust template in the library for the current import. Select Save as default template to reuse it; the default is also editable in plugin settings.

Field Value
{bookName} Book title
{chapter} Chapter index
{highlightText} Highlighted text
{note} Personal annotation
{color} RGB hexadecimal color
{timestamp} UTC time
{id} Original annotation ID

Templates support Markdown and HTML. Field values are HTML-escaped; preview and import use the same template.

Data and privacy

The plugin connects only to the configured WebDAV backup service and has no telemetry or additional network services. Passwords stay in Obsidian Keychain; settings store the credential name. Configure the password again on another device.

Book caches are plain text in the plugin folder, separated by server directory and account. Cached books remain available offline. Failed refreshes retain existing cached data; successfully confirmed remote deletions remove books from the library without changing imported notes.

Troubleshooting

  • No books found: Check that the selected folder contains .an files; a successful connection alone does not confirm the backup location.
  • Authentication fails: Check the username, app password and folder permissions; select another Keychain or create one if its password is unavailable.
  • A book fails to update: Its previous data remains available. Refresh to retry; the parser rejects corrupt or incomplete records.
  • The original note closed or changed: Switch to appending, or open the target note and reopen the library to capture a new cursor position.

Report problems through GitHub Issues.

License

ISC. Bundled pako code uses MIT and Zlib licenses; see third-party notices.