zzzhc23 downloadsPublish selected notes and images to a Hexo repository through GitHub.
Publish Obsidian notes to your Hexo blog.
Articles and images · Covers and categories · Status checks · Multi-device sync · Conflict recovery
在 Obsidian 中,完成 Hexo 博客发布。
文章与图片 · 封面与分类 · 状态检查 · 多端同步 · 冲突恢复
Installation · Basic usage · 界面预览 · 使用指南 · 开发
NoteBridge is an Obsidian plugin that publishes Markdown notes and referenced images to a Hexo source repository through GitHub. It brings article previews, image uploads, cover and category selection, publishing status, withdrawals, deployment checks, and conflict recovery into one integrated control center.
NoteBridge 是一个面向 Hexo 的 Obsidian 发布插件。它将文章转换、图片上传、封面设置、分类选择、状态检查、撤回和部署查询集中到一个操作中心,让你无需离开笔记库,也能清楚完成每一次发布。
[!NOTE] NoteBridge 0.1.10 stable supports Obsidian on desktop and mobile. Back up your notes and publishing records before important operations.
NoteBridge 0.1.10 正式版,支持 Obsidian 桌面端与移动端。进行重要发布操作前,建议备份笔记与发布记录。
从笔记到网站:预览、确认、发布,在同一个工作流里完成。
| 能力 | 说明 |
|---|---|
| 单篇与批量发布 | 发布前展示文章、图片、目标路径和完整上传副本,确认后才提交到 GitHub。 |
| 图片与封面管理 | 收集文章引用的本地图片,通过缩略图选择 Fluid 首页封面和文章页头图。 |
| 分类与目录选择 | 只读扫描 Hexo 仓库已有分类和目录,分别设置网页分类与 Markdown 保存位置。 |
| 状态与部署检查 | 搜索、筛选本地发布状态,只读核验 GitHub 文件,并查询对应提交的 Actions 工作流。 |
| 撤回与重新发布 | 明确核对后撤回线上文章;撤回记录可跨设备同步,恢复发布仍需再次确认。 |
| 多端同步与恢复 | 通过 Vault 同步记录协调多台设备,提供冲突比较、中断核对、备份及损坏记录恢复。 |
| 安全发布 | 检查附件越界、目标冲突、远端变化、目录树截断和未解决合并冲突,无法确认时停止写入。 |
| 无遥测 | 不收集使用数据;GitHub 凭据由 Obsidian SecretStorage 管理,插件设置只保存密钥名称。 |
manifest.json, main.js, and styles.css from the NoteBridge 0.1.10 release..obsidian/plugins/notebridge/ folder inside your Obsidian vault.You do not need Node.js, Git, or a separate server to use the plugin.
.obsidian/plugins/notebridge/ 目录。最终用户不需要安装 Node.js、Git 或独立服务器;只有参与开发时才需要 Node.js。
blog, source/_posts, and source/imgs.blog/ and referenced local images in blog/imgs/.创建仅访问目标仓库的 fine-grained PAT,并授予:
在 Obsidian 密钥存储中添加 token,再到 NoteBridge 设置中选择对应凭据。不要把 token 写入笔记、同步记录或聊天内容。
| 设置 | 默认值 | 用途 |
|---|---|---|
| GitHub 仓库 | 空 | 格式为 所有者/仓库。 |
| 源码分支 | main |
Hexo 源码所在分支。 |
| 发布根目录 | blog |
Obsidian 中允许发布的笔记目录。 |
| 文章目标目录 | source/_posts |
Hexo Markdown 保存位置。 |
| 图片目标目录 | source/imgs |
Hexo 图片保存位置。 |
| 站点 root | / |
网站部署的子路径。 |
| 图片公开 URL 路径 | imgs |
上传副本使用的图片公开路径。 |
| 部署工作流文件 | pages.yml |
需要查询的 GitHub Actions 工作流。 |
blog/,本地图片放入 blog/imgs/。NoteBridge 不会自动发布。每一次 GitHub 写入都需要你明确确认。
| 文章发布状态 | 封面图片选择 | 批量与文章管理 |
|
|
|
“Fluid 文章封面和头图”默认开启。打开文章后,在操作中心选择“文章封面和头图”,即可通过缩略图选择图片,并设置为:
index_img:首页文章封面。banner_img:文章页头图。也可以手动填写 Frontmatter:
---
index_img: "[[imgs/封面图.png]]"
banner_img: "[[imgs/封面图.png]]"
---
本地图片必须位于发布根目录内的 imgs/ 文件夹。保存选择只修改本地文章属性,之后仍需预览并发布;图片缺失、路径越界或目标冲突会阻止上传。实际显示效果取决于 Fluid 主题配置。
插件只读扫描仓库已有文章的 categories 或 category 属性,并列出文章目标目录下的现有文件夹:
“文章发布状态”支持按路径搜索和按本地状态筛选,最多显示前 200 条结果。插件分别展示本地记录与 GitHub 核验结果,避免把“GitHub 文件存在”误认为“网站已经部署”。
提交后,插件按本次 SHA 查询指定工作流,每 15 秒检查一次,最多持续 10 分钟。工作流成功只代表对应运行成功,仍需确认其中包含实际部署步骤。
撤回前会显示本地文章、远端路径和目标分支,确认后才创建删除提交。本地文件与远端图片会保留,旧内容仍存在于 Git 历史中。
撤回事件会写入同步记录,防止旧设备快照恢复已撤回的关联。需要重新发布时,先完成各设备同步,再在操作中心的“文章管理”中明确允许重新发布,随后重新预览并提交。
当远端文章与本机基线不一致时,运行“比较并合并当前文章的发布冲突”:
合并只修改上传副本,不会直接覆盖 Obsidian 本地笔记。操作中心的“一键修复”可处理能够安全确认的记录与中断;无法安全判断时会要求人工核对,不会强行覆盖远端文件。
NoteBridge同步记录/ 中保存各设备记录,可通过坚果云等工具同步。notebridge_id,用于识别重命名和跨设备记录;该字段不会进入上传副本,请勿复制或手动删除。.backup;损坏记录需要明确恢复,不能通过删除记录绕过检查。imgs 内的 Markdown。draft: true、publish: false、published: false 的文章会跳过。imgs/ 中被引用的本地图片。%%...%% 注释和 HTML 注释,保留代码块、行内代码和 Hexo 的 <!-- more -->。<!-- more --> 不应包含私密内容。cover、banner、thumbnail 字段会阻止发布,请使用插件支持的 Fluid 字段。title、date、updated、tags、categories、permalink。notebridge_id 始终从上传副本移除。title 时使用文件名;首次准备日期会保存在本机状态中。updated 只保留原值,不会自动计算当前时间。| 情况 | 建议操作 |
|---|---|
| 远端文章与基线冲突 | 打开文章,比较三个版本并合并;不要通过删除同步记录强行覆盖。 |
| 本地或远端附件缺失 | 补齐文件后重新预览,确认图片位于发布根目录内的 imgs/。 |
| 返回 401 或 403 | 检查 token、仓库范围以及 Contents / Actions 权限。 |
ERR_CACHE_READ_FAILURE |
插件会对只读请求绕开缓存重试一次;仍失败时在分类窗口点击“重新读取”或重启 Obsidian。 |
| 提交结果无法确认 | 不要盲目重试,先核对 GitHub,再使用操作中心的恢复与修复能力。 |
| 存在旧重复发布记录 | 等待各设备同步后,比较两个远端版本,确认属于同一文章再清理旧关联。 |
| 远端旧记录已不存在 | 使用“核对远端已删除的旧发布记录”,确认不是尚未同步的改名文章后清理关联。 |
npm ci
npm run build
npm run lint
构建输出为根目录的 main.js,安装时还需 manifest.json 和 styles.css。
NoteBridge uses api.github.com to read the configured repository, branch, and Actions status, and writes only the confirmed article snapshots and images. To provide batch previews, publishing status, and cover selection, it enumerates note and image paths in the vault and reads files required for those operations. Publishing baselines and initial preparation dates are stored in Obsidian localStorage and vault synchronization records. NoteBridge does not collect telemetry.
NoteBridge 使用 api.github.com 读取配置的仓库、分支和 Actions 状态,并在确认后写入选中的文章转换副本和图片。为提供批量预览、发布状态和封面选择,插件会枚举 Vault 中的文章与图片路径,并读取这些功能所需的文件。发布基线与首次准备日期保存在 Obsidian localStorage 和 Vault 同步记录中。插件不提供遥测;远端内容和 Git 历史由 GitHub 及你的仓库权限管理。
NoteBridge 使用 Apache License 2.0。打包组件及其许可证见 THIRD_PARTY_NOTICES.md。