Manifest Schema Definitions
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 45/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Quiet
- Tech stack
- json
- Domain
- documentation
Research direction
No repository file, test, or entry point is named; start by locating where manifest documentation or schema assets belong in this repository. Review the proposed plugin and theme schemas, then confirm with maintainers whether they should be added here or submitted to JSON Schema Store; done requires an agreed location and validated manifest definitions.
Written by the indexing model from the issue text.
Description
I created json-schema definitions following the Obsidian Docs - Manifest page.
Schema Defintions
Obsidian Plugin Manifest Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Obsidian Theme Manifest",
"description": "Schema for Obsidian theme manifest.json files",
"type": "object",
"required": ["name", "version", "minAppVersion", "author"],
"properties": {
"name": {
"type": "string",
"description": "Display name of the theme as shown in the UI",
"minLength": 1
},
"version": {
"type": "string",
"description": "Current version of the theme following semantic versioning",
"pattern": "^\\d+\\.\\d+\\.\\d+$"
},
"minAppVersion": {
"type": "string",
"description": "Minimum Obsidian version required for this theme",
"pattern": "^\\d+\\.\\d+\\.\\d+$"
},
"author": {
"type": "string",
"description": "Name of the theme author or organization",
"minLength": 1
},
"authorUrl": {
"type": "string",
"description": "URL to the author's website or profile",
"format": "uri"
},
"fundingUrl": {
"oneOf": [
{
"type": "string",
"description": "Single funding URL",
"format": "uri"
},
{
"type": "object",
"description": "Multiple funding options with display names",
"patternProperties": {
"^.+$": {
"type": "string",
"format": "uri"
}
},
"additionalProperties": false
}
]
},
"modes": {
"type": "array",
"description": "Supported color modes for the theme",
"items": {
"type": "string",
"enum": ["light", "dark"]
},
"uniqueItems": true,
"minItems": 1
}
},
"additionalProperties": false
Obsidian Theme Manifest Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Obsidian Plugin Manifest",
"description": "Schema for Obsidian plugin manifest.json files",
"type": "object",
"required": [
"id",
"name",
"version",
"minAppVersion",
"description",
"author"
],
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the plugin. Must be unique across all plugins.",
"pattern": "^[a-z0-9-]+$"
},
"name": {
"type": "string",
"description": "Display name of the plugin as shown in the UI",
"minLength": 1
},
"version": {
"type": "string",
"description": "Current version of the plugin following semantic versioning",
"pattern": "^\\d+\\.\\d+\\.\\d+$"
},
"minAppVersion": {
"type": "string",
"description": "Minimum Obsidian version required to run this plugin",
"pattern": "^\\d+\\.\\d+\\.\\d+$"
},
"description": {
"type": "string",
"description": "Brief description of what the plugin does",
"minLength": 1
},
"author": {
"type": "string",
"description": "Name of the plugin author or organization",
"minLength": 1
},
"authorUrl": {
"type": "string",
"description": "URL to the author's website or profile",
"format": "uri"
},
"fundingUrl": {
"oneOf": [
{
"type": "string",
"description": "Single funding URL",
"format": "uri"
},
{
"type": "object",
"description": "Multiple funding options with display names",
"patternProperties": {
"^.+$": {
"type": "string",
"format": "uri"
}
},
"additionalProperties": false
}
]
},
"isDesktopOnly": {
"type": "boolean",
"description": "Whether the plugin only works on desktop (not mobile)",
"default": false
}
},
"additionalProperties": false
}
Preview
If configured properly in your code editor, you can get validation and definitions to show:
Next Steps
- Would you like me to submit them to a project like JSON Schema Store
- Do you want them uploaded here to the obsidian-developer-docs repo?
- Dominant language
- JavaScript
- Stars
- 532
- Forks
- 173
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 2
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from obsidianmd/obsidian-developer-docs
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
obsidianmd/obsidian-developer-docs#265 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
obsidianmd/obsidian-developer-docs#262 · 1 comment ·
-
Difficulty 1/5 1-3 hours Newbie friendliness 85/100
obsidianmd/obsidian-developer-docs#252 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
obsidianmd/obsidian-developer-docs#242 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
All issues in obsidianmd/obsidian-developer-docs
Similar issues
-
enhancement javascript python
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
jlab-sensing/ENTS-backend#851 ·
Maintainers usually reply within 2 days
-
Difficulty 1/5 1-3 hours Newbie friendliness 86/100
guilhermerodz/input-otp#157 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
davidjerleke/embla-carousel#1414 ·
Maintainers usually reply within 4 days
-
0. Needs triage bug
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day