feat: Rename plugin to Odox and enhance documentation for static site export features
This commit is contained in:
85
README.md
85
README.md
@@ -1,71 +1,96 @@
|
||||
# VitePress Exporter - Obsidian Plugin
|
||||
# Odox - Obsidian Plugin
|
||||
|
||||
## 功能
|
||||
|
||||
这个 Obsidian 插件用于自动化发布 Obsidian 笔记到 VitePress 网站:
|
||||
这个 Obsidian 插件用于自动化发布 Obsidian 笔记到静态文档网站(如 VitePress、Docusaurus 等):
|
||||
|
||||
- ✅ 将当前 markdown 文件导出到 `docs/` 目录
|
||||
- ✅ 自动复制引用的资源文件到 `docs/assets/` 目录
|
||||
- ✅ 更新 markdown 中的资源路径
|
||||
- 🚧 Canvas 文件渲染(待实现)
|
||||
- ✅ 自动复制引用的资源文件到 `docs/public/` 目录
|
||||
- ✅ 更新 markdown 中的资源路径为根路径引用
|
||||
- ✅ Canvas 文件渲染为高清 PNG 图片
|
||||
- ✅ 支持 Canvas 透明背景导出
|
||||
- ✅ 灵活的目录结构和命名规则配置
|
||||
|
||||
## 安装
|
||||
|
||||
插件已经安装在这个项目的 `.obsidian/plugins/vitepress-exporter/` 目录下。
|
||||
插件已经安装在这个项目的 `.obsidian/plugins/odox/` 目录下。
|
||||
|
||||
1. 在 Obsidian 中打开这个项目
|
||||
2. 进入设置 → 第三方插件
|
||||
3. 启用 "VitePress Exporter" 插件
|
||||
3. 启用 "Odox" 插件
|
||||
|
||||
## 使用
|
||||
|
||||
### 方式 1:命令面板
|
||||
1. 打开一个 markdown 文件
|
||||
1. 打开一个 markdown 或 canvas 文件
|
||||
2. 按 `Ctrl+P` (或 `Cmd+P`) 打开命令面板
|
||||
3. 输入 "Export to VitePress"
|
||||
4. 选择 "Export current note to VitePress"
|
||||
3. 输入 "Export to docs"
|
||||
4. 选择 "Export current note to docs"
|
||||
|
||||
### 方式 2:功能区按钮
|
||||
- 点击左侧功能区栏的上传图标按钮
|
||||
### 方式 2:文件菜单
|
||||
- 在文件管理器中右键点击文件
|
||||
- 选择 "Export to docs" 选项
|
||||
|
||||
### 方式 3:快捷键
|
||||
### 方式 3:编辑器菜单
|
||||
- 在编辑器中右键点击
|
||||
- 选择 "Export to docs" 选项
|
||||
|
||||
### 方式 4:快捷键
|
||||
- 可以在 Obsidian 的快捷键设置中为导出命令设置快捷键
|
||||
|
||||
## 配置
|
||||
|
||||
在插件设置中可以配置:
|
||||
|
||||
- **Docs path**: 导出的 markdown 文件存放目录(默认:`docs`)
|
||||
- **Assets path**: 资源文件存放目录(默认:`docs/assets`)
|
||||
- **Wiki path**: 导出的 markdown 文件存放目录(默认:`docs`)
|
||||
- **Assets path**: 资源文件存放目录(默认:`docs/public`)
|
||||
- **Nest note folder**: 是否为每个笔记创建文件夹(默认:开启)
|
||||
- **Preserve folder structure**: 是否保留原始文件夹结构(默认:开启)
|
||||
- **Transparent canvas background**: 导出 Canvas 时使用透明背景(默认:开启)
|
||||
- **Canvas embed template**: Canvas 嵌入模板,使用 `{url}` 作为图片路径占位符
|
||||
|
||||
## 工作流程
|
||||
|
||||
1. 用户在 Obsidian 中编写笔记
|
||||
2. 笔记中引用的资源(图片、PDF 等)可以放在任意位置
|
||||
3. 点击导出按钮
|
||||
2. 笔记中引用的资源(图片、Canvas 等)可以放在任意位置
|
||||
3. 触发导出命令
|
||||
4. 插件自动:
|
||||
- 将 markdown 文件复制到 `docs/` 目录
|
||||
- 扫描并复制所有引用的资源到 `docs/assets/` 目录
|
||||
- 更新 markdown 中的资源路径
|
||||
- 扫描并复制所有引用的资源到 `docs/public/` 目录
|
||||
- 将 Canvas 文件渲染为高清 PNG 图片
|
||||
- 更新 markdown 中的资源路径为根路径引用(如 `/image.png`)
|
||||
|
||||
## Canvas 导出
|
||||
|
||||
Canvas 文件会通过以下方式处理:
|
||||
|
||||
1. 使用 Obsidian 内部 API 渲染 Canvas 为 PNG 图片
|
||||
2. 保存图片到 `docs/public/` 目录
|
||||
3. 生成对应的 `.canvas.md` 文件,使用配置的嵌入模板
|
||||
4. 支持透明背景导出(移除 Obsidian 的点状背景)
|
||||
|
||||
## 当前状态
|
||||
|
||||
- ✅ 基础插件框架
|
||||
- ✅ 文件导出功能
|
||||
- ✅ 资源文件自动复制
|
||||
- 🚧 Canvas 文件渲染(开发中)
|
||||
- ✅ Markdown 文件导出功能
|
||||
- ✅ 资源文件自动复制和路径更新
|
||||
- ✅ Canvas 文件渲染为 PNG 图片
|
||||
- ✅ Canvas 透明背景支持
|
||||
- ✅ 分块渲染大型 Canvas(避免尺寸限制)
|
||||
- ✅ 灵活的路径规则配置
|
||||
|
||||
## Canvas 渲染计划
|
||||
## 技术特点
|
||||
|
||||
对于 `.canvas` 文件,计划实现的方案:
|
||||
|
||||
1. **方案 A(优先)**:基于 Obsidian 自己的渲染(探索中)
|
||||
2. **方案 B(备选)**:使用 Headless Browser 手动渲染 JSON Canvas
|
||||
- **Binary 模式文件操作**:保留原始文件格式(包括行尾空格)
|
||||
- **智能链接解析**:支持多种链接格式(Markdown、Wikilink、相对路径、绝对路径)
|
||||
- **分块渲染**:对大型 Canvas 进行分块渲染,避免超过 16284px 的尺寸限制
|
||||
- **缩放校正**:考虑系统 DPI 和缩放设置,确保高清输出
|
||||
- **Electron 集成**:使用 Obsidian 内部的 Electron API 实现 Canvas 截图
|
||||
|
||||
## 开发
|
||||
|
||||
```bash
|
||||
cd .obsidian/plugins/vitepress-exporter
|
||||
cd .obsidian/plugins/odox
|
||||
|
||||
# 安装依赖
|
||||
npm install
|
||||
@@ -79,6 +104,8 @@ npm run build
|
||||
|
||||
## 注意事项
|
||||
|
||||
- 确保项目中有 `docs/` 目录
|
||||
- 确保项目中有配置的目标目录
|
||||
- 资源文件会被复制,不会移动原文件
|
||||
- 如果目标文件已存在,会被覆盖
|
||||
- Canvas 渲染仅支持桌面版 Obsidian(需要 Electron)
|
||||
- 生成的 `<Viewer>` 组件需要在静态站点中配置对应组件
|
||||
|
||||
Reference in New Issue
Block a user