Once upon a time, when I was young and naive, I assumed the only thing you'd ever want to keep in your SilverBullet is markdown files. So, I decided: names == file path + ".md".
Simple enough!
But then came the urge to also put images in notes, and to embed them. Initially this was still fine, you'd use  and life was fine, there was no ambiguety here, really, you'd never want to include a page as an image.
Then came transclusions: ![[something]]. Now things started to get really tricky. Was something always a page, or could it also be a document (non-page file)? For something we could still assume it's a page, but what about something.else? Well, now we assume it's a document, so — tough cookies.
As of a few weeks ago, we now have SilverBullet+, a desktop app. Now that it's here, I realized that SB is actually by far nicest tool to open any set of markdown files. And it the current AI age, markdown is dominating. A lot of us are (I am anyway) spending a lot of time looking at or reviewing and editing .md files now. This is a great opportunity for SB I think, but it does mean that SilverBullet needs to be able to play nicely with content coming from "foreign" tools, that don't necessarily like to play by SilverBullet "no dots in the name" rules.
Case in point: I have a folder with files with names like something.template.md and I cannot open them in SilverBullet ![]()
So, how to resolve this? The best idea I've been able to come up with is this:
If a name contains a . it is assumed to be a page name unless it the suffix of a whitelist of file extensions. This whitelist of file extensions would be configurable via config, but would default to things like jpg, jpeg, png, pdf, excalidraw, mov, mpeg etc.
So [[my.template]] would resolve to my.template.md unless template is in this file extension whitelist, and my.jpg would resolve to the my.jpg document.
Thoughts? Other ideas?