@bep “a base template cannot live without a template using it” makes sense to me, which is why I created the empty layouts/index.html. However, for my purposes here, the base template was already just what I needed and there was nothing, in my mind, that needed overriding so I overrode nothing and got a surprising result. Having to “override” something that wasn’t there in the first place (there is no {{ block "nothing" . }} in baseof.html) isn’t intuitive or documented anywhere.
(in general, when I’m developing with Hugo I seem to get blank pages more often than I did with Jekyll and it’s not obvious to me where to start debugging beyond “reexamine your most recent changes”. I tried hugo serve -w --log --verboseLog when this particular blank-page error happened, but nothing useful showed up in stderr/stdout. One idea that might help is for Hugo to print out extended information every time it generates a blank page, but I’m not sure what sorts of information should go into this extended information dump.)