Markdown Social#
Parses Markdown articles and posts them automatically on social-media. It also stores reference to the post so we don't create duplicates.
The idea is to run this via build-pipelines like so:
- Site is built and deployed
- This program runs and posts what needs posting
- If there were changes in Git, it should commit them and rebuild the site
- Now possible to use
social.bluesky(or whatever) to setup likes/comments
Requirements#
Frontmatter#
title: stringdate: RFC 3339social: map[string]string (e.g. {"bluesky": "at://asdf"})
Usage#
md-social blogdir/
Configuration#
All configuration is via ENV variables. Providers without configuration are skipped
- MD_BASE_URL
Bluesky#
- BLUESKY_DID
- BLUESKY_APP_PASSWORD
Tasks#
As a CLI user, I can...
- Parse one or many markdown files for frontmatter
- Persist the post URL in the markdown file
- Post to Bluesky
- Skip if already added
- Handle single file
- Determine if we should create a post from
datefrontmatter field - Handle directory and strip the prefix
- Setup mise tasks
- Build a binary via CI
- Build and publish to NPM (bin) so we can use it in our Astro project
- Verbose should list available fonts for resvg
- Allow custom fonts via flags
Maybe later#
- ActivityPub
- dev.to
v2 usage?#
- md-social parse --og-image --og-image-background moo.png --og-image-author cow.png examples/
- md social server # for oauth proxy stuff