Step 1: Create Theme Directory
Custom themes are stored in your Inkdown config directory:Step 2: Create manifest.json
Every theme needs a manifest file with metadata:Manifest Fields
| Field | Required | Description |
|---|---|---|
name | Yes | Display name shown in theme browser |
author | Yes | Theme author’s name |
version | Yes | Semantic version (e.g., “1.0.0”) |
description | No | Brief description of the theme |
homepage | No | URL to theme repository or website |
modes | Yes | Supported modes: ["dark"], ["light"], or ["dark", "light"] |
Step 3: Create CSS Files
Create CSS files for each mode your theme supports:For Dark Mode: dark.css
For Light Mode: light.css (optional)
Step 4: Test Your Theme
- Restart Inkdown or reload custom themes
- Open Settings → Appearance → Themes
- Your theme should appear in the list
- Click to activate it
Step 5: Iterate and Refine
As you develop your theme:- Edit CSS files in your favorite editor
- Reload themes in Inkdown settings to see changes
- Test with different content - try headings, code blocks, lists, etc.
- Check both modes if you support light and dark
Tips for Theme Development
Start with an existing theme
Start with an existing theme
Copy one of the built-in theme CSS files as a starting point. The default themes use all available variables.
Test with real content
Test with real content
Create a test note with all markdown elements: headings, bold, italic, links, code blocks, lists, tables, callouts, etc.
Use CSS variable references
Use CSS variable references
Reference other variables to maintain consistency:
Check contrast ratios
Check contrast ratios
Ensure text is readable against backgrounds. Aim for at least 4.5:1 contrast ratio for normal text.
Consider accessibility
Consider accessibility
Test your theme with different vision modes. Avoid relying solely on color to convey information.
Example: Minimal Dark Theme
Here’s a minimal theme that only customizes the essentials:Next Steps
CSS Variables Reference
Complete list of all available theme variables
CSS Architecture
Learn how CSS is organized and applied
Share Your Theme
Publish your theme for others to use
Best Practices
Tips for creating great themes
