Use case or problem
In Obsidian, a powerful markdown-based knowledge management tool, users often deal with large collections of notes organized across folders and subfolders. However, the current sorting options in the file browser and internal links pane are limited to alphabetical order by filename and last modified time. This can make it challenging for users to sort their notes according to custom criteria such as note content, tags, creation date, priority level, or any other metadata.
For instance, a user who structures their vault around projects may wish to sort notes based on project phase or task priority, while a researcher might want to arrange their notes by topic relevance or logical sequence within their research framework.
Proposed solution
Introduce a customizable sorting feature into Obsidian that allows users to define their own sorting rules:
- Custom Fields Sorting: Enable users to choose from a variety of fields to sort notes by, including but not limited to creation date, tags, metadata fields extracted from YAML front matter, or even content analysis.
- Sorting Rule Editor: Implement a settings interface where users can create and edit custom sorting rules. These rules could involve specifying conditions or patterns that determine the sort order, akin to defining a set of ‘rules’ or ‘weights’.
- Cross-folder Sorting: Extend the custom sorting capability to span across multiple folders, allowing for a unified view sorted by user-defined criteria.
- Persistence: Save the user’s custom sorting configuration so that it persists across application sessions.
- Plugin Support: If core implementation is complex, consider adding API support to allow community developers to build plugins that facilitate custom sorting.
Current workaround (optional)
Currently, users might manually rename files to achieve a semblance of custom ordering, or they could rely on external tools or scripts to manipulate the file system directly. However, these methods are cumbersome and don’t integrate seamlessly with Obsidian’s workflow.