This directory stores all uploaded widget HTML files for the HomeGlow app.
- When you upload a widget via the Admin Panel, the HTML file is saved here.
- Each widget is a self-contained HTML file (with optional CSS/JS) that will be rendered in a sandboxed iframe in the app.
- The widget registry (
../widgets_registry.json) keeps track of all uploaded widgets.
- Only HTML files are allowed.
- Widgets are rendered in sandboxed iframes for isolation and security.
- You can manually add or remove HTML files here, but it is recommended to use the Admin Panel for consistency.
- If you manually remove a file, also update
widgets_registry.jsonto avoid broken entries.
// WIDGET_DEVELOPMENT_GUIDE.md Reference the widgets readme on the main HomeGlow git repository
Do not delete this README.
Every widget here carries an embedded manifest so HomeGlow can identify and describe it:
<script type="application/json" id="homeglow-manifest">
{
"manifestVersion": 1,
"id": "guest-wifi",
"name": "Guest Wi-Fi",
"description": "One or two sentences on what the widget does and what it needs."
}
</script>idis a lowercase slug (a-z,0-9, hyphens) and must be unique across every plugin in this repo. HomeGlow stores it as the plugin's identity, so a collision is rejected at install time.descriptionis optional and capped at 300 characters. It renders as the subtitle on the plugin card in the Admin Panel.namereplaces the filename-derived label in the plugin list.
The block is plain JSON in a non-executing <script> tag, so it is inert in the
browser and ignored by HomeGlow versions that predate manifest support.