Mike Bifulco

So, like all good things, the idea for this post comes from a tweet...

Do you have your own Gatsby site? Let's brainstorm a dev.to cross-poster

So, like all good things, the idea for this post comes from a tweet...

Note: I updated some names and links in this post. Dev.to's product became Forem when it went open source

So, like all good things, the idea for this post comes from a tweet:

This is something I've been ruminating on for a bit. I've even tried to build it - a few times! I keep starting in on the work and getting lost in the millions of directions I could take it.

Here's what I'd like: When I publish a new post to my gatsby site (you're on it now!), I'd like for that post to appear on dev.to automatically.

It should:

  • recreate my post verbatim, from its original markdown source
  • use the canonical_url frontmatter field to make sure I retain SEO goodness on my post
  • happen without my intervention
  • be agnostic of where my posts are coming from. At the time of writing this article, I use takeshape.io as a headless CMS for my site, so my individual posts aren't in source control
  • only take posts from my master branch, since I use feature branches for draft posts from time to time
  • use the dev.to API (update: now called the Forem API), of course

Nice to have:

  • maybe posts should be set to published: false at first, so I can preview/review/update them as needed for dev.to?

Possible approaches for this:

  1. Tap into GitHub's webhooks somehow, and fire off a post here
  2. Come from a job kicked off after CI, maybe? I use CircleCI, but would like this feature to be fairly implementation agnostic.
  3. Use a GitHub App?
  4. ...or a GitHub Action?
  5. Perhaps just a lamba function deployed to AWS or Netlify Functions.

So - here's where I ask for your help. Surely there's a simple approach here I haven't thought of, or maybe it's a matter of collecting a few scenarios and building something based on 80/20.

What else am I missing here? I'd love your help. What use cases would you have for a cross-poster from your gatsby site? How would you implement it? How can we help each other?

Mike Bifulco headshot

Get content for developers, designers, and entrepreneurs

Subscribe to get my updates delivered to your inbox. Typically 1-2 emails a month, straight from me to you. 😘 Unsubscribe anytime.

More great resources

Articles for developersArticles for JavaScript developersArticles about CSSArticles about User Experience (UX)Articles about tools I useArticles about productivityArticles about Gatsby
© 2019-2021 Mike Bifulco
Built with Next. Source code on GitHub.
Disclaimer: 👋🏽 Hi there. I work as a Developer Advocate at Google. Content on this site contains my own opinions, and does not necessarily reflect the views of my employer.