top | item 38598575

Why I created Banner Blog

52 points| Developer_Tom | 2 years ago |bannerblog.dev

78 comments

order

tqwhite|2 years ago

I have written blog platforms for myself several times over the years. (I've always compared it to the Great American Novel. Every programmer has to write at least one.) It's a fun thing to do and it sounds like Developer_Tom has a nice perspective on the matter.

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.

susam|2 years ago

I began blogging in the early 2000s when blogging on blogspot.com, wordpress.com, livejournal.com, etc. was quite popular. While they were pretty good for quickly writing and publishing content using their built-in layout templates, I also cared about customising the HTML templates to suit my taste. To my disappointment, I found working with their HTML templates clumsy. For example, with blogspot.com, I would spend a few hours customising the template to my needs and then a few months later they would make an update to the website, such as adding a few new elements or removing some, which would then end up rendering my template in a slightly different way that I might not have anticipated.

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.

emadda|2 years ago

Do you write your content directly in Lisp/HTML?

xrd|2 years ago

I love this writeup.

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!

teh_klev|2 years ago

> as a blogger you should probably always own or create your own tools.

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).

dreamcompiler|2 years ago

> SEO Optimized Out Of The Box

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.

gsa|2 years ago

Chasing Google ranks is an abysmal practice, but a basic level of SEO goes a long way in making content discoverable and accessible. As for the rest of the practices of the SEO industry, I believe in the saying "if you provide good content, you don't need to SEO".

bayindirh|2 years ago

Same for me, too.

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!

jamietanna|2 years ago

A number of my blog posts appear on Google's first page. I have some SEO tags but I don't optimise for it, nor do I make content that is purely built to feed the algorithm, I just write content that is applicable to people, and has some of the basic tags in it.

Although I can see why you may do that, it also does discount things that are relevant

maegul|2 years ago

I feel like the new kinda-alternative on the rise is to support federation with either ActivityPub, BlueSky/ATProto or both.

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.

Developer_Tom|2 years ago

Yeh, I agree. Especially with the most recent updates.

The sentiment behind this is more about making the posts more readable to bots as opposed to trying to game the system

sertbdfgbnfgsd|2 years ago

Don't worry, your website won't be on the first page.

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.

dep_b|2 years ago

I just slapped something together with PHP includes and HTML exports from MD files. Slap the right header.php and footer.php to replace everything above and every below the body opening and closing tag and add the .php extension. Upload using an FTP program. Internet as the internet was intended. And PHP remains the best template language ever invented.

mvuijlst|2 years ago

> No lonely text box, nor a bloated Gutenberg editor in sight. Just a simple WYSIWYG (What You See Is What You Get) editor so you can write to your heart's content

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

fredwu|2 years ago

I don't think blog platforms "suck", but I do think there are QoL enhancements that can be made to them the experience better for both the writers and the readers.

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.

netol|2 years ago

Can it be self-hosted? Is it open-source? Is the WYSIWYG editor custom-built, or does it use CKEditor or similar projects? What about media management? Is there a place for a simple CMS? E.g. developers usually prefer simple static site generators, such as Eleventy.

readingnews|2 years ago

Totally agree with this... If you say it will live forever, but _you_ are doing the hosting, it can not, by default, live forever. I need to own the HTML, then it will live as long as I will.

alabhyajindal|2 years ago

This looks oddly similar to bearblog.dev Some of the planned features mentioned here like analytics are already available for bearblog.dev

Edit: fixed link

fmajid|2 years ago

It apparently can't sustain being featured on HN and is returning empty pages, can't be much of a blogging platform.

pjc50|2 years ago

Ironically, the site is now down (404).

sltkr|2 years ago

The page has some weird horizontal scrolling going on.

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?)

Developer_Tom|2 years ago

Thanks for letting me know - this is all fixed now

rambambram|2 years ago

Not wanting to piss on your RSS feed (I just subscribed and am willing to keep following it), but displaying your complete price list with images and all in the description of your feed (!) looks awful in my reader. One sentence to describe it is enough for me.

chrismorgan|2 years ago

Ouch, 6.7MB feed: it’s including all the pages (is this a blog engine or a CMS?) and then it’s inlining all images (um… who decided that made any sense as an action?).

Yeah, that feed sure ain’t ready.

codemusings|2 years ago

Relevant XKCD: https://xkcd.com/927/

Still more complicated than updating my .plan file via FTP.

syncbehind|2 years ago

Is this really a competing standard though?

hoosieree|2 years ago

What does it say about me that I know this xkcd by number? I propose there should be a new ISO 927 to rule them all.

gardenhedge|2 years ago

Looks great. I also found blogging options to not be great. Analytics is a must have though

Developer_Tom|2 years ago

Thanks! Totally agree about needing some privacy-first analytics on it.

Wanted to get a great writing experience finished first, but it’s the next thing on my list

jay-barronville|2 years ago

Honest feedback: I’m on mobile and the experience isn’t good.

Is that something that’s being addressed?

Developer_Tom|2 years ago

Yeh, that’s the next thing on the list.

Wanted to get something out the door for desktop, then it’s on to mobile.

Any things in particular that you’d want fixing?

sebastianconcpt|2 years ago

How does it aligns with being censorship proof and/or prone to cancel culture?

chrismorgan|2 years ago

Original article title: “Why I Created Banner Blog”. But I honestly don’t think it explains why. You establish the problem, but don’t remark on a couple of existing alternatives that might satisfy your requirements, and more importantly, you don’t explain why you’re making it a platform, rather than just something for yourself. Because honestly, if you want to blog, running a platform for everyone and their dog… well, that’s something completely different, and something which will take away from your blogging opportunities.

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.

hobofan|2 years ago

> I don’t really get why people bother with JSON-LD—does it actually help anything?

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.

cryptos|2 years ago

> Well done on inlining the stylesheets. Having zero subresources has a way bigger effect on page load time than people tend to expect.

Is that still true with HTTP/2 (or newer)?

k__|2 years ago

I get a 404 for that page and the domain in general.

ny711|2 years ago

tbh I would prioritize analytics (it's all executives care about atm)

pjc50|2 years ago

So, earlier this year I was helping a friend fix their blog. A local news site, run by a middle-aged not very technical woman. She'd taken it over from the previous owners a few years ago, and every now and again things break. She's paying over the odds for hosting, and the support people are .. adequate, but not really going to fix everything for her.

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.

mxuribe|2 years ago

> ...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...

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.

fmajid|2 years ago

And a good static blog like Hugo or Jekyll will effectively last forever or as long as the hosting bills are paid.

prepend|2 years ago

That’s cool you made this site.

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.

reddalo|2 years ago

WordPress sucks if you're writing a custom theme or plugin. Their codebase is old and it follows outdated standards (e.g.: they use array() instead of []... in 2023, really?).

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.

rchaud|2 years ago

> 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

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.

rob|2 years ago

And if you want to be "modern" with WordPress, the roots.io (https://roots.io/) tools are great — Sage, Bedrock, etc.

indymike|2 years ago

First, hats off for making banner blog.

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.

Brajeshwar|2 years ago

I have seen, used, and have built themes for quite a lot of blogging platforms. I also started all the way from Blogspot, to MovableType, to WordPress to the simplest one (current) written in Markdown with an idea to even further simplify 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.

https://lxidd.com

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.

1. https://ia.net/presenter

renegat0x0|2 years ago

Oh and I was hoping for something to selfhost / open source :(

duozerk|2 years ago

I suggest hugo: https://gohugo.io/

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.