Minimalism UI

by lucas
5
4
3
2
1
Score: 52/100

Description

Transform UI into a Typora-like style, with the left side fixing the note status information and the right side focusing on the content of the note.

Reviews

No reviews yet.

Stats

7
stars
692
downloads
1
forks
26
days
1
days
2
days
2
total PRs
0
open PRs
0
closed PRs
2
merged PRs
0
total issues
0
open issues
0
closed issues
259
commits

Latest Version

3 days ago

Changelog

  • Fixed: on Obsidian 1.13+, changing any setting while the Settings window was open applied the change to the Settings window instead of the main window — Obsidian now opens Settings as a separate window and repoints the global activeWindow/activeDocument at it for as long as it stays open, which is exactly when the plugin re-applies its settings. Symptoms: the floating bottom-right button was injected into the Settings window (and vanished from the main window once Settings closed), CSS-driven toggles (hide tab bar, hide the bottom user-settings area, Single-Page Mode appearance) looked like they did nothing until a restart, and DOM-injection features silently failed because workspace nodes couldn't be found. All plugin DOM access now resolves the main window explicitly; the same bug applied when a note popout window had focus

  • Fixed: the Local Graph panel in the merged left sidebar could go permanently blank after collapsing and re-expanding the sidebar — the WebGL canvas was being resized to zero height during the collapse animation and, unlike DOM panels, a dead WebGL context does not recover on the next valid resize. The size guard now measures the element the graph renderer actually measures (previously it measured an outer container that included the injected 28px header, leaving a window where the container passed the check but the content area was already at zero), and intermediate sidebar widths reported mid-animation are ignored instead of being converted into a sub-header-height panel

  • 修复:在 Obsidian 1.13+ 上,设置窗口开着时修改任何设置,改动都会作用到设置窗口而不是主窗口——Obsidian 现在把「设置」放在独立窗口中打开,并在该窗口存在期间把全局 activeWindow/activeDocument 整个改指向它,而这恰恰是插件重新应用设置的时刻。表现为:右下角悬浮按钮被注入到设置窗口(设置一关就彻底消失),纯 CSS 驱动的开关(隐藏标签栏、隐藏底部用户设置区域、单页模式外观)改了像没反应、要重启才生效,依赖 DOM 注入的功能因找不到工作区节点而静默失效。现在插件所有 DOM 操作都显式解析到主窗口;焦点在笔记弹出窗口时同样会踩这个坑,已一并修复

  • 修复:合并式左侧栏中的关系图面板在折叠再展开侧边栏后可能永久变空白——折叠动画期间 WebGL canvas 被 resize 到 0 高度,而与 DOM 面板不同,WebGL 上下文一旦失效不会在下一次有效 resize 时自行恢复。现在尺寸保护判定的是关系图渲染器真正测量的那个元素(此前测量的是外层容器,它还额外包着注入的 28px 标题栏,存在一段「容器通过检查、内容区实际已为 0」的窗口),并且忽略动画过程中报出的中间宽度值,不再据此折算出小于标题栏高度的面板高度

README file from

Github

Minimalism UI — Obsidian Plugin

中文 · English

Transform Obsidian into a minimal, Typora-style writing environment. All options are in Settings → Community Plugins → Minimalism UI.


Read This Before You Start

[!warning] Make sure this minimalist philosophy suits you before installing

  1. This plugin is all about subtraction, and its philosophy runs against mainstream usage: it keeps only the left sidebar (showing at most Outline, Properties, and Local Graph) and strips away many core features, including Folders.
  2. Pick one note as your home page. Think of it as the trunk of a tree: keep creating notes from it through backlinks, letting your knowledge branch out until it grows into a towering tree.
  3. Since folders are gone, almost every note lives in the vault root. Enable timestamp-prefixed filenames to give each note a unique identifier and avoid name clashes.

Features

Minimal Sidebar

Applies a Typora-style frosted-glass look to the left sidebar (rounded corners, custom background). Also restructures the sidebar: the Outline panel and Properties metadata are merged into a single view — Outline on top, frontmatter properties below — so all note context is visible at a glance without switching panels.

Toggling this option off restores the original sidebar layout.

Simplified Panel

Hides panel action buttons (the icon row in Outline, Backlinks, etc.) and removes the search bar from those panels, reducing visual noise.

Note Style

Applies custom typography to the editor and reading view:

  • JetBrains Mono NL for code blocks, inline code, and the editor font
  • Forest-style blockquotes, tables, and code blocks
  • Adjusted line height and smooth scroll in the reading view
  • Heading flash animation when jumping from the Outline panel

Home Note

Designates a note that opens automatically on startup and whenever all tabs are closed. Set the path in the plugin settings (supports autocomplete).

Single-Page Mode

Hides the tab bar and keeps one note visible at a time. Additional navigation features:

  • LRU tab cache — keeps the 10 most recently visited notes open in the background; the oldest is closed when the limit is reached
  • Cross-tab back / forwardapp:go-back / app:go-forward navigate across tabs, not just within a single tab's history
  • Disables tab pinning

Page Load Animation (Beta)

Slide-in animation when navigating back or forward through note history.


Settings

Option Description
Minimal Sidebar Finder-style sidebar + merged Outline + Properties layout
Simplified Panel Hides panel buttons and search bars
Note Style JetBrains Mono, Forest-style blocks, smooth scroll, heading flash
Home Note Note path to open on startup and when all tabs are closed
Single-Page Mode One-note-at-a-time with LRU cache and cross-tab history
Page Load Animation Slide animation on back/forward navigation

Installation

  1. Download obsidian-minimalism-ui.zip from the Releases page
  2. Unzip it directly into your vault's .obsidian/plugins/ directory
  3. In Obsidian: Settings → Community Plugins → enable Minimalism UI

The zip extracts to an obsidian-minimalism-ui/ folder containing main.js, manifest.json, and styles.css. Theme styles and fonts are embedded into main.js at build time — no extra files or steps needed.


Development

git clone https://github.com/tcyeee/obsidian-minimalism-ui.git
cd obsidian-minimalism-ui
pnpm install

pnpm build   # production build → main.js
pnpm dev     # watch mode — rebuilds on changes to main.ts / src/**

Both commands first run scripts/generate-theme-assets.mjs, which embeds the theme CSS and fonts under theme/ into the bundle. The watcher does not watch theme/ — re-run pnpm dev / pnpm build after editing theme files.

To test locally, symlink the project directory into your vault:

ln -s $(pwd) ~/your-vault/.obsidian/plugins/obsidian-minimalism-ui

After editing the source, run pnpm build and reload the plugin in Obsidian (Ctrl/Cmd+R in the community plugins list).


Permissions

API Where used Why
vault.getMarkdownFiles() Settings tab — file path input Provides autocomplete suggestions when the user types a path for the Home Note setting. Called only on user keystroke; never runs on startup or in the background.

License

MIT