Turn an Obsidian vault home page into a personal dashboard with tiles
Track habits, sleep, weight, and focus with editable JSON-backed tiles
Add a custom dashboard module using the MyDash render helpers
Reorder or remove tiles by editing one dataviewjs block
Requires the Dataview plugin with Enable JavaScript Queries on, and folder names cannot be renamed because modules load by relative path.
This repository turns the home page of the note-taking app Obsidian into a personal dashboard built out of separate tiles. The README, written in Chinese, lists tiles for a time-of-day greeting, a today's fortune compass with eight trigrams and daily do/don't lists, habit tracking, a year-progress bar, a journal recorder for weight, sleep, and focus, a gym log, recent edits, a canvas list, pinned notes, quick command buttons, and statistics cards for note count and word count. Each tile is one module, and the home page is assembled by listing whichever modules the user wants. The whole thing is built on the Dataview community plugin and does not require any other theme, plugin, or CSS snippet. All colours come from Obsidian's own CSS variables, so the dashboard follows the active theme and switches between light and dark mode automatically. The repository ships sample data so the home page is not empty on first open. The install steps ask the user to install Obsidian, install the Dataview plugin, and turn on its Enable JavaScript Queries setting. There are two ways to set it up: clone the repository and open the cloned folder as a vault, or copy 主页.md plus the 模块, 工具, and Data folders into the root of an existing vault. The README warns that the folder names cannot be changed because modules are loaded by relative path through dv.view(). A directory tree explains the structure. The 主页.md file is just a single dataviewjs block whose only job is to call dv.view() once per module. Each module lives in its own folder under 模块/, with a required view.js for logic and an optional view.css for styles. The 工具/ folder contains larger standalone pages for habits, journal, gym, and so on. The Data/ folder stores each module's state as a plain JSON code block inside a markdown file, so data can be hand-edited, synced, and version-controlled, and a broken view does not lose data. The second half of the README explains how to customise the dashboard: edit 主页.md to add, remove, or reorder dv.view() lines; edit the JSON data files for things like the quote library, quick commands, habits, and tool navigation; change the Obsidian accent colour to recolour everything; or write a new module by adding a folder under 模块/ with a view.js that calls a shared library called MyDash. MyDash exposes theme variables, DOM helpers, JSON read and write functions, and ready-made render components like section, card, ring, progressBar, and heatmap. A pitfalls table flags shared dv.container quirks, Obsidian's button style overrides, SVG sizing, and container-query versus viewport-query gotchas. The licence is MIT.
Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.