Over the last few days I've been working on getting my website online. The most important part of my site is the blog, and my idea is that I cross-post1 my content between my website and DEV.
DEV makes this super easy as it integrates with Stackbit. Within a few clicks I was up and running with a fresh GitHub repo containing a Gatsby app connected to Netlify for building and hosting.
The build on Netlify happens in one of two occasions: when my content on DEV updates or when the GitHub repo updates.
With this setup in place I moved a lot of potential obstacles out of the way, there is very little for me to worry about. Most importantly though, I can manage a big part of my site using Git, which I love!
beeman 🐝@beeman_nlI moved some of my Medium posts to dev.to and I'm blown away at how great it is.
The markdown based blog by itself is awesome, but the integration with @stackbithq is the cherry on top, it allows you to generate a static site from your blog in a few clicks 🔥14:30 PM - 04 Jul 2020
After declaring my love to this amazingly easy to use stack on Twitter, I got a reply from Maxime. He told me about a tool he created to publish your blogs from GitHub to DEV, which means my I can manage my complete site using Git, even better!
Maxime Robert@beeman_nl @stackbithq I guess you're all setup now but I built a small cli to publish on dev to which you can use locally or on CI. Setup once, then just git push your changes on github and it'll be kept in sync 😁
dev.to/maxime1992/man…19:56 PM - 04 Jul 2020
In his post you can find the all the steps you need to set this up. The process is pretty straightforward and very well described. In the guide he explains how to use Travis CI to set up automatic publishing, but I'd rather use GitHub Actions.
In order to get started you need to finish the 2 steps of Maxim's tutorial then come back here and continue below. I'll wait.
1. Set the DEV API Token in the repo settings.
Navigate to the
Settings page of the repo and select
New Secret and set the name to
DEV_TO_GIT_TOKEN and paste the DEV API key in the value field, then click
2. Create the GitHub Actions Workflow file.
Create the file
.github/workflows/build.yml and add this content:
3. That's it!
After your next push, GitHub picks up the workflow and starts executing it. You can follow the process in the Actions tab.
Maxim's tool is an amazing addition to my publishing setup, which consists of a repo for my site and another for my content. I'll probably merge them at some point but at this moment I have bigger fish to fry.
I have created a small helper script that syncs content from DEV back my local repo, so I now have a full sync. This comes in handy after creating a new draft on DEV and allows you to make changes to the blog through their UI too.
I'm considering to wrap the syncing up in a tool that I can just run in the background while publishing, and I'd love to have a local preview of the blog that I'm writing so stay tuned for more!
Thanks for reading my post! In case you have any questions, feel free to leave a comment on DEV or send me a message on Twitter!
Cheers, beeman 🐝
Cross-posting is considered bad for your SEO score. To address this issue, DEV conveniently supports the canonical_url property. Another reason to ❤️ DEV! ↩
Top comments (7)
Nice write up! I've enjoyed publishing to dev.to like this as well, but it's nice to get my workflow onto GitHub Actions. Today I was thinking of creating a dev-to-git Nx plugin to help easily set this up, generate new blog articles, and generate a GitHub Actions config. Do you mind if I use your workflow config for this?
That sounds awesome! Please, feel free to use this config. Let me know if you want some help. I can also share the script I used to pull in the items.
Sure, why not!
worked like a charme, thanks! just one hint in your github action I changed "main" branch name to "master" since it's the default repo branche :D
Hey @beeman , you push your new blog post on GitHub, then running the GitHub Actions Workflow, the post will be mirrored on DEV too?
Hey @bhaidar , yes dev-to-git publishes any changes to DEV, which in turn triggers my website redeploy.
Nice. Any progress on the syncing tool?