Requirements:
- Write software engineering blogs with markdown
- Open IDE, write some thoughts, push new version of the blog from my terminal
- Be able to host on github for free
- Be able to display code with syntax (I guess if it supports markdown it will support that too?)
- Maintain structure e.g. post dates, navigation, post tags
- Ability to have a page about me
Bonus points - be able to personalise a little bit the look and feel if I wanted to e.g. font
No need for: - comments on blog posts
What are my options?
[1] https://hexo.io
[2] https://mattklein123.dev/2020/03/08/2020-03-07-new-website/
If you're looking to get started right away and don't care about having it hosted by someone else there's also bearblog[2] which I can recommend btw.
[1] https://astro.build/ [2] https://bearblog.dev/
Thanks to your post about bearblog, I now have a blog. A tiny website exactly like I wanted. With really nice themes (that I can customise since I know a bit of code !) all for a fraction of Squarespace asked me. And apparently I have anlaytics also ? Can't wait to use those.
So far, this is the tits. Would be happy with more products looking like this !
* draft in markdown
* render in HTML (using any Markdown to HTML tool, e.g. pandoc)
* link your CSS in the HTML file.
* push to your preferred serving platform
This has the advantage of getting you started as quick as you can open an editor.
If after 5 posts you are wanting a tool, pick whichever (Hugo).
Although the benefit of using a static site generator like Hugo is the ability to short codes to reuse code snippets (like embedding videos or images). But that can wait - getting five posts out first is important!
This puts the focus on writing content vs. spending unlimited time in the setup.
- Jekyll: the OG, but requires a ruby toolchain.
- Hugo: compiles to a single static binary, but you may have to get used to its (Go text/html) templating.
- Zola: also compiles to a single static binary, but uses Jinja-like templating.
- Gozer [^1]: my own, like Hugo, but 1000x simpler. I rolled my own because I wanted something that didn't move under me in the next 10 years and just because it was fun and easy enough to build.
[1]: https://github.com/dannyvankooten/gozer
I'm on my phone now and I can't check what I used to run it but all the details are at https://github.com/envygeeks/jekyll-docker/blob/master/READM...
Then HTMLs can be deployed to the public facing server.
(I host it on Netlify with a custom domain for free and Netlify builds a new release every time I push to main).
https://astro.build/
https://astro.build/themes/
If you want to go as minimal as possible, my https://github.com/Siilikuin/minimum-viable-hugo gets you set up with a single no-CSS, no-JS HTML page. I found this pretty ideal for staying to learn the platform.
If you really, really like minimalism, you could also try pandoc-server to dynamically serve HTML files from your Markdown as people visit the page, just like PHP does: https://pandoc.org/pandoc-server.html
What I'd love to do is totally remove the SSG from this pipeline and replace it with a WYSIWYG editor (blasphemy, I know). Or at least something that I could just drag and drop images to so I don't have to manually link them in the .md files.
I'd also like to totally remove the CSS from my site and just link to an existing theme served by a CDN somewhere, like if there was a "standard" simple theme with same defaults and platform-specific font choices etc. (ie. how it was supposed to be near the beginning where users would get served markup (via HTML) and then be able to theme it as they desire (obviously still possible but very few people do this).
Micro.blog looks interesting but the themes aren't quite as minimal as what I prefer.
And hOWTOs for code syntax highlighting too.
Under "Pelican" tag on this Pelican blog of mine:
https://egbert.net/blog/tags/pelican.html
I use Hugo with a theme called Congo. https://gohugo.io/https://github.com/jpanther/congo