Home

Awesome

Find detailed documentation at minimal.guide

Minimal is an Obsidian theme for desktop, mobile and tablet. Customize colors, fonts and more with the companion plugins Minimal Theme Settings and Hider. Winner of Obsidian's official Best Theme award

Support development: follow me or buy me a coffee

About Minimal

Screenshots

Background styles include low contrast, high contrast, and a true black option ideal for OLED devices

Helper classes for tables and card layouts allow you to create powerful workflows

Combining focus mode with image grid and image width options allows you to immerse yourself in visual projects

Minimal includes support for dozens of popular plugins like Calendar, Kanban, Dataview, Outliner, Excalidraw, and more

Installation

To install the theme

To install the companion plugin

Have a question? Join the Minimal channel on the official Obsidian Discord.

Companion plugins

Settings

The following settings can be accessed using Minimal Theme Settings plugin. Many of these settings below can be toggled with hotkeys.

Interface colors and fonts

You can also use the Style Settings plugin for even deeper customization

Features

Layout options

Controls images, tables and iframes. These settings can also be enabled on a per-file basis using helper classes.

Color schemes

Preset color schemes

Minimal offers color schemes that can be separately selected for light and dark mode using the Minimal Theme Settings plugin. Color schemes include Dracula, Everforest, Gruvbox, macOS, Nord, Notion, Solarized, and Things.

Minimal Theme Settings

Custom color schemes

You can use the Style Settings plugin to customize your color scheme. To see your changes more easily, open Style Settings in a new pane by using the command palette (CMD + P by default). Using Style Settings you can customize Minimal's colors, font sizes, font styles, and many more details.

Style Settings

Plugin support

Most plugins work well with Minimal, but the following plugins have received special love and attention:

Helper filters and classes

Image filters

Image filters can be added to create the following effects. Use them by adding the filter name at the end of the image link, e.g. ![[image.jpeg#invert]]

FilterDescription
#invertInvert images in dark mode — ideal for charts and handwriting on light backgrounds
#invertWInvert images in light mode — ideal for charts and handwriting on dark backgrounds
#circleCrop image to a circle
#outlineAdd outline around image

CSS helper classes

CSS helper classes can be added on a per-file basis using the cssClasses YAML front matter key. These classes are composable, so you can include more than one to combine effects.

For example, use the following code at the top of your file to enable cards layout:

---
cssClasses: cards
---

Image grids

Turns consecutive images into columns. To make a new row, add an extra line break between images. Learn more.

ClassDescription
img-gridActivate image grids

Line width control for tables, images and iframes

Controls the width of elements by type. Learn more.

ClassDescription
table-100, img-100, iframe-100Fill 100% of the pane width
table-max, img-max, iframe-maxFill the max line width (default 88%)
table-wide, img-wide, iframe-wideFill the wide line width

Cards

Using cards transforms Dataview tables into cards. Compatible with table width classes. Note that cards must be present for the other classes to work. Learn more.

ClassDescription
cards (required)Set all Dataview tables to card layout
cards-align-bottomAlign the last element of a card to the bottom
cards-coverImages are resized to fill the defined space
cards-16-9Fit images in cards to 16:9 ratio
cards-1-1Fit images in cards to 1:1 ratio (square)
cards-2-1Fit images in cards to 2:1 ratio
cards-2-3Fit images in cards to 2:3 ratio
cards-cols-1 to 8Force a specific number of columns (from 1 to 8)

Tables and Dataview

Controls the row and column styling for tables. Learn more.

ClassDescription
table-nowrapDisable line wrapping in table cells
table-wrapForce line wrapping in table cells
table-numbersAdd row numbers to tables
table-tabularUse tabular figures in tables
table-smallUse small font size in tables
table-tinyUse tiny font size in tables
table-linesAdd borders around all table cells
row-linesAdd borders between table rows
col-linesAdd borders between table columns
row-altAdd striped background to alternating table rows
col-altAdd striped background to alternating table columns

Embeds and transclusions

ClassDescription
embed-strictTransclusions appear seamlessly in the flow of text

Alternate checkboxes

Minimal supports a wide number of checkbox styles. These allow you to call out tasks that are incomplete, canceled, rescheduled, etc. See screenshots and details

SyntaxDescription
- [ ]to-do
- [/]incomplete
- [x]done
- [-]canceled
- [>]forwarded
- [<]scheduling
- [?]question
- [!]important
- [*]star
- ["]quote
- [l]location
- [b]bookmark
- [i]information
- [S]savings
- [I]idea
- [p]pros
- [c]cons
- [f]fire
- [k]key
- [w]win
- [u]up
- [d]down

Hotkeys

Hotkeys are only available when using the Minimal Theme Settings plugin.

Background and borders

Layout control

Misc

Contributing

If you would like add support for a plugin, or have found a bug you'd like to help fix, don't hesitate to open a pull request. Have a question? Join the Minimal channel on the official Obsidian Discord.

Plugin support

Plugin authors and developers can add support for Minimal theme by submitting a pull request. See the src/scss/plugins folder with examples of snippets for plugins that are currently supported.

Developers

Build instructions

Set up

sudo gem install sass
npm install -g grunt-cli
npm install

Define local path

To build directly into your Obsidian vault rename .env.example to .env and update OBSIDIAN_PATH to the local path of your Obsidian theme folder.

To run

npx grunt

This builds two files, the obsidian.css distribution file (for the community themes store) which is minified and also copied to your vault for live reload, and the Minimal.css file which is an unminified copy saved to the project root.

License

Minimal for Desktop and Mobile

Minimal for Obsidian apps is licensed under the MIT License which allows you to modify and redistribute the code, however you must preserve the copyright and license notice in your CSS file. This includes any code you may extract as standalone snippets.

If you would like to distribute a fork of Minimal or part of its code, please keep my Buy me a coffee link present in your Readme.

Minimal is frequently updated to stay current with the latest version of Obsidian. To make it easy to stay current with the latest improvements, I recommend using Github's fork feature so that you can merge the latest changes into your fork. If you have any questions don't hesitate to reach me in the Obsidian Discord group.

Minimal for Obsidian Publish

Minimal for Obsidian Publish is a separate version of Minimal which follows the same design principles but is optimized for web. It is also MIT licensed and available at minimal.guide or the obsidian-minimal-publish repo.

Disclaimer

This theme is provided as is, and is designed for my personal use of Obsidian on macOS. As such it is not thoroughly tested across all operating systems and use cases.

This theme modifies significant parts of the Obsidian interface, so it may break with future updates. It may also be incompatible with other bits of custom CSS you have.