No description
Find a file
Ethan Troy a63190f25b Fix Markitdown command execution syntax
- Simplify initial command to use basic markitdown CLI syntax
- Add multiple fallback methods for different Markitdown interfaces
- Bump version to 1.0.2
2025-03-10 15:38:29 +00:00
.editorconfig Initial commit 2025-03-07 23:54:16 -05:00
.eslintignore Initial commit 2025-03-07 23:54:16 -05:00
.eslintrc Initial commit 2025-03-07 23:54:16 -05:00
.gitignore Initial commit 2025-03-07 23:54:16 -05:00
.npmrc Initial commit 2025-03-07 23:54:16 -05:00
esbuild.config.mjs Initial commit 2025-03-07 23:54:16 -05:00
LICENSE Initial commit 2025-03-07 23:54:16 -05:00
main.ts Fix Markitdown command execution syntax 2025-03-10 15:38:29 +00:00
manifest.json Fix Markitdown command execution syntax 2025-03-10 15:38:29 +00:00
package-lock.json first try 2025-03-10 14:49:56 +00:00
package.json Fix Markitdown command execution syntax 2025-03-10 15:32:59 +00:00
README.md first try 2025-03-10 14:49:56 +00:00
styles.css first try 2025-03-10 14:49:56 +00:00
tsconfig.json Initial commit 2025-03-07 23:54:16 -05:00
version-bump.mjs Initial commit 2025-03-07 23:54:16 -05:00
versions.json Fix Markitdown command execution syntax 2025-03-10 15:32:59 +00:00

Obsidian Markitdown Plugin

This plugin integrates Microsoft's Markitdown tool with Obsidian, allowing you to convert various file formats to Markdown for use with your vault.

Features

  • Convert various file formats to Markdown:

    • PDF
    • PowerPoint (PPTX)
    • Word (DOCX)
    • Excel (XLSX, XLS)
    • Images (with EXIF metadata and OCR)
    • Audio (with EXIF metadata and speech transcription)
    • HTML
    • Text-based formats (CSV, JSON, XML)
    • ZIP files
    • Youtube URLs
    • And more!
  • Convert individual files or entire folders at once

  • Easy installation of the Markitdown Python package directly from the plugin

  • Optional use of Azure Document Intelligence for improved conversion quality

  • Support for third-party Markitdown plugins

Installation

  1. Install the plugin from the Obsidian Community Plugins browser
  2. Enable the plugin in Obsidian's settings
  3. The plugin will guide you through installing the Markitdown Python package

Requirements

  • Obsidian v0.15.0 or higher
  • Python 3.7 or higher installed on your system
  • Internet connection for initial Markitdown installation

Usage

Converting a single file

  1. Click the "Convert to Markdown with Markitdown" ribbon icon in the left sidebar, or use the command palette to run "Convert file to Markdown with Markitdown"
  2. Select the file you want to convert
  3. Click the "Convert" button
  4. The converted Markdown file will be saved in your specified output folder and automatically opened

Converting multiple files in a folder

  1. Use the command palette to run "Convert folder contents to Markdown with Markitdown"
  2. Select the folder containing the files you want to convert
  3. Check the file types you want to include in the conversion
  4. Click the "Convert" button
  5. The converted Markdown files will be saved in your specified output folder

Configuration

The plugin settings can be found in the Obsidian settings panel under "Markitdown":

  • Python Path: Specify the path to your Python executable (default: "python")
  • Enable Markitdown Plugins: Toggle to enable third-party Markitdown plugins
  • Azure Document Intelligence Endpoint: Optionally add an Azure Document Intelligence endpoint for improved conversion quality
  • Output Folder: Specify where the converted Markdown files should be saved (relative to vault root, default: "markitdown-output")

How it works

This plugin acts as a bridge between Obsidian and Microsoft's Markitdown Python library. When you convert a file:

  1. The plugin passes the file to the Markitdown Python library
  2. Markitdown processes the file and extracts its content and structure
  3. The content is converted to well-formatted Markdown
  4. The resulting Markdown is saved as a new file in your Obsidian vault

Troubleshooting

  • Python not found: Make sure Python is installed on your system and the path is correctly set in the plugin settings
  • Conversion errors: Check the console for error messages by pressing Ctrl+Shift+I (or Cmd+Opt+I on Mac)
  • Missing dependencies: Some file formats may require additional Python dependencies. The plugin will try to install these automatically, but you may need to install them manually

Development

  • Clone this repo
  • Make sure your NodeJS is at least v16 (node --version)
  • npm i or yarn to install dependencies
  • npm run dev to start compilation in watch mode

Manually installing the plugin

  • Copy over main.js, styles.css, manifest.json to your vault VaultFolder/.obsidian/plugins/obsidian-markitdown/

Credits

License

This project is licensed under the MIT License - see the LICENSE file for details