27 ms·
The Static Site Paradox
- paulpauper 2y agoThere is still not a censuses as to the definition of a static website. Is a website without a MYSQL database still static if it has JavaScript or php template include files? A pure static website in which each page has to be manually edited would be a headache.
- oneeyedpigeon 2y agoIME, the closest definition is simply a site containing flat files only. No server-side scripting, but client-side JavaScript very much allowed. That doesn't necessarily mean 'manually editing' each page, although some writing probably has to be done at some point, unless you're outsourcing that to an LLM...
- wakeupcall 2y agoWhat about fully client-rendered templates/sites that require JS for visualization? (ie, no graceful degradation at all). Technically static, but absolutely of the worst kind in my opinion.
- oneeyedpigeon 2y agoI totally agree — technically static, but an abomination that should be avoided at all costs!
- timw4mail 2y agoAn abominable default, sadly.
- ninalanyon 2y agoSurely a static web site is one that could be downloaded with something like wget or curl and would still work by browsing the files directly from the file system without needing an actual web server?
- Akronymus 2y agoThats what I expect a static site to be too. Along with preferably as little js as reasonable.
- adityaathalye 2y agoHere's me waffling about this question for about four paragraphs, copied below for your reading pleasure :p :) (source: https://www.evalapply.org/posts/shite-the-static-sites-from-shell-part-1/index.html#what-is-a-static-website https://www.evalapply.org/posts/shite-the-static-sites-from-... ) > What is a static website? > Static simply means as-is. Its inverse is "dynamic", meaning in-transit. The "static" part of "static website" corresponds to stored information. The "website" part corresponds to where from and how, the information gets to one's computer. A web-site is literally a place (site) on the World Wide Web, whence our computer has to fetch the information we want. > Fetching information, such as a web page, over the Internet is "dynamic" by definition. Even just opening a file on your own computer's disk is "dynamic". The very act of reading a digital file, and/or transmitting it, means copying its bits from one place and showing them in another place 3. > The Ultimate Static Site, is a file that once written never changes. Thus, once-received we never have to fetch it again (unless we lose it). Reality is of course not so simple. But we will work with the "static means never changing" mental model, because we can go pretty far with just that.
- WCSTombs 2y agoIMO, the pages can be compiled statically on a static website, so the HTML doesn't need to be manually edited for each page. But yeah, I guess there are degrees of staticness. My (brand new) personal website is literally all written from scratch right now, but soon it will probably be pregenerated from Markdown sources. I would still call that static, but to a lesser degree.
- justsomehnguy 2y ago> There is still not a censuses as to the definition of a static website Static website can be served by `cat index.html`
- enriquto 2y ago> Static website can be served by `cat index.html` For sure, but that's not a sufficient definition. You need to add some constraints to the contents of the html. Otherwise, you can put a huge javascript program in there that hallucinates a new page each time you render it. This shouldn't count as "static".
- oneeyedpigeon 2y ago> This shouldn't count as "static". Why not? If it doesn't, where do you draw the line, apart from "absolutely no javascript at all"?
- enriquto 2y agoThat's a good line to draw! Static = no scripting (either server-side or client-side)
- oneeyedpigeon 2y agoI'd like to reserve the term "no scripting" for that :) I guess if we popularise the term "no backend", the two could co-exist. I want to talk about sites that are just a collection of flat files, with no server-side processing; for me, "static" does that job perfectly.
- Ferret7446 2y agoIt generally does count as static though. In this context static has a technical meaning, not the dictionary definition. It's static from the server side, meaning that you don't need any special logic to serve it.
- bccdee 2y ago
- reliablereason 2y agoWhat? A static website is a website that has no server side generation. That's how simple it is.
- gsck 2y agoI would say a static website is just one that doesn't do any extra work on the client to generate the content. Either SSR or just plain HTML files
- oneeyedpigeon 2y agoThe trouble is defining what "the content" means. Are you saying "no JS" — if so, just say so! Otherwise, how are you distinguishing between "content" and ... "other stuff"?
- bccdee 2y agoA dynamic website is generated by the server in response to client queries. Static websites—pre-existing flat html files served as-is to viewers—came first, then PHP and CGI made dynamic websites possible & popular. SSR is the very definition of a dynamic website. Client-side scripting came after dynamic websites, but it is not technically, in and of itself, "dynamic."
- nextlevelwizard 2y agoStatic website serves you everything you need as a one HTML file. You can save the source code and open it offline and there will be no difference. As such any templating is out of the question if that is done via request from the client. How I manage my static website is with a build script. I write my content in markdown with a option for custom header and then I have a python script that churns out pure HTML with everything embedded into it which I can then host on github pages.
- oneeyedpigeon 2y agoThis, but without the "one HTML file" restriction. Unless I misunderstood you—did you just mean "one HTML file per URL"?
- lupusreal 2y agoThis is the first time I've ever heard of somebody being confused about this. If the server is serving dynamically generated documents, then it isn't static. A static website can be perfectly represented as a directory of files being served by python -m http.server. No PHP templates, that should be obvious.
- oneeyedpigeon 2y agoI agree with you; not even SSI.
- tannhaeuser 2y agoGood question, with answers ranging from "a bunch of hand-edited HTML files" to "a set of HTML files generated from a non-HTML syntax such as a markdown derivative or a programming language's object-literal syntax", with the latter (static site generators) being quite different from the former. And then there's also SGML which has everything HTML, as a last-mile markup language for delivery to browsers, assumed to have available for authors, such as text macros and shared fragments for eg. menus, auto-generating document outlines for page navigation, processing markdown into HTML, filtering into RSS or SERPs, etc., and even moderately complex dynamic site features such as integrating external/syndicated content and screening/validating user comments for malicious or other undesired input such as script, broken comments, external/spam links, and the like.
- Ferret7446 2y agoThere definitely is a consensus on what static website means. Have you tried doing a basic Web search of the term? > A pure static website in which each page has to be manually edited would be a headache. There are static site generators for a reason.
- BeetleB 2y ago> There is still not a censuses as to the definition of a static website. No server side scripting. OK to have client side scripting (e.g. JS). Basically, how things ran back in the 90's for most people who couldn't afford ASP or a paid web host.
- davedx 2y ago> normal users are stuck with a bunch of greedy clowns that make them pay for every little thing Huh? You're not confined to Automattic or WP-Engine, there are tons and tons of regular web hosting providers with Wordpress and a bunch of other stuff included in a standard hosting package, you can use the free Wordpress, and you can self-host. That's the whole point of Wordpress being open source, and it's working as intended. There's absolutely nothing wrong with the status quo around blogging. Static site generators are used by technologists who want to tinker and check all the boxes in whatever Chrome's latest devtool benchmark tool is called. Which is fine too, good for you if that's what you like to do with your time! For "normies" (or SME's who just want to publish their web content and move on), there are more than enough options around.
- justsomehnguy 2y agoIf you are don't know anything about cars but suddenly would need a one, would you go to the nearest car dealer you heard about from somewhere or immediately go to the specific resources where you can find a specific model and make you need at a better price?
- notpushkin 2y agoYou can then move it out of the dealer’s parking spot if you find a place cheaper.
- sofixa 2y ago> Static site generators are used by technologists who want to tinker and check all the boxes in whatever Chrome's latest devtool benchmark tool is called No? Downloading Hugo, getting a random theme and writing a few articles is pretty simple and requires no more tinkering than doing the same with a Wordpress (okay, one's actions are big buttons in a UI, the other is copy pasting commands, but in terms of effort, there's barely any difference). I use Hugo because it's light and allows me to have a blog running for free and scale to infinity (I have at least two articles that sat high up on the front page of HN, and there was neither a hug of death nor a bill associated), with zero maintenance, while also having flexibility if I need it. I haven't even checked my score on Google's whatever and I don't care about it. As for WordPress, none of what you described can be had for free, and it requires ongoing maintenance (updates to keep up with the crappy ecosystem).
- verisimi 2y agoGreat article. > Don't you find it infuriating when lawyers and accountants fail to clarify how their respective domains work, making them unavoidable intermediaries of systems that in theory you should be able to navigate by yourself? > Whenever we fail to make simple things easy in software engineering, and webdev especially, we are failing society in the exact same way. Exactly right.
- jeanlucas 2y ago> Find an SSG (or handcraft everything yourself) I think this came a bit too late? Astro solves this well, there are other solutions too. From startups building webflow-like SSG platforms to frameworks like astro that requires basic markdown and html.
- shepherdjerred 2y agoYeah, I’ve found Astro to be the perfect solution without compromise. You can have a 100% static site without JS, and you can add in JS only as needed. It doesn’t feel heavyweight like similar/older SSGs doc and it lets you write TSX-like syntax for reusable components (which I really like).
- jeanlucas 2y agoPlus it is easy to plug in a CMS if you need to upgrade for a team solution involving non technical people
- pjmlp 2y ago> When I published SuperHTML, I discovered that it was the first ever language server for HTML that reported diagnostics to the user. I wrote a blog post about it, it got on the frontpage of Hacker News and nobody corrected me, so you know it's true. Probably because this is something most IDEs have been doing for years, before Microsoft came up with LSP.
- kristoff_it 2y agoOf all the most popular editors, I think none of them had a way of offering diagnostics for vanilla HTML. The only exception that I know of is Webstorm. Vim, Neovim, Helix, Zed, VSCode all shared the same basic implementation that has no diagnostics support. Helix will have SuperHTML enabled by default starting from the next release: https://github.com/helix-editor/helix/pull/11609 https://github.com/helix-editor/helix/pull/11609
- pjmlp 2y agoI wrote IDEs not editors, and I am quite sure that the years doing ASP.NET and Java EE/Spring development I had enough HTML diagnostics to fix since 2001.
- lqet 2y ago> If you didn't know any better, you would expect almost all normal users to have [2] and professional engineers to have something like [1], but it's actually the inverse: only few professional software engineers can "afford" to have the second option as their personal website, and almost all normal users are stuck with overcomplicated solutions. I am confused, the inverse would be that professional engineers have [2] and normal users have [1]. But then they write that almost no professional engineer can "afford" [2], so everybody seems to have [1]..?
- jraph 2y agoI suppose they meant that only a few people, who are professional software engineers, can afford the second option.
- gryfft 2y agoIf you continue reading, the reasoning is given in the next sentence: > Weird as it might be, it's not a great mystery why that is: it's easier to spin up a Wordpress blog than it is to figure out by yourself all the intermediate steps.
- deleted 2y ago[deleted]
- Normal_gaussian 2y agoIt is indeed written as you say; I suspect - but cannot confirm - that the author meant: > ... only a few people - professional software engineers - can "afford" ... which would be the inverse. However, there is a case for reading as it is written even if it subverts reading expectations, as many (most?) professional software engineers do use COTS systems to publish and only a few have their own sites generated from scratch.
- smankoo 2y agoYes. That is confusingly phrased. Took me a sec too.
- daoistmonk 2y ago
- dhotson 2y agoMost people's expectations of what a "basic website" should do have gone way up over time. Even as a programmer, I've fallen into the static site generator trap a few times. It's annoying to start a side project with a static site generator and then realise I want to add a small feature and suddenly I wish I'd just started with a simple Rails or PHP app. Nowadays, if I want a static site I just start with a folder of html files. It's way less complicated and quicker to go from idea -> execution without bike-shedding or procrastination on tools. I'm pretty happy writing html and css manually though—I don't recommend it for everyone. The other cool thing is if I then decide to "abort" to rails.. I can copy the folder of html files into the rails public/ folder.. pretty easy upgrade path.
- renegat0x0 2y agoFor blogging I use Hugo because it is just easier to focus on content, not on style. That is why I don't like writing pure html files. Changing style can also be a problem, if something is hardcoded into html file. For more advanced tasks I write in django, because it so easy for me to add features.
- oneeyedpigeon 2y ago> Nowadays, if I want a static site I just start with a folder of html files. Same here. I've considered adding a .md —> .html step for content, but just haven't found it necessary — yet. > The other cool thing... I like being able to—easily—view my site via a local sever. The best case would be one that I can view via file:// too, but I couldn't quite crack the organisation and ended up with a 'make local' step that generates a separate copy for file-based viewing.
- ciroduran 2y agoI've been posting to my personal website for 20+ years and it's been something like: basic HTML -> Drupal (whew) -> Wordpress -> basic HTML (via Jekyll). The fundamental rule I've set myself against feature-bloating in my website is defining what I want it to be: an archive of things I've done. As an archive, I want it to be very durable in time. Thus, static file that are dead-easy to copy around, mirror and make it work in any hosting platform. It did take me a while to nail having a bilingual site, though :) but at least it's a price I paid once.
- KnowtheRopes 2y agoYes, static websites are great! I'm using Jekyll with GitHub - it's 100% free. I agree, though, there is a learning curve.
- smankoo 2y agoI'm using hugo. It's great.
- zahlman 2y agoI've been doing this too, but as a Python expert who always meant to learn Ruby but never really got around to it, I hate having to wrap my head around the suite of Ruby development tools (Bundler and the Gem system etc.) to do local builds, and it's currently taking up a seemingly absurd amount of disk space when this is the only reason I have any of it installed. Considering switching over to Nikola soon so that I can just use Python in the ways I'm familiar with.
- eviks 2y ago> Weird as it might be, it's not a great mystery why that is: it's easier to spin up a Wordpress blog than it is to figure out by yourself all the intermediate steps: This doesn't explain the difference, why would you have to figure it out yourself is some other company could just as well sell all those services, just with an SSG?
- rwbt 2y agoStatic sites are great until you need to have a contact form or want to add basic comments. Yes, you can deploy javascript that uses external services to add such functionality to static sites- but with a basic WordPress site, you get everything right out of the box.
- oleganza 2y agoI came here to write this exact comment. The article is wrong in assuming that WP is wasteful. It gives huge optionality to the users: engineers probably can afford going with a static page and then changing the entire architecture of their webpage once they need some interactivity, but non-engineers want to go with a scalable solution: where they start with a contact info and slowly end up with a personal shop or whatnot without reinventing the setup at each phase transition. Speaking of optionality and opportunity costs: many engineers are trained to see the unseen opportunity costs in technology ("YAGNI" and "tech debt" are often used terms), but often fail to see the economic opportunity costs: those that would waste time and cognitive effort of human beings, not the machines. Example: many engineers like to fantasize about micropayments architectures "because efficiency", but people cannot calculate those. They are better off with a nice round monthly subscription just to minimize number of microdecisions they have to go through daily.
- oneeyedpigeon 2y agoA contact form is a terrible alternative to an email address. Many sites have dropped comments altogether. Yes, these things might be nice-to-haves, but they shouldn't be the factor that determines whether you have a static site or a scripted one.
- rwbt 2y agoI have to politely disagree. If you ever run a website for business/portfolio etc. the number of people more likely to contact you using a contact form is far greater than just telling them to email you. Contact forms also scale well if you need to categorize and channel the queries to different people or need more specific info.
- fullstackchris 2y agoStrongly agree. Wordpress brags as powering whatever % of the internet... but if youve ever taken a look at some of that PHP source code... yikes Mind boggling to me such an overly complex system has such a large market share. I'll take my Gatsby TypeScript React components / <<insert your favorite static site generator here>> any day
- 0cf8612b2e1e 2y agoTechnical purity does not win business. Solutions do. WP has delivered a rich ecosystem that lets normal people put content on the web. Even if it annoys programmers at its technical debt.
- caseyy 2y agoIf they calculated the % in terms of CPU time used, they could have made the claim even more impressive.
- account42 2y agoDepends if you only include server CPU time or also browser CPU time. With the latter, more "modern" frameworks will "win" by orders of magnitude.
- intellectronica 2y agoThe reason SSGs are primarily interesting to software developers is that the software architecture of the site is primarily interesting to software developers. Other people (both authors and readers) don't care how the pages are produced, they only care that the pages are there.
- kristoff_it 2y ago> Other people (both authors and readers) don't care how the pages are produced, they only care that the pages are there. Readers, sure. Authors? Absolutely not true. Some authors might not be tech savvy enough to know better, but they are immensely influenced by the process of getting the content online. That's the whole reason why there's a huge industry around publishing content on the internet.
- parasti 2y agoMaybe I misunderstand, but this feels misdirected. As someone who's employed by "greedy clowns" (web development agencies I guess?), I continuously observe that people pay for what saves them time. Our entire profession is built on this premise. If you have a person doing interesting things, does it really matter if they write their own HTML or pay someone else to write it? The web is turning increasingly monolithic entirely thanks to the modern social network conglomerate. That has nothing to do with the choice of technology.
- kristoff_it 2y ago> As someone who's employed by "greedy clowns" (web development agencies I guess?) Maybe click the link so you don't have to guess (wrong)?
- parasti 2y agoAm I wrong? I did click the link. I'm just assuming that the author of this post is not explicitly referring to two particular greedy clowns, but more generally to the WordPress ecosystem. Because it's actually very easy for normal people to avoid being locked into Automattic and WP Engine in particular. Edit: just made the connection between the domain of this post and your username. So really just wondering what you meant specifically.
- graycat 2y agoThe Hacker News site is (a) "static" or (b) "complex"? A case of irony?
- marcosdumay 2y agoHacker News is a social network application, not a blog.
- graycat 2y agoWouldn't a blog be generally simpler and, thus, generally comparatively a better candidate for a "static" site than "a social network application"? The Hacker News pages are "static" -- correct? For my startup's Web site, I wrote the code in ASP.NET and made the site "static" before I heard about "static": So, "static" is okay with me for what I did write. When I finally (whew!!) go live, I hope the candidate users will not mind, or even notice, that the site is "static" and not single page. Today, do nearly all users expect a "single page" site and not like "static"? Last time I checked, my pages send for ~44KB per page, and I'd guess that that is comparatively small? If only as a user, a single page site can be amazing, subtle, surpising, not really intuitive or obvious, but by now there may be millions of such sites with significant differences between any two, thus, requiring users, by try it and find out, to learn how to use the site. In contrast, a static site seems to stand on a history of computer interaction, e.g., with the standard controls -- text boxes, check boxes, radio buttons, links -- that go back to some IBM work for the airline industry and the 3270 terminals and that by now maybe 3 billion people understand immediately, and if so then that can be an advantage.
- marcosdumay 2y ago> The Hacker News pages are "static" -- correct? No. They are inherently dynamic. They are generated by user-submitted content at real time. On the article's categorization, it would make HN a complex site. But the categorization does not apply here.
- kkfx 2y agoI agree: I've tempted the all-from-scratch way in pure html for my small web corner and well, I give up, it's simply too long to craft a modern website on basic html. I've tried an RSS-only corner but obviously it's not visible, ending up in Hugo/org-mode simply because it's ready made even if needlessly complicated.
- smitty1e 2y ago> Whenever we fail to make simple things easy in software engineering Mandatory Rich Hickey "Simple Made Easy" link => https://youtu.be/SxdOUGdseq4?si=IY8mWzR3C-ru5Das https://youtu.be/SxdOUGdseq4?si=IY8mWzR3C-ru5Das "This keynote was given at Strange Loop 2011, and is perhaps the best known and most highly regarded of Rich's many excellent talks, ushering in a new way to think about the problems of software design and the constant fight against complexity."
- foul 2y ago> Weird as it might be, it's not a great mystery why that is: it's easier to spin up a Wordpress blog than it is to figure out by yourself all the intermediate steps Or you could just use publii, an office suite of your choice, or type bad html and css by hand, then pass raw files on very cheap hosting providers, enjoying a clunky, and sometimes ugly, "website". The industry for this use-case works on looks and discoverability: the dichotomy of the WP big bloated piece of crap vs static clown generators stands upon having a pretty website which is also functional for Google. Any other alternative (like the builders or the directories) works the same but they also forfeit property of the site from client. It's just because these solutions are pretty for cheap, it's fast fashion.
- marc_io 2y ago> Or you could just use publii, an office suite of your choice, or type bad html and css by hand, then pass raw files on very cheap hosting providers, enjoying a clunky, and sometimes ugly, "website". WordPress folks are working to enable static generation using WordPress Playground. It will work pretty much like Publii does today. https://github.com/WordPress/wordpress-playground/issues/707 https://github.com/WordPress/wordpress-playground/issues/707
- foul 2y agoIt's a good starting point. Quite late at the game after strattic, cache plugins and offloading queries on sqlite, let's see when and how will they play out with unavoidable interaction parts like contact forms.
- superkuh 2y agoI would never recommend someone making their first site use a static site generator or anything PHP or dynamic like that. Just make a simple html document in a wysiwyg editor and upload it to the server.
- graypegg 2y agoIn 2016, I was working at an agency making brochureware for local businesses. I remember one of our clients wanted us to add a small iframe for a reservation system to their website they had built. They sent us a single word document. Turns out they were just exporting it as HTML (which it seems like Word does still support today!) and throwing it onto some cheap shared web hosting provider. It worked great for them. They could always keep their online menu updated because... it was exported from the word doc they create the print menu from. At the time we sort of made fun of them internally... which I feel bad thinking about now. It's actually a genius idea when you have a million other more important things to do at a restaurant. It's still easier to make a static site. I think the authoring tools to generate HTML just currently suck, or if they don't suck they have some process that needs to run on the server to serve the site.
- JellyBeanThief 2y agoI mean, isn't the whole idea of a web browser kind of contrary to the ideals of the web? It implicitly divides people into speakers and listeners. In a parallel universe, web browsers are called webitors, and they can edit websites as well as view them. People can suggest changes. People can publish annotations. Web hosting is like email--pick (or build) any service you like and pick (or build) any client you like. The protocols will sort it out.
- graypegg 2y agoUnder the hood, the bones of that system are there! `PATCH` is a HTTP verb for a reason. Though making the web this big publicly editable pile of documents would create a lot of spam. You already have to filter a lot if you have a form on a website, imagine if instead of filtering structured data, you had to filter diffs. I think maybe a good half measure is just bringing web authoring tools BACK to web browsers! Netscape Navigator had one if I remember correctly. This would just allow you to write HTML files to disk though. Bonus point for some standard protocol where you login with HTTP Basic Auth, and POST/PUT/PATCH/DELETE HTML directly to a page. You'd need some special server that understands that, but ideally it would be open for anyone to implement. You point your browser to https://yoursite.com/my/page.html https://yoursite.com/my/page.html and assuming you've logged in with HTTP Basic Auth, your browser suggests creating the page, rather than rendering the responded error page. Edit: Protocol is the wrong word, someone correct me what this is really called. HTTP based... editing? A standard API? It's now something I want to make so I'll need to figure that out haha. Edit 2: CamperBob2 in a sibling comment mentioned wikis. Just realized I'm describing a wiki lol
- chambers 2y ago> Don't you find it infuriating when lawyers and accountants fail to clarify how their respective domains work, making them unavoidable intermediaries of systems that in theory you should be able to navigate by yourself? Whenever we fail to make simple things easy in software engineering, and webdev especially, we are failing society in the exact same way. I think the better word for this is "straightforward"; see the Mythical Man Month: > For a given level of function, however, that system is best in which one can specify things with the most simplicity and straightforwardness. Simplicity is not enough. Mooers's TRAC language and Algol 68 achieve simplicity as measured by the number of distinct elementary concepts. They are not, however, straightforward. The expression of the things one wants to do often requires involuted and unexpected combinations of the basic facilities. It is not enough to learn the elements and rules of combination; one must also learn the idiomatic usage, a whole lore of how the elements are combined in practice. > Simplicity and straightforwardness proceed from conceptual integrity. Every part must reflect the same philosophies and the same balancing of desiderata. Every part must even use the same techniques in syntax and analogous notions in semantics. Ease of use, then, dictates unity of design, conceptual integrity.
- Kye 2y agoRelated: Blogging vs. Blog Setups https://news.ycombinator.com/item?id=25240939 https://news.ycombinator.com/item?id=25240939 https://rakhim.org/honestly-undefined/19/ https://rakhim.org/honestly-undefined/19/
- brianzelip 2y ago> the web doesn't belong just to software engineers. The more we make the web complex, the more we push normal users into the enclosures that we like to call social networks. Big up this author. Here’s a recent podcast about the recent conference this quote came from (Squiggle Conf), https://changelog.com/jsparty/339 https://changelog.com/jsparty/339
- troymc 2y agoIf you like WordPress and want to use it to create a static site, you can. 1. Run a local installation of WordPress on your PC. For one option, see localwp.com (no affiliation). 2. Use WordPress to design whatever website you want, using almost any WordPress plugins you want. Just don't make any calls for time-varying external resources! 3. Use one of the WordPress plugins for exporting a WordPress site as a static site, i.e. as a folder of files that you can upload to GitHub Pages, Netlify, Neocities, or wherever. For one option, see simplystatic.com (no affiliation).
- oddevan 2y agoI did that for a while, but I kept running into annoying edge cases with those plugins (or other wget-based solutions).
- derekzhouzhen 2y agoThere is no paradox at all: simplicity is beautiful but complexity sells. The author thinks that value come from realized utility. However, in most market segments, value came from perception. With complexity (even useless ones), you can boost perceived value. How do you impress people when all the greatness is under the hood? I use several SSGs and wrote one myself. I still can't recommend any SSG to people willing to pay.
- BeetleB 2y ago> The author thinks that value come from realized utility. For the majority of the world, Wordpress indeed does provide more utility than an SSG. Wordpress is famous for their 5 minute installs, and then everything just works.
- derekzhouzhen 2y ago_realized_ utility. Also, the article is about fully managed Wordpress vs self-hosted (or PaaS hosted) SSG. If the choice is between self-hosted Wordpress vs self-hosted SSG, I bet the outcome will be very different. Now, you may wonder why the OP was not make an apple to apple comparison, like fully managed Wordpress vs fully managed SSG. Well, fully managed SSG does not exists, because it won't sell!
- stared 2y agoIt seems that people pay for Ghost, https://github.com/TryGhost/Ghost https://github.com/TryGhost/Ghost
- hiAndrewQuinn 2y agoThe killer app of WordPress is comments. No SSG, almost by definition, allows comments; WordPress blogs almost always come with them built in. If you want something like Hugo to really take off in the blogging sphere, all you need to do is create some good looking themes with comments. Figure that out at scale - maybe by using per-blog sharded SQLite, which you can host as a third party for pennies on the dollar - and you have a tiny golden goose on your hands.
- tomjen3 2y agoI don't think so. Comments used to be a big deal, but these days you sign up to handle a lot of spam and moderation issues.
- fluoridation 2y agoCan't you just spin up an imageboard instance and put a button at the bottom of an article?
- corry 2y agoI think that was true during the age of the blog, but far less so now. Comments and discussion of a post are to be found on third-party communities like Reddit, HN, or even Facebook. How many of us scan the list of comments under, say, a Substack post vs. will scroll through a page or two of HN comments for the same post? IMO it's a foregone conclusion that a discussion on HN will be higher quality for a tech-related post than a comment chain on a specific post, since HN has already attracted a wider set of readers than 99.9% of all blogs. The main advantage of commenting directly on a blog post is that the author is far more likely to see it vs. the ephemeral state of the post being on the HN front-page.
- jjmarr 2y agoThe more people join a social media site the worse the conversation gets. This is already happening to HN as tech people flee Reddit. Most of the new comments on any given post are people that didn't read the linked content and complain about stuff addressed in the second paragraph. This is an evolutionary process where the commenters that get the most engagement are those that are first to respond or react. First-mover advantage entrenches itself as those posts are boosted higher due to the engagement they receive. Those that think deeply before responding are discouraged when a well-thought out comment is buried beneath a sea of first impressions. This reward cycle is amplified by more people, because engagement is very unequal on platforms that share a top comment or front page for everyone. You either make it to the first few comments or get nothing at all. Sites like Discord or Facebook try to counteract the monopolization of engagement by an impulsive few by splitting users into smaller groups. Less competition for social interaction creates more diversity in winning strategies. Evolutionary pressures still exist, but you don't need to perfect a "winning strategy" solely to interact with other people on the platform. Contrast Reddit or YouTube videos. The concentration of attention means it has monetary value due to SEO, product reviews, or advertising. The value of a large audience makes a platform more competitive. Competitiveness means many YouTubers and Redditors professionalize attention-seeking behaviour. This comes at the cost of quality.
- BeetleB 2y ago> And so, while we software engineers enjoy free hosting & custom domain support with GitHub Pages / Cloudflare Pages / etc Oh come on! You don't really expect that to last, do you? Learned back in 2004 that it's better to pay than to rely on free services. I pay for source code repositories, email, web hosting, etc.
- echoangle 2y agoWhat’s the worst that can happen when using free hosting? As soon as they start charging money, you just leave for somewhere else. And I say that as someone who is paying for a VPS for hosting (and some other stuff).
- BeetleB 2y agoThat's true for all free stuff. It's a pain to constantly monitor if the service is still free, and a pain to keep migrating. Web hosting is very cheap - especially for static sites. Much easier to pay and forget about it. I've used my provider for 20 years.
- echoangle 2y agoI’m pretty sure the provider will tell the users once they start charging money, they want to convert them to paid customers after all. And migrating a static site every couple of years wouldn’t bother me too much either. If you value the time with your hourly income, it’s probably not worth it, but if it’s fun, it’s fine.
- mwcampbell 2y agoI'm curious, which provider have you been using for 20 years?
- BeetleB 2y agoDreamhost.
- wvenable 2y agoI fit into that Paradox -- I rewrote my own personal website in modern PHP without a framework or database. It's mostly a static site but uses PHP to add headers, deal with lists (for blog posts), etc. I found it slightly more convenient to be not completely static. I can just write up an article, commit, push, and it's online. I found most static site generators to be far too complicated. The code for a single page looks like this: <?php $this->title = "Blog Article Title"; $this->shortTitle = "Title"; $this->date = mktime(0,0,0,1,27,2024); if ($this->mode == PageMode::Meta) return; ?> <p>Raw HTML content here<p> There is a router that automatically adds the site header and footer, and I can add a "_layout.php" file to a folder to add another level of layout for child pages. For blog list page, it just scans all the individual article files in the folder to create the index. That where that $this->mode == PageMode::Meta comes in -- it executes the code in each file (to get the meta data) and then exits before rendering the rest. It's not going to scale to a lot of content but I'll adjust if it becomes an issue. The entire PHP code for my "framework" is only 4 PHP files (init.php, functions.php, Layout.php, and Page.php). The advantage of being a developer is that you can use code instead of configuration or data. And you can use code to write content more efficiently. The result (still quite incomplete) is this: https://www.codaris.com/ https://www.codaris.com/
- ohpls 2y agoI've just started doing the same for one of my websites, 90% html but php for headers and include() for a few odd global bits.
- jeffreyrogers 2y agoIf you cache the rendered content then almost all of the advantages of a static site go away, particularly if you are a platform and can amortize the infrastructure cost over all your users.
- MeetingsBrowser 2y agoYou say all of the advantages go away, but I read, “if you put in extra work you can achieve some of what static sites get for free”. Which is kind of funny as the main advantage of static sites is fewer things to worry about.
- jeffreyrogers 2y agoThe article is about how static sites are too complicated for normal people to set up, so people aren't getting those benefits for free because it's too hard for them to do. Edit: The other thing is that non-technical users want a WYSIWYG editor. They don't want to edit markdown or html text files. So once you have all the infrastructure in place to support that it's not really any more complicated to make your customers' webpages dynamic as well.
- MeetingsBrowser 2y agoYou and I seem to have interpreted the article differently. I read it as static sites are simpler, but paradoxically less popular because the additional parts of hosting a website are hard (getting a domain, hosting, deploying). > So once you have all the infrastructure in place to support that it's not really any more complicated to make your customers' webpages dynamic as well. To me, this is the exact problem the article is pointing out, lol. 99% of website could be a simple static page, but instead waste resources with complex CMS, database, caching, heavy front end layer, etc.
- TZubiri 2y agoPhenomenon acknowledged but "normal users are stuck with a bunch of greedy clowns that make them pay " Here we go again, software needs to be free as in beer and anyone that charges for software is the devil "software engineers enjoy free hosting & custom domain support with GitHub Pages / Cloudflare Pages " You get what you pay for buddy.
- castillar76 2y agoYep, definitely agree. I've started a couple sites recently and quickly found that while I was happy just generating them with an SSG and slapping them up online, as soon as I wanted to collaborate with others the SSG had to go right out the window in favor of WordPress. It's not that SSGs can't be collaborative, mind you, it's that it's far easier to give someone a limited-access login to a WP site and let them contribute articles than it is to try to teach someone who isn't a programmer how to navigate adding things to an SSG. Consider what's needed for someone non-programmer-y to use an SSG: * Download a copy of the repository and install the SSG tooling, then fire up the SSG in listening mode so they can see their changes. * Write out the Markdown for their page. Oh, hope you have short-codes in place for things like images-next-to-paragraphs, info callouts, common page structures (cards, hero blocks, buttons), and so forth. If not, either they'll have to pause and get you to work with them to have them implemented, or they'll have to figure out writing the templates required. Regardless, once the bits are implemented in the site the writer has to work in the arcane short-code format markup required to include them. * Now they've got their changes, they need to figure out how to stage them — either they need to zip up the whole working directory and send it to you to sort out, or they get to learn how to commit a pull-request to a Git repository. I don't mind doing all of that — it's quite enjoyable to figure out, and I get the chance to structure things exactly as I like them. But trying to teach a theatre director accustomed to writing in Google Docs how to do all of that? Nope. Which then turns into, "here, I wrote this out in G-Docs — hope you can figure out how to turn that into a site page!". I really do wish there were a better competitor to WordPress, something that offered the ability to lift the hood and customize more easily. There are some CMS front-ends to SSGs, but the last I checked they either were more "CMS" in the sense of "put stuff in database and this will render it" or they still weren't particularly user-friendly (or were abandoned).
- nitwit005 2y agoThis is an engineer's view of simplicity. A normal human being is going to see something like a checkbox to enable comments as being amazingly simple.
- janalsncm 2y agoIt’s not really a paradox when you consider the UX from the website owner’s perspective. Wordpress makes things stupid simple to do, even if it has way more overhead. It’s only a paradox if you think the trade off is spending time configuring things. No, the alternative for most people would be to pay someone to set up their website. If someone set up a WYSIWYG editor for Hugo that goes from domain registration to published site in a few clicks they’d make a fortune.
- rpgbr 2y agoYou just described Micro.blog[1], don't you? [1] https://micro.blog https://micro.blog
- burningChrome 2y ago>>> If someone set up a WYSIWYG editor for Hugo that goes from domain registration to published site in a few clicks they’d make a fortune. Isn't this what companies like Netlify, Squarespace and Github Pages does? I know with Netlify, you can transfer a parked domain, pick a template and it does a majority of the config for you and you're up and running in a few mins and then it takes about 24 hours for the domain to go through. I get what you're saying though, even with those companies who are close to what you're talking about, taking care of those minor middlemen steps would be a boon to someone who could figure it out.
- simonw 2y agoThe fix for this is GitHub Actions and GitHub Pages. That way you don't have to run any software yourself at all - the build process runs entirely on GitHub for you, and it's free as well. I'm surprised I haven't come across more examples of people using GitHub Actions with static site generators like this. Ideally someone would share a GitHub repository template that comes pre-configured with a good static site generator which people could then use as a one-click starting point for their own sites. I've considered building one of those myself but I tend not to use static site generators (I like Baked Data instead: https://simonwillison.net/2021/Jul/28/baked-data/ https://simonwillison.net/2021/Jul/28/baked-data/) so I'm not a great person to take on that project.
- spondylosaurus 2y agoThe GitHub Pages splash page (https://pages.github.com/ https://pages.github.com/) has a nice little interactive tutorial for just that, and I've seen plenty of repo templates for various SSGs/themes, but I think a lot of users still run into the following hurdles: - Not knowing what GitHub is or how it works (let alone Git itself) - Not knowing how to clone a repo - Not knowing what program you need to modify the files in a repo, or how to use it - Not knowing how to make/push commits - Not knowing how to build local previews to see your changes before they take effect
- syndicatedjelly 2y agoA previous version of my personal website was scaffolded entirely in HTML and a handful of CSS. I used pandoc as a markdown to HTML converter for blog posts, and wrote a short bash script to package everything up into a bundle of HTML files. GitHub Actions and GH pages were also used like you describe, and then finally I just pointed my domain to the hosted page on GitHub Actions. It worked flawlessly https://github.com/AshwinSundar/ashwinsundar/commit/6887c2018da5780af923c2e9cd6d20c7e7e023cd https://github.com/AshwinSundar/ashwinsundar/commit/6887c201...
- rodolphoarruda 2y agoCMSes like Bludit are a good option for users who want a simpler structure and a small footprint. Themes are still very limited though.
- dimal 2y agoWe’re dealing with this big time in Asheville now. When cell service came back at all, everyone had shitty intermittent 3G, and none of the websites we needed for basic survival information would load. A bunch of good people created some text only news sites, and today I noticed that the Buncombe county website finally has a low bandwidth site, but even then when I inspected it, it had 130k of bootstrap css and 50k of jQuery blocking rendering. It’s great that people are doing this work, but citizens needed this a week and a half ago. By now, I’ve figured out where to get water, food, non potable water, etc. Seeing tech fail so badly through all this has been eye opening for me, in a depressing way.
- dingnuts 2y agothat situation has had me thinking about getting an amateur radio license again. In a disaster like what happened to Western NC, which encompasses a much greater area than just Asheville, I wouldn't want to rely on anything based on the Internet. You want something with a long wavelength and low power. But it's so inaccessible, and I'm not sure if it's for good reason or not. Connectivity was knocked out from Black Mountain all the way to the Tennessee and Georgia borders. I'd be surprised if many people even have shitty 3G back yet. What I know is remaining in touch with people who live there has been hard.
- jachee 2y agoCB is roughly 11m wavelength and doesn’t require a ton of power, and doesn’t require any licensing.
- dimal 2y agoWhat I want is for every smartphone to have an FM radio built in. There are FM radio IC chips available, and apparently some Android phones have them. It seems like a reasonable thing to require smartphones to have them for emergencies. I had to run my car in the beginning, burning precious gas just to hear on the radio what the hell was actually happening.
- rzzzt 2y ago
- codethief 2y ago> a big frontend component that loads as a Single Page Application and then performs navigation by requesting the content in JSON form, which then gets "rehydrated" client-side. Huh? <confused-dog.jpg> Either the page gets rendered server-side and (possibly) hydrated client-side, or it gets rendered client-side (i.e. a classic SPA) but then there is no hydration.
- meiraleal 2y agothe "hydrated" means that external objects (JSON) are added to the running SPA.
- FalconSensei 2y agoThis is what drove me away from static sites. It's actually more work because you have to be the one to do all the stuff. Sure, there are a few options for hosting and generating the build, but when I tried, they were not that good, or had some issues, etc... Meanwhile, wordpress.com never disappointed, and has an app for iOS and Android that you can use to update stuff whenever you are - as long as you have internet, of course. That's why nowadays I use Obsidian Publish. Of course, I could use Quartz or some other alternative for building a site from my obsidian vault but... none will just work out of the box, from your phone
- dangerlibrary 2y agoThere is no such thing as perfect software. Everything comes with tradeoffs. Except, of course, for mkdocs. I know other people like jekyll or hugo or whatever, but I've never seen anything comparable to the simplicity of mkdocs. It has built in search for the entire site, nice looking nav, everything is markdown. The best part though? Here's my "build pipeline". $ mkdocs build $ scp -r ./build <user>@dangerlibrary.com:/site I love it.
- dfex 2y ago> ...the web used to be more interesting when more of it was made by people different from us And there it is, beautifully distilled into one sentence.
- neilv 2y agoThere is a complicating factor for a Web developer's personal Web site: resumé-driven-development (RDD). For those professionals who try to use personal side projects for RDD, so that they don't have to sabotage as many employers' projects as they would otherwise. Which leads me to this morning, for example... For an indie Web site I'm about to launch -- and for which I'm using a popular modern Web framework, mainly for RDD reasons -- I could no longer update my Web site. Because an NPM package had a Critical security problem, and trying to get the update got NPM stuck with some interdependency conflict that couldn't be resolved automatically. (Which, ironically, prevented pushing the security update to the production site.) The site could be 5 simple handwritten HTML files, one with a sprinkling of JS inline in it, plus 2 small Perl CGI scripts. And it would work perfectly for 25 years and counting. Instead, it's 129 NPM packages, frequently needing security updates, and a large tree of cryptic source files (template fragments, TS configurations, handlers), just for the NodeJS part of the site alone. But doing it the ridiculously complex way is something that professionals can't afford not to do. (For example, having Perl on your resumé would be the kiss of death for employability. The people who didn't throw away your resume for ageism reasons, would still think you must be an idiot for not doing RDD.)
- wruza 2y agoThe site could be 5 simple handwritten HTML files, one with a sprinkling of JS inline in it, plus 2 small Perl CGI scripts. And it would work perfectly for 25 years and counting. Or it could be something in between, because it’s convenient to do so. In my case, I couldn’t care less of resumes and offers, but still I want something more ergonomic than spitting out htmls from templates in js/python. So my sites are a mix of typescript, mithril, express and a few utility libs. Idk and don’t care how many packages it is, as long as my main imports are mature and don’t give birth to a new feature-vulnerability every few minutes. You never mentioned your stack, but it’s a safe guess that it’s react and its ecosystem of always-improving-never-done bullshit. My completely unsolicited advice here is to avoid believing in false dichotomies. 1) There’s a big space between raw html and the worst possible mud. 2) This situation with react “world” is specific to react and isn’t indicative of anything outside of itself.
- 2y ago
- fegu 2y agoThe same (pros use less, consumers pay for more) goes for internet connectivity. A techie knows he will never need or saturate more than, say, 200mbps. While a consumer will see the "200/500/1G" offer and opt for the middle.
- account42 2y agoLol no. Faster speeds are quite useful when you need to download something in a pinch and a single 4K video stream alone can easily eat up more than a quarter of your 200 Mbps. Consumer internet prices also do not scale linearly with bandwith because the provider knows that the average usage does not scale linearly. Also, a pro would know that it's Mbps (megabits per second) and not mpbps (millibits per second).
- codazoda 2y agoI tried the SuperHTML on a hand-coded site of mine and it reported only one problem and that problem is incorrect as far as I can tell. It tells me that the `</html>` tag is never opened on an HTML 5 doc with a `<!DOCTYPE html>` opening tag. The author does say it's not perfect and I probably need to double-check my understanding just to be sure. In any case, it seems like a useful thing and I am also surprised I never thought it was missing. For those who are like me and don't know the term, "a language server for HTML" is referring to the plugin that evaluates your HTML syntax. That might be a narrow explanation of the tool but that's the basic idea I got from trying it.
- jwmerrill 2y ago`<!DOCTYPE html>` is not an html opening tag. It is a preamble. https://html.spec.whatwg.org/multipage/syntax.html#writing https://html.spec.whatwg.org/multipage/syntax.html#writing
- pilaf 2y agoAccording to the specs the <html> tag can be fully omitted. From MDN [1]: > The start tag may be omitted if the first thing inside the <html> element is not a comment. > The end tag may be omitted if the <html> element is not immediately followed by a comment. 1: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/html#technical_summary https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ht...
- AndyKelley 2y agoSuperHTML README says: > This language server is stricter than the HTML spec whenever it would prevent potential human errors from being reported. If your goal is to output minimal HTML, let a tool automate that. Forgetting to open <html> is more likely a mistake than shorthand, and as shorthand it's not valuable.
- roelschroeven 2y agoI knew that that the <html> tag can be fully omitted (and some others, like <body> and <title> IIRC), but if I read that it can also be partially omitted. So you're allowed to open it but not close it, or close it but don't open it. That's new to me. I've tried omitting those tags, but I decided that in the end things are easier to read when you do include them, so nowadays I always include them when I write HTML.
- RevEng 2y agoEven the last few points of their "simple" flow are overly complicated. Before all the CMS stuff, you created the HTML and CSS on files on your desktop using text editors or WYSIWYG editors like Front-page. You can render it just as easily from local files as on a dedicated web server. When you're happy with it, copy the files over SFTP to your server. Frontpage would even take care of that for you. The same flow still works fine today. Around the dot com boom there were dozens of high quality desktop editors for making websites. All these hosted SaaS systems were just starting to become popular, meant to make it easier for non-programmers to make websites. But did it really? I don't think so. Now those systems are so complex that you need to hire someone to use them. Yet first year students in comp sci who didn't even have any programming background still write HTML and CSS by hand. Templates for WordPress are these complex programs, but a template for HTML and CSS can be as simple as a Hello World example.
- m463 2y agoI thought early web browsers were designed to not only view, but edit websites. Guess that idea is long gone...
- Eliah_Lakhin 2y agoThe current state of web development engineering is largely the result of how startup economics have functioned over the past decade. A startup's market value is often closely tied to its number of employees. From an investor's perspective, a company with 1,000 employees is typically valued much higher than a small team of 37 programmers — regardless of the revenue generated per employee, or even if the company isn’t generating revenue at all. This is largely because interest rates remained very low for a long time, making it reasonable to borrow investment funds for promising companies with large staffs. However, those employees need to be kept busy with something that appears useful, at least in theory. I believe this is one of the primary reasons we see such complex solutions for relatively simple tasks, which sometimes might not require a large team of advanced web developers or sophisticated technologies at all.
- j2kun 2y agoThe author mentions that WordPress charges for everything, but after migrating off WordPress to a static site, I've found most of the features WordPress bundles together are, in total, more expensive when paid for separately. WordPress.com is $300/yr for a business account, which includes domain, newsletters, unlimited bandwidth, etc. The cheapest provider of blog->email newsletter for > 1k subscribers is already as expensive, not to mention the domain, netlify plan (or overages on the free plan!), a hosted comments service. I'm not complaining, but after a certain threshold, unbundling is much more expensive.
- csomar 2y agoYou don't need netlify, Github pages or Cloudflare pages would do just fine. Email is a problem though and I'd wish you could easily integrate with your own email provider (ie: Fastmail, Gmail, etc..) to send newsletter to your 100s of subscribers.
- nullderef 2y agoI use ConvertKit for the newsletter. Its pricing is far more reasonable than MailChimp and the like. But in general, mail is more complicated than it seems, and I ended up giving up on self-hosting it.
- zelcon 2y agoGH/CF Pages are only "free" if you have no/minimal traffic. Also, even that free tier will go away if you start popularizing it as a Wordpress alternative or make the barriers to entry lower. Let's keep it free, please
- mythz 2y agoThere are a number of sites I wouldn't consider using anything but a static site generator for, including marketing websites, blogs, docs, etc. You can't beat "free hosting" on GitHub Pages CDNs and the reduced maintenance burden of not needing to monitor uptime of static sites, infrastructure dependencies, OS updates, etc. They can also be maintained by editing .md files from GitHub's UI We use them everywhere we can and maintain a number for Free SSG project templates which include GitHub Actions to publish them to your GitHub Repo's CDN for free hosting. All templates use the same markdown format and structure to edit content making them easily to move content across different SSG templates built with different tech stacks. [1] https://razor-ssg.web-templates.io https://razor-ssg.web-templates.io - C# Razor SSG for Marketing Websites/Blogs/Podcasts [2] https://razor-press.web-templates.io https://razor-press.web-templates.io - C# Razor SSG for docs [3] https://press-vue.servicestack.net https://press-vue.servicestack.net - Vue SSG for Marketing Websites/Blogs/Videos [4] https://press-react.servicestack.net https://press-react.servicestack.net - React SSG for Marketing Websites/Blogs/Videos
- mitjam 2y agoFixing the editor experience of static sites seem to be most important to me, maybe followed by having comparably good themes. Whenever I setup a new site or fix a broken site for friends, I always try to convince them to go to a static site. Nobody really knows what that is and how it’s different, ie. nobody cares - until they realize that they now need to write in markdown. Managing images is most painful. I also learned to not bother anyone with git and just let them copy to production.
- shahzaibmushtaq 2y agoA professional software engineer would never think of a static site as a personal website. On the other hand, normal users don't have an understanding of static/dynamic site and which one to choose. It is entirely up to the non-greedy/greedy clowns to go for a complex CMS written in some programming language initially by themselves or a WordPress or HTML static site initially. I think the author should have told whether this personal website is a static site or dynamic.
- moooo99 2y agoWhy would a professional developer never think of a static site as a personal website?
- shahzaibmushtaq 2y agoBecause when you have the tools/technologies to do things dynamically, you forget to do things statically with your bare hands.
- openrisk 2y agoIt might be useful and fun to setup an open and ongoing competition for the meanest and leanest way of doing web publishing. Its not trivial to set up because the list of desired features must be agreed and there are legitimate variations per use case. So most likely it must involve several subcategories. But somewhere between git, markdown, sqlite, python (or maybe go?) a bare bones linux server and the mighty browser lies our optimal set of solutions. With no more that absolutely needed lines of code, no more than absolutely needed user effort and cost, no more than absolutely needed power consumption etc, in other words our true digital publishing future :-)
- marcus_holmes 2y agoI have whole rants about this, based on bitter experience trying to convince marketing people to stop using WP and just use a static site. It comes down to ease of editing. A WP site optimises for the editor. Not the hosting, not the tech folk, not the accountants, and definitely not the reader. The people who edit the site get to say how it's implemented. If you give them the choice (as I have) between a site that renders in <100ms, is completely secure, and costs literally nothing to host, but requires markdown files and a bit of Git to deploy, and a Wordpress site that's as slow as hell, costs a fortune, is insecure, needs constant maintenance, but has a nice editing process, then they go for WP every time. I'm always confused as to why these particular people get to be the ones who make the choice. But I've repeated this experiment multiple times and it has always come back with the same result.
- motoxpro 2y agoYou said it yourself. The tech you're suggesting didn't meet their requirements. Once it does, they will use it. A marketing site SHOULD be optimized for the editor. This is a failure of the dev, not the marketing person.
- marcus_holmes 2y agomy confusion is why it's their requirements that need to get met, not say, the readers' requirements.
- gloosx 2y agoYet another attempt to rip up the web into extremes. In the option number 2, author is clearly trying to hide an elephant behind a curtain. Complex CMS written in PHP requires a web server, but for a collection of static HTML files this requirement is cleverly skipped? Now when a new post added happens what? #1. You log-in to admin panel and write a post. A row is added to the database, a worker subscribed to the table sends the row via websocket to every active visitor on the site. They download few hundred bytes of data and see the post immediately without needing to refresh their browser. If they refresh, they will get cached version of the app and data instantly, then fill in the missing post from the API. #2. You either use SSG or you generate a new static HTML page by hand, specifically on a device which has a private key for uploading to the server. If you don't choose an SSG, then since Javascript is complex, scary and prohibited, you also change the main feed HTML to include a new post, you timestamp all the new stuff by hand, etc. You upload it to the server via ftp. Great, now new visitors of the main blog feed will see it. Active visitors will see it only if they reload the whole page (hopefully they don't load the cached version). Being professional is not to choose an extreme. Being professional is to solve a problem, and to make the best tradeoffs possible when solving it. There are many different configurations which are somewhat in the middle of extremes provided in the post, and using any of them professionally is about using them right and fitting them to solve an issue. You would expect all normal users, including professionals to distribute normally between your neo-web-luddite static NGINX+HTML+FTP solution and javascriptpunk2033 complex CMS.
- crb 2y agoBefore there was WordPress, the most popular blog CMS was Moveable Type. It had a "generate static files" option. (I believe this is how Daring Fireball is still published today.) Surely this is the "best of both worlds" answer?
- aiono 2y agoI chose the second option and I am really happy for it. I already had a server for my Nextcloud instance and adding one more Nginx reverse proxy to it was essentially free. I didn't even use a framework and chose to just use libraries and implement the features only if I need them. Probably it took more than just using a framework but it's pretty minimal and I know all the parts of my toolchain. And I learned much more than I could learn if I used a framework.
- adiian 2y agoAbsolutely true, I tried to build a static blog, tried quite a few static blog generators, for each of them there was something I didn't like, ended up building my own on expressjs. Practically reinventing the wheel, by creating a website and a simple crawler with a few addons, that puts everything on Cloudflare. I assume the average Joe would go for the Wordpress solution, for very good reasons. Imho, the big lie regarding static sites is that it's showcasing only part of the solution it fixes. In the end it does not reduce complexity, it pushes it away from your immediate attention span(it's serverless), either to building tools, browser and configuration files. You still need to build it, pick a layout, maybe some plugins. That requires not only the time to do it but also infrastructure behind, to push changes. If you consider that, from the start till the end, there is the same amount of complexity around it. You still need to persist data, md files look more appealing, but in the end is a disk data store, and if you need to collaborate, edit, etc, you end up realizing why why databases were invented. To conclude, I really like static sites for the reasons I didn't include here.
- rglullis 2y agoTime for Joel Spolsky to bring back CityDesk: https://www.joelonsoftware.com/2016/12/09/rip-citydesk/ https://www.joelonsoftware.com/2016/12/09/rip-citydesk/
- solatic 2y agoI find the WordPress / static duality in this thread amusing. Various startups built solutions that snapshotted WordPress installs and put the snapshots on static hosting. Best of both worlds. The one I know best got acquired: https://elementor.com/blog/elementor-acquires-strattic/ https://elementor.com/blog/elementor-acquires-strattic/
- ickelbawd 2y agoThis person seems to be suffering from the Curse of Knowledge. It’s unsurprising to me that non-technical users will gravitate towards the tools that look like what they know (packaged software with forms and buttons) instead of something that they’ve never once looked at (except perhaps in anguish).
- rmykhajliw 2y agoFor a friend I made this: https://en.hayovasweets.com/ https://en.hayovasweets.com/ It’s mostly list of markdowns and images in folders. Everything else generates during deployment on GitHub:actions It was simpler to show GitHub desktop rather than installing something like Wordpress machinery monster and spent hours to teach how to use it. Now the process is simple: 1. Create a folder 2. Put there markdown and images 3. Commit
- voytec 2y agoThis opening statement is confusing due to being stated as an axiom. From my experience, the majority of IT engineers considers the opposite true: > only few professional software engineers can "afford" to have the second option as their personal website In the quote "second option" refers to SSGs. But likely most of us here, and surely most engineers I interact with, would use the word "affordable" to describe why the first option (complex CMS like WordPress) is generally AVOIDED. The post quotes "professional engineers" or "professional software engineers". And points at SSGs as an "unaffordable" solution over WordPress. The basis for this blog posts are however, that setting up SSG is time consuming while WP comes with less strings. Scroll to the end of this blabber to see the strings. WordPress is not really an option for "professional software engineers". Most of us would be ashamed of having our personal websites defaced or allowing an attacked to read our databases and change entries. The "pros" own their swolutions and are careful around what that ownership entails. YOLO-approach CMS foer the personal website is simply not an option... It's due to man-hours required to secure all the underlying dependencies (PHP, database), problems related to managing multiple system services to make a personal website work (outside of caddy, nginx etc) and how compute-heavy using WP is. And how much more knowledge (and - again - time) one needs, to harden a WP website for heavy load. You know - the "hug" thing which is not a thing with SSG-generated stupid static HTML, CSS and JS files. Or, maybe I'll just quote the nonsense... According do the author WP is better than SSG because it doesn't require one to: Buy a domain Find a hosting platform Configure DNS Find an SSG (or handcraft everything yourself) Learn how to setup a deployment pipeline I haven't spent so much dopamine on decrypting few opening paragraphs of any blog posts in a good few weeks. This blog post was "unaffordable".
- manx 2y agoWhat are good WYSIWYG editors for static sites? Any recommendations?
- freetanga 2y agoOr people could find a middle ground and join https://bearblog.dev https://bearblog.dev Simple, has text-focused CMS, lightweight and content generated is static. Plus, dev is a nice guy.