SilverBullet+ Idea: “meta” space

I’ve started to use SB+ as my default way to edit markdown basically anywhere. This means I now have a ton of spaces rather than just one as in the past. What is kind of annoying is that I have to copy my config and collection of libraries into all these spaces, which is polluting them somewhat.

To solve this I was thinking of introducing a kind of “configuration” space. A meta space if you will, that is automatically overlayed (similar to the standard library) on top of the file system in all your other spaces.

You could use this to create a CONFIG and to keep all your generally useful libraries and they’d just “magically” be installed and active anywhere.

Thoughts?

Another great idea Zef.

A couple questions based on my current use case and I apologize in advance if they are elementary:

  • For confirmation: When a page or library exists in both the meta space and the local space, which wins?
  • Will the meta space have to sync the same way all other spaces are synced or will be a special thing?
  • Will we be able to have multiple meta spaces or designate libraries for a specific type of space or spaces? (I know the point is to simplify but I use a personal space and work space and would like to maybe have one meta space for each space or specific things in the meta space just for my work space.

I’d imagine the order to be:

  1. Physical files in the space, if it’s not there
  2. Meta space files (mounted as read only), if it’s not there
  3. Built in libraries (Library/Std mounted as read only)

(2) would be new.

I’d say it’s a space like any other so with its own sync configuration

Do you have multiple such spaces? Because for per space config you’d still use the space itself. This would be to avoid having basically the same thing configured in all your spaces. I could imagine being able to assign a meta space at a per space level, but this may get too complicated.

This sounds like a great system. I have a single space right now, but I would love to break it down into smaller more focused spaces.

To be clear: SilverBullet+ (not SB itself) already supports multiple spaces, so you can already do this now. The only new feature here is the ability to share configs and libraries between them more efficiently.

This feature now landed in SB+ btw, but it's a Pro tier gated feature for now.

I wasn't clear, but you were! I want to share some snippets and configuration between my work space and my personal space. This makes sense as a Pro level feature.

I have one space but have segmented it into 'areas'.

Each md file begins with area name eg 'work/pagename' or 'work/YYYY-MM-DD' for area specific journal.

Each area has its own page eg. work, personal, sport etc.
Each area page has 'area aware' lua queries which cover journals, tasks, projects, favourites, page list and documents specific to the area

Globally, ie. across all areas, I have a page called 'index' which has lua queries that retrieve across all areas and sort by area for journals, tasks, projects, favourites, page list and documents.

I added slash templates that insert queries such as

  • Area Favourites

  • Area Documents

  • Area Journals

  • Area PageList

  • Area Projects

  • Area Tasks

  • Global Favourites

  • Global Documents

  • Global Journals

  • Global PageList

  • Global Projects

  • Global Tasks

also added commands to

  • create Area Journal
  • create Area Project

I've been using for 6 months now and having global access as well as area specific access is working well for me.

I'd be happy to create a working example space for anyone who would like this structure.

Cheers