Skip to content

shuvangkardas/daspress

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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!

DasPress

Publish your Obsidian notes as blogs in one click.


Currently Supported Operating Systems

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 Technology Support

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.


Coming Soon

  • 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

Manual Setup Guide

Detailed step-by-step instruction with screenshots available on my blog

Install

pip install daspress

Setup

python -m daspress setup

Verify Installation

python -m daspress --version

Expected output: daspress <version>


Features

  • 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

Commands

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

Setup Requirements

  1. An Obsidian vault with your blog posts
  2. A Jekyll blog repository
  3. Git installed and configured for the Jekyll repository
  4. Ruby and Jekyll installed for running the local server

Obsidian Integration

  1. Run daspress setup from the command line
  2. Configure the Obsidian Shell Commands plugin

Shell Command:

python -m daspress remote "{{file_path:absolute}}"
  1. Ensure Git is installed and local publishing works
  2. Add the command as a named action

Suggested name: Publish Blog Post

Now you can publish directly from Obsidian with a single click.


How It Works

  1. Reads your Obsidian markdown files
  2. Converts image links like ![[image.png]] to Jekyll-compatible syntax
  3. Copies images from the Obsidian vault to the Jekyll assets folder
  4. Saves the converted post in the Jekyll _posts directory
  5. Optionally starts a local server and/or publishes to Git

Configuration

Run:

daspress setup

This configures:

  • Obsidian posts folder path
  • Obsidian images folder path
  • Jekyll blog root directory

Configuration is saved at ~/.daspress/config.yaml


Documentation

  • See docs/GETTING-STARTED.md for step-by-step instructions
  • See QUICKSTART.md for developer usage and API integration

License

See LICENSE.txt for terms and conditions.


Troubleshooting

If you face any issues, use debug mode to identify errors:

daspress --debug convert "post.md"

👋 About Me

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.

Connect with me:

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages