Note
I’m actively adding new features to DasPress, including support for WordPress and other blog platforms.
💡 Want your platform supported? Open an issue or start a discussion!
⭐ Star this repo to show your support!
Publish your Obsidian notes as blogs in one click.
- Not technical? Download the portable app. This is the fastest and easiest way to use DasPress.
- Are you a developer? Follow the manual setup guide to explore and customize the code.
| Platform | Status | Setup Options | Notes |
|---|---|---|---|
| Windows | Supported | Manual and Executable | Beta testers needed |
| macOS | Limited | Manual only | Beta testers needed |
| Linux | Limited | Manual only | Beta testers needed |
| Blog Platform | Supported | Notes |
|---|---|---|
| Jekyll | Yes | Actively tested. Used in my blog |
| Hugo | Yes | Markdown-compatible, but not extensively tested |
| Hexo | Yes | Markdown-compatible. User testing is welcome |
| WordPress | No | Coming soon |
| Others (Markdown) | Yes | Should work. Feel free to test and send feedback |
If you want support for a new platform or feature, feel free to email me with your request.
- Full support for macOS and Linux
- Platform integration for WordPress, Ghost, Medium, and Substack
- Post scheduling
- SEO optimization (e.g., auto-renaming Obsidian images)
- Multi-site support
Detailed step-by-step instruction with screenshots available on my blog
pip install daspresspython -m daspress setuppython -m daspress --versionExpected output: daspress <version>
- Convert: Convert notes into blog format. Sanitizes text and images and handles formatting
- Local Preview: Automatically starts a Jekyll server for preview
- Git Publishing: Automatically commits and pushes to your Git repository
- Smart Paths: Supports Obsidian file paths and standard filenames
- Cross-Platform: Works on Windows, macOS, and Linux
python -m daspress setup # Interactive configuration wizard
python -m daspress convert "post.md" # Convert post to Jekyll format
python -m daspress local "post.md" # Convert and start local Jekyll server
python -m daspress remote "post.md" # Convert and publish to Git repository
python -m daspress both "post.md" # Convert, preview locally, and publish- An Obsidian vault with your blog posts
- A Jekyll blog repository
- Git installed and configured for the Jekyll repository
- Ruby and Jekyll installed for running the local server
- Run
daspress setupfrom the command line - Configure the Obsidian Shell Commands plugin
Shell Command:
python -m daspress remote "{{file_path:absolute}}"- Ensure Git is installed and local publishing works
- Add the command as a named action
Suggested name: Publish Blog Post
Now you can publish directly from Obsidian with a single click.
- Reads your Obsidian markdown files
- Converts image links like
![[image.png]]to Jekyll-compatible syntax - Copies images from the Obsidian vault to the Jekyll assets folder
- Saves the converted post in the Jekyll
_postsdirectory - Optionally starts a local server and/or publishes to Git
Run:
daspress setupThis configures:
- Obsidian posts folder path
- Obsidian images folder path
- Jekyll blog root directory
Configuration is saved at ~/.daspress/config.yaml
- See
docs/GETTING-STARTED.mdfor step-by-step instructions - See
QUICKSTART.mdfor developer usage and API integration
See LICENSE.txt for terms and conditions.
If you face any issues, use debug mode to identify errors:
daspress --debug convert "post.md"Hi, I’m Shuvangkar Das — a power systems researcher with a Ph.D. in Electrical Engineering, currently working as a Research Scientist. I work at the intersection of power electronics, inverter-based DERs (IBRs), and AI to help build smarter, greener, and more stable electric grids.
My work spans large-scale EMT simulations, firmware development, reinforcement learning, and hardware prototyping. Beyond engineering, I’m also a YouTuber and content creator — sharing hands-on insights on productivity, research, and knowledge management. My goal is simple: to make complex ideas more accessible and actionable for everyone.