Why I created Banner Blog
bannerblog.dev
bannerblog.dev
I gave up on that seven or eight years ago. I realized that running it was like being my own plumber. Sure, I can do it but aren't there better ways to spend my time? (No criticism intended. I'm old. You're probably not.)
I have only one criticism for Developer_Tom as he takes signups for his "forever" platform: He's not charging for it. Just as with my own efforts, if there's no revenue model, I'm not trusting it with my bon mots.
A half dozen years ago or something, I switched to a blog platform named https://posthaven.com because they said two things that were crucial to me: 1) They offered nothing for free and 2) They considered running this to be a lifetime commitment.
I'm sure both of them have other jobs and projects. It's a simple site, as bannerblog.dev will eventually be, and doesn't take much from them. I'm guessing it's a good money maker. And I love them for that.
Occasionally I see something that has features I like. Eg, Developer_Tom looks like he might offer easier customization. Then I remember that the PostHaven guys made a commitment to me that really requires a commitment from me. I will be giving them five bucks a month for the rest of my life and, if I have any money left, I will arrange for them to get five bucks a month for eternity.
That's the relationship I'm looking for in a blogging platform.
I have since moved away from blogging platforms. I have my own little Common Lisp program and my own HTML templates, all handwritten from scratch, and I am very happy with the results. The biggest benefit of this approach I find is that the layout does not change or break every few months/years and I can focus completely on writing content.
The solution the author comes to is great, AND, I think it says that as a blogger you should probably always own or create your own tools.
I went down this same path, and Svekyll is my result (combination of Jekyll conventions with Svelte).
(https://svekyll.com or https://extrastatic.dev/svekyll/svekyll-cli/)
Svekyll offers a different perspective to get the same benefits as documented in this great post. I love that we generally reached the same conclusions as to what is important.
* WYSIWYG editor: Svekyll just builds from Markdown files (https://svekyll.com/Markdown)
* Customizable themes: Svekyll lets you configure DaisyUI themes in your _config.yml (e.g.: theme: dracula, https://svekyll.com/Theme)
* SEO out of the box: Svekyll has this too (https://svekyll.com/SEO).
* Runs forever: Svekyll compiles each post to a single independent HTML page (zero JS or CSS links, it is all inlined, https://extrastatic.dev/svekyll/svekyll-cli#technical-notes-on-svekyll-cli)
* RSS Feed Support: add rss: true to the _config.yml and get RSS. And, you can even add RSS feeds for each tag. (https://extrastatic.dev/svekyll/svekyll-cli/-/merge_requests/11, and see an example here: https://webiphany.com/2023-10-16-building-webapps-for-the-amazon-kindle-paperwhite-browser)
* Improved post creation: while not a feature of Svekyll itself, ExtraStatic (my hosting service) let's you create posts as Markdown by sending an email. This is an example where building on a simple foundation like Markdown opens a ton of possibilities.
* Analytics: Add matomo analytics to Svekyll in your _config.yml (https://svekyll.com/Analytics).
* Featured posts: stumped by this, but definitely a problem!That's all fine and dandy if you're a developer (or have some developer skills). But my mate who wants to blog about wood working isn't a developer and has no interest in building his own blogging tools.
I'm a developer and even I don't want to build and maintain my own blogging tools, I just want to write about the stuff I find interesting (most of which isn't necessarily development related).
To me this is a bug, not a feature. Google is so broken now that I assume any website in their first page of results is likely worthless.
I honestly love https://mataroa.blog it ended my paralysis for searching a blog platform, and every page is bog standard HTML. It accepts Markdown, plus it has its own anonymous analytics, so it's nice.
On the other hand, everyone has different needs, and I wish Banner blog the best of luck!
- mataroa.blog - My favorite. Pretty minimal, but well thought out.
- smol.pub - Another favorite of mine, but a little too minimalistic for me.
- prose.sh - A part of pico.sh ecosystem. Very interesting, but I started with mataroa when they started, so I didn't migrate.
- bear.blog - A more comprehensive package, a bit too heavy for my taste.
Again, good luck. We need more small web. Not less!
The sentiment behind this is more about making the posts more readable to bots as opposed to trying to game the system
- (Basic) meta tags
- Alt attributes
- Mobile friendly content (always required for a blog)
- Loading speed, optimised images etc.
- No JS rendered content
That is, instead of going for search engines, go for open social. It’s obviously a new and relatively unpopular ecosystem, but makes much more sense than this SEO stuff IMO.
Wordpress have rolled out their AP support and it seems to be working well so far. I just “replied” to a blog post on mastodon today without even realising it was from a blog.
Although I can see why you may do that, it also does discount things that are relevant
You sound like those guys who don't go to the gym because they're afraid of becoming huge and muscular. Don't worry, it won't happen by accident.
Have written daily for the last 20+ years. At this point I refuse to use any CMS that doesn't have an editor that is not at least as good as Gutenberg.
What WYSIWYG editor do you use?
_Edit_: it's Suneditor. Not my idea of a good editor, and I don't really like the default font either -- see https://imgur.com/TNT44Bp
I built https://persumi.com for exactly this reason - to replace my own blog with a bit of QoL flare. Things like AI summaries, the optional social aspects (like/follow, etc), and TTS to turn text articles into audio / podcasts, etc, etc.
Edit: fixed link
I think it's because the body style has both `width: 100%` and a nonzero margin. You should probably set margin and padding to zero on the body tag if you need width, or just remove the `width: 100%` (which I don't think you need?)
Yeah, that feed sure ain’t ready.
Still more complicated than updating my .plan file via FTP.
Wanted to get a great writing experience finished first, but it’s the next thing on my list
Is that something that’s being addressed?
Wanted to get something out the door for desktop, then it’s on to mobile.
Any things in particular that you’d want fixing?
ETA: That said, it works pretty well on mobile for me. Not sure if you made any changes in the last 3 hours (:
Current HN title: “Why Blogging Platforms Suck”. This would honestly be a completely different article, and one I’d generally agree with (which is why I will always insist on controlling my own site stack). Yet you appear determined to get into running a blogging platform, and I would be curious why.
Some more remarks:
• Well done on inlining the stylesheets. Having zero subresources has a way bigger effect on page load time than people tend to expect. (Want bonus marks? Strip unused styles from the sheet, and inline custom properties where possible (currently always)! You can save hundreds of bytes! Hundreds, I say!)
• You’re not compressing responses, but generally might as well; though thanks to TCP slow start stuff, it’s unlikely to make any meaningful difference at this scale. (You can get it down from just under 11KB to about 3.5KB.)
• The JSON-LD block is all wrong. It claims it’s a http://schema.org/website (which I believe must be spelled http://schema.org/WebSite to be interpreted correctly; aside: uh oh, the JSON-LD spec uses lowercase schema.org slugs in examples, sigh) but it should be an Article, and then has a nonsense `about` field that puts the title as the @type. Which is something I’ve seen once before, on Bear Blog. Are your tech stacks similar and it’s the same library doing it, or did you copy it, or is it sheer coincidence that you did the same wrong thing? (Aside: I don’t really get why people bother with JSON-LD—does it actually help anything? In theory it’s neat, sure, but in practice does anything actually use it and wouldn’t use the traditional meta tags if it weren’t there?)
• `body { width: 100% }` needs removing. It means that the page always overflows horizontally. If you removed the default 8px margin, it’d merely become unnecessary rather than harmful. `body { min-height: 100vh }` is also not what you want, though the situations that expose the problems are likely to be rare; but the normal trick for getting what you’re going for (… if you even decide it’s worth it) involves setting a minimum height of 100% on html and body.
• <link href="/favicon.ico" rel="shortcut icon" type="image/x-icon">: type="image/x-icon" is superfluous since it’s the only icon, `shortcut ` is superfluous (that’s a matter of ancient history), … and in fact the entire tag is superfluous given it’s the only icon and the URL is /favicon.ico.
• Your font size is significantly too large on large screens. It’s extremely too large on small screens. I recommend not exceeding 1.25rem (typically 20px) as a :root font-size, and sticking to 1rem (typically 16px) on smaller viewports.
• Please don’t use a base font-weight of 300. On some very common configurations (generally involving Windows and low-DPI screens), it can be fairly difficult to read. Body text should always use weight 400. (From this and the scrolling things, I’m getting the sense you use macOS.)
• `font-family: Roboto;` means that most of your viewers will get the default font, which defaults to a serif like Times. Honestly, I recommend sticking with it. Serifs are generally cooler. But if you actually care for what you specified, then make sure a generic family is included.
Is that still true with HTTP/2 (or newer)?
But when I say “having zero subresources”, I actively mean having zero subresources. The bit that really startles people is how much faster a page with inlined scripts and styles is (up to a point, but that point is typically over a hundred kilobytes of each) than a page with subresources present in a warm cache where the browser doesn’t even need to revalidate. Letting the browser just tear through it all rather than having to mess around with caches has, as I say, a bigger effect than people normally expect.
It helps with Google SEO which makes sense, as schema.org is essentially stewarded by Google.
> In theory it’s neat, sure, but in practice does anything actually use it and wouldn’t use the traditional meta tags if it weren’t there?
Yeah, for basic things like the website metadata it's redundant with meta tags. It becomes more useful when it comes to more rich types like e.g. a recipe.
(Oh yeah, that’s another point I missed in my comment: the <time> needs to be <time datetime="2023-12-01">. Also, 12/01/23 in the text, ugh, yucky USA middle-endian date format, and with a two-digit year at that.)
My two thoughts going into fixing it were:
- wow, this Wordpress install kind of sucks
- imagine how much worse it would suck if it wasn't Wordpress
Because it's Wordpress, Google will help me fix all the problems. Update all the plugins and themes; disable the obsolete or broken ones. Sort out the disk space issue. Tweak a few cache settings. And she's back in business.
We (HN) can all build a blog engine. We all seem to have different ideas on how to build a blog engine. And that's fine; we can all have our own little gardens and toy systems to play with. The rest of the world is more concerned with what the actual text of the blog is, if at all. Just as "obsolete iPhone with cracked screen" is the world's most widespread phone by actual use, "slightly broken wordpress" is the world's most popular blogging engine by a long way.
Meanwhile over the horizon, the question of whether any humans will read blogs at all in an AI content / search engine world looms.
This is so true! And, as a technologist i tend to get lost down a rabbit hole when helping friends, family, that i forget that lay people simply want stuff that works - even if that stuff is barely working. People say they want "the best", but they'll deal with minimally working crap as long as they can get what they need done. Its a bit of a wake up call to myself and other techies.
I'm using a SSG for my personal website, where it's no problem for me to manually write markdown files and run a command to build and deploy, but this will not work for sites I'm making for and/or with other non-technical people.
In those cases I'll have to set up some headless CMS, like Netlify CMS (now Decap), Strapi, Directus etc. This means I have to additionally deploy the CMS somewhere (even Netlify CMS, now Decap requires an authentication backend), maybe manage some database – Then because content changes from the CMS need to trigger a site rebuild I need to set that up, use something like Netlify or Vercel or GitHub actions to build and deploy the site, trigger builds with webhooks or via git, or put together some build system myself, it's just a really annoying amount of complexity just to get a simple static site that people can contribute content to in an easy way.
My absolute dream would be an affordable (like managed Wordpress) CMS solution that allows content authoring for non-technical people with a nice UI but then also takes care of building a static site from a connected git repo on every content change and deploys it to some global CDN, similar to Netlify. So I can build my website in Astro/11ty/Hugo/Jekyll or whatever static site generator technology I want but still make it easy to collaborate on content. Netlify was really close to making this possible but unfortunately they didn't seem interested in maintaining / improving it, probably since it isn't really an "enterprise" kind of problem.
My point is though that unfortunately there is nothing that's as "all in one" as traditional Wordpress hosting for the static site generator world. Sveltia CMS seems to be like Decap / Netlify CMS – my biggest problem with those were always support for media files, like lots of images, maybe videos etc., they just don't fit well into a git repository, and you end up having to bolt another solution on top of it to make it work, like git lfs or an external object storage host. From the Sveltia CMS docs it seems like that's not even an option yet:
> External media storage services are not supported yet. Deprecated Netlify Large Media won’t be added.
And even if you are building a website that's mainly text and small images, I don't really love the flow of all the content going into the the git repository, with huge amounts of commits that are just "X updated blogposty-y.md", especially with lots of collaborators.
I realize I'm asking for a lot with this 'all-in-one' solution, maybe it's just a problem noone else has, I often think about trying to build it myself, although I am aware it would be a really complex undertaking..
But I don’t think Wordpress sucks at all. It’s great in that it’s open source, runs everywhere, is easy to use, and super extensible.
I still recommend it to people who want to blog and it works out well. It’s especially nice as it doesn’t lock you into a saas like wix or square space or lots of other $10+/month services.
Personally, I just like markdown and jekyll as it’s easy enough but git is a bit too much for normies while Wordpress works fine.
But, if you're using WordPress to publish a simple website, I think the most recent versions are great. The new Guntenberg full site editor is easy to use and it lets you customize your entire website easily, without the need to rely on custom code or, even worse, custom page builders.
It’s not the sexiest, but it gets the job done. I’m chalking this kind of sentiment up to people who think PHP isn’t good enough. 1 million times to one, PHP is good enough and my imagined unique snowflake idea doesn’t really need anything special.
But people need hosting, and that's primarily the selling point of using a paid closed source WYSIWIG alternative.
WP gets a bad rap because people buy terrible shared hosting to keep it cheap. At some point they will also need to open up Cpanel or some domain management UI to fix something and UX-wise it's downhill from there.
There’s one wix host. You’re never getting your data out of them.
Also that means Wordpress is or can be near free. I’ve paid $30/year for a random cpanel host for decades (same price, woot!). I think I host multiple Wordpress sites for friends or old corworkers. I don’t charge them anything. I don’t even know how many I host. I don’t care. So it’s free to them.
Or if I wanted to host a standalone site, $3/month is cheap. And I can port to anywhere.
Also, Wordpress hosts for $10/month too.
I've made three blogging platforms for clients (one old one based on Zope, one based on Django and a static blog generator written in Go). Each time I've built one I'm always reminded of the depth of the rabbit hole, and each blogging platform was built because WordPress was bad at a certain thing, and the customer felt strongly that a plug in wasn't the answer (the first one, WP was young, the second wanted integration and workflow for their publishing business, and the last one was about generating a static blog site for performance).
1. The web really needs better tooling built into the browser for handling HTML input. I shouldn't need a giant ball of JavaScript to have a WYSYWIG HTML editor. It seems that there has always been a need to for editing stylized text, and right now there's not really a standard way to do it. There should be.
2. There's a lot more to a good blog site than just content. Navigation, categories, tags, search all are important for different bloggers. What's a podcast? A blog with video in the feed. What about ways to pay the blogger? Oh, then there's SEO, then there is internationalization, then there's accessibility, then there's syndication out and syndication in. All of it matters to some users and not at all to other users. The rabbit hole is infinitely deep.
3. On the web, output is so easy. Input is a lot more difficult for non-developers. Bringing a blogging platform's writing tools to parity with a 35 year old budget word processor (think Works, not Word) is a pretty expensive proposition. It's remarkable to me how much more capability an old Word Processor has than what we give bloggers.
So, what about WordPress? Well, it is proof that good enough wins, and if you pile enough browser plugins with enough WordPress extensions, it works better than most other ways of doing it.
Here is a personal promotional plug for an upcoming idea that a friend and I are working on. Right now, we are reaching out only to my connections, founder cohorts, and people I know. We plan to start release to the public by 2024-Q1.
Blogging or content creation is very segmented and has to start from a niche and stay within a few categories. For instance, a whole set of people primarily aims to create ephemeral content, e.g., the marketing department. They do not care if the content lasts nor is in Markdown or how bloated the underlying HTML/JavaScript/CSS is. There is money to be made there, but on the opposite side of the other who want to squeeze the best out for performance, longevity, simplicity, durability, open formats, etc. It will be really hard to satisfy those two -- you will end up being neither.
We are creating a toolset for early founders and people who want to start. We are doing an export-friendly with the most straightforward format possible as the priority. We hope the startups, projects, etc., succeed and move on from us to their dedicated host and the other players.
We came to this conclusion after talking to many non-technical people on the fence who wanted to try while still at their jobs. Our first feature is a template-powered website or an identity formation place (a URL) where one starts by typing out the content akin to how iA Presenter[1] works.
Generates a completely static website from MD (and other formats) files; also handles themes (including a lot of them rendering well on mobile), and different types of content - posts, articles, etc. - depending on the theme.
You can edit posts with any editor you care to for wysiwyg features.
It's open source and, being completely static, cheap as fuck to self host.
Maybe it's time to see if I can make SSG (https://romanzolotarev.com/ssg.html) run on my Mac again, for some reason it won't render anything.