Ask HN: What's your personal website's tech stack?
I want to spend some time this weekend re-doing my site (www.garysahota.com) in a platform other than Google Sites. I'm learning web dev now and would love to get your thoughts on what tech I should use!
My requirements:
- Minimal cost (free via Github Pages or the like if possible)
- Semi-frequent blogging
- Static site
- Mobile ready
16 comments
[ 2.6 ms ] story [ 50.1 ms ] threadSince 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 (:
https://blog.phuaxueyong.com
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 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.
I just have php files in which i put everything, then use make to build a static version
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).