#dev 2025-09-15

2025-09-15 UTC
grufwub and marc_in_space joined the channel
#
earthbasetwo
zola looks a lot more active and serious than haunt. rust is also a more popular language than guile/scheme. i'd go zola unless you are really interested in playing with scheme or hate rust for some reason
dusted_ joined the channel
#
[tantek]
posted about yesterday's 8-bit day and the challenge I mentioned to a few folks in espresso chat about making HTML, CSS, etc. files that are 255 bytes or less: https://tantek.com/2025/257/t1/happy-8bitday-255-bytes-max
#
[tantek]
255 bytes home page prototyped with working links, except for "prev" (which I'd rather generate programmatically) https://tantek.com/8bit.html
#
[tantek]
now to see what it takes to automate such a home page, with pagination
#
[tantek]
it's at least a proof of concept, possible to fit a name, a few recent posts with permalinks, and a pagination link all in 255 bytes
#
[tantek]
Annoying that without meta viewport the mobile browsers make the text unnecessarily small by default :/
sarna joined the channel
#
[tantek]
That's also no CSS so I have to consider the tradeoffs if I want to add a <style>@import 8.css</style>
#
[tantek]
That might be a more efficient way to fix the meta viewport problem without meta viewport tbh
[snarfed] joined the channel
#
[snarfed]
can you drop the .css?
#
[snarfed]
HTML code golf, who knew 😆
#
[tantek]
[snarfed] there is no css yet, that's the point I’m making. I'll have to cut somethings out in order to add css
#
[snarfed]
no, I mean, the .css filename extension from the @import 8.css
#
[snarfed]
only 4 bytes savings, but every byte counts
#
[tantek]
ah right. maybe? perhaps I should put this into a directory so I don't overload root level single character paths
#
[tantek]
alright, now with a style sheet, which allowed me to simplify some of the markup. not quite as semantic but now styled to look better on mobile: https://tantek.com/8bit.html
#
[tantek]
good enough for a day's experiments. 255 bytes HTML + 255 bytes CSS
GuestZero, DanQ, gRegorLove_ and balintm joined the channel; okCiel left the channel
#
IWDiscord
<9​jf9hf>
#
9jf9hf
_pi_r2_[d]: It's subjective but 4k commits and 50k lines of code for a flat-file/markdown CMS appears like a lot.
#
9jf9hf
I'm wondering how come?
#
9jf9hf
Additional features?
#
9jf9hf
[edit] _pi_r2_[d]: It's subjective but 4k commits and 50k lines of code for a flat-file/markdown CMS appears like a lot.
#
IWDiscord
<9​jf9hf>
#
9jf9hf
I'm wondering how come it takes so much code?
#
9jf9hf
Additional features?
#
.pi.r2.
50k lines of code for a project maintained for years and used by tons of people is pretty close to nothing. The main file of coreutils ls is 5k lines of code already.
#
.pi.r2.
It's configurable, modular with lots of external plugins, can use a lot of engines, etc.
#
9jf9hf
Ah I see it's got support for quite a lot of things. Latest blog post also is about what I'm asking about: "Eleventy v3.1.0 is now available — 11% faster and 22% smaller!".
#
Kolev
Going with Zola. Lots of themes available.
#
Kolev
I like the Inky theme.
thegreekgeek_ joined the channel
#
trwnh
re: how static site gens can get to be so big, it's because there's a lot of modularity and features you can add beyond just "take this content and stuff it into these templates". your templating language alone can get to be quite complex depending on how much you do
#
trwnh
taking hugo as an example https://gohugo.io/about/features/ you get multilingual support, multiple output formats (including custom defined ones), multiple input formats for content, loading themes and modules, markdown extensions, diagrams, mathematics, syntax highlighting, shortcodes and partials, content adapters for working with apis, taxonomies for setting up categories and tags, data processing for csv/json/yaml/toml/xml, slugs and url
#
trwnh
management, asset processing for images/css/sass/js, minification, a live development server...
#
trwnh
now, not everyone needs all of those things, but enough people need several of those things to the point that hugo might be your only good option. it all depends on what your needs are
#
trwnh
i do like zola as a much simpler offering, but its multilingual support is far too basic for me to ever consider it for multilingual sites
#
trwnh
https://jamstack.org/generators/ is a good list of generators that lets you see how popular each one is, the language they use, the templating they support, etc
#
trwnh
for example, hugo is the #2 most popular, while zola is #19
#
earthbasetwo
hugo, 11ty, and astro seem to be mentioned the most online. plus jekyll, which used to be the major player but is old and slowly dropping off
[Murray] joined the channel
#
[Murray]
I am a huge proponent of Astro (use it on all of my sites) but I always find it funny when people include it as an SSG. It works fine for static generation, but its strengths all lie beyond that. IMO, if you're considering it, I'd recommend Hugo or 11ty (latter gets my personal vote) 😄
oodani, thegreekgeek_ and rossabaker joined the channel
#
Kolev
I'll still use Zola. I like Rust.
#
Kolev
Zola seems to prefer /posts/title which can have many collisions...
balintm joined the channel
#
[tantek]
indeed, slugs are bad for being permalink identifiers
#
Kolev
Preserving my URI scheme with Zola seems hard.
#
Kolev
I want to have a URI scheme like capjamesg
#
Kolev
But with Zola or Haunt.
#
[tantek]
what is URL design
#
Loqi
URL design is the practice of deliberately designing URLs, in particular, permalinks, typically for a better UX for everyone who creates, reads, and shares content https://indieweb.org/URL_design
#
[tantek]
^ indeed, choose your URL design first, and then see which SSGs are actually flexible enough to adapt to you, instead of you adapting to them. That way if you need to migrate in the future, you only have to find another SSG that works with the URL design YOU came up with, rather than trying to migrate from one SSG's URLs to another
#
Kolev
I think I'll be able to do it in Zola, it will take time tho
#
[tantek]
lol I just discovered I can close an <a> tag with </> (no trailing a). that's one more byte back per hyperlink 😄
#
Loqi
[artlung] has 22 karma in this channel over the last year (142 in all channels)
#
[tantek]
[artlung]++ is that an 8-bit page? It looks like it!
#
[artlung]
It’s got very low character counts, anyway.
#
[tantek]
quite low. the HTML is 169 bytes, and both CSS and JS are under 255
#
[artlung]
does the http header which advertises webmentions count against it?
#
[tantek]
oh interesting, I didn't specify! but now that you made me look...
#
[tantek]
appears to be 366 bytes, and perhaps a couple of things that could (should?) be omitted: "Server: nginx/1.28.0" and "X-Powered-By: PHP/8.4.12" — both of which should not matter to the browser and might be used by bad actors for targeting
#
[tantek]
but yeah, getting the http headers under 256 bytes while keeping the wm endpoint is going to be tough
bret joined the channel
#
[artlung]
yeah, the codepen was a draft. https://tilde.club/~artlung/miniclock/ is the final. made some slight changes. I suspect I can't remove the Powered-By. But I'm content with the smallness.
angelo joined the channel
#
[tantek]
Definitely counts. Headers were not part of the5k so they're not part of this
#
[tantek]
May I add it to the list of examples in my post?
#
[artlung]
certainly
balintm and CrimeWave joined the channel
#
[tantek]
except it uncovered a bug in my auto-linker lol
#
[tantek]
here we go
kaiberriezzz joined the channel
#
[tantek]
cassis updated. thanks for the (unintentional) nudge [artlung]++
#
Loqi
[artlung] has 23 karma in this channel over the last year (143 in all channels)
#
[artlung]
amazing. fine work sir
#
capjamesg
[social]++ for encouraging me to fix a ~year long bug 😄
#
Loqi
[social] has 5 karma in this channel over the last year (17 in all channels)
#
[artlung]
[social] for putting up with my lamentations about the fundamental humanity of software capjamesg[d]++
#
Loqi
capjamesg[d] has 51 karma in this channel over the last year (201 in all channels)
#
[artlung]
[social]++
#
Loqi
[social] has 6 karma in this channel over the last year (18 in all channels)
#
[social]
Thomas believing in “logic” 🤦‍♂️
#
capjamesg
I think it's ++s all around for the quality of the discussion. We veered into deeply technical waters.
sp1ff joined the channel
#
[social]
@.pr.r2++ The deconstruction demo was really helpful. Thank you Pierre!
#
Loqi
@.pr.r2 has 1 karma over the last year
DanQ, [morganm] and barnaby joined the channel
#
[social]
Just like the dog after a trip to the vet, my database and PHP pages are fixed.
#
[social]
Database updated to `urf8mb4` and web pages upgated to `utf-8` and PHP `htmlspecialchars` string includes `"ENT_Quotes, 'UTF-8', false)`
#
[social]
Old posts that had the hot mess of character encoding from a workflow with Scrivener for writing posts, I can easily modify them when I run into them. My notes to my self from 2008 to 2010 trying to get the character encoding sorted in the workflow were “entertaining”. The solution was move the writing (or a conversion) in markdown, which is an easier transition with light scripting to handle the needed light encoding needed.
barnaby joined the channel
#
Loqi
[social] has 7 karma in this channel over the last year (19 in all channels)
#
gRegor
nice, congrats [social]++
#
[tantek]
[KevinMarks] do you have any experience with creating <256 byte images that you can share?
#
[KevinMarks]
I recognise that struggle. The Technorati database was in utf8, even though mysql couldn't express that at the time. So as they added broken support for it, it got messy
#
[KevinMarks]
Hm. SVG can work for stylised ones.
#
[social]
I had used `quoted_printable_decode` thanks to Scrivener’s odd encoding (for then and now, as it aimed at older browser but putting that in MySQL, with out stripping and replacing encodings (BBEdit got a workout).
#
[social]
I’m looking at replacing that with `htmlspecialchars` string instead just so it is all cleaner.
#
[tantek]
[KevinMarks] know a resource for <256 bytes SVGs?
rozodru joined the channel