Plugin Publishing Metadata Protocol
Plugin Publishing Metadata Protocol
After developing a Little Tree Wallpaper Next plugin, you can publish your plugin by writing a plugin metadata file. Plugin metadata uses TOML format, containing basic plugin information and download links for the Little Tree Wallpaper Next client to read and display.
1. File Structure
Each plugin metadata is a .toml file.
identifier = "example_plugin"
name = "Example Plugin"
description = "This is an example plugin"
long_description = """
This is a detailed description, supporting multiline text.
Can include feature introductions, usage instructions, etc.
"""
logo = "https://example.com/logo.png"
repository = "https://github.com/user/example-plugin"
python_url = "https://raw.githubusercontent.com/user/example-plugin/main/plugin.py"2. Field Descriptions
| Field | Required | Type | Description |
|---|---|---|---|
identifier | ✅ | string | Plugin unique ID (lowercase letters, numbers, underscores, 3-32 characters) |
name | ✅ | string | Plugin display name |
description | ❌ | string | Short description (recommended ≤100 characters) |
long_description | ❌ | string | Detailed description (supports multiline) |
logo | ❌ | string | Logo address, supports HTTPS URL or image/...;base64,... |
repository | ❌ | string | GitHub repository address (must be complete HTTPS URL) |
python_url | ✅ | string | Raw link to the plugin’s main Python file (e.g., GitHub raw link) |
Field Fallback Logic (Client Implementation):
- If
long_descriptionis not provided:
- And
repositoryis provided → Try to extract the first paragraph from the repository’sREADME.mdas detailed description (optional implementation)- Otherwise, use
description(if exists), otherwise usename- If
descriptionis not provided:
- Use the first sentence of
long_description(optional), otherwise usename- If
logois not provided → Display default plugin icon
3. Examples
Complete Example
identifier = "wallpaper_scheduler"
name = "Wallpaper Scheduler"
description = "Automatically switch wallpapers by time"
long_description = """
Support daily/weekly/custom schedule wallpaper switching,
can work with multiple wallpaper sources.
"""
logo = "https://raw.githubusercontent.com/user/wallpaper-scheduler/main/icon.png"
repository = "https://github.com/user/wallpaper-scheduler"
python_url = "https://raw.githubusercontent.com/user/wallpaper-scheduler/main/plugin.py"Minimal Example
identifier = "hello_world"
name = "Hello World"
python_url = "https://raw.githubusercontent.com/user/hello-world/main/plugin.py"In this case:
descriptionnot provided → Displaynamelong_descriptionnot provided and norepository→ Displaynamelogonot provided → Use default icon