【插件开发】控制 Obsidian 排版间距的插件---自定义美化

消除表格上方空行

在 Obsidian 的 实时预览(Live Preview) 模式下,隐藏表格上方的多余空行。

感兴趣的帮点一个star,有什么问题可以反馈,或者有其他功能插件开发也可以提出

测试环境是Obsidian 1.12.7

  • 未开启 Table Gap Remover,表格上方的空行可见且可点击:

  • 启用 Table Gap Remover 后,表格上方的空行消失:

  • 仓库链接:link:

Github仓库:https://github.com/Dablieu/obsidian-spacing-control

Gitee仓库:https://gitee.com/Dablieu/obsidian-spacing-control

1 个赞

阅读视图空白行还是没有隐藏

已经修复了,可以试试看

功能更新了:
Spacing Control —— 控制 Obsidian 排版间距
一款用于微调 Obsidian 排版间距的插件,同时支持实时预览(Live Preview)与阅读模式(Reading View)。从「消除表格上方空行」出发,现已扩展为覆盖标题、段落、列表、表格的完整间距控制方案。

功能详解

  1. 实时预览:消除表格上方空行
    在实时预览中,表格(| … |)上方总会渲染出一条可点击的多余空行。本插件通过官方的 CodeMirror 6 Decoration + Theme API 将其折叠为零高度,不修改任何源 Markdown 文本。

  2. 阅读模式:跨层清理间距
    阅读模式下用 MutationObserver 扫描渲染后的 DOM,跨越多层 wrapper(表格自身、el-table、前兄弟标题层)统一清零 / 调整 margin,解决纯 CSS 方案跨不过 wrapper 的问题。

  3. 全元素间距独立控制
    为四类块级元素分别提供上 / 下边距参数,共 8 项,修改后实时生效:

标题(h1 / h2 / h3)上下边距
段落(p / li)上下边距
列表(ol / ul)上下边距
表格上下边距
4. 紧凑表格
列宽按内容自适应(table-layout: auto)。提供全局开关,并可用笔记的 cssclasses 局部控制:[紧凑表格] 强制开启、[宽松表格] 强制关闭(覆盖全局)。

  1. 表格美化
    可视化配置表格外观:

表头背景色
边框颜色 / 粗细(px)
圆角半径(px)
6. 设置面板
顶部 Tab 切换:实时预览 / 阅读模式 / 表格美化。间距参数以紧凑表格形式排列,并支持「恢复默认」一键重置。