Files
antigravity-skills-reference/skills/obsidian-clipper-template-creator/references/json-schema.md

72 lines
2.2 KiB
Markdown

# Obsidian Web Clipper JSON Schema
The Obsidian Web Clipper imports templates via JSON files.
## Root Structure
```json
{
"schemaVersion": "0.1.0",
"name": "Template Name",
"behavior": "create",
"noteContentFormat": "Markdown content here...",
"properties": [],
"triggers": [],
"noteNameFormat": "{{title}}",
"path": "Inbox/"
}
```
### Fields
* **`schemaVersion`**: Always "0.1.0".
* **`name`**: The display name of the template in the Clipper.
* **`behavior`**: How the note is created.
* `create`: Create a new note.
* `append-specific`: Append to a specific note (requires `path` to be a full file path).
* `append-daily`: Append to the daily note.
* **`noteContentFormat`**: The body of the note.
* Use `\n` for newlines.
* Can use all variables (e.g., `{{content}}`, `{{selection}}`).
* **`noteNameFormat`**: The filename pattern (e.g., `{{date}} - {{title}}`).
* **`path`**: The location to save the note.
* For `create` behavior: The *folder* to save the note in (e.g., `Clippings/` or `Recipes/`).
* For `append-specific` behavior: The *full file path* of the note to append to (e.g., `Databases/Recipes.md`).
* **`triggers`**: Array of strings to automatically select this template.
* **URL Patterns**: `["https://www.youtube.com/watch"]` (Simple string or Regex).
* **Schema Types**: `["schema:Recipe"]` (Triggers if the page contains this Schema.org type).
## Properties
The `properties` array defines the YAML frontmatter of the note.
```json
"properties": [
{
"name": "category",
"value": "Recipes",
"type": "text"
},
{
"name": "published",
"value": "{{published}}",
"type": "datetime"
}
]
```
### Property Types
* **`text`**: Simple text string.
* **`multitext`**: List of text strings (for tags/aliases).
* **`number`**: Numeric value.
* **`checkbox`**: Boolean true/false.
* **`date`**: Date string (YYYY-MM-DD).
* **`datetime`**: Date and time string.
### Property Object Structure
* **`name`**: The key in the YAML frontmatter.
* **`value`**: The value to populate. Can contain variables.
* **`type`**: One of the types listed above.