Problem
The current library structure requires every book to belong to a specific game system folder (library/books/<System Name>/). This works well for system-specific content but breaks down in two common cases:
- System-agnostic books — Reference material, zines, art books, or rulesets like Ironsworn, Maze Rats, or Mothership that don't cleanly belong to a single system category.
- Cross-system books — Books that are relevant to multiple systems, such as Ironsworn (which is its own system but also PbtA), third-party supplements compatible with multiple systems, or genre supplements (e.g. a horror supplement usable with CoC, Delta Green, or Mothership).
Proposed Solutions
These aren't mutually exclusive — one or more could be implemented together:
Option A: Reserved system-agnostic folder
A special folder like library/books/_System Agnostic/ or library/books/Generic/ that Grimoire treats differently — bypassing the normal system-based categorization and displaying these books in their own top-level section.
Option B: Tag-based cross-system grouping
Allow books or systems to be tagged with shared identifiers (e.g. powered-by-the-apocalypse, osr, d100) and surface a tag-browsing view that cuts across system boundaries. Tags already exist on books and systems — this would be a display/navigation extension.
Option C: Manual multi-system assignment via metadata editor
Allow a book to be associated with more than one game system through the metadata editor, so it appears under each system's book list without duplicating the file.
Option D: Subfolder-based grouping
Allow subfolders within a game system folder to be shared across systems via a config or symlink mechanism, so a "PbtA Supplements" subfolder can appear under multiple systems.
Desired Behavior
- System-agnostic books should be browsable and searchable without being shoehorned into an existing system.
- Cross-system books should be discoverable from each relevant system's page.
- The solution should not require duplicating PDF files on disk.
- Ideally the solution works with the existing folder-mount approach (no extra config files required for basic use).
Related
- Existing tag support on
Book and GameSystem models could be leveraged for Option B.
- The
BookFolder model and its tagging system could potentially be extended for cross-system grouping.
Problem
The current library structure requires every book to belong to a specific game system folder (
library/books/<System Name>/). This works well for system-specific content but breaks down in two common cases:Proposed Solutions
These aren't mutually exclusive — one or more could be implemented together:
Option A: Reserved system-agnostic folder
A special folder like
library/books/_System Agnostic/orlibrary/books/Generic/that Grimoire treats differently — bypassing the normal system-based categorization and displaying these books in their own top-level section.Option B: Tag-based cross-system grouping
Allow books or systems to be tagged with shared identifiers (e.g.
powered-by-the-apocalypse,osr,d100) and surface a tag-browsing view that cuts across system boundaries. Tags already exist on books and systems — this would be a display/navigation extension.Option C: Manual multi-system assignment via metadata editor
Allow a book to be associated with more than one game system through the metadata editor, so it appears under each system's book list without duplicating the file.
Option D: Subfolder-based grouping
Allow subfolders within a game system folder to be shared across systems via a config or symlink mechanism, so a "PbtA Supplements" subfolder can appear under multiple systems.
Desired Behavior
Related
BookandGameSystemmodels could be leveraged for Option B.BookFoldermodel and its tagging system could potentially be extended for cross-system grouping.