Plugin Organizer: Create groups to organize installed plugins by category. Annotate groups and plugins. Export groups to other vaults. Share plugins, groups, and annotations

Table of Contents

  • Notes
  • Scope
    • Target Interface
    • Plugin Context
  • Requested Feature List
    • Core Features
    • Potential Features
  • Requested Feature Examples
    • Example 1: Community Plugins List
    • Example 2: Installed Plugins List
    • Example 3: “Plugin Organizer” Settings: Groups and Plugins
    • Example 4: “Plugin Organizer” Settings: Popup Window
  • Appendices
  • Appendix A: Credits
  • Appendix B: Development Things I Can Do
  • Appendix C: List of Plugin Management Plugins

Notes

  • My mental model for a group is that they are like folders and sub-folders that hold plugins.
  • The image examples were made with MS Paint and Word. They are meant to convey a general idea and are not specifications.

Scope

Target Interface

Obsidian > Settings > Community Plugins List, Installed Plugins List

Plugin Context

Requested Feature List

Core Features

  • Organize plugins in the settings menu using custom groups.
    • Assign groups to plugins; remove plugins from group.
    • View ungrouped plugins.
    • Add plugins to more than one group.
    • Sort plugins within a group in custom order.
  • Organize plugins in the settings menu using annotations.
    • Annotate individual plugins.
    • View, edit, toggle, and delete plugin annotations.
    • Annotate groups with a description.
    • View, edit, toggle, and delete group annotations.
  • Manage groups in the settings menu.
    • Create group.
    • View groups.
    • Search groups.
    • Edit groups.
    • Delete groups.
    • Sort groups into a custom order.
    • Assign groups to other groups as a sub-group.
    • Format and style groups.
      • Choose basic default display style via interface – font size, color, bold, italic.
      • Choose advanced default display style via CSS.
      • Customize display style of individual groups.
      • Reset custom styling: individually, bulk, all.
  • View the community plugin list and the installed plugin list in the settings menu by groups.
    • Sort plugins by alphabetical order (like Obsidian default), alphabetical groups, or custom group order.
    • Choose to display group annotations below the group name in the community plugin list or the installed plugin list (default: off).
  • Search installed plugins or groups in the community plugin list from a search box above the list.
  • Pin and unpin groups to the top of the list, ignoring sort order.
    • Unpin groups from within the list interface. Click the pin icon once to unlock the pin, then click it again to unpin.
      • Toggle setting: Unpin groups from within the list interface. Turning this off means that pinned groups can only be unpinned in settings, to prevent accidental unpinning.
    • Toggle setting: Display pinned group labels. Turning this off allows you to display individual plugins at the top of the plugin lists.
  • Save, re-use, and share groups with other vaults and users.
    • Export group data:
      • As a csv file
        • with or without configuration data
        • with or without group annotations
        • with or without plugin annotations
      • As a text file with a human-readable formatted list
        • With or without configuration data
        • With or without group annotations
        • With or without plugin annotations
    • Import group data:
      • From a plugin-generated csv file
      • From a user-generated csv file
      • From a text-based file with a formatted list
  • Allow other plugins to access, manipulate, and display groups.
    • Make groups and data accessible to themes and other plugins, such as plugin managers.

Feature List: Potential

  • Enable, disable, reload, or update plugins by group.
  • Mark plugins or groups in the settings menu with indicator icons.
    • Default icon set: shapes with color options

      • Add compatibility with icon management plugins to extend icon options.
    • Display indicator icons next to an individual plugin or group.

      • Define indicators.
      • Add a description to indicators.
    • Sort plugins by indicator.

      • Define indicator sort order.
    • Enable, disable, reload, or update plugins by indicator status.

Requested Feature Examples

Example 1: Community Plugins List

Example 2: Installed Plugins List

Example 3: “Plugin Organizer” Settings: Groups and Plugins

Example 4: “Plugin Organizer” Settings: Popup Window

Appendices

Appendix A: Credits

Source material for screenshots and general interface structure ideas:

Plugin Groups by Mocca101 (unmaintained) A plugin for loading, enabling, and disabling plugins by group.

Appendix B: Development Things I Can Do

  • Documentation: writing, taking screenshots, etc.
  • Find example plugins for a given feature.
  • Write more detailed specifications for a given feature.
  • Beta test plugin and provide feedback.

Appendix C: Plugin Management Plugins

Plugin Name Plugin Author Plugin Description Plugin Link
Plugins Annotations Andrea Alberti Allows adding personal comments to each installed plugin. GitHub - alberti42/obsidian-plugins-annotations: Obsidian plugin that allows adding personal comments to each installed plugin.
BRAT TfTHacker Easily install a beta version of a plugin for testing. GitHub - TfTHacker/obsidian42-brat: BRAT - Beta Reviewer's Auto-update Tool for Obsidian.
VARE 4Source Now you can easily manage your plugins and themes. Simply select the version you want or install unlisted versions from GitHub. You can also install beta version and switch back if necessary. GitHub - 4Source/vare-obsidian-plugin: This is a plugin for Obsidian (https://obsidian.md). Allows you to easily manage your plugins and themes inside Obsidian.
Plugins Galore dylanpizzo Easily sideload other plugins. GitHub - plugins-galore/obsidian-plugins-galore: This is an Obsidian plugin to allow easily sideloading other plugins.
Plugin Groups Mocca101 Manage your Plugins with groups: Enable & disable multiple plugins at once or delay their startup to speed up your Obsidian start up time. GitHub - Mocca101/obsidian-plugin-groups: A plugin that allows you to easily group and manage your other plugins in Obsidian.
Plugin Manager ohm-en Extend plugin management. GitHub - ohm-en/obsidian-plugin-manager: Allows better management of Obsidian.md plugins.
Lazy Plugin Loader Alan Grainger Load plugins with a delay on startup, so that you can get your app startup down into the sub-second loading time. GitHub - alangrainger/obsidian-lazy-plugins: Load plugins with a delay on Obsidian startup, so that you can get your app startup down into the sub-second loading time.
Plugin Reloader Benature Manually reload plugins. GitHub - Benature/obsidian-plugin-reloader: manual reload plugins
Open Plugin Settings Mara-Li Create a command to open a specified plugin settings. GitHub - Mara-Li/obsidian-open-settings: Create a command that open the settings tabs of a registered plugin (because I was bored to open the parameters).
Hotkey Helper PJ Eby Easily see and access any plugin’s settings or hotkey assignments (and conflicts) from the Community Plugins tab. GitHub - pjeby/hotkey-helper: Easily see and access any Obsidian plugin's options pane or hotkey assignments (including conflicts) from the Community Plugins tab
Share my plugin list Benature Share the enabled plugins in list/table format. GitHub - Benature/obsidian-share-my-plugin-list: Share the obsidian plugins that is using currently
Obsimian Exporter Oliver Lade Simulation framework for testing Obsidian plugins. GitHub - motif-software/obsimian: Obsidian simulation framework for testing Obsidian plugins.
Divide & Conquer pseudometa Commands for bulk enabling/disabling of plugins. Useful for debugging when you have many plugins. GitHub - chrisgrieser/obsidian-divide-and-conquer: An Obsidian plugin that provides commands for bulk enabling/disabling of plugins. Useful for debugging when you have many plugins.
Plugin Update Tracker Steven Swartz Know when installed plugins have updates and evaluate the risk of upgrading. GitHub - swar8080/obsidian-plugin-update-tracker: Know when installed obsidian plugins have updates and evaluate the risk of upgrading
HelpMate TfTHacker Add a sidebar view to see help sites for the plugins and themes you have installed. GitHub - TfTHacker/obsidian42-HelpMate: HelpMate for Obsidian - providing help and documentation from within Obsidian
2 Likes

I am having related thoughts on the topic of how to better organize plugins and this is an impressive proposal and seemingly large in scope.

I would suggest much of the end goals could be accomplished by keeping structured notes about installed plugins within obsidian marked up with properties and tags to then group and organize in Obsidian just like any other note rather than build a very heavy bespoke interface with isolated preferences database and that would be a lot of work to replicate features already in the base application.

Whereas a plug in to help generate and upkeep one’s own personal plugin notes collection could potentially be implemented with very little ui surface area and therefore be faster to build and start using.

Managing plugins metadata as notes also makes possible to then collaborate on a shared vault of plugin notes as a community, if a common structured properties format could be established for community plugin notes.