Releases: jepicaju862-lab/blockspace
Release list
0.0.4
Blockspace Workspace 0.0.4
First public release — 2026-07-28
English · 中文 · peyote.info
English
The first public release of Blockspace Workspace, a local-first structured block workspace for Obsidian.
Page bodies are stored as a structured JSON block tree inside your vault instead of Markdown text, so nesting, columns, tables, media and rich-text ranges are real data rather than formatting conventions. Markdown stays the interoperability layer: import it, export it losslessly, and remain indexed by Obsidian's Graph, Backlinks and search through a read-only Bridge.
What's in this release
Block editor
- Paragraphs, H1–H3, to-dos, bulleted and numbered lists, quotes, callouts, toggles, code blocks and dividers.
- A real
parentId / childrenblock tree: lists, to-dos, quotes, callouts and toggles are true containers,Tab/Shift + Tabchange actual hierarchy, and dragging a parent moves its whole sub-tree. - Structured columns via
/columns— two or three columns with1:1,1:2,2:1,1:1:1,1:2:1presets, an independent block tree per column, and an automatic stacked fallback below 620px. - Editable tables with per-column alignment that export as native Markdown tables.
- Image, video, audio, attachment and bookmark blocks accepting vault files, pastes, uploads and remote URLs, with size and text-wrap settings.
- An auto-updating table-of-contents block derived from your headings, plus section collapse, "select / move whole section" actions and a derived outline.
- Rich text with semantic
marks(bold, italic, underline, strikethrough, inline code, link, text colour, highlight) and block-level colour, background and alignment — no arbitrary HTML or CSS is written into your page data. - Inline conversion as you type:
#,##,-,1.,[],>for blocks, and**bold**,*italic*,`code`,~~strike~~,==highlight==,[text](url)for inline formatting. - Multi-block selection with handles and keyboard, a batch action bar, group drag & drop, and a
/menu with Chinese/English aliases, fuzzy matching and recency-aware ordering.
In-page find & replace
Ctrl/Cmd + Fto find,Ctrl/Cmd + Hto replace, with match counts, case sensitivity and whole-word matching, covering the page title and every text block including columns and collapsed containers.- A draggable floating panel: mouse, touch, arrow-key nudging,
Shiftfor large steps, double-click orHometo reset. - Replacing shifts and clips bold, italic, colour and link ranges instead of flattening them; Replace all is a single undo step.
- Long pages reuse a page-level text index with debounced input, cap navigation at 10,000 hits and virtualise highlights, so large result sets never freeze the editor.
Lossless export
- Markdown (
.md) — clean, readable body, with the full structure kept in a hiddenexportssidecar and re-linked on import to restore block IDs, parent/child relations, columns, properties, styles and image settings exactly. - Word (
.docx) — real OOXML, not HTML with a renamed extension: headings, rich text, lists, tables, columns, links, background colours, image sizing and wrapping become native Word structures, with the complete page data embedded incustomXml. - PDF (
.pdf) — a pure-Canvas semantic typesetter (no DOM screenshotting) paginating to A4 at high resolution, with a searchable and copyable Unicode text layer and the page JSON embedded as a PDF attachment. - Exports go to
Blockspace Exports; same-name files are numbered instead of overwritten.
Obsidian integration
[[Page]],[[Page#Heading]],[[Page#^blockId]]and![[Page#^blockId]]resolve through one reference layer; SiYuan-style((blockId "label"))references convert as you type or paste.- Copy block references, copy
blockspace://links, inspect block-level backlinks;Ctrl/Cmd + hoverpreviews andCtrl/Cmd + clickopens while editing. - A one-way, read-only Bridge (
Blockspace Bridge/*.md, on by default) with stable^bs-…anchors puts pages and blocks into Backlinks, Graph, search and Page Preview. Ctrl/Cmd + Eswitches between block editing and native reading mode, which hands the page to Obsidian's renderer — wikilinks, embeds, math, code highlighting, callouts, Mermaid and compatible post-processors included./markdowninserts an atomic native Markdown block for anything that must survive verbatim: block math$$…$$, complex HTML, footnotes, H4–H6.- Right-click any
.mdnote to open it in Blockspace; re-opening reuses the same page instead of duplicating it, and follows renames.
Workspace
- Document view plus a status-based kanban board over all pages.
- Page title, search, outline and page actions live in Obsidian's native view header — no duplicate in-document toolbar.
- Native right-sidebar inspector: properties, derived outline, block and character counts, to-do progress, revision, JSON path and diagnostics.
- Three interface styles (Notion, SiYuan, Obsidian Native) plus page density, content width, body font, size and line height.
- Focus mode, quick switcher, and a full right-click context layer for blocks, multi-selections, links, images, pages, kanban cards, outline items and backlinks.
Data safety
- Page-level undo/redo transactions with IME composition protection.
- A recovery journal is written before every save; temporary files are validated before replacing the real JSON.
- Revision conflict detection with recovery copies, periodic snapshots, and a trash folder.
- Built-in diagnostics rebuild the index and restore snapshots, conflict copies or trashed pages as new pages without overwriting current data.
Requirements
- Obsidian 1.5.0 or newer, desktop and mobile.
- Interface language is Simplified Chinese; commands and menus appear in Chinese. An English UI is not available yet.
Install
From Obsidian: Settings → Community plugins → Browse → search Blockspace Workspace → Install → Enable.
Manual: copy main.js, manifest.json and styles.css into <your vault>/.obsidian/plugins/blockspace-workspace/, reload Obsidian, then enable the plugin.
Data and back-up
All data lives in your vault under .blockspace/ — page JSON, journal, snapshots, recovery copies and trash. Nothing is sent anywhere. Include .blockspace in your sync and backup, don't hand-edit page JSON while the plugin is running, and open 打开诊断与恢复 before deleting anything in journal, recovery or snapshots.
Page format version is 8. Default companion folders: Blockspace Exports, Blockspace Assets, Blockspace Bridge, and the optional Blockspace Notes (off by default). All paths are configurable.
Known limitations
- Rich-text formatting applies within a block; cross-block "pending format" state at a collapsed cursor is not available yet.
- Links render as styled rich text while editing (
Ctrl/Cmd + clickto open); full link cards are provided by the separate bookmark block. - Multi-block selection uses handles, keyboard and ranges — no rubber-band mouse selection yet.
- Databases / multi-dimensional tables are not implemented.
- Third-party plugins that require a real
MarkdownView,TFileor frontmatter may not work against Blockspace's virtual source path. - Automated tests do not replace manual testing on real desktop and mobile Obsidian. This is a first release — please back up your vault and report anything that looks wrong.
Licence
Free software under the GNU General Public License v3.0 or later. Copyright © 2026 Blockspace.
More plugins and project updates: peyote.info
中文
Blockspace Workspace 的首个公开发布版本 —— 一个面向 Obsidian 的本地优先结构化块工作台。
页面正文以结构化 JSON 块树保存在 Vault 中,而不是 Markdown 文本,因此嵌套、分栏、表格、媒体与富文本区间都是真实数据,而非排版约定。Markdown 仍然是互操作层:可导入、可无损导出,并通过只读 Bridge 继续被 Obsidian 的关系图谱、反链和搜索索引。
本次发布内容
块编辑器
- 段落、一至三级标题、待办、无序/有序列表、引用、提示块(Callout)、折叠块、代码块、分隔线。
- 真实的
parentId / children块树:列表、待办、引用、Callout 与折叠块都是真正的容器,Tab/Shift + Tab改变真实层级,拖动父块会连同全部后代一起移动。 /分栏、/双栏或/columns插入结构化分栏块:两栏、三栏,支持1:1、1:2、2:1、1:1:1、1:2:1比例预设,每栏包含独立块树;内容区宽度低于 620px 时自动改为上下排列。- 可直接编辑的表格,支持按列对齐,并导出为原生 Markdown 表格。
- 图片、视频、音频、附件与书签块,支持 Vault 文件、粘贴、上传和远程 URL,可设置尺寸与文字环绕。
- 目录块根据页面标题自动更新;配合章节折叠、“选择/移动整个章节”操作与派生大纲。
- 语义化
marks富文本(加粗、斜体、下划线、删除线、行内代码、链接、文字颜色、高亮)以及块级颜色、背景与对齐——不会把任意 HTML 或 CSS 写入页面数据。 - 输入即转换:
#、##、-、1.、[]、>转换块类型,**粗体**、*斜体*、`代码`、~~删除线~~、==高亮==、[文字](地址)转换行内格式。 - 基于把手与键盘的多块选择、批量操作栏、整组拖拽,以及支持中英文别名、模糊匹配和最近使用排序的
/菜单。
页内查找与替换
Ctrl/Cmd + F查找、Ctrl/Cmd + H替换,支持结果计数、区分大小写与全词匹配;覆盖页面标题与全部文本块,包括分栏与折叠容器内部。- 浮层带独立拖动把手:鼠标、触控、方向键微调,
Shift大步移动,双击把手或Home复位。 - 替换会平移并裁剪粗体、斜体、颜色、链接等富文本区间,而不是抹平格式;“全部替换”合并为一次撤销。
- 长页面复用页面级文本索引并对输入防抖,导航上限 10,000 项且高亮虚拟化,超大结果集也不会卡住编辑器。
无损导出
- Markdown(
.md)——正文干净可读;完整结构保存在隐藏的exportssidecar 中,重新导入时自动关联,精确恢复块 ID、父子关系、分栏、属性、样式与图片设置。 - Word(
.docx)——生成真正的 OOXML,而不是改后缀的 HTML:标题、富文本、列表、表格、分栏、链接、背景色、图片尺寸与环绕都转换为 Word 原生结构,同时在customXml中嵌入完整页面数据。 - PDF(
.pdf)——不依赖 DOM 截图的纯 Canvas 语义排版器,按 A4 高分辨率分页,附带可搜索、可复制的 Unicode 文本层,并把页面 JSON 作为 PDF 关联附件嵌入。 - 导出保存到
Blockspace Exports,同名文件自动递增编号,不覆盖已有导出。
Obsidian 集成
[[页面]]、[[页面#标题]]、[[页面#^块ID]]与![[页面#^块ID]]进入统一引用解析;输入或粘贴思源格式((块ID "显示文本"))会立即转为结构化块引用。- 可复制块引用、复制
blockspace://块链接、查看块级反链;编辑模式下Ctrl/Cmd + 悬停预览,Ctrl/Cmd + 点击打开。 - 默认生成单向只读 Bridge(
Blockspace Bridge/*.md),包含稳定的^bs-…锚点,使页面和块进入反链、图谱、搜索与页面预览。 Ctrl/Cmd + E在块编辑与原生阅读模式之间切换:阅读模式把整页交给 Obsidian 渲染器,支持 Wikilink、附件嵌入、公式、代码高亮、Callout、Mermaid 及兼容的后处理器。/markdown插入原子块,用于必须原样保留的内容:块级公式$$…$$、复杂 HTML、脚注、H4–H6。- 右键任意
.md笔记即可在 Blockspace 中打开;再次打开会复用同一页面而不产生副本,并跟随重命名。
工作区
- 文档视图,以及按状态查看全部页面的项目看板。
- 页面标题、搜索、大纲与页面操作融入 Obsidian ...
0.0.2
Blockspace Workspace 0.0.2
First public release — 2026-07-28
English · 中文 · peyote.info
English
The first public release of Blockspace Workspace, a local-first structured block workspace for Obsidian.
Page bodies are stored as a structured JSON block tree inside your vault instead of Markdown text, so nesting, columns, tables, media and rich-text ranges are real data rather than formatting conventions. Markdown stays the interoperability layer: import it, export it losslessly, and remain indexed by Obsidian's Graph, Backlinks and search through a read-only Bridge.
What's in this release
Block editor
- Paragraphs, H1–H3, to-dos, bulleted and numbered lists, quotes, callouts, toggles, code blocks and dividers.
- A real
parentId / childrenblock tree: lists, to-dos, quotes, callouts and toggles are true containers,Tab/Shift + Tabchange actual hierarchy, and dragging a parent moves its whole sub-tree. - Structured columns via
/columns— two or three columns with1:1,1:2,2:1,1:1:1,1:2:1presets, an independent block tree per column, and an automatic stacked fallback below 620px. - Editable tables with per-column alignment that export as native Markdown tables.
- Image, video, audio, attachment and bookmark blocks accepting vault files, pastes, uploads and remote URLs, with size and text-wrap settings.
- An auto-updating table-of-contents block derived from your headings, plus section collapse, "select / move whole section" actions and a derived outline.
- Rich text with semantic
marks(bold, italic, underline, strikethrough, inline code, link, text colour, highlight) and block-level colour, background and alignment — no arbitrary HTML or CSS is written into your page data. - Inline conversion as you type:
#,##,-,1.,[],>for blocks, and**bold**,*italic*,`code`,~~strike~~,==highlight==,[text](url)for inline formatting. - Multi-block selection with handles and keyboard, a batch action bar, group drag & drop, and a
/menu with Chinese/English aliases, fuzzy matching and recency-aware ordering.
In-page find & replace
Ctrl/Cmd + Fto find,Ctrl/Cmd + Hto replace, with match counts, case sensitivity and whole-word matching, covering the page title and every text block including columns and collapsed containers.- A draggable floating panel: mouse, touch, arrow-key nudging,
Shiftfor large steps, double-click orHometo reset. - Replacing shifts and clips bold, italic, colour and link ranges instead of flattening them; Replace all is a single undo step.
- Long pages reuse a page-level text index with debounced input, cap navigation at 10,000 hits and virtualise highlights, so large result sets never freeze the editor.
Lossless export
- Markdown (
.md) — clean, readable body, with the full structure kept in a hiddenexportssidecar and re-linked on import to restore block IDs, parent/child relations, columns, properties, styles and image settings exactly. - Word (
.docx) — real OOXML, not HTML with a renamed extension: headings, rich text, lists, tables, columns, links, background colours, image sizing and wrapping become native Word structures, with the complete page data embedded incustomXml. - PDF (
.pdf) — a pure-Canvas semantic typesetter (no DOM screenshotting) paginating to A4 at high resolution, with a searchable and copyable Unicode text layer and the page JSON embedded as a PDF attachment. - Exports go to
Blockspace Exports; same-name files are numbered instead of overwritten.
Obsidian integration
[[Page]],[[Page#Heading]],[[Page#^blockId]]and![[Page#^blockId]]resolve through one reference layer; SiYuan-style((blockId "label"))references convert as you type or paste.- Copy block references, copy
blockspace://links, inspect block-level backlinks;Ctrl/Cmd + hoverpreviews andCtrl/Cmd + clickopens while editing. - A one-way, read-only Bridge (
Blockspace Bridge/*.md, on by default) with stable^bs-…anchors puts pages and blocks into Backlinks, Graph, search and Page Preview. Ctrl/Cmd + Eswitches between block editing and native reading mode, which hands the page to Obsidian's renderer — wikilinks, embeds, math, code highlighting, callouts, Mermaid and compatible post-processors included./markdowninserts an atomic native Markdown block for anything that must survive verbatim: block math$$…$$, complex HTML, footnotes, H4–H6.- Right-click any
.mdnote to open it in Blockspace; re-opening reuses the same page instead of duplicating it, and follows renames.
Workspace
- Document view plus a status-based kanban board over all pages.
- Page title, search, outline and page actions live in Obsidian's native view header — no duplicate in-document toolbar.
- Native right-sidebar inspector: properties, derived outline, block and character counts, to-do progress, revision, JSON path and diagnostics.
- Three interface styles (Notion, SiYuan, Obsidian Native) plus page density, content width, body font, size and line height.
- Focus mode, quick switcher, and a full right-click context layer for blocks, multi-selections, links, images, pages, kanban cards, outline items and backlinks.
Data safety
- Page-level undo/redo transactions with IME composition protection.
- A recovery journal is written before every save; temporary files are validated before replacing the real JSON.
- Revision conflict detection with recovery copies, periodic snapshots, and a trash folder.
- Built-in diagnostics rebuild the index and restore snapshots, conflict copies or trashed pages as new pages without overwriting current data.
Requirements
- Obsidian 1.5.0 or newer, desktop and mobile.
- Interface language is Simplified Chinese; commands and menus appear in Chinese. An English UI is not available yet.
Install
From Obsidian: Settings → Community plugins → Browse → search Blockspace Workspace → Install → Enable.
Manual: copy main.js, manifest.json and styles.css into <your vault>/.obsidian/plugins/blockspace-workspace/, reload Obsidian, then enable the plugin.
Data and back-up
All data lives in your vault under .blockspace/ — page JSON, journal, snapshots, recovery copies and trash. Nothing is sent anywhere. Include .blockspace in your sync and backup, don't hand-edit page JSON while the plugin is running, and open 打开诊断与恢复 before deleting anything in journal, recovery or snapshots.
Page format version is 8. Default companion folders: Blockspace Exports, Blockspace Assets, Blockspace Bridge, and the optional Blockspace Notes (off by default). All paths are configurable.
Known limitations
- Rich-text formatting applies within a block; cross-block "pending format" state at a collapsed cursor is not available yet.
- Links render as styled rich text while editing (
Ctrl/Cmd + clickto open); full link cards are provided by the separate bookmark block. - Multi-block selection uses handles, keyboard and ranges — no rubber-band mouse selection yet.
- Databases / multi-dimensional tables are not implemented.
- Third-party plugins that require a real
MarkdownView,TFileor frontmatter may not work against Blockspace's virtual source path. - Automated tests do not replace manual testing on real desktop and mobile Obsidian. This is a first release — please back up your vault and report anything that looks wrong.
Licence
Free software under the GNU General Public License v3.0 or later. Copyright © 2026 Blockspace.
More plugins and project updates: peyote.info
中文
Blockspace Workspace 的首个公开发布版本 —— 一个面向 Obsidian 的本地优先结构化块工作台。
页面正文以结构化 JSON 块树保存在 Vault 中,而不是 Markdown 文本,因此嵌套、分栏、表格、媒体与富文本区间都是真实数据,而非排版约定。Markdown 仍然是互操作层:可导入、可无损导出,并通过只读 Bridge 继续被 Obsidian 的关系图谱、反链和搜索索引。
本次发布内容
块编辑器
- 段落、一至三级标题、待办、无序/有序列表、引用、提示块(Callout)、折叠块、代码块、分隔线。
- 真实的
parentId / children块树:列表、待办、引用、Callout 与折叠块都是真正的容器,Tab/Shift + Tab改变真实层级,拖动父块会连同全部后代一起移动。 /分栏、/双栏或/columns插入结构化分栏块:两栏、三栏,支持1:1、1:2、2:1、1:1:1、1:2:1比例预设,每栏包含独立块树;内容区宽度低于 620px 时自动改为上下排列。- 可直接编辑的表格,支持按列对齐,并导出为原生 Markdown 表格。
- 图片、视频、音频、附件与书签块,支持 Vault 文件、粘贴、上传和远程 URL,可设置尺寸与文字环绕。
- 目录块根据页面标题自动更新;配合章节折叠、“选择/移动整个章节”操作与派生大纲。
- 语义化
marks富文本(加粗、斜体、下划线、删除线、行内代码、链接、文字颜色、高亮)以及块级颜色、背景与对齐——不会把任意 HTML 或 CSS 写入页面数据。 - 输入即转换:
#、##、-、1.、[]、>转换块类型,**粗体**、*斜体*、`代码`、~~删除线~~、==高亮==、[文字](地址)转换行内格式。 - 基于把手与键盘的多块选择、批量操作栏、整组拖拽,以及支持中英文别名、模糊匹配和最近使用排序的
/菜单。
页内查找与替换
Ctrl/Cmd + F查找、Ctrl/Cmd + H替换,支持结果计数、区分大小写与全词匹配;覆盖页面标题与全部文本块,包括分栏与折叠容器内部。- 浮层带独立拖动把手:鼠标、触控、方向键微调,
Shift大步移动,双击把手或Home复位。 - 替换会平移并裁剪粗体、斜体、颜色、链接等富文本区间,而不是抹平格式;“全部替换”合并为一次撤销。
- 长页面复用页面级文本索引并对输入防抖,导航上限 10,000 项且高亮虚拟化,超大结果集也不会卡住编辑器。
无损导出
- Markdown(
.md)——正文干净可读;完整结构保存在隐藏的exportssidecar 中,重新导入时自动关联,精确恢复块 ID、父子关系、分栏、属性、样式与图片设置。 - Word(
.docx)——生成真正的 OOXML,而不是改后缀的 HTML:标题、富文本、列表、表格、分栏、链接、背景色、图片尺寸与环绕都转换为 Word 原生结构,同时在customXml中嵌入完整页面数据。 - PDF(
.pdf)——不依赖 DOM 截图的纯 Canvas 语义排版器,按 A4 高分辨率分页,附带可搜索、可复制的 Unicode 文本层,并把页面 JSON 作为 PDF 关联附件嵌入。 - 导出保存到
Blockspace Exports,同名文件自动递增编号,不覆盖已有导出。
Obsidian 集成
[[页面]]、[[页面#标题]]、[[页面#^块ID]]与![[页面#^块ID]]进入统一引用解析;输入或粘贴思源格式((块ID "显示文本"))会立即转为结构化块引用。- 可复制块引用、复制
blockspace://块链接、查看块级反链;编辑模式下Ctrl/Cmd + 悬停预览,Ctrl/Cmd + 点击打开。 - 默认生成单向只读 Bridge(
Blockspace Bridge/*.md),包含稳定的^bs-…锚点,使页面和块进入反链、图谱、搜索与页面预览。 Ctrl/Cmd + E在块编辑与原生阅读模式之间切换:阅读模式把整页交给 Obsidian 渲染器,支持 Wikilink、附件嵌入、公式、代码高亮、Callout、Mermaid 及兼容的后处理器。/markdown插入原子块,用于必须原样保留的内容:块级公式$$…$$、复杂 HTML、脚注、H4–H6。- 右键任意
.md笔记即可在 Blockspace 中打开;再次打开会复用同一页面而不产生副本,并跟随重命名。
工作区
- 文档视图,以及按状态查看全部页面的项目看板。
- 页面标题、搜索、大纲与页面操作融入 Obsidian ...
0.0.1
Blockspace Workspace 0.0.1
First public release — 2026-07-28
English · 中文 · peyote.info
English
The first public release of Blockspace Workspace, a local-first structured block workspace for Obsidian.
Page bodies are stored as a structured JSON block tree inside your vault instead of Markdown text, so nesting, columns, tables, media and rich-text ranges are real data rather than formatting conventions. Markdown stays the interoperability layer: import it, export it losslessly, and remain indexed by Obsidian's Graph, Backlinks and search through a read-only Bridge.
What's in this release
Block editor
- Paragraphs, H1–H3, to-dos, bulleted and numbered lists, quotes, callouts, toggles, code blocks and dividers.
- A real
parentId / childrenblock tree: lists, to-dos, quotes, callouts and toggles are true containers,Tab/Shift + Tabchange actual hierarchy, and dragging a parent moves its whole sub-tree. - Structured columns via
/columns— two or three columns with1:1,1:2,2:1,1:1:1,1:2:1presets, an independent block tree per column, and an automatic stacked fallback below 620px. - Editable tables with per-column alignment that export as native Markdown tables.
- Image, video, audio, attachment and bookmark blocks accepting vault files, pastes, uploads and remote URLs, with size and text-wrap settings.
- An auto-updating table-of-contents block derived from your headings, plus section collapse, "select / move whole section" actions and a derived outline.
- Rich text with semantic
marks(bold, italic, underline, strikethrough, inline code, link, text colour, highlight) and block-level colour, background and alignment — no arbitrary HTML or CSS is written into your page data. - Inline conversion as you type:
#,##,-,1.,[],>for blocks, and**bold**,*italic*,`code`,~~strike~~,==highlight==,[text](url)for inline formatting. - Multi-block selection with handles and keyboard, a batch action bar, group drag & drop, and a
/menu with Chinese/English aliases, fuzzy matching and recency-aware ordering.
In-page find & replace
Ctrl/Cmd + Fto find,Ctrl/Cmd + Hto replace, with match counts, case sensitivity and whole-word matching, covering the page title and every text block including columns and collapsed containers.- A draggable floating panel: mouse, touch, arrow-key nudging,
Shiftfor large steps, double-click orHometo reset. - Replacing shifts and clips bold, italic, colour and link ranges instead of flattening them; Replace all is a single undo step.
- Long pages reuse a page-level text index with debounced input, cap navigation at 10,000 hits and virtualise highlights, so large result sets never freeze the editor.
Lossless export
- Markdown (
.md) — clean, readable body, with the full structure kept in a hiddenexportssidecar and re-linked on import to restore block IDs, parent/child relations, columns, properties, styles and image settings exactly. - Word (
.docx) — real OOXML, not HTML with a renamed extension: headings, rich text, lists, tables, columns, links, background colours, image sizing and wrapping become native Word structures, with the complete page data embedded incustomXml. - PDF (
.pdf) — a pure-Canvas semantic typesetter (no DOM screenshotting) paginating to A4 at high resolution, with a searchable and copyable Unicode text layer and the page JSON embedded as a PDF attachment. - Exports go to
Blockspace Exports; same-name files are numbered instead of overwritten.
Obsidian integration
[[Page]],[[Page#Heading]],[[Page#^blockId]]and![[Page#^blockId]]resolve through one reference layer; SiYuan-style((blockId "label"))references convert as you type or paste.- Copy block references, copy
blockspace://links, inspect block-level backlinks;Ctrl/Cmd + hoverpreviews andCtrl/Cmd + clickopens while editing. - A one-way, read-only Bridge (
Blockspace Bridge/*.md, on by default) with stable^bs-…anchors puts pages and blocks into Backlinks, Graph, search and Page Preview. Ctrl/Cmd + Eswitches between block editing and native reading mode, which hands the page to Obsidian's renderer — wikilinks, embeds, math, code highlighting, callouts, Mermaid and compatible post-processors included./markdowninserts an atomic native Markdown block for anything that must survive verbatim: block math$$…$$, complex HTML, footnotes, H4–H6.- Right-click any
.mdnote to open it in Blockspace; re-opening reuses the same page instead of duplicating it, and follows renames.
Workspace
- Document view plus a status-based kanban board over all pages.
- Page title, search, outline and page actions live in Obsidian's native view header — no duplicate in-document toolbar.
- Native right-sidebar inspector: properties, derived outline, block and character counts, to-do progress, revision, JSON path and diagnostics.
- Three interface styles (Notion, SiYuan, Obsidian Native) plus page density, content width, body font, size and line height.
- Focus mode, quick switcher, and a full right-click context layer for blocks, multi-selections, links, images, pages, kanban cards, outline items and backlinks.
Data safety
- Page-level undo/redo transactions with IME composition protection.
- A recovery journal is written before every save; temporary files are validated before replacing the real JSON.
- Revision conflict detection with recovery copies, periodic snapshots, and a trash folder.
- Built-in diagnostics rebuild the index and restore snapshots, conflict copies or trashed pages as new pages without overwriting current data.
Requirements
- Obsidian 1.5.0 or newer, desktop and mobile.
- Interface language is Simplified Chinese; commands and menus appear in Chinese. An English UI is not available yet.
Install
From Obsidian: Settings → Community plugins → Browse → search Blockspace Workspace → Install → Enable.
Manual: copy main.js, manifest.json and styles.css into <your vault>/.obsidian/plugins/blockspace-workspace/, reload Obsidian, then enable the plugin.
Data and back-up
All data lives in your vault under .blockspace/ — page JSON, journal, snapshots, recovery copies and trash. Nothing is sent anywhere. Include .blockspace in your sync and backup, don't hand-edit page JSON while the plugin is running, and open 打开诊断与恢复 before deleting anything in journal, recovery or snapshots.
Page format version is 8. Default companion folders: Blockspace Exports, Blockspace Assets, Blockspace Bridge, and the optional Blockspace Notes (off by default). All paths are configurable.
Known limitations
- Rich-text formatting applies within a block; cross-block "pending format" state at a collapsed cursor is not available yet.
- Links render as styled rich text while editing (
Ctrl/Cmd + clickto open); full link cards are provided by the separate bookmark block. - Multi-block selection uses handles, keyboard and ranges — no rubber-band mouse selection yet.
- Databases / multi-dimensional tables are not implemented.
- Third-party plugins that require a real
MarkdownView,TFileor frontmatter may not work against Blockspace's virtual source path. - Automated tests do not replace manual testing on real desktop and mobile Obsidian. This is a first release — please back up your vault and report anything that looks wrong.
Licence
Free software under the GNU General Public License v3.0 or later. Copyright © 2026 Blockspace.
More plugins and project updates: peyote.info
中文
Blockspace Workspace 的首个公开发布版本 —— 一个面向 Obsidian 的本地优先结构化块工作台。
页面正文以结构化 JSON 块树保存在 Vault 中,而不是 Markdown 文本,因此嵌套、分栏、表格、媒体与富文本区间都是真实数据,而非排版约定。Markdown 仍然是互操作层:可导入、可无损导出,并通过只读 Bridge 继续被 Obsidian 的关系图谱、反链和搜索索引。
本次发布内容
块编辑器
- 段落、一至三级标题、待办、无序/有序列表、引用、提示块(Callout)、折叠块、代码块、分隔线。
- 真实的
parentId / children块树:列表、待办、引用、Callout 与折叠块都是真正的容器,Tab/Shift + Tab改变真实层级,拖动父块会连同全部后代一起移动。 /分栏、/双栏或/columns插入结构化分栏块:两栏、三栏,支持1:1、1:2、2:1、1:1:1、1:2:1比例预设,每栏包含独立块树;内容区宽度低于 620px 时自动改为上下排列。- 可直接编辑的表格,支持按列对齐,并导出为原生 Markdown 表格。
- 图片、视频、音频、附件与书签块,支持 Vault 文件、粘贴、上传和远程 URL,可设置尺寸与文字环绕。
- 目录块根据页面标题自动更新;配合章节折叠、“选择/移动整个章节”操作与派生大纲。
- 语义化
marks富文本(加粗、斜体、下划线、删除线、行内代码、链接、文字颜色、高亮)以及块级颜色、背景与对齐——不会把任意 HTML 或 CSS 写入页面数据。 - 输入即转换:
#、##、-、1.、[]、>转换块类型,**粗体**、*斜体*、`代码`、~~删除线~~、==高亮==、[文字](地址)转换行内格式。 - 基于把手与键盘的多块选择、批量操作栏、整组拖拽,以及支持中英文别名、模糊匹配和最近使用排序的
/菜单。
页内查找与替换
Ctrl/Cmd + F查找、Ctrl/Cmd + H替换,支持结果计数、区分大小写与全词匹配;覆盖页面标题与全部文本块,包括分栏与折叠容器内部。- 浮层带独立拖动把手:鼠标、触控、方向键微调,
Shift大步移动,双击把手或Home复位。 - 替换会平移并裁剪粗体、斜体、颜色、链接等富文本区间,而不是抹平格式;“全部替换”合并为一次撤销。
- 长页面复用页面级文本索引并对输入防抖,导航上限 10,000 项且高亮虚拟化,超大结果集也不会卡住编辑器。
无损导出
- Markdown(
.md)——正文干净可读;完整结构保存在隐藏的exportssidecar 中,重新导入时自动关联,精确恢复块 ID、父子关系、分栏、属性、样式与图片设置。 - Word(
.docx)——生成真正的 OOXML,而不是改后缀的 HTML:标题、富文本、列表、表格、分栏、链接、背景色、图片尺寸与环绕都转换为 Word 原生结构,同时在customXml中嵌入完整页面数据。 - PDF(
.pdf)——不依赖 DOM 截图的纯 Canvas 语义排版器,按 A4 高分辨率分页,附带可搜索、可复制的 Unicode 文本层,并把页面 JSON 作为 PDF 关联附件嵌入。 - 导出保存到
Blockspace Exports,同名文件自动递增编号,不覆盖已有导出。
Obsidian 集成
[[页面]]、[[页面#标题]]、[[页面#^块ID]]与![[页面#^块ID]]进入统一引用解析;输入或粘贴思源格式((块ID "显示文本"))会立即转为结构化块引用。- 可复制块引用、复制
blockspace://块链接、查看块级反链;编辑模式下Ctrl/Cmd + 悬停预览,Ctrl/Cmd + 点击打开。 - 默认生成单向只读 Bridge(
Blockspace Bridge/*.md),包含稳定的^bs-…锚点,使页面和块进入反链、图谱、搜索与页面预览。 Ctrl/Cmd + E在块编辑与原生阅读模式之间切换:阅读模式把整页交给 Obsidian 渲染器,支持 Wikilink、附件嵌入、公式、代码高亮、Callout、Mermaid 及兼容的后处理器。/markdown插入原子块,用于必须原样保留的内容:块级公式$$…$$、复杂 HTML、脚注、H4–H6。- 右键任意
.md笔记即可在 Blockspace 中打开;再次打开会复用同一页面而不产生副本,并跟随重命名。
工作区
- 文档视图,以及按状态查看全部页面的项目看板。
- 页面标题、搜索、大纲与页面操作融入 Obsidian ...