A theme for minimal reproducible test casing

I am German and we coined the term “eierlegende Wollmilchsau” (egg laying wool-milk-pig), which basically means “one thing for everything”. So the level-2 way is not something I would go. It sounds like you would have to update all level-2 branches if you update something in your main theme. I would have solved that more or less by something like a “weird” taxonomy (for instance movie) that can be added to a sample repo by adding two lines of config. If those two lines ([taxonomies] and movie = "movies") are not added then the layouts just are there and are ignored. If I need to display a bug within the taxonomy system I would add those lines to my config, add movie: blafasel to my frontmatter in a post and we go from there. Your README.md would add a section that says something along the lines of “if you want to present a taxonomy issue add this to your config and that to your frontmatter”.

I would be ok and understand the level-2 concept, but if your project wants to make it easier for people that are not programmers you might want to go this way instead of introducing a branching system - I am afraid, not many are “versatile in Git”.

About the custom layout: yes, a quite common way to display things is a custom layout that is referenced via layout. One of the most common support requests for Hugo is some form of “layout priority issue” where layouts override each other depending on where Hugo is creating (sections, custom layouts, default layouts, etc.) - so a “default” custom layout would be nice. It would be enough to just have it say something like "custom: " before the title so it shows up on compilation. It might even make sense to have at least one sample-section (posts?) to have all three use cases available. Again - this should be something that might be configurable by using a certain term for the section name, so that a pretty simple content sample won’t “trigger” a section template.

I don’t want to add a lot of logic to the theme to do the ‘pick a test case’ thing,

But isn’t the “level-2” concept exactly that? I think it might be easier to make certain special cases configurable. It of course depends who your target-users are. In my mind it’s always “for the dummies” because “we geeks” know what we do and won’t need that.

Last note: please run hugo mod init danielfdickinson/hugoMinimalTestTheme (or something comparable) and add go.mod to your repo. That will instantly transform your project into a Hugo module and makes it much easier to be added to a repo. Sub-modules are nice, but they should be a thing of the past, hehe.