feat: add external platform publishing automation #2

Open
morten-olsen wants to merge 2 commits from claude/auto-publish-articles-gKIws into main
morten-olsen commented 2026-03-10 20:37:51 +01:00 (Migrated from github.com)

Adds a daily GitHub Actions workflow that publishes one article per run
to dev.to and/or Hashnode, with graceful per-platform failure handling.

  • New publishOn frontmatter field controls when each article becomes
    eligible for external publishing (falls back to pubDate if unset)
  • Back catalogue articles staggered weekly 2026-03-10 through 2026-06-08
  • Tracking stored in .github/published.json and auto-committed by CI
  • Platforms are skipped if their secrets aren't configured, and retried
    on the next run if they fail
  • PUBLISHING.md documents full setup for dev.to, Hashnode, and Daily.dev

https://claude.ai/code/session_01XLBvnG3JuypzwAEgcUamgx


Note

Medium Risk
Introduces CI automation that writes to the repo and posts content to third-party APIs using secrets; failures or misconfiguration could cause unintended publishes or tracking drift.

Overview
Adds automated external publishing for blog posts via a daily GitHub Actions workflow (.github/workflows/publish.yml) that runs pnpm publish:articles and auto-commits updates to a new .github/published.json tracking file.

Introduces a TypeScript publishing script (scripts/publish/*) that selects the oldest post whose publishOn date has arrived and hasn’t been published to all configured platforms, strips MDX-only constructs, publishes to dev.to and/or Hashnode (based on secrets), and records returned IDs/URLs for retry-safe, per-platform progress.

Updates the posts content schema to accept optional publishOn and seeds multiple posts with scheduled publishOn dates; adds PUBLISHING.md documentation and the needed dev deps (tsx, gray-matter).

Written by Cursor Bugbot for commit 21121a5959. This will update automatically on new commits. Configure here.

Adds a daily GitHub Actions workflow that publishes one article per run to dev.to and/or Hashnode, with graceful per-platform failure handling. - New `publishOn` frontmatter field controls when each article becomes eligible for external publishing (falls back to pubDate if unset) - Back catalogue articles staggered weekly 2026-03-10 through 2026-06-08 - Tracking stored in .github/published.json and auto-committed by CI - Platforms are skipped if their secrets aren't configured, and retried on the next run if they fail - PUBLISHING.md documents full setup for dev.to, Hashnode, and Daily.dev https://claude.ai/code/session_01XLBvnG3JuypzwAEgcUamgx <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Medium Risk** > Introduces CI automation that writes to the repo and posts content to third-party APIs using secrets; failures or misconfiguration could cause unintended publishes or tracking drift. > > **Overview** > Adds automated external publishing for blog posts via a daily GitHub Actions workflow (`.github/workflows/publish.yml`) that runs `pnpm publish:articles` and auto-commits updates to a new `.github/published.json` tracking file. > > Introduces a TypeScript publishing script (`scripts/publish/*`) that selects the oldest post whose `publishOn` date has arrived and hasn’t been published to all configured platforms, strips MDX-only constructs, publishes to *dev.to* and/or *Hashnode* (based on secrets), and records returned IDs/URLs for retry-safe, per-platform progress. > > Updates the posts content schema to accept optional `publishOn` and seeds multiple posts with scheduled `publishOn` dates; adds `PUBLISHING.md` documentation and the needed dev deps (`tsx`, `gray-matter`). > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 21121a59597ef87763b18f8156b1aea346d42eb7. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
This pull request has changes conflicting with the target branch.
  • package.json
  • pnpm-lock.yaml
View command line instructions

Manual merge helper

Use this merge commit message when completing the merge manually.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin claude/auto-publish-articles-gKIws:claude/auto-publish-articles-gKIws
git switch claude/auto-publish-articles-gKIws

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff claude/auto-publish-articles-gKIws
git switch claude/auto-publish-articles-gKIws
git rebase main
git switch main
git merge --ff-only claude/auto-publish-articles-gKIws
git switch claude/auto-publish-articles-gKIws
git rebase main
git switch main
git merge --no-ff claude/auto-publish-articles-gKIws
git switch main
git merge --squash claude/auto-publish-articles-gKIws
git switch main
git merge --ff-only claude/auto-publish-articles-gKIws
git switch main
git merge claude/auto-publish-articles-gKIws
git push origin main
Sign in to join this conversation.
No description provided.