GFM rendering, Notion import, LaTeX enhancement, and standard Markdown export for Obsidian.
GFM rendering, Notion import, LaTeX enhancement, and standard Markdown export for Obsidian.
~~strikethrough~~ syntax in all contexts including tablesTerm: definition syntax as styled <dl> elements$$...$$) and inline ($...$) formula rendering powered by KaTeX\ce{H2O})main.js, manifest.json, styles.css, and styles/ into your vault's .obsidian/plugins/mdbridge/ folderAll GFM features are enabled by default. Toggle them in Settings → MDBridge:
~~deleted text~~- [ ] Todo / - [x] Done[^1] references with [^1]: definitionTerm\n: Definition$E = mc^2$ (inline) or $$\int_0^1 x^2 dx$$ (block)```chem code blocks with \ce{2H2 + O2 -> 2H2O}Exports convert Obsidian-specific syntax to standard Markdown for cross-tool compatibility.
Access settings via Settings → MDBridge:
| Setting | Description | Default |
|---|---|---|
| Strikethrough | Render ~~text~~ in all contexts |
On |
| Definition lists | Render GFM definition lists | On |
| LaTeX formula enhancement | KaTeX rendering for math | On |
| Interactive task lists | Click checkboxes to toggle | On |
| Show completion dates | Append date when task checked | Off |
| Footnote enhancement | Improved footnote rendering | On |
| Hover preview | Show footnote content on hover | On |
npm install
npm run build # Production build
npm run dev # Development build with watch mode
npm test # Run all tests
npx jest --verbose # Run with verbose output
mdbridge/
├── src/
│ ├── main.ts # Plugin entry, lifecycle, commands
│ ├── renderer.ts # GFM rendering (strikethrough, footnotes, task lists, def lists)
│ ├── latex.ts # LaTeX/KaTeX rendering (block/inline math, chemistry)
│ ├── importer.ts # Notion HTML → Markdown conversion
│ ├── exporter.ts # Obsidian → Standard Markdown export
│ ├── settings.ts # Settings panel UI
│ ├── license.ts # Pro feature gating
│ ├── import-modal.ts # Import folder selection modal
│ ├── export-modal.ts # Export folder selection modal
│ └── types.ts # Shared types and defaults
├── __tests__/
│ ├── renderer.test.ts # GFM rendering tests
│ ├── latex.test.ts # LaTeX/KaTeX tests
│ ├── importer.test.ts # Notion import + edge cases + license tests
│ ├── exporter.test.ts # Markdown export + edge cases + E2E pipeline
│ └── settings.test.ts # Settings and license integration tests
├── styles/ # KaTeX CSS (auto-copied on build)
├── styles.css # Plugin styles
├── manifest.json # Obsidian plugin manifest
├── esbuild.config.mjs # Build configuration
├── CHANGELOG.md # Version history
├── LICENSE # MIT license
└── package.json
styles/katex.min.css file exists in your plugin folder$...$ for inline and $$...$$ for block formulas.html files[[Folder/Note]]) are supportedmain.js, manifest.json, and styles.css are all presentminAppVersion in manifest matches your Obsidian versionMIT — See LICENSE for details.
See CHANGELOG.md for version history.