Our great sponsors
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
WriteFreely
A clean, Markdown-based publishing platform made for writers. Write together and build a community.
-
fpm
Effing package management! Build packages for multiple platforms (deb, rpm, etc) with great ease and sanity.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
www.bobbydreamer.com and saving the markdowns at git here https://github.com/bobbydreamer/bdv32
I haven't setup CI pipeline yet.
It true whats said in the post, I used to save links thinking it won't disappear. But most the links, I had saved, it's no more.
In terms of extracting the actual blog content from pages, there is a go library that implements the readability algorithm:
https://github.com/mauidude/go-readability
This is the kind of thing pocket/instapaper do to extract the main content from a page in a format that's easier to read (and also probably to programmatically modify)
Your favorite static site generator can be used with free hosting at indie https://neocities.org.
How does having the "BSD Zero Clause" with your content work? I open sourced my blog's software, but I still keep all the actual content in a separate private repo, since I don't want my written content distributed under the same license. Also works out well, since I have the github action automation in the private content repo.
I can still easily change the private flag down the road if I were to decommission it (though, unlikely -- I'd just archive it somewhere).
I'm also using Gatsby if anyone is curious (https://github.com/cbeley/beleyblog & https://chrisbeley.com).
If you want something to live on the web long after you've lost interest in it static HTML/GitHub pages seems like the way to go. The chess board I built in high school to learn JavaScript is still going strong: https://github.com/PJ-Finlay/JavaScript-Chess-Board
Self Promotion: You can use GitJournal [0] to manage the blog posts from your mobile. It's just a convenient git + markdown client on mobile.
I'd built this for managing notes, but it seems that many many people use it for their websites. (Including me)
[0] https://gitjournal.io
https://github.com/hartator/wayback-machine-downloader
(I discuss it on my https://www.gwern.net/Search tutorial and use it every once in while eg to make my mirror of 'Climb Mount Improbable' https://www.gwern.net/docs/genetics/selection/www.mountimpro... or 'Hard Truths From Soft cats' https://www.gwern.net/images/hardtruthsfromsoftcats.tumblr.c... )
yeah, that'd be the the one. Not too sure if mkdocs material is the best theme to go with for a blog, though.
Here's a site using it: https://docs.libretro.com/
I use hexo, it's a simple structure (git + md) easy to publish to a CDN and the src lives on github.
https://hexo.io/
Have you thought about hosting it on https://writefreely.org/?
My blog is Django and PostgreSQL on Heroku, but last year I decided I wanted a reliable long-term public backup... so I set up a scheduled GitHub Actions workflow to back it up to a git repository.
Bonus feature: since it runs nightly it gives me diffs if changes I make to my content, including edits to old posts.
The backups are in this repo: https://github.com/simonw/simonwillisonblog-backup
I created a few years ago a blog that lived in the issues of the blog's repo [1].
Cool concept, although the content itself does not live in the git repo.
[1] : https://github.com/louismerlin/blissue
After compiling the binary (with haskell-stack) I use fpm to package it up as a .deb (https://github.com/jordansissel/fpm).
I then scp the file into the pool directory on my server, and re-run a script that calls apt-ftparchive and regenerates the contents of the repo (https://manpages.debian.org/buster/apt-utils/apt-ftparchive....).
My web server hosts that directory with indexing enabled, but I don't use apache for it like most examples do. There's nothing special about it, it's just a directory tree built in a way that apt likes. (https://pkg.kamelasa.dev/). In fact, the entire configuration of the repo is visible there.
There's a step in the middle where I sign the packages with my GPG key, and the public key is available on Ubuntu's keyserver (http://keyserver.ubuntu.com/).
I don't need to run this workflow very often, as it'll take about 40 minutes to rebuild and push. But if I do update my SSG I know it'll end up in my debian repo with a version bump, so I'm happy.
On a second pipeline I can just do a simple 'add-apt-repository' and 'apt install'.