# Joplin 插件 - 导入功能需求说明 ## 一、核心导入范围 支持导入Markdown格式文本,同步处理文本内容及关联的图片资源,确保导入后笔记内容完整、图片可正常访问,与Joplin原生笔记体验一致。 ## 二、文本内容导入规则 将待导入的Markdown文本完整作为笔记正文导入,保留原文的Markdown语法格式(如标题、列表、链接、排版样式等),不做额外修改。 ## 三、图片资源导入及引用处理规则 插件支持两种图片引用格式:Markdown 标准格式(`![alt](地址)`)和 HTML 标签格式(``),按图片地址类型分类处理,核心逻辑如下: ### 3.1 图片引用格式支持 #### 3.1.1 Markdown 标准格式 ``` ![图片描述](图片地址) ``` #### 3.1.2 HTML 标签格式 ```html 图片描述 ``` **支持说明**: - 两种格式混合使用 - HTML 标签支持常见属性:`src`、`alt`、`width`、`height`、`class` 等 - 支持自闭合和非自闭合写法 - 支持单引号、双引号和无引号 ### 3.2 图片地址为 URL 的处理 若图片引用的地址为网络 URL(含 http/https 协议),保持原有引用不变,不做任何修改,导入后笔记仍通过该 URL 加载图片。 **适用于两种格式**: - `![描述](https://example.com/image.png)` - `描述` ### 3.3 图片地址为 Joplin 内部资源的处理 若图片引用的地址为 Joplin 内部资源格式(`:/资源ID`),保持原有引用不变。 **适用于两种格式**: - `![描述](:/335a0f3e6a0c4f8bbdcdc7cdea914928)` - `描述` ### 3.4 图片地址为本地路径/相对路径的处理 若图片引用的地址为本地绝对路径或相对路径,执行以下操作: 1. **图片资源导入**:自动定位本地图片文件,将该图片作为附件导入 Joplin,纳入 Joplin 资源库统一管理 2. **Markdown 格式处理**: - 如果 alt 为空,提取导入图片的文件名作为 alt 属性值 - 如果 alt 非空,保持 alt 不变 - 将图片引用地址替换为 Joplin 内部资源地址:`![alt](:/资源ID)` 3. **HTML 标签格式处理**: - 如果 alt 属性为空,提取导入图片的文件名作为 alt 属性值 - 如果 alt 属性非空,保持 alt 不变 - 将 src 属性值替换为 Joplin 内部资源地址:`:/资源ID` - 移除 Joplin 特有的 class 属性(如 `jop-noMdConv`) - 保留其他属性(width、height 等) ### 3.5 混合格式处理 当同一段文本同时包含 Markdown 和 HTML 格式的图片引用时,插件会: - 分别识别和处理两种格式 - 独立导入各自的图片资源 - 分别替换各自的引用地址 - 保持原文的格式结构不变 ## 四、补充说明 - 无论Markdown是否包含一级标题,均以文件名作为Joplin笔记标题,允许标题与文件名不一致。 - 图片导入失败处理:若本地图片文件不存在、路径错误或无访问权限,记录导入失败日志,并保留原文中的图片引用地址。 - 特殊格式图片支持:兼容常见图片格式(png、jpg、jpeg、gif、svg、webp等),与Joplin原生支持的图片格式保持一致。 - HTML 标签属性处理:除 `src` 和 `alt` 外,保留其他所有属性(如 `width`、`height`、`class`、`style` 等),但会移除 Joplin 特有的 `jop-noMdConv` 类。