Back in February, I shipped a new version of my website. Only a very slight update to the design but a complete overhaul on how it was built.
...
For further actions, you may consider blocking this person and/or reporting abuse
I have been running my modest dev blog for 1,5 years now, using Jekyll (comments with Disqus), and I am now sure that was an excellent choice for my needs. Writing dev posts in markdown fits my writing process very well, it's the way I document my code at work too. And I can keep the whole content of my blog on GitHub.
You might check out Github Pages. It offers all of the benefits of Jekyll that you list here with none of the command-line build and host technical issues.
I haven't tried it, yet, but if I'm reading their documentation correctly, you don't have to host the resulting site on github.io if you want to have your own host URL.
Another thing I haven't tried, but seems to be described in the documentation, is connecting triggers to Git events that will automate the build and publish commands.
What I can, say from first-hand experience is that hosting documentation on github.io using GitHub Pages has made documentation and updates a no-brainer.
The command line is still needed for local testing even if using GitHub pages.
You're right about the hosting. They provide it for free.
The only limitation is that with GitHub pages, Jekyll plugins are not available so if you're relying on any of these you'll have to host yourself else where.
Luckily though, I've also written an article about how to automate the build and deploy of a Jekyll site to any FTP host using Travis CI.
ajaykarwal.com/deploying-jekyll-us...
Not being able to test intermediate (or local) builds was a problem I had earlier and I also thought that auto building would be the only way.
But, then I had a simpler idea: fork my own repo.
Now, the "published" documentation (what I want the world to see) is in my main account in the github pages doc folder of the project repo. I then created a separate, development account into which I forked the published repo. From the forked repo, I can test and publish (to another URL that I don't tell people about) as github pages automatically builds the work-in-progress docs under the development repo. When I like my changes, I send a pull request to the published repo to update it.
With that scheme, no hosting is required, no building is required, and you get instant (and manageable) documentation with no need to spin up (and manage) a server.
Yes it has some Jekyll limitations, but for the minimalist case where you don't want to manage any build or hosting servers, the tradeoffs might be worth it.
That's a good workflow you have there. You should consider writing up an article on Dev.to about your process and the reasons why. I'm sure it'll be really useful for people.
Really like the article! I had a similar moment several years ago, I was running my own site on WordPress and it was a pain. Managing the database, paying for and dealing with hosting services, and dealing with security and updates constantly. Moving to Jekyll was more than worth it to make my own site cheaper, easier, and more fun to manage.
One extra point I'd add on is that it's great to pair Jekyll with an asset tool like Gulp or Webpack. It's allowed me to included autoprefixing for my CSS and use Browserify for compiling my site's JavaScript. The scripts for running both Jekyll and Webpack can be defined and run simultaneously with NPM, so I get it all going with a simple
npm start
command. But that's more of an advanced Jekyll step, so it'd be better for a separate article anyway.Thanks for the appreciation.
Having the Jekyll scripts bundles with
npm start
is a great idea. You should write up an article about your process.I'd like to update this thread to mention the existence of Netlify CMS. The author writes in the OP that
but that is simply not true anymore!
After the site is done, you create an admin folder with an
index.html
(which contains a script that loads Netlify's admin panel UI) and aconfig.yml
(in which you specify the fields that will be available in the UI). You can then manage multiple users using Netlify identity.For the end user/content creator the experience is the same as using a standard CMS but the benefits of using a SSG remain.
Totally agree. That slight dependency of knowing how to code and use the terminal means its not really suited for (most) clients to manage their own sites.
You could also rely on GitHub for free hosting...
I Love Jekyll, It's Very Fast And Easy To maintenance. I Have 3 Years Working Experience In Jekyll Theme Development. If Any One Need Jekyll Website Just Knock Me Here, fiverr.com/share/ZX7lk
I've been using Jekyll since 3 years ago at my website (juanjosalvador.me). It is very powerfull, extensible, secure and clean, but, as Tom (Jekyll creator) says... it's just for hackers.
What do you use for commenting, if anything? That's just about the only thing that keeps me in WordPress at this point.
I use Disqus. Just include the embed script in my Page template and then in the front matter I have an option to set 'comments: false' if I want to turn them off on a particular page.