Add unpacked extension support

Adds an extension manager that loads unpacked extensions from the user data extensions directory, persists enabled state, and injects matching content scripts on page load. The settings Plugins page now shows installed extensions, supports reload/toggle actions, and includes an example Hello Nebula extension.
This commit is contained in:
Andrew Zambazos
2026-07-12 20:21:32 +12:00
parent 487c5fc1ae
commit 924529807f
15 changed files with 861 additions and 16 deletions
+5 -1
View File
@@ -250,9 +250,13 @@
<section class="tab-panel" id="panel-plugins" role="tabpanel" aria-labelledby="tab-plugins">
<h2>Plugins</h2>
<div class="customization-group">
<p class="note" id="plugins-install-hint">
Install extensions by copying an unpacked folder into Nebula's extensions directory.
Each folder needs a <code>manifest.json</code>. Then click Reload Plugins.
</p>
<div class="button-row">
<button id="plugins-reload-all">Reload Plugins</button>
<span class="note">Changes to renderer preloads may require app restart.</span>
<span class="note">Content scripts apply on the next page load.</span>
</div>
</div>
<div class="customization-group">