Sharing layouts
A finished layout is a zip that anyone can install like any other plugin.
Package it#
- Bump
versioninplugin.jsonfor every update, so Sail can offer it to people who have the old one. - Add a
preview.pngand pointlayout.previewat it. Library Layouts doesn't show it yet, but it's handy for your Sail Hub page too. - Zip the folder itself, so the zip holds
my-layout/plugin.json. - Test the zip with Import Plugin in the Plugin Manager, with developer mode off.
Put it on Sail Hub#
Upload the zip to Sail Hub as a plugin, with a screenshot. The upload form shows your layout's requirements from plugin.json; Library Layouts should already be there. When someone installs it, Sail runs the same checks, offers Library Layouts if they don't have it (thanks to your requires entry), and adds your layout to the Layout list in Library Layouts' settings.
Keep it working#
- Use the region names and listed ids rather than other parts of Sail's markup, which can change between versions.
- Keep
contractat the version you tested with. When a newer contract comes out, Library Layouts keeps showing older layouts.
Last updated 21 October 2026