My requirements:
- Minimal cost (free via Github Pages or the like if possible)
- Semi-frequent blogging
- Static site
- Mobile ready
My approach was to start from bare-bones Gatsby and make incremental additions. Key pieces that help me have virtually limitless control:
- React: I subscribe to the philosophy of component-based systems.
- Remark: Plugin-based approach to extending Markdown capabilities.
- MDX: bring component-based systems to Markdown. opens up virtually anything possible in React to be possible in Markdown.
- Gatsby: Builds on top of React and a plugin-based system for extensions.
- Netlify: Super easy deploys.
Key highlight: I needed BibTeX citations in Markdown. I implemented a plugin from scratch myself (effectively amounts to manipulating the Abstract Syntax Tree given by MDX) which was fairly straightforward (https://github.com/activatedgeek/website/blob/master/src/plu...).
Website: https://www.sanyamkapoor.com Source: https://github.com/activatedgeek/website
[1]: I had a non-elegant hack to use Distill as my theme in Hugo https://github.com/activatedgeek/distillpub and had to go through some hoops to get everything coherently working (but brittle).
Since I can create static sites from NUXT.js, I practically just need a static file server like Nginx to serve my files, and my server costs like 20bucks/year? Can't find anything cheaper than that.
Here's my site, I also write a few learnings and findings from my journey as a Software Engineer. Hope you find something useful from here! Cheers (:
I like Metalsmith because it's a tool, more akin to Gulp or Git that is easy to reason about, uses JS and can be used to do other things, so it seems like a longer term investment than using Jekyll or Hugo.
With Hugo I found if I got stuck I was really stuck. It has it's own DSL which is bad. With Metalsmith I can hack my way around any problem with JS and write my own plugins easily if I wanted to.
Then I used NodeJS for some interactive bits hosted on a free EC2. That NodeJS talks to a free postgres instance for storage, and uses nginx and letsencrypt.
I'm in the slow process of making a new blog for technical content and notes, using org-mode + html export / publish functionality + custom css. So far I've got some pleasing css, gitlab-ci and now I'm working on adding some automation and templating for pages and blog entries.
I'm not sure whether I want to host it directly on my own hardware or host it into something like S3 or gitlab pages.
It’s low maintenance, cheap, and simple. No “moving parts”, and on the off chance I ever put anything up that gets attention from HN or bigger sites it will easily handle.
- Hosted on a 5€ DigitalOcean droplet (alongside 3 other projects)
- Deployed via a one-liner script (ie not automatic but really easy)
I just have php files in which i put everything, then use make to build a static version