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

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

23 June 2019

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.  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, 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?

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.