LSJ1k downloadsPreview and visually edit static HTML files with a sidebar workbench for navigation, search, changes, resources, and draft recovery.
在 Obsidian 里直接把 .html 当笔记来改。
点选页面上的文字、链接和图片直接编辑,保存修改。
产品主页 · 社区插件页 · 发布版本 · 反馈问题 · English
支持 .html / .htm · 界面中英双语 · 本地文件,无需账号或云端服务
[[页面.html]] 链接 HTML 文件,反向链接与出链都在侧栏「链接」标签里,点击即可在来源笔记和目标之间跳转。
.html / .htm,页面在沙箱预览中渲染;页面脚本默认不执行。
链接 反向链接 / 出链 / 引用资源 · 嵌入 笔记中的页面滚动到锚点
截图来自 HTML Atelier 2.3.0 的演示库,个别设置状态可能与默认值不同。
需要 Obsidian 桌面版 1.7.2 或更高版本,支持 .html、.htm,不支持移动端。
.html 或 .htm 文件,页面显示在主工作区,侧栏工作台默认自动展开。[[页面.html]](带扩展名),HTML 侧栏的「链接」里就会出现反向链接;页面里的 <a href> 会出现在出链。从 GitHub Releases 下载同一版本的 main.js、manifest.json、styles.css,放进库的插件目录后重启 Obsidian:
.obsidian/plugins/html-atelier/
├── main.js
├── manifest.json
└── styles.css
不要再套一层文件夹;使用自定义配置目录时把 .obsidian 换成实际目录。如果已有插件接管 .html / .htm,先停用旧插件并重启,重启后会自动由 HTML Atelier 打开。
在 Markdown 笔记中写入 html-atelier 代码块:
```html-atelier
path: "Pages/weekly-report.html"
height: auto
anchor: summary
```
path(必填):相对于库根目录的 HTML 文件路径。height:auto 或 160–1600 的整数像素值;自动高度受嵌入设置上限约束。width:auto 或 240–3840 的整数像素值,不超过笔记可用宽度。anchor:可选,滚动到指定元素的 id,不需要写 #。toolbar:设为 false 隐藏嵌入的打开与刷新按钮。嵌入读取已保存文件,不显示未保存草稿;保存后点刷新按钮重新载入。工具栏 更多 → 复制 HTML 嵌入代码 可生成代码块骨架。
<link>、@import)内联进预览,图片等相对资源按页面目录解析;远程资源默认允许,可在设置中关闭。alt 或导入外部图片。.obsidian/plugins/html-atelier/drafts/;重新打开文件(包括重启后)自动恢复。[[页面.html]](带扩展名)链接 HTML 文件,即接入 Obsidian 原生的出链 / 反向链接索引,索引变化会实时刷新。<a href>,同目标合并计数,点击跳转目标)、引用资源;三段均可折叠。template / svg 内的链接不进入清单;脚本模式沙箱不可达时回退到源码定位。HTML 文件本身可以携带脚本。HTML Atelier 默认只显示页面,不执行页面里的代码。
| 场景 | 页面脚本 | 网络资源 | 可视化编辑 / 位置记忆 |
|---|---|---|---|
| 默认预览(推荐) | 不执行:移除脚本、on* 事件与 http-equiv meta,CSP 禁止脚本、表单提交与嵌套框架 |
默认允许远程图片 / 样式 / 字体 / 媒体,可关闭 | 可用 |
| 允许页面脚本(手动开启) | 在 allow-scripts 且无 allow-same-origin 的不透明源沙箱中执行 |
受「允许加载网络资源」设置约束 | 不可用:可视化编辑、位置记忆、页内链接路由、嵌入自动高度关闭 |
| 外部浏览器打开 | 遵循浏览器正常行为,包括执行脚本 | 不受插件设置约束 | 不适用 |
不会。只替换受影响的源码区间,未触及的标签、属性、注释、缩进、换行与实体写法保持原样。另存为时也可以保持相对引用指向原目标。
默认不会。需要时可在设置中开启「允许页面脚本」,让脚本在隔离的不透明源沙箱中执行;此模式下可视化编辑、位置记忆等功能不可用,请只对可信文件开启。
可视化编辑不提供布局与结构编辑。切换到源码模式或分栏模式直接修改 HTML / CSS,源码编辑同样支持撤销、草稿备份与保存。
默认在 .obsidian/plugins/html-atelier/drafts/,按设备标识命名,包含原始与编辑后的 HTML。卸载或删除插件目录会一并删除备份;请先重新打开原文件恢复草稿,再用「另存为」保留内容。
保存前会检测磁盘变化并阻止覆盖。你可以三方合并保留双方改动、采用磁盘版本,或把当前草稿另存为独立文件。
parse5 携带源码位置解析,建立文字节点到源码区间的映射;无法对齐时提示改用片段编辑。src/core/patch.ts,段落规划见 src/parsing/paragraphEdit.ts),保存时只替换受影响区间。srcdoc + nonce + 沙箱 iframe + CSP;脚本模式切换为不透明源沙箱并内联静态本地资源。resolvedLinks 反演,出链复用 LinkRouter 的解析器;同目标合并计数,定位采用循环高亮。| 目录 | 职责 |
|---|---|
src/parsing |
HTML 解析、文字映射、片段 / 段落编辑、URL 处理 |
src/core |
编辑会话、历史、区间补丁、指纹与定位 |
src/views |
主视图、侧栏面板、工具栏、源码编辑器、弹窗 |
src/services |
预览资源内联、保存、草稿、合并、链接、导航、侧栏协调 |
src/embed |
html-atelier 代码块解析与渲染 |
src/settings |
设置 schema、界面与默认值校验 |
src/i18n |
中文 / English 文案 |
tests |
node:test + jsdom 单元测试,以及基于 Playwright 的浏览器检查 |
npm ci
npm run lint
npm run check
npm test
npm run build
node tests/browser-check.mjs
node tests/sidebar-regression.mjs
main.js(含打包后的 Worker),与 manifest.json、styles.css 一起安装。HTML_ATELIER_BROWSER 指定其他 Chromium 浏览器。site/;README 使用的截图与图解位于 assets/readme/。
HTML Atelier 是社区插件,与 Obsidian 官方无隶属关系。Obsidian 是 Dynalist Inc. 的商标。