How I Built Battalion


Spaceship leaving the scene of a battle


A Little Background

Back when I was a child in the 1970s and especially after the collapse of the Soviet Union in the early 90’s, I never thought I would have to spend my retirement years fighting autocracy and fascism. I thought I would be vacationing on the moon or Mars and going to the grocery store in my self-driving flying car (70s). I hoped that democracy was the inevitable end state of all nation states and that countries like China would become democratic (early 90s). The End of History, It’s the End of the World as We Know it, boundless optimism, the victory of humanism over superstition, etc. etc. But, I was wrong and spent years in shit jobs and great jobs earning my fuck-you money to get to this point in my life.

The project (that became Battalion) was one that was planned to launch several years in the future during my retirement. It was to be used as a personal political organizer in whichever country in Europe I retired in. Unfortunately the world is not improving with time. And because big tech and big money entrench autocracy, weaken democracy, enshittify the economy, and destroy the environment, I have decided to change my approach to the project. I want to start now and open it up to other groups.

Why Battalion?

Evidently, after the average lifetime of an individual human (currently 80ish), the human race in general has to repeat its previous mistakes and stupidity. Which is unsurprising when most humans are poorly educated, misinformed, and barely competent at anything except their vocation. Our brains have not evolved enough to function well in our current cultures.

Basically, we are living in the 1930s again. Monopolies run amuck, oligarchs subvert democracies and drive economies into the ditch, and racist ideologies and fundamentalist religion pollute the minds of large sections of humanity. Scapegoating, conspiracy theories, and idiocy are drowning daily life. Journalism is based on pleasing advertisers, governments (aka corruption and cowardice), and the ideology of its corporate owners. Judges are biased and corrupt. Politicians are just as sniveling, power-hungry, and self-serving as they have always been.

So I started Battalion as a coping mechanism. It has the benefit of fewer side effects than alcohol. And fyi, it takes a lot of energy to drink when you're old.

Enough of that, on to how I built the project.

Hubzilla

To begin with I wanted to use Hubzilla because it is a federated community building tool and wouldn't require forum functionality as people could use their favorite Fediverse platform for discussions.

Unfortunately, Hubzilla wouldn't install with my hosting company due to some bug in Softalicious or Hubzilla. And the hosting company spent a week trying to get it to work. Which didn't bid well for long-term stablilty for Battalion.

WordPress

So, I went back to my tried and true solution. WordPress. It had the plugins I needed for community functionality, forums, and Activity Pub federation. They are all tried and true technologies that democratize the web and social spaces. And they have done so for a long time.

And it's much easier to use than Drupal for this sort of project.

BuddyPress for Communities

I chose the BuddyPress plugin for Battalion's community functionality. Check out the site if you want all the details. All the communities on Battalion will be private. For reasons.

So, I wanted BuddyPress for these functionalities:

  • profiles
  • activity streams
  • user groups
  • messaging
  • notifications

And I am sure I will discover some more as the project grows.

bbPress for Forums

I also wanted a public participation option for people who may not want to start or be in a private community. So, I chose the bbPress plugin for forum functionality.

Evidently as it stands now, bbPress doesn't play well with FSE (full-site editing) themes. There will be more on them below.

After some experimenting and research, I had to add bbp Style Pack plugin to fix this issue. That's unfortunate because I hate adding plugins to WordPress. And bbPress isn't a simple one so I am getting some bloat I don't want.

I only adjusted two settings:

  • forum buttons (for design purposes)
  • theme support (the reason I had to use Style Pack)

And I was good to go.

Unfortunately, that fucked up the native duotone functionality in the Image block. Why???

I haven't found a fix for that yet and had to edit the site's images in Photoshop to get the black and white effect. When I could have just changed a few settings in the block editor. At least I got some monies-worth out of my Adobe subscription.

Hopefully, bbPress fixes these issues soon and I can drop bbp Style Pack and stop hand editing my images.

It looks like it was a bbp Style Pack issue. The next plugin update fixed the issue.

Customizing the Default Design

Speaking of design, for Battalion I wanted the feel of a 20th century newspaper or pamphlet. So it is greyscale and text-focused. It has a little bit of color to make links and buttons stand out.

The site design is based off the default 2024 Theme. It is a FSE theme and is as optimized as possible for the latest version of WordPress.

My strategy will be the one used most in the future with WordPress development. Take the latest official theme or a skeleton one and build your design and functionality out from it.

I chose the default style which is black, grey, and white. Again I want the feel of a newspaper. That's also why I use black and white images. I selected all my options and I was quickly done with the majority of my design.

I then customized my footer and header patterns. And created a custom author pattern.

Battalion uses a small amount of custom CSS for hiding public communities functionality (a liability issue), button customization, plugins CSS, and template colors.

I still need to add and use the export theme plugin so I will have a custom theme. That will let me update the 2024 theme without losing my customizations. Done.

After that, I need to edit the theme.json file in my custom theme if it will let me remove some of the custom CSS. This wasn't necessary as customizing your design in the editor updates the theme.json file. Cool.

Wrapping it up

I hope you gained something valuable from this case study of why and how I built Battalion. And that you learned a lot even if you aren't starting a community-focused site, but just a normal WordPress one.

More importantly, if you have a small goal for making a big impact on the world look at Battalion.

That's it friends.

So, join the battle, put your steel-toe boots on, and let’s kick the living shit out of autocracy and its minions!


Reuben Walker headshot

Ringleader, Battalion
Reuben Walker

  Back to top