--- title: Static page(s) date: 2024-03-04 draft: false --- # Short History Since the start of the World Wide Web over the internet almost 4 decades ago, [Static web pages][1] were the default, at least for a few years, before the introduction of *"an unpleasant sensory and emotional experience associated with, or resembling that associated with, actual or potential tissue damage."* (pronounced as [JavaScript][2]) And for a few years, professionals and hobbyists alike, used to craft these static websites manually using raw HTML and CSS. Then came the [dot-com boom][8], which gave birth to an explosion of different frameworks, paradigms, methodologies, and template languages. Nowadays, there are so many [Static Site Generator (SSG)][6] frameworks; almost all of them support remote data sources (AKA [Headless CMS][9]), making it quite **inclusive** for professionals, hobbyists, small, and big businesses to build a blog, photo portfolio, news reporting outlet, or a communication channel with their audience. **In Short**, Static pages are simple, versatile, fast, secure, and cheap. So cheap that over the years, many SaaS, IaaS, and PaaS providers have offered it for free (or [charged just network traffic fees][15]).
**But**... Most of these providers are trying to lock you into their ecosystem, which is understandable from financial incentives, but quite harmful to providers' **diversity**. # Let me explain A few years ago, Oracle acquired Wercker before starting to throttle free-tier offerings and delivering fewer and fewer updates to the platform, finally, rendering it completely useless.
Microsoft acquired GitHub, [shortly before they started blocking developers residing in sanctioned countries][10].
AWS was already gobbling up a massive chunk of the internet infrastructure.
Google [APIs][18] and tools have always felt like it has been patched together. So, I started looking for a new open-source home for my code, preferably with an open-source CI service. Naturally, I started looking at GitLab. I have already been using GitLab for a while, mainly as a backup for the most important projects, but I wasn't quite satisfied with its performance or with its CI system. After some searching, I stumbled upon [SourceHut][11]. Long story short, a few months in, I migrated everything to SourceHut, with GitHub used as a backup for a few projects. I have been quite satisfied with the service, even with the [recent DDoS attack][12]. ## The problem During the time of the DDoS attack, I was already in the process of moving this website's domain registrar to Cloudflare, I needed to test that the website was working. I couldn't just add a `CNAME` record pointing to the `a14m.srht.site` domain and the `A` or `AAAA` [IPs][13] were also down. I **needed** to deploy the website manually, and that's when I found that **almost all** the static page hosting providers only support integrations with GitHub or GitLab, or you can manually upload the generated website using UI - Netlify also supports Bitbucket, and probably the manual upload can be automated via `cURL` but it's not officially documented. - Cloudflare supports both GitHub/GitLab integration, and either deploying manually or using their [CLI][14] (which require OAuth2 and failing most of the time). - AWS S3 static hosting is either manual or using the AWS CLI. **This is quite alarming**. There are no open-source-based solutions, like using `cURL`, or `git` remote to deploy without relying on a proprietary code, or service provider APIs.
The only exception I found, was SourceHut using [`acurl`][16] (a custom [cURL helper][17]) for deploying the static pages, before changing it to their `hut` CLI. And the same patterns can be seen also with independent CI providers, and although it's at least much better on the integration side, GitHub, GitLab and Bitbucket are the standard supported services (because they are missing on $$$ otherwise), and although it is a much more complex case with CI, it should be theoretically possible to standardize how deploying static pages would work using webhooks or API requests. ## The solution I don't know if there is a solution, but I hope to see more projects like [SourceHut][11], open-source projects that challenge the ongoing monopolies, and provide alternatives that could at some point dethrone these giants. Maybe that's a solution.
Maybe supporting these projects is also a solution.
Maybe not.
*PS: This site is built using [Hugo][7], YAML, and Markdown
* *Source: https://git.sr.ht/~a14m/a14m.srht.site* [1]: https://en.wikipedia.org/wiki/Static_web_page [2]: https://en.wikipedia.org/wiki/Pain [6]: https://en.wikipedia.org/wiki/Static_site_generator [7]: https://gohugo.io/ [8]: https://en.wikipedia.org/wiki/Dot-com_bubble [9]: https://en.wikipedia.org/wiki/Headless_content_management_system [10]: https://medium.com/@hamed/github-blocked-my-account-and-they-think-im-developing-nuclear-weapons-e7e1fe62cb74 [11]: https://sr.ht/ [12]: https://sourcehut.org/blog/2024-01-19-outage-post-mortem/ [13]: https://srht.site/custom-domains [14]: https://developers.cloudflare.com/workers/wrangler/ [15]: https://www.reddit.com/r/webdev/comments/1b14bty/netlify_just_sent_me_a_104k_bill_for_a_simple/ [16]: https://git.sr.ht/~sircmpwn/srht.site/tree/b3cc63d945a424ad193f689afe43f4f449fc356a/item/content/automating-deployments.md [17]: https://git.sr.ht/~sircmpwn/sr.ht-docs/commit/1866f16695c8c5a6f01f62ac8be9f242eda25bb8 [18]: https://stackoverflow.com/questions/33201670/getting-google-dev-acc-id-programmatically