Indent to Headings
approvedby Musel
Convert plain indented outlines into Markdown headings. - This plugin has not been manually reviewed by Obsidian staff.
Indent to Headings
Indent to Headings converts plain indented outlines into Markdown headings in Obsidian.
It is designed for notes that start as quick plain text:
Project plan
Research
Read papers
Collect notes
Build
Prototype
Test
and turns them into structured Markdown:
# Project plan
## Research
Read papers
Collect notes
## Build
Prototype
Test
The converter is safe to rerun. Existing Markdown headings are preserved, so you can convert a note once, add another rough outline later, and run the command again without rewriting the finished sections.
Features
- Convert selected text, the whole note, the current outline block, or marked blocks.
- Preserve existing Markdown headings.
- Treat leaf lines as body text by default.
- Optionally write leaf lines as bullets.
- Preserve existing bullets, numbered markers, and task checkboxes on leaf lines.
- Skip fenced code blocks.
- Preview a conversion before applying it.
- Use marked blocks for precise conversion:
<!-- indent-to-headings:start -->
Project
Build
Prototype
<!-- indent-to-headings:end -->
Commands
Convert indented outline to headingsConvert current outline block to headingsConvert marked outline blocks to headingsPreview indent to headings conversion
The ribbon button runs Convert indented outline to headings.
Settings
Base heading level: heading level used for top-level plain lines when there is no nearby heading.Spaces per indent: how many leading spaces count as one indent level.Leaf lines as text: only lines with children become headings.Minimum children for heading: require one, two, or three direct child lines before a line becomes a heading.Leaf text style: write leaves as plain text or bullets.Preserve leaf list markers: keep existing list markers on leaf lines.Strip list markers from headings: remove list markers before creating headings.Preserve blank lines: keep blank lines in converted output.Prefer marked blocks: if marked blocks exist, the main command only converts inside them.
Manual Installation
- Download
manifest.json,main.js, andstyles.cssfrom the latest release. - Put them in
<vault>/.obsidian/plugins/indent-to-headings/. - Reload Obsidian.
- Enable
Indent to Headingsin Community plugins.
Development
npm install
npm run dev
For a production build:
npm run build
For tests:
npm test
Release
- Update
manifest.json. - Run
npm version patch,npm version minor, ornpm version major. - Push the commit and matching tag.
- The GitHub release workflow attaches
manifest.json,main.js, andstyles.css.
Community Directory Submission
The repository is prepared for Obsidian Community plugin submission.
Submit this repository URL:
https://github.com/musel25/indent-to-headings
Final submission must be completed by the repository owner because it requires signing in, linking GitHub, and accepting the Obsidian developer policies.
- Sign in to https://community.obsidian.md.
- Link the GitHub account that owns this repository.
- Open
Plugins->New plugin. - Enter the repository URL above.
- Confirm the developer policies and submit.
- Address any automated review feedback.
The current release is ready for review:
- Root
README.md,LICENSE,manifest.json, andversions.jsonexist. manifest.json.versionis1.3.0.- GitHub release
1.3.0exists. - Release assets include
main.js,manifest.json, andstyles.css. versions.jsonmaps plugin version1.3.0to minimum Obsidian version1.5.0.
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.