Long post coming. The short answer is: Stacks like to use lowercase. Your Stacks pages should all work fine that way. It’s a good thing. If you rely on those names being upper case from elsewhere (like custom code that links to them) I’d recommend just going with lowercase as a workaround – as there is no way to get stacks to do anything else currently.
OK, here’s the “why” for that… this is a bit long and kind me thinking out loud. feel free to skip it.
What’s supposed to happen:
Stacks is supposed to make all file-names lowercase. The goal here is to ensure that novice users don’t get caught off guard by case-sensitive vs. case-insensitive differences between their own Mac and the machine hosting their site. This was done to correct problems where naming conflicts would be resolved one way on your Mac and differently on the website host machine. By always forcing lower-case all filename collisions and typos are guaranteed to behave the same in preview and the published site.
An very simple example: If you had two images on a page called “Flower.jpg” and “flower.jpg” these would not conflict on macOS. However move to some other systems that are case insensitive and one of these files will overwrite the other. So the site would look different in Preview than it would after being published.
We made this change (I just checked my logs) at the end of July in Stacks v3.2.0 – this was the result of a bug report by a user and rash of support issues where this was specifically causing problems on a popular hosting company’s site.
This is a tough nut to crack…
You might think that Stacks should simply honor the name you type in. On the surface, that seems like the expected behavior.
However, that’s not the case. Web servers are very diverse and have myriad rules for file names: disallowed characters, symbols, length, etc. And Stacks users are mostly unaware of these rules – and happy to stay unaware.
Stacks (and RapidWeaver in general) does many things with file names, page names, etc. to ensure that the exported content fits these rules. Users are free to enter (nearly) anything they like in the name fields and RapidWeaver and Stacks take care of the details.
I think probably the best way forward would be to allow for a specific preference that expert users could enable that turns off some of the nanny-hand-holding features and allows the user more direct bare-metal control over their filenames. I will try to work this into a future release.
I’ve filed a bug for this on our bug tracker – you can follow along there to see when we add this in – and add any detail that I might have missed.