iDOES A BLOG HAVE TO BE HTML? null (FALSE) 0
i null (FALSE) 0
i2024-05-03 null (FALSE) 0
i null (FALSE) 0
iTerence Eden wrote about his recent experience of IndieWebCamp Brighton, in null (FALSE) 0
iwhich he mentioned that somebody - probably Jeremy Keith - had said, null (FALSE) 0
ipresumably to provoke discussion: null (FALSE) 0
i> A blog post doesn't need a title. null (FALSE) 0
iTerence disagrees, saying: null (FALSE) 0
i> In a literal sense, he was wrong. The HTML specification makes it clear that null (FALSE) 0
ithe element is mandatory. All documents have title. null (FALSE) 0
iBut I think that's an overreach. After all, where is it written that a blog null (FALSE) 0
imust be presented in HTML? null (FALSE) 0
i null (FALSE) 0
iNON-HTML BLOGS null (FALSE) 0
i null (FALSE) 0
iThere are plenty of counter-examples already in existence, of course: null (FALSE) 0
i* Terence's own no-ht.ml (now offline) demonstrated that a website needn't use null (FALSE) 0
iHTML (no-ht.ml technically does use HTML, but the same content could easily be null (FALSE) 0
idelivered with an appropriate non-HTML MIME type if he'd wanted.). This null (FALSE) 0
iinspired my own "page with no code", which worked by hiding content in CSS and null (FALSE) 0
iloading the CSS using HTTP headers (Again, I suppose this technically required null (FALSE) 0
iHTML, even if what was delivered was an empty file!). null (FALSE) 0
i* theunderground.blog's content, with the exception of its homepage, is null (FALSE) 0
idelivered entirely through an XML Atom feed. Atom feed entries do require null (FALSE) 0
i
s, of course, so that's not the strongest counterexample! null (FALSE) 0
i* This blog is available over several media other than the Web. For example, null (FALSE) 0
iyou can read this blog post: null (FALSE) 0
i null (FALSE) 0
i in Gemtext (Gemtext is basically Markdown, and doesn't require a title.) null (FALSE) 0
i null (FALSE) 0
i via Gemini at gemini://danq.me/posts/does-a-blog-have-to-be-html null (FALSE) 0
i via Spartan at spartan://danq.me/posts/does-a-blog-have-to-be-html null (FALSE) 0
i null (FALSE) 0
iin plain text (Plain text obviously doesn't require a title.) null (FALSE) 0
i null (FALSE) 0
i via Gopher at gopher://danq.me/1/posts/does-a-blog-have-to-be-html null (FALSE) 0
i via Finger at finger://does-a-blog-have-to-be-html@danq.me null (FALSE) 0
i null (FALSE) 0
iBut perhaps we can do better... null (FALSE) 0
i null (FALSE) 0
iA TOTALLY TEXT/PLAIN BLOG null (FALSE) 0
i null (FALSE) 0
iWe've looked at plain text, which as a format clearly does not have to have a null (FALSE) 0
ititle. Let's go one step further and implement it. What we'd need is: null (FALSE) 0
i* A webserver configured to deliver plain text files by preference, e.g. by null (FALSE) 0
iadding directives like index index.txt; (for Nginx). (There's no requirement null (FALSE) 0
ithat default files served by webservers are HTML, although it's highly-unsual null (FALSE) 0
ifor that not to be the case.) null (FALSE) 0
i* An index page listing posts by date and URL. Most browser won't render these null (FALSE) 0
ias "links" so users will have to copy-paste or re-type them, so let's keep null (FALSE) 0
ithem short, null (FALSE) 0
i* Pages for each post at those URLs, presumably without any kind of "title" null (FALSE) 0
i(just to prove a point), and null (FALSE) 0
i* An RSS feed: usually I use RSS as shorthand for all feed types, but this null (FALSE) 0
itime I really do mean RSS and not e.g. Atom because RSS, strangely, doesn't null (FALSE) 0
irequire that an - has a ! null (FALSE) 0
i null (FALSE) 0
iI've implemented it! it's at textplain.blog. null (FALSE) 0
i null (FALSE) 0
iIn the end I decided it'd benefit from being automated as sort-of a basic null (FALSE) 0
iflat-file CMS, so I wrote it in PHP. All requests are routed by the webserver null (FALSE) 0
ito the program, which determines whether they're a request for the homepage, null (FALSE) 0
ithe RSS feed, or a valid individual post, and responds accordingly. null (FALSE) 0
i null (FALSE) 0
iIt annoys me that feed discovery doesn't work nicely when using a Link: null (FALSE) 0
iheader, at least not in any reader I tried. But apart from that, it seems null (FALSE) 0
ipretty solid, despite its limitations. Is this, perhaps, an argument for my null (FALSE) 0
i.well-known/feeds proposal? null (FALSE) 0
i null (FALSE) 0
iAnyway, I've open-sourced the entire thing in case it's of any use to anybody null (FALSE) 0
iat all, which is admittedly unlikely! Here's the code. null (FALSE) 0
i null (FALSE) 0
iLINKS null (FALSE) 0
i null (FALSE) 0
hTerence Eden URL:https://shkspr.mobi/ (FALSE) 0
hTerence Eden's (titleless) blog post URL:https://shkspr.mobi/blog/2024/05/49911/ (FALSE) 0
hJeremy Keith URL:https://adactio.com/ (FALSE) 0
hTerence's blog post about no-ht.ml URL:https://shkspr.mobi/blog/2022/12/you-dont-need-html/ (FALSE) 0
1My blog post about "the page with no code" /posts/nocode danq.me 70
hTheunderground.blog URL:https://theunderground.blog/ (FALSE) 0
hGemini://danq.me/posts/does-a-blog-have-to-be-html URL:gemini://danq.me/posts/does-a-blog-have-to-be-html (FALSE) 0
hSpartan://danq.me/posts/does-a-blog-have-to-be-html URL:spartan://danq.me/posts/does-a-blog-have-to-be-html (FALSE) 0
1Gopher://danq.me/1/posts/does-a-blog-have-to-be-html gopher://danq.me/1/posts/does-a-blog-have-to-be-html danq.me 70
1Finger://does-a-blog-have-to-be-html@danq.me finger://does-a-blog-have-to-be-html@danq.me danq.me 70
hTextplain.blog URL:https://textplain.blog/ (FALSE) 0
1https://textplain.blog/ https://textplain.blog/ danq.me 70
1My blog post promoting the testing of websites in Lynx /posts/test-your-site-in-lynx danq.me 70
hMy post on textplain.blog about it being annoying that feed discovery doesn't work via HTTP Link: tags URL:https://textplain.blog/feed-discovery (FALSE) 0
hMy URL:https://danq.me/2023/08/23/well-known-feeds/ (FALSE) 0
h.well-known/feeds URL:https://danq.me/2023/08/23/well-known-feeds/ (FALSE) 0
h Proposal URL:https://danq.me/2023/08/23/well-known-feeds/ (FALSE) 0
hMy post on textplain.blog about open-sourcing textplain.blog URL:https://textplain.blog/open-source (FALSE) 0
hSource code for textplain.blog on Github URL:https://github.com/dan-Q/textplain.blog (FALSE) 0
.