How I Built My Blog
joshwcomeau.com
joshwcomeau.com
Kind of amazed (and confused) really... that the thing which finally gives it a challenge is a blog homepage.
I'm disappointed. I'd long looked up to Josh for good UI/UX, but like a lot of other UI/UX folks who are left alone to their devices go too deep in their tunnels and at some point lose touch from where the rest of us still stand.
say a newbie wants to develop a website or web app and they run into this. The amount of tools listed is overwhelming, even for me who's been doing JS for over 7 years.
and the sad thing is JS can be pretty productive, without the merchants of complexity shilling their tools.
Express.js v5 just got released. Thanks doug & other maintainers. Yet the API has been stable for over 10 years. Vue.js even with the new composition Api - the api has been stable for a long time. & other useful node libraries like 'pg' etc.
The only recent useful thing is tailwind.
Next.js / Nest.js etc are all complex tools that are completely unnecessary and shilled by dev-tools companies
Tailwind was designed specifically to solve styling in react so this does make sense, but as soon as you enter the space of wanting more simple tech that has been stable for years you're throwing out react and might as well throw out tailwind as well, it just isn't needed when CSS is back on the table.
Edit: I should have also included here that there is also absolutely nothing wrong with using Tailwind if that's where you are most productive. We're long passed the days of tailwind shipping unused piles of utility classes, shipping is plenty important if that's where your productivity is.
One can learn about (or ignore) them one after another, relaxed and with an open mind.
However I'd like ask the HN community here to share some examples of really simple blogs? Those that do not take building Rube Goldberg machines to publish the blogs. Perhaps those where the posts are just simple HTMLs. I'll take slapping a header and footer with some scripting or SSIs. But that's about it. Do you know any such simple examples of blogs? I think such blogs are under-appreciated and should be highlighted more often on HN.
My static site generator is quite simple (650 lines of JS including the http server, almost half of which are the header and footer templates), it uses markdown-it (and some plugins) to convert Markdown to HTML, Katex to convert Latex to HTML and Highlight.js for syntax highlighting. The generated pages are static, only JS is to change light/dark mode and open all "hints" when printing. And right now I'm adding RSS/Atom support.
https://codeberg.org/Release-Candidate/pages/src/branch/sour... https://codeberg.org/Release-Candidate/pages/src/branch/sour...
The problem is that a simple setup becomes too simple for certain purposes. If you edit content for a living, you gain more from useful features than you lose from complexity.
In my case, every feature I added was to make my work easier: constants, linters, image compression etc. I suspect that the author here also faces the same issue.
1. Obsidian to compose markdown 2. Git extension to commit and push changes to github 3. Github Pages 4. Cloudflare for image hosting
Literally write markdown, push 3 buttons, its live within 2 min.
My first post was actually about figuring it all out. Sorry if its poorly written.
When I read this my reaction was "that's ridiculous!" But the author is a skilled and experienced web developer. The rich educational interactivity on their site shows that achieving that level of presentational finesse doesn't come easily.
100K is around the size of a very oldschool PHP blog engine I'm also involved in, but again including several themes, all the CSS and Javscript, several bundled plugins and all bundled dependencies(!).
That here is just fluff. Which is okay ofc if that's what the author wanted to produce, and the blog content might still be excellent. But don't take it as a baseline for what is reasonable.
If there are 100k lines of code + the libraries, that's the most poorly developed blog ever. I guess this might be the case because the network tab shows that it loads 6mb of content.
It is past time we stop praising people for this kind of work. It is a personal project, anybody can do whatever they want. But let's be frank here, as we are a community of hackers: this is a poor work.
It's actually a giant website with numerous applets and interactive doodads.
The full application I work on, backend and front end combined, with hundreds of endpoints and a full team maintaining it - mind you with plenty of animated and interactive components as we target children, is only about half again more than that.
Here's a demo video with scrolling after the page has loaded (really choppy) and scrolling after stopping the JS with Firefox's slow-script-detection-thingy (smooth): https://files.alinpanaitiu.com/joshwcomeau-slow-scroll_2.mp4
The code seems to enter a tight loop here whenever I'm scrolling: https://files.alinpanaitiu.com/joshwcomeau-debug-script.png
Anyway, you seem to have an axe to grind here, so I'm ducking out. Have a nice day!
I just made a new opensource project named TinyMind: https://github.com/mazzzystar/tinymind
Which allows you to create your blog page in 1 minutes and share to anyone.
It's non-profitable, just for hobby and helping most people who don't want stuck in Hexo/Hugo or code.
If you’re just rendering a folder of Markdown files and slapping on a couple dozen lines of CSS like other commenters suggest then of course no one will really care.
Well, you seem to be the only one in this thread that know him and everybody else is reporting how awful is the UX of his blog OR recommending their own static site generator. Not sure how well this will impact his reputation.
Reading that it crashes or eat the CPU for some people, I still believe it somewhat is. It also displays very badly on my own Firefox (with very recent computer).
And I could not find a list of all posts.
I mean… My own blog is a 500 lines python script without any external dependency. It has 42 lines of CSS. And it is all contained, content included, in one git repository. It has a list of all the blog posts you can quickly scroll through. It displays the same on every single computer/browser/smartphone, even very slow connection on old hardware. (sources are here : https://sr.ht/~lioploum/ploum.net/ )
But I’m not an experienced web dev.
The title* feels a bit rage baity to be honest.