diff --git a/internal/engine/injector.go b/internal/engine/injector.go index 42284c9..ed22e3b 100644 --- a/internal/engine/injector.go +++ b/internal/engine/injector.go @@ -364,42 +364,8 @@ func (i *Injector) InjectEditorScript(doc *html.Node) { return } - // Create script element that loads insertr.js from our server - scriptHTML := fmt.Sprintf(` -`, i.siteID, i.siteID) + // Create script element that loads insertr.js from our server with site configuration + scriptHTML := fmt.Sprintf(``, i.siteID) // Parse and inject the script scriptDoc, err := html.Parse(strings.NewReader(scriptHTML)) @@ -414,7 +380,7 @@ document.addEventListener('DOMContentLoaded', function() { return } - log.Printf("✅ Insertr.js library and initialization script injected") + log.Printf("✅ Insertr.js library injected with site configuration") } // injectAllScriptElements finds and injects all script elements from parsed HTML diff --git a/lib/src/index.js b/lib/src/index.js index 3311410..a7ddc97 100644 --- a/lib/src/index.js +++ b/lib/src/index.js @@ -79,7 +79,18 @@ window.Insertr = { // Auto-initialize in development mode with proper DOM ready handling function autoInitialize() { if (document.querySelector('.insertr')) { - window.Insertr.init(); + // Check for configuration from script data attributes + const insertrScript = document.querySelector('script[data-insertr-injected]'); + const config = {}; + + if (insertrScript) { + config.siteId = insertrScript.getAttribute('data-site-id') || 'demo'; + config.apiEndpoint = insertrScript.getAttribute('data-api-endpoint') || '/api/content'; + config.mockAuth = insertrScript.getAttribute('data-mock-auth') === 'true'; + config.debug = insertrScript.getAttribute('data-debug') === 'true'; + } + + window.Insertr.init(config); } } diff --git a/test-sites/demo-site/insertr.js b/test-sites/demo-site/insertr.js index fabfbc1..9f63cff 100644 --- a/test-sites/demo-site/insertr.js +++ b/test-sites/demo-site/insertr.js @@ -4104,7 +4104,18 @@ Please report this to https://github.com/markedjs/marked.`,e){let r="
An error // Auto-initialize in development mode with proper DOM ready handling function autoInitialize() { if (document.querySelector('.insertr')) { - window.Insertr.init(); + // Check for configuration from script data attributes + const insertrScript = document.querySelector('script[data-insertr-injected]'); + const config = {}; + + if (insertrScript) { + config.siteId = insertrScript.getAttribute('data-site-id') || 'demo'; + config.apiEndpoint = insertrScript.getAttribute('data-api-endpoint') || '/api/content'; + config.mockAuth = insertrScript.getAttribute('data-mock-auth') === 'true'; + config.debug = insertrScript.getAttribute('data-debug') === 'true'; + } + + window.Insertr.init(config); } }