Hey DT community, I need your help and expertise.
I'm an experienced full-stack software engineer, with a strong background in React, React Native, & Ruby on Rails.
I've been having trouble figuring out a good service, library, or template to use to create a self-hosted blog for my business. I'm imagining something similar to the Auth0 Blog.
- I haven't seen an easy way to create this type of thing in React without building it from scratch, which I'd rather not spend a lot of my time doing.
- My customers aren't necessarily developers and I'm not a big fan of Medium, so I'd like it to be hosted along with the business site.
- I'm not opposed to a hosted service, but I would need it to look professional since it's for my business.
- I know Wordpress is a popular choice but I’ve never used it so I hesitate to pick it for the time it may take to learn it and have it integrate into my react app.
- I've heard others mention Gatsby, but from what I could tell, my non-engineer partners couldn't write posts without me translating it into code. (I could be wrong about this. I don't know much about Gatsby).
Thank you in advance!
Edit: An earlier version of this question mentioned WordPress in passing without elaboration. I’ve updated it to clarify my thoughts.
Top comments (24)
Keep an eye on everything Stackbit is doing, I think they're looking to solve for a lot of what you're specifically describing. They're a newish service, but definitely have the right idea about how to make this stuff easier while also not tying you in to anything proprietary longterm in case things change.
We'll be integrating with them as much as we can
Project Benatar: Fending Off Data Black Holes
Ben Halpern ・ Jun 17 ・ 6 min read
You are a beautiful human being, Ben. I love their value prop. I think they are solving exactly what I'm describing. This looks like a dope service. Thank you good sir!
You can use Gatsby with the data coming from any CMS you like (Contentful, WordPress, Drupal, Firebase, etc). For a small blog, you should be fine with a free tier for most of them.
Once you have set up the site, your partner can interact with the CMS directly without relying on you.
As someone who has recently started a blog with Gatsby, I would definitely recommend this option.
Yes, I recently did this with NetlifyCMS
I didn't realize one might use Firebase to host the blog content. Do you have to define the data structure is that handle by the Gatsby template?
Thank you for your help, Alex! It's super helpful.
There are plugins call gatsby-source-firebase and gatsby-source-firestore that let you query data from firebase.
You’d have to define the data structure. You’d have to do that for other CMS too (except for WordPress or Drupal).
I’d be happy to dive deeper if you wanna learn more about Gatsby. Big fan and would love to spread the word. Feel free to reach out!
you can connect it to headless CMS or you can use Netlify CMS
Another option is Grav. It uses Markdown files for blog posts and pages, so it doesn't require a database. It's possible to store a Grav project in a Git repository and basically keep the live version up to date by simply doing a
git pullon the server if you want. It also provides an optional admin module that allows you to manage content in the browser
My favorite blog engine is Ghost. It's a lightweight Worpress-like engine built on the Node stack. It has a lovely CMS-style interface for your non-engineer partners to write their posts. It's open source, of course, and has fantastic documentation. You can either host it yourself, or have it hosted by them for $29/mo.
And recently, they finished an absolutely impressive set of integrations with other services... over 70, in fact, from obvious stuff like Facebook and Twitter, to business stuff like Shopify and Adsense, to content-oriented stuff like the great Cloudinary for image management and Google AMP for search engine visibility, to more offbeat neat stuff like the Ulysses writing app and Giphy for.. gifs?
As if that wasn't enough, though by default the front end is built with handlebars.js templates, you can also make Gatsby your front end engine on Ghost, so if you've been wanting to mess around with Gatsby (and it really is great) but are afraid that your non-techy partners will have a hard time, you can just use Ghost as your CMS and use Gatsby as your front end. How cool is that?
Very cool, let's be honest. Do this. I guarantee you'll love it.
All static site generators Gatsby, Jekyll, Hugo, etc. do require some technical involvement to publish and manage posts. For your customers (especially paying customers) with no development background, I will surely stick with existing blogging engines like WordPress or Ghost. Learning to host and manage WordPress or Ghost instances is not that difficult.
Gatsby’s plug-in ecosystem has some great tools for ingesting markdown, to add to what people are saying above about support for lots of different data sources. There’s even a plug-in that wraps Prism for syntax highlighting. And the md files can include raw html and style blocks, so guest authors can get as sophisticated as they want to. I did the blog on my portfolio site this way and I love it.
If it just a blog and it 's a static site, there is a bunch of hosting static site like Surge.sh, Netlify... and S3. I recommend S3 for your business because of stability, security, and integration with other services in AWS
Jekyll is easy to get started with, and generates a static site from Markdown files. You can have blog posts and regular pages. If your non-engineer partners can write Markdown (for example using stackedit.io, then it might be a simple solution, but the question of file management with several authors must be addressed.
I’m looking for a headless CMS to make it easier to edit a Jekyll site, but I haven’t found one that I can self-host. forestry.io is a hosted solution (the editor is hosted by them) that connects toa GitHub/BitBucket/GitLab repository to give you an editor for a Jekyll, Hugo, VuePress or Gatsby site. It’s worth a try: it’s really nice and they have demo projects that you can quickly get started with.
I still haven’t understood the point of Gatsby of JAMStack in general. Having the browser connect to an API to build the web site using client-side code: I don’t get it. You don’t have the benefit of a static site generator, not of a CMS.
Dev.to is open source.. So, you can use it for your own purposes.
That’s an interesting thought, Victor. I hadn’t thought of that. Since it’s a blog for a business, there are probably a lot of features that I would have to take out. Like I don’t necessarily want customers posting articles. You know? I’m gonna think on this more. Thank you for posting!
Well, in that case Gatsby is the way to go, I guess.
Sorry, what's wrong with WordPress?
That’s a great question, Allison. Thank you for asking for that clarification. I didn’t intend to imply there’s anything wrong with WordPress. I just don’t have any experience using it. I was hoping to find something closer to the React ecosystem since I’m already familiar with that. I’ll edit my question to clarify this.
Ok. I'm not familiar with the React ecosystem so I can't say whether it's similar to WordPress or not. But for a professional, pragmatic, and robust solution, there's a reason it's so popular. It's easy to set up; depending on your web host it could be as simple as a few clicks. It's not hard to learn at all and probably has more support than most competitors. There are tons of templates as well, so there might be an option for what you're looking for.
And regardless of what you choose, I recommend using Medium as a place to repost whatever you write, with an "Originally posted...." at the end. Medium is popular and can help you get more traffic.
If you want to cheapest, simplest, easiest and most robust way; write some HTML.
I recommend you to look into the Jamify open-source tools which uses Ghost for your headless CMS and Gatsby for your frontend builder (I am the author of Jamify). This modern Jamstack setup gives you a fast and professional looking site at zero costs where every piece can be exchanged with something else later, so no vendor lock-in.
Gatsby can take markdown files and they live in the repo. You would tell gatsby where to look for them and it would do the rest. That means they’d only have to learn markdown to write posts.