Welcome to the community-provided documentation of the [[Obsidian API]].
If this is your first time learning about plugin development for Obsidian, it is recommended that you browse the Sample Plugin which demonstrates how to layout your project and get a basic plugin running. Additionally, the Sample Plugin can be used as a template to get your project started.
You can find useful resources for creating plugins in awesome-obsidian repository.
The following sections detail specific aspects of writing a plugin for Obsidian. Please note that the ultimate source of truth for the API is the obsidian-api repo and it is possible these guides will be outdated. Please file an issue if you notice an inaccuracy.
- Plugin - The root class of all Obsidian plugins
- Data - Storing and retrieving plugin data
- Settings - Allow users to customize a plugin by changing options
- Vault - Read and write files in the users Vault
- View - Create custom panes in Obsidian with an HTML content
This is not an exhaustive list of the Obsidian API functionality. Please contribute to this guide if you have experience in a topic which has not yet been covered!