Starter Theme: Bedrock

There has been much discussion, on and off, about how it might encourage people to build websites using ClassicPress if we provided some sort of default theme. Indeed, I myself started building themes for WordPress using the Bones starter theme. That is now obsolete, but I thought it might be useful if I created a starter theme for ClassicPress.

So I have now created Bedrock. It’s based on Susty WP by Jack Lenox, but has a normal menu rather than the funky one that comes with Susty. (In fact, it comes with a top menu and a footer menu too, should anyone wish to use them.) It’s also not much bigger than Susty but packs a few extra punches.

Bedrock (like Susty) is fully accessible. It uses normalize.css and the-new-reset.css as the basis for its own CSS, which remains small at only 16.1kb unminified. It can be configured to use one, two, or no sidebars, and will automatically adjust its sizing accordingly.

Bedrock also uses CSS custom properties, making it easy to adjust fonts and colors in many places just by making one change. It also comes with a built-in dark mode, which will take effect automatically on devices where the user has specified a preference for dark mode.

For those who prefer to have a web page scroll to an anchor on the same page, the style.css file includes some code which, if uncommented, will do that in a manner that is accessible.

Feel free to test out Bedrock. I’m interested in any comments you may have. Pull requests are welcome, but remember that this is intended as a starter theme, so there’s a limit to what it should include.


Thanks for this. I have a project for this. I never got around to using Susty on this project, so this is timely.


I don’t consider a starter theme the same thing as a default theme.
To me, a starter theme is bare bones that a developer builds on to make whatever they want, and a default theme is a solid, consider every edge case type of theme that is bundled with the core.
A starter theme is rarely used as-is.
A default theme is the fallback and used until you switch to something else. It is often used to test where problems are (switch to default theme and see if it’s still broken).

So do you define starter and default the same way, or differently?

Also, my petition for having core more in control of front end has several votes. If we implement that at the same time, a new default theme could be built that way. (It’s not that much different.)

I define a starter theme exactly as you do. A default theme is whatever is decided it should be.

I personally don’t consider Bedrock to be a possible default theme, but potentially a basis for creating one. It’s a starter theme.

1 Like

You picked a good name for a starter theme.

I just read the article about the-new-reset.css and I have to say that it doesn’t make much sense to disparage the user-agent style sheet, but use revert in order to get the user-agent style.
I wouldn’t want to promote that kind of silliness. The user-agent styles are pretty good, and they will be loaded anyway, so why reset them all and then have to put it all back again?

In other news, the normalize project has about died, because modern browsers don’t have many differences. They also always suggested that you normalize to values that you would be using anyway, not just taking their values as the only way to use it. That is how I use normalize, but last year when I was updating it, I saw that there isn’t much there once you get rid of IE.

As for dark mode, I don’t think that fits with a starter theme, unless this theme already has all the color options provided (or hard-coded), and that’s not good for a starter theme to do. The trick with dark mode is that the admin of the site needs to be able to see it both ways, regardless of their own preference.

As a starter theme, it’s intended that a developer will take what they want and delete what they don’t. So it is with menus and sidebars, and so it is with CSS. If someone doesn’t like the hard reset, for example, then delete it. Simple, but it provides an option most people don’t know about.

Normalize.css isn’t dead; it’s just in different flavors these days. I’ve chosen the one I prefer (and use myself).

As for dark mode, if a developer doesn’t want that, it’s easy to delete too, as it’s in a discrete section of CSS in the style.css file precisely to make it easy to find, delete, and/or edit. Again, most people don’t know how to do it, though, so this makes it easy for them (and they can change the colors too, if they prefer). Same with the scrolling effect.

But I doubt you’re likely to use a starter theme anyway, Joy!

1 Like

@timkaye it seems Bedrock doesn’t support dropdown menus natively. Is that right?

At the moment, it just does top-level menu items (mainly because I usually add them programmatically via filters rather than manually in the admin). Is there a particular style or type you’re looking for?

Nothing specific. I was just curious. I’ll add dropdown support as needed.