Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: How to build a light weight personal blog?
52 points by rishikeshs on Jan 4, 2022 | hide | past | favorite | 115 comments
I've been running my personal blog for a while using WordPress, but I find it too buggy and loads slow.

I was thinking of redesigning and redeveloping my blog into a light static website. What are some alternatives to Wordpress that are fast and small? I don't really need a CMS as I write all my blog posts in markdown. I'm currently thinking of using Hugo or use some framework like Skeleton. Any other suggestions?

My current site: https://rishikeshs.com/



A key take away from many years of running a blog as a static website is that may add friction to your process. Unless you have some sort of CI/CD going on, the chances are that one can only post from their own computer, while using something like Wordpress allows them to post from anywhere — including their mobile devices — which leads to a ton of serendipity.

You might want to evaluate if posting from multiple devices is important to you, and if you're willing to setup some process to do it with a static website. I'm not saying that it can be done, I'm just highlighting that it is not something you can automatically take for granted.

An option that you might want to consider is GravCMS[1] which is PHP based. It has an interactive app for admin and posting, but once you post it generates static files. So from the point of view of the server and your readers, your website is static. You can still post from anywhere though.

I'm sure there are other similar solutions, and that someone has a SaaS to solve this which they think it will be the next unicorn. Anyway, just another thing for you to consider.

[1]: https://getgrav.org/


> Unless you have some sort of CI/CD going on, the chances are that one can only post from their own computer, while using something like Wordpress allows them to post from anywhere — including their mobile devices — which leads to a ton of serendipity.

There's a plug-in(s) for WP that allows you to have the GUI for convenience, but then generate a static site:

* https://wp2static.com

* https://www.wordpress.org/plugins/simply-static/

* https://www.wpexplorer.com/static-website-wordpress/

Either serve the static area directly, or use some scripting to update where your public web server lives.


I think the rise of static site generators has pretty much gotten rid of this as a problem.

Regarding posting only from your computer, you can just use a git repo that triggers builds on push.

You can see many options for them here https://jamstack.org/generators/


CI/CD pipelines is not exactly complicated, but how do you handle multi-user permissions on a git repository? You sure can with git hooks if you run your own git server, but with an integrated solution like Github it's simply impossible.

Some apps like Netlify (are there others?) presented solutions but are unfortunately to my knowledge not selfhostable.


I don't think most people would need multi-user permissions on a git repository for a personal blog, right? In my case, I just push to GitLab and have CI run to deploy to S3 via a GitLab-specific IAM user key/secret set as a repo env variable.


When i say multi-user i don't necessarily mean human users. Some bots could be pushing content like comments from 3rd party interfaces (email inbox, HN thread, HTTP form) and i wouldn't like them to have write access to content/ or themes/ folder, only to a dedicated folder.

Also interesting to question the whole supply chain security. What is Gitlab gets hacked? Surely you could deploy from/to your own infra using Gitlab as a source of truth by verifying PGP signatures (like with guix git-authenticate), but then how to apply the aforementioned ACLs? If you have resources on that topic, i'm all ears.


I think this might be over-complicating it a bit for a personal blog. There are comment systems like Commento, Disqus, Hyvor, etc that let you just embed a JS snippet into your layout for comments (if one even wants to support blog comments at all).

Regarding GitLab getting hacked, while it is of course a concern I'm not sure it's any more of a concern compared to using any other hosted blog service. You'd have to consider how secure any hosting solution is, whether it's Wordpress, GitLab/AWS, Medium, or anything else. As a benefit, GitLab (unlike many other blog hosting services) supports U2F MFA.


> When i say multi-user i don't necessarily mean human users. Some bots could be pushing content like comments from 3rd party interfaces

Could be easier to use either another repository or a 3rd party comment system like Disqus


Yeah it's me who made that SaaS but just as a handy tool for me to publish a static blog out of my google docs. It's live at https://hexo.press

P.S had no intention of becoming the next unicorn :)


Yes, it depends on what you want to achieve.

If you are looking to get an understanding of deployment models, gitops, hosting solutions, CSS, HTML, and maybe do some writing, choose the static hosting option.

If you are looking to write, choose wordpress, preferably hosted.


I just do git push to post, the site generator does the rest (including diffs and optimized change rendering in my case).

You can git push from anything these days, including an iPad (which is basically what I do).

(edit: why the downvotes?)


Yes, that is what I said. It can be done, but it is not as trivial as posting on a wordpress-based blog. You have to setup some sort of CI/CD workflow and be able to do git stuff from other devices. It is up to the OP if they want to go through that route.


I've googled a bit on this issue and it seems like you can auto-deploy on post-push easily by using Git Hooks (https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks) You just need a single simple bash script, no need for complex CI/CD stuff.

Still, you're right that doing git stuff on other devices can be a bit annoying. A web interface might be a lot more convenient if you want to edit your blog WYSIWYG on the fly.


+1 for Grav: I've deployed it on my server and interact with it using the admin page and the git integration. It's simple and easily customizable, unlike WordPress. The main appeal of Grav, to me, is the hackability and ease of management compared to other CMS's. With a proper caching system, Grav is as fast as an SSG.



> "Figwheel keep Om turning!"

Love the musical word play. Nicely done :)


I write my blog in plain text files (because it's primarily intended for gopher), and then wrote a little node+express service that watches those text-files and applies a bit of regex to it to make links be links, and otherwise just formats it as html. Here's how it looks

http://dusted.dk/pages/phlog/2021-12-14.txt and http://dusted.dk/pages/phlog/2021-12-14.txt?raw

to inline an image, i just refer to the name, so lol.png becomes an <img src="lol.png"> in the html.

My main compromise is that if it makes the plaintext less pretty, it can't go in, no tags.

My inline code blocks is made by matching for a language or file name ending with: and if the next line is indented, it is considered code.

Look at http://dusted.dk/pages/phlog/2019-12-20.txt and the raw text http://dusted.dk/pages/phlog/2019-12-20.txt?raw


Jekyll + GitHub Pages = Static blog with free hosting

You could substitute Jekyll for other supported frameworks.

Pros:

* Markdown (so super flexible)

* Git as the backbone (free CRM, free history)

* Customisable (if you know how to code)

* Free templates

Cons:

* Jekyll is a bit of a pain on Windows but should be fine on Linux/Mac

* Images might not load super quick from GitHub's servers

* You need to know basic Git


Another con: you depend on Microsoft's good will to serve your blog, as they own Github. That kind of workflow is amazing but you should probably consider going with a non-profit software forge that runs on donations and will protect (y)our interests (like codeberg.org for example).


You don't depend on Microsoft: Static sites can be moved easily to another provider if anything bad happens - there is no "vendor lock-in".


I thought Github Pages only worked with *.github.io but it appears you're correct and we can now own domains hosted by Github. So my original argument only stands for people using Github's domain instead of their own. Thanks for correction!


GitHub sites were in place long before the acquisition. (I'm an MS FTE now, but have been using GitHub since the beginning and am a bit weirded out by this perception that corporate ownership is a taint of some kind.)


In my personal views, corporate ownership is mostly a bad thing. Although i can see how some corporations are very user-friendly and will go to great length to service their users. But i can't say Microsoft, who's always been engaged in very user-hostile practices, has a good track record.

Microsoft famously tried to outcompete the Internet via their existing monopoly on Windows with MSN (not just the messenger) back in the day, and have always been super hostile to free-software. They have also, like any corporation, stopped to maintain several services over the years and the fact that beyond their public image they don't have any incentive to keep Github Pages going doesn't inspire me confidence.

The fact that Github Pages were up and running before Microsoft's acquisition of Github is a reason to be worried. There's no money flowing in from that service and it probably costs a fair amount. Despite their "we love open source" statements, i've yet to see Microsoft open-sourcing any significant product (including Github) and specifying/standardizing existing stuff like Github Actions.


Well, in my personal view (since I joined coming from an OSS environment) you are still hanging on to _very_ ancient history. I won't discuss it further other than point out that the last six years have been completely at odds with that worldview and that software has changed profoundly (I recommend you check out the Azure GitHub org, where a _lot_ of tooling and supporting services are public).


Is Secure Boot ancient history? TPM 2.0 requirement? The quasi-requirement of a Microsoft account to use Windows? Ubiquitous telemetry that's impossible to disable? Cortana that cannot be removed and employs precarious workers without a confidentiality contract to transcribe everything people say and have no idea Cortana is recording? Blocking standards-compliant mail servers silently?

Microsoft is still a strong force for evil in this day and age. I only wish they were disbanded during the antitrust investigations of the 90s instead of putting Apple on life-support: the world of computing would be such a better place without both Apple and Microsoft to shit their monopoly on our faces.


As a Mac user working at Microsoft on Linux workloads, I definitely do not identify with that viewpoint.


Do you think the examples i presented are bullshit or do you not think they are ethical problems? Just because Microsoft embraces people working on different operating systems doesn't mean they suddenly started to respect the human rights of their users.


I would favor the first part of your sentence. I watched a lot of that happen before joining and understand how it happened, and I think you're inflating the matter.


And there's so much competition in that space ( static site hosting) it's actually difficult to choose a provider, so if GitHub does something bad, you can switch in no time ( pending DNS propagation).


This is what I’m back to* after a tour through a few options over the years. Minimal overhead, and the GitHub UI is handy and perfectly adequate for small updates to content.

* https://kalafut.net/2021/10/16/blogging-setup.html


I rebuilt my personal site using Hugo a couple years ago and it’s been great. Super easy to write new posts in Markdown, flexible enough I could do anything I might need, but easy enough to build out just the features I need and no pressure to update anything for security reasons.


I use a single Makefile with pandoc.

https://her.esy.fun/posts/0018-makefile-as-static-site-build...

I use org-mode instead of markdown. But this system is agnostic of your source. Low maintenance, and will probably still work in a long time in the future. The most fragile part of it is pandoc, which I think will be retro compatible for a long time.


S3 has a static site hosting function. Throw your files up on a bucket via a git repo and you’re in business. Hosting+static site generation all in one.

https://docs.aws.amazon.com/AmazonS3/latest/userguide/Websit...


AWS Amplify is even better, IMO.

Here’s an example how to use Amplify with Hugo: https://gohugo.io/hosting-and-deployment/hosting-on-aws-ampl...


I use Lektor and publish by Git[0], or at least I would if I ever updated my blog.

Any static blog framework is probably adequate, though.

[0]https://neurobin.org/docs/web/using-git-to-manage-a-website


I use hugo[1] for pilabor.com, heres my personal tutorial, how to build a blog from the scratch:

https://pilabor.com/blog/2021/05/building-a-blog-with-hugo/

Benefits:

- Write MarkDown for blog posts

- Integrate custom HTML, JS and CSS snippets

- Site search via JavaScript and JSON index file

- Integrate data files (like auto replace affiliate links, content table building or dynamic image resizing)

- Very fast site generation

- Image Processing features

- HTML, CSS and JS minification

- One single binary that runs nearly everywhere (e.g. on Raspberry PI)

[1] https://gohugo.io/


I used multiple static site generators and in 2021 I stumbled upon Zola [1] (written in Rust) and it worked really nicely. One neat little feature I like is that you could have the theme separated or as part of your site. For the theme I made a very simple html template that relies on default browser styling as much as possible. Feel free to check it out [2]

1: https://www.getzola.org/

2: https://log.beshr.com/thelog/


I use Zola as well, but used an existing theme. The best I like is the single binary (which I can keep using without having to worry about future changes). And it builds fast.


Shameless plug incoming.

A good while ago I created my own "system" Glyph: https://github.com/dbriemann/glyph

It's a static site generator utilizing Github issues and Github pages. If you are interested in how it works see: https://github.com/dbriemann/glyph-zero

As an example you can see a raw blog entry here: https://github.com/dbriemann/blog/issues/7 which results in https://dbriemann.github.io/blog/7-making-a-game-with-go-and... when "compiled".

You basically write your blog posts as github issues and the tool converts them to html which is then published via Github pages.

WARNING: this is not really maintained anymore because I rarely blog. Also it never had an official release .. so it is kinda experimental (but it should work, because it's simple).

EDIT: I submitted this to HN when it was new: https://news.ycombinator.com/item?id=16776047


Org mode and html export. If you want to be fancier, there is this: http://ahungry.com/blog/2013-04-01-blogging-with-org-mode.ht...

There might be other stuff like that as well. I just use org directly, though I guess in a "blog-like" manner rather than as a true blog.


If anyone already has a Hugo setup, I really recommend org-mode -> ox-hugo[0] -> Hugo. Works great.

[0] - https://ox-hugo.scripter.co/


I just wanted to give an A+ for Hugo's quickstart. This HN post was coincidentally exactly what I had been wondering about. From the wealth of replies, I narrowed down my choices to Jekyll and Hugo. Both require a little bit of work to render LaTeX, but Hugo seemed more tailored to newbies like myself.

I finally got around to trying it and used Hugo's quick-start guide: https://gohugo.io/getting-started/quick-start/. I've never been able to breeze through a quick-start so seamlessly. Everything worked as advertised and with no prior knowledge I was able to see a post on my local machine in < 2 minutes. I'm amazed that the local server command `hugo server -D` works so seamlessly.

I've yet to add LaTeX but the quickstart makes me very optimistic. Thanks again to the creators of Hugo for such a friendly quick-start.


The browser is very forgiving at parsing HTML. If you want you can write reaaaally minimal "markdown-like" HTML. Writing a blog post can be as simple as

  $ vim hello.html
  <link rel="stylesheet" href="sakura.css">
  <h1>Hello World
  <p>Lorem ipsum


I really like 11ty for this sort of thing.

It uses nunjucks templating but the starter is enough to just build a blog and add your own css.

Works with most hosts as it has a build script you can run and serve the output folder.

https://www.11ty.dev/

Edit: typo (css, not cms)


I feel like there are two camps of SSG’ers. One camp who chooses an SSG to offset their reliance on big tech, and the other who see big tech reliance as an acceptable means of publishing. Not sure which is right, but my personal inclination is to steer away from this reliance.


I've written my own theme for getzola.org SSG based on water.css. It doesn't have all the widgets you can think of (though it could be extended easily), but it's got fair documentation [0] and is flexible enough to provide for my personal blog (staticadventures.netlib.re) and two collective sites (fr.tild3.org, joinjabber.org).

I'm not exactly recommending to use it as i make no guarantees (yet) about keeping a proper changelog and maintaining backwards-compatibility, but if someone's feeling hacky i would certainly love for other people to try it and expand it or just give feedback.

[0] https://tildegit.org/southerntofu/zola-water


I also use water.css for my blogs. Incredibly convenient.


I use Hugo. Lots of free themes here: https://themes.gohugo.io/

You can write your content in Markdown, keep everything in a repo, and only push static files to the hosting of your preference.


I can recommend my own blogging software GoBlog.

Website: https://goblog.app/

Docs (WIP): https://docs.goblog.app/


I personally use Jekyll for all my static website needs (including my homepage); probably better options out there (certainly newer ones), but I like that it's a first-class citizen for GitHub Pages (not relevant for my own homepage, which runs off a VPS in Iceland, but certainly relevant for the couple of FOSS projects of mine that have their own websites) and if it ain't broke, why fix it? Any similar static site generator should be right up your alley - Hugo included.

It's been a dream of mine to someday do everything via Emacs' Org Mode, but I haven't yet felt motivated enough to take the plunge.


It depends on how lightweight you want it.

I'm hosting mine as an S3 static website, with CloudFront as a CDN and for the domain name linking. Works pretty well. I also have some sort of CI/CD, what I mean is that all my code is on GitHub and whenever there's new code to main, a GitHub action is fired that syncs the branch with the S3 bucket.

I've even managed to remove all the JavaScript from the site :D Works neatly! Let me know if you (or anyone) wants more info ^_^

Edit: Forgot to mention, it's also almost free! I'm paying for the domain names and around 0.1$ / month to AWS.


This is one of those things where it's almost quicker to write a new SSG than to search through the thousands that are already out there. Depends which language(s) you prefer and are most comfortable with.


This sounds like a job for Hugo, GitHub and Netlify.

Simple. Easy. Free.

You can even set up a form and get comments into your email. (Then just manually copy/paste into the markdown and commit it again and force a rebuild).

I use that setup and I love it.


> just manually

I would find this tedious for any number of comments. Is there a better way?


I’ve thought about writing a AWS Lambda that you POST the comment form to which then adds a file to the git repo that then Hugo can grab when Netlify is building the site, but that seems rather complex and I think it’d take me a lot more time than just doing it manually.

But I haven’t found a good, lightweight, privacy focussed way to solve this yet.


I'm also interested in this (although not AWS): what would be interesting would be a protocol-first approach where we can come up with several interoperable implementations. i personally would go with a simple PHP script, but i can see reasons for which someone would use another tech that's closer to the rest of their stack.


Don't host comments. The day when comments tended to have any value on the web passed ages ago. No one blogs anymore, and no one reads blogs anymore, so most of the traffic you get is just going to be bots or cancerous trolls anyway - if you're lucky enough to get any actual human readers at all in the latter case.

Or use a hosted service like Disqus or an alternative if you want comments, but the better solution is not to bother.


As someone who has a public email written on their blog, i've found the signal/noise ratio in the emails i reply to be very good. Of course, if you have a public HTTP form you're gonna have more SPAM, but most SPAM is fully automated and will not pass a simple "what's 2 + 2" CAPTCHA.

If you need better vetting, consider using webmention/ActivityPub federation and allowlisting individual hosts for automatic approval. There is definitely spam on such protocols too, but they tend to come from the same domain/IP so denylisting is very efficient in dealing with it.


Can't help thinking of the Yogi Berra quote (whether he said it or not), "Nobody goes there anymore, it's too crowded."

Seems like there are a lot of folks interested in blogging support, considering that nobody reads blogs anymore.


Netlify has a Forms functionality, that can be used to trigger serverless functions, I was thinking it'd be possible to add the comment to a file, git push it and trigger a rebuild. Hah, rebuilding a whole site on every submitted comment seems like overkill though...

https://docs.netlify.com/forms/submissions/#form-triggered-f...


A while ago I published pagenode[1] which powers my own blog[2] and some of my other sites. It sits somewhere in between a CMS-"library" and a static site generator, with all content stored in markdown files. It comes in as single .php file.

Note that pagenode is not a ready made blog system, but rather a library to build a blog, portfolio site or anything else that does not have user-generated content.

[1] https://pagenode.org

[2] https://phoboslab.org


I have started using vite, quick example of what I built - this is really just a document site but uses markdown and can be far more complex if needed - it is static though

https://pioneer.mymailbox.site/

Link to vite

https://vitepress.vuejs.org/

The deployment can be as simple as one command, in my case

npm run docs:build && scp -r docs/.vitepress/dist/* dev://var/www/pioneer.mymailbox.site/web


I use Pelican mainly because if I ever need a plug-in to do something very particular, I'd rather use something I'm extremely familiar with (Python).

I host in Netlify with my own domain name.

Link in profile if interested.


I am evaluating these options now:

- https://github.com/alaq/adrien.sh for NextJS

- https://github.com/sw-yx/swyxkit or Svelte

- https://github.com/SimeonGriggs/simeonGriggs for Remix

All have designs I like. I am only familiar with NextJS and find it a pleasure to work with.


Why all the JS/TS though? Part of what's great about a static site is serving simple HTML/CSS pages that look great, degrade gracefully, and don't hog users CPU/RAM like JS applets do.


With Next/Svelte/Remix you can only ship HTML/CSS if you want. Reason to use those frameworks is that I find their mental model to fit nicely for progressive enhancement. For my blog, I plan to have interactive content via MDX or something similar so there will always be optional JS involved.


Thanks for the clear answer. I've previously heard of server-side rendering for JS frameworks but i was certainly not aware that several frameworks supported it, and that some people like you actually cared :)


Take a look at nextjs it serves plain HTML and CSS then hydrates it with JavaScript interactive-ness


A while ago I saw Linux kernel people[0] using Writefreely[1] so I tried it and I've been using it ever since.

It's a bit clunky, initial Docker based deployment is not straightforward, but I like it. It's using Markdown, supports ActivityPub out of the box, and has static blog feeling even though it's not.

[0] https://people.kernel.org/

[1] https://writefreely.org/


I wrote my own a while back.

https://github.com/johan-bolmsjo/blog_of_markdown

It's built using make, small bash scripts and two Go support programs. I think there are tons of similar generators out there as writing one is pretty easy. Probably more sensible to look into using something like Hugo. For me it was easier to write the minimal generator than figuring out how to configure Hugo as I like it.


Depends on what functionality you'd like to add as you go. I recently built my site from scratch (with no prior experience) using NextJS, MDX and mdx-bundler [1]. Having the ability to add custom components, or statically generate a related posts matrix are all super useful.

1: https://github.com/kentcdodds/mdx-bundler

https://olickel.com


I have found Eleventy lovely to use after being one WordPress for a decade. It can be as simple as you need it to be and grows with you. I’ve been able to accomplish everything I need with it. Currently replying from GitHub to Netlify automatically but could just as easily build locally and rsync or FTP somewhere.

https://www.joshcanhelp.com/taking-wordpress-to-eleventy/


Write the post in markdown then convert them to HTML with pandoc. Write a bash script which walk into every directory to convert and you have a minimalist blog engine.


This is what I do. Pandoc to convert the markdown files into standalone HTML files. I use a custom HTML template to style the page a bit and add meta tags etc.


You can use GitHub pages with Jekyll. Easy to setup and run, there are a lot of custom Jekyll blog themes available online.

Custom domain with private repo costs few dollars per month.


Seconded. OP, this is the way to do it unless you want to build your own thing. Setting up a custom domain is easy and GitHub has a guide. You can use a public repo if you don’t have GitHub premium. The website is public anyway so there isn’t much reason you would need to keep the markdown files private. Backups are easy, you’ll have a local copy of the repo and an online copy with a fairly reliable provider.


Devii is an interesting project I contributed to after looking for a solution to the exact same problem a while back.

The owner of the repo seems like a great person and is open for contributions if you want to get involved.

https://devii.dev/

It's based on Next.js, so React/TypeScript, your blog posts are in Markdown and it generates an RSS feed of your posts. Could be a way to get off the ground quickly?


My site [0] uses Jekyll. Jekyll it stable, mature, and easy to work with. It has solutions to common needs, e.g. layouts, components, Markdown.

I’d suggest starting with the barebones option and making a theme yourself if you’re comfortable with CSS; it will yield a lighter site and also be easier to maintain than using some big pre-made Jekyll theme.

[0] https://jonpalmisc.com/


I look at it from the deployment solution backwards. I’ve run some pretty intense (for a blog) CI/CD pipelines in the past. But now there are Netlify, Vercel, and others that support a few static site generators. I use Netlify (paying customer) for all my sites now and my SSG of choice is Hugo because it is a single binary that cranks out a full blown static site in less than a second.


I have tried to travel tot’s road a number of times, and I am a WordPress user too. I’ve given up and stick with WP. I find it reliable. I have of course added cache plugins and contemplated using a static plugin to output to straight html. I’m curious what kind of bugs you’re running into with Wordpress?

I wish you luck. Lots of pile have had success with Jekyll. I was leaning towards Pelican or Hugo.


I've gone through quite a few frameworks since I started blogging and have settled on Hugo, which I've been running for several years. I have the source in a private GitLab repo with a CI setup to autodeploy to an S3 bucket. Hugo isn't some super special framework with a ton of flashy features: it is simple, and it works. That makes it perfect for my use case.


I switched to Nikola recently: https://getnikola.com/

Reads every kind of plaintext format, but will also just publish a Jupyter notebook which means you can do drag and drop image and graph inlining which makes everything so much simpler (and thus makes me more likely to keep it up).

Also single command GitHub pages publishing.


Did you consider github pages (https://pages.github.com/)? I was looking for some hosted solutions that use Markdown and I came across https://hashnode.com/ but I didn't test it yet.


[1] Hexo is pretty good, just simple static hosting.

[1] https://hexo.io/


Another vote for hexo. Here[1] is a shameless plug of my cut at it. I was able to achieve a 100 on pagespeed insights with it and a few tweaks:

[1] https://chrisbergeron.com


Your page loads really fast indeed. Where are you hosting it and what tweaks did you make?


Hosted at netlify (free) and github. I use cloudinary and netlify for image cdn. Primary tweak is adding an image lazyload js script.


I personally use Hugo + GitHub actions to do the build for a major project of mine that benefits from hugo's taxonomy system. I did this after porting my blog over to Hugo as well.

I personally have avoided Jekyll for the primary reason of "Ruby is a non-starter".

Downside to Hugo is that the Go templating language is... interesting, to say the least.


I use Material for MkDocs [1]. It even has javascript search built in. I'm sure there are other templates fitting a blog better but I use it for a recipe collection on github pages.

[1] https://squidfunk.github.io/mkdocs-material/


If your goal is to just put something out there, and not worry much about anything or learning fancy stuff, I suggest Hugo+Github+Netlify. Easy to set up, tons of blog posts out there, and all the goodies (CI, SSL, basic theme) come free. Mine is created like that as well: dorwi.com


I use https://www.metalsmith.io/ for my site and it works great, but any static site generator will do the same. No comment functionality but that’s fine by me.

Static sites are cheap and easy to host. :)


I write some of the most popular content on Hacker News. My HTML pages have an similarly austere style to what you might expect from Dan Luu or Fabrice Bellard. However I make an effort to give them a slightly more distinctive modern feel, while loading just about equally fast. Here's how I do it.

Example: https://justine.lol/sectorlisp2/

First, I like Roboto. It's overused but it deserves to be. It's the Helvetica of our age. The problem is custom fonts go slow. The trick I use is to use a data: uri for the latin1 character ranges in an inline <style> tag at the very top of the page, so that the top portion of the article can start rendering immediately.

    <style>
    @font-face{font-family:'Roboto';src:url(data:font/woff2;base64,d09GMgABAAA...
    html{font-family:Roboto,sans-serif;font-size:14pt}body{max-width:960px,...
    </style>
The only tools you need to do stuff like this are really uglifycss and uglifyjs. Plus maybe a shell script that runs files through `openssl base64`.

To save on bandwidth fees, I've learned to defer autoplay videos until they scroll into the viewport. See http://justine.lol/sectorlisp2/video.js to learn how.

When copying to google cloud storage cdn it's a good idea to use the `-z` flag so content can be delivered with gzip encoding.

    gsutil -m -h Cache-Control:public,max-age=31536000 cp -a public-read -z com,dbg,css,html,a,h,lds,o,js,ttf *.js *.css gs://justine/sectorlisp2/
It's nice to not force people to use https. Dan Luu talks about the reasons why on his blog.

Be sure to use tools like https://pagespeed.web.dev/ which will help you with the rest.

Another good tool is https://favicon.io/favicon-generator/ for generating favicons. I'm very happy with it. I'm also a huge fan of https://excalidraw.com/ and graphviz https://dreampuf.github.io/GraphvizOnline/ Also I'd give a shoutout to the optipng and pngcrush commands. PNG-8 is fabulous. So is Photoshop.

Finally, for something like a blog, consider just writing HTML. Your time is better spent learning how to be really efficient at using an editor like Emacs that lets you be a monster with manual refactorings than you would with a static site generator framework, which are usually heavyweight and frequently change in ways that causes breakages and have lots of weird dependencies. I don't think they're the sorts of things that can be counted on if you need to go back ten years later.


I made a minimal Jekyll theme. No advanced CSS or extra JS, and super light weight so any page loads quickly

https://github.com/lewisrobbins/sebasic


I recommend using Hugo for the site generation (there's lots of themes, it's customizable, you can write in markdown, it has WordPress import and it's very easy to get started) and hosting the files on GitHub pages.


Use Alexandra Spalato‘s (@alexadark)

Free Gatsby WordPress theme.

See this 1 hour tutorial video:

https://www.learnwithjason.dev/gatsby-wordpress-themes


I am really interested in the 'buggy'ness of WP. Especially when you basically would be served with a static website, I do wonder which 'bugs' in WP are annoying you so much.


May be I stated it wrong. But here are some of the problems I face in WP: 1. Sometimes the backend is quite slow. Can be an issue with the hosting. 2. I think there are too many options for me. I want something simple like Hugo! 3. In the past, I have ran wordpress sites and they tend to become slow over time. May be this can be solved with better plugins and hosting!

The point is there are too many things in wordpress that I don't want!


your WP concerns sound similar to mine. I ran a WP site for years locked it down server ran fine but upgrades and maintenance required setting up a local dev environment etc not always possible when I don't always have a personal machine to work on. I found the perfect solution in something like WPEngine you literally just worry about the wp-content folder and thats it - but it comes at a cost and a cost I'm not willing to pay for a personal site that is updated once every few months and visited even less!

I ended up moving from wordpress to static (eleventy) on netlify and now I'm looking to go back to wordpress! I tried the blogging from markdown files on my phone/tablet but I miss a good old (non gutenberg) CMS! (plus shortcodes are super handy and theres plugins and code for everything!)


Not OP, but maybe the new over-designed/over-engineered Gutenberg UI may feel slow, overkill and may only brings loads of unnecessary complexity, especially for someone who want to keep a simple blog, or is used to write his posts in simple markdown.


The old UI is still available and there are plugins which hide the whole of Gutenberg.

I don't use Gutenberg but I don't think it is over-engineered, I think a block-based approach is a sensible way forward.


Agreed, if you stick to basic WP I can't imagine you'd see many bugs due to the huge audience that use the platform.

If you'd said WP is unpleasant to extend, or written using dated PHP techniques I'd have agreed whole-heartedly.


I am working on a simple CMS.

- Double Click to edit

- Press Esc to preview

- You have to enter a secret code to update it on the server.

- Powered by markdown.

Check https://motyar.info/


Static site using either Jekyll or Hugo (having tried both over years I'd recommend Hugo) and deploy to github/gitlab pages with custom domain.


I use Zola[1]. Single binary, simple structure, minimal frontmatter.

1. https://getzola.org


zola is great! Some caveats: full translations still require workarounds, and nested macros are not a thing. But it's making great progress and certainly tera templates (jinja-like) are much easier to deal with than go templates.


Hugo, no js theme, github actions publish to github pages.

Completley free and is what I did. I made my own theme with html css only


I used Astro with markdown files, with some Vue components for interactivity and search.


I am very happy with Pelican, with isso for self-hosted comments.


I am using and self hosting Ghost, highly recommend this engine


Jekyll, all the way.

Easy and free to get going on GitHub Pages.


Use startpage or linktree


Hugo + netlify


Next.js + MDX


Use a static site generator like Hugo and a VPS found at https://www.lowendstock.com/... or Web3.


If you find it too slow you may want to try a cache plugin. I think automattic (the creators of Wordpress) have one.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: