Documentation
Guides for users and developers of Midori Marketplace.
For Users
Install a Theme
- Browse the Marketplace and filter by "Themes".
- Click on the theme you like to preview it.
- Click "Install" to apply it to your new tab.
- The theme will be applied automatically. Open a new tab to see the changes.
Install a Wallpaper
- Browse the Marketplace and filter by "Wallpapers".
- Click on a wallpaper to see a full preview.
- Click "Install" to set it as your new tab background.
- Open a new tab to enjoy your new wallpaper.
Install a Widget
- Browse the Marketplace and filter by "Widgets".
- Click on a widget to preview its functionality.
- Click "Install" to add it to your new tab.
- The widget will appear on your new tab. You can reposition or remove it from settings.
Install an Animation
- Browse the Marketplace and filter by "Animations".
- Click on an animation to see it in action.
- Click "Install" to enable the animation on your new tab.
Manage Your Extensions
- You can view and manage all installed extensions from your Midori new tab settings.
- To uninstall an extension, go to settings and click "Remove" next to the item.
- Extensions update automatically when a new version is published by the developer.
For Developers
Asset Contract (Schema)
Every extension published on Midori Marketplace must conform to the Midori Asset Contract. This JSON schema defines the structure of your extension metadata.
{
"schemaVersion": "1.0.0",
"kind": "midori-asset",
"type": "theme | wallpaper | widget | animation",
"id": "my-awesome-extension",
"slug": "my-awesome-extension",
"name": "My Awesome Extension",
"status": "published",
"compatibility": { ... },
"distribution": { ... },
"payload": { ... }
}
Create a Theme
- Define a JSON file with type "theme" following the Asset Contract schema.
- Set your color palette in the payload: primary, secondary, background, and accent colors.
- Include a preview screenshot (1280×800 recommended) for the Marketplace listing.
- Validate your contract using the provided validator tool.
- Submit it through the Marketplace for review.
Create a Wallpaper
- Prepare a high-quality image (minimum 1920×1080, JPEG or WebP recommended).
- Create a JSON contract with type "wallpaper" and reference your image in the payload.
- Include a thumbnail for the Marketplace preview.
- Validate your contract and ensure file sizes are within limits.
- Submit it through the Marketplace for review.
Create a Widget
- Define a JSON contract with type "widget" following the Asset Contract schema.
- Implement your widget HTML/CSS/JS inside the payload section.
- Widgets run in a sandboxed environment. Only the approved APIs are available.
- Test your widget locally in a Midori Browser development build.
- Submit it through the Marketplace for review.
Create an Animation
- Create a JSON contract with type "animation" following the Asset Contract schema.
- Define the animation using CSS animations or lightweight JS in the payload.
- Keep animations performant — avoid heavy DOM manipulation or large asset files.
- Submit it through the Marketplace for review.
Submit to the Marketplace
- Sign in to the Marketplace with your Astian Account.
- Go to your developer dashboard and click "Submit Extension".
- Upload your Asset Contract JSON and any required assets (images, files).
- Fill in the listing details: description, tags, license, and screenshots.
- Submit for review. The Midori team will review and approve or request changes.
Submission Guidelines
- All extensions must follow the Midori Asset Contract schema (version 1.0.0).
- Extensions must not contain malicious code, trackers, or excessive permissions.
- Provide clear, accurate descriptions and high-quality preview images.
- Respect intellectual property — do not upload content you do not own or have rights to.
- Extensions that violate the guidelines will be removed and the developer account may be suspended.