| Crates.io | micropub |
| lib.rs | micropub |
| version | 0.4.1 |
| created_at | 2025-11-28 18:07:03.07712+00 |
| updated_at | 2025-12-06 17:39:19.408764+00 |
| description | Ultra-compliant Micropub CLI for creating, updating, and managing IndieWeb posts |
| homepage | |
| repository | https://github.com/harperreed/micropub |
| max_upload_size | |
| id | 1955821 |
| size | 548,984 |
An ultra-compliant Micropub CLI for interacting with Micropub-enabled sites like micro.blog.
brew tap harperreed/tap
brew install micropub
cargo install --path .
Authenticate with your site:
micropub auth micro.blog
Create a new draft:
micropub draft new
List drafts:
micropub draft list
Push draft to server (optional):
micropub draft push <draft-id>
# Or backdate when pushing
micropub draft push <draft-id> --backdate "2023-12-25"
Publish a draft:
micropub publish <draft-id>
See USAGE.md for detailed documentation.
Micropub supports pushing drafts to your server before publishing, allowing you to preview and edit posts on your site:
Create and edit a local draft:
micropub draft new
# Edit the draft file in your editor
Push draft to server (with draft status):
micropub draft push my-draft-id
The draft is now on your server but not published (marked as post-status: draft)
Update the draft:
# Edit the local draft file
micropub draft push my-draft-id # Re-push to update server version
Publish when ready:
micropub publish my-draft-id
This changes the server post from draft to published status
Benefits:
micropub draft push <id> --backdate "2023-12-25"config - Configuration and XDG directory managementauth - IndieAuth/OAuth authenticationdraft - Draft lifecycle managementclient - Micropub HTTP clientmedia - Media upload and path replacementpublish - Post publishing orchestrationoperations - Update/delete/undelete operations# Run all tests
cargo test
# Run with output
cargo test -- --nocapture
# Run specific test
cargo test test_name
Built with Rust using:
MIT