refactor: implement script tag approach for library inclusion

- Add script tags to demo-site HTML files for manual development
- Disable CLI inline script injection to prevent duplicate scripts
- Add library serving endpoints to servedev command
- Update build process to auto-copy library to demo-site
- Add CDN URL helpers for future production deployment
- Update .gitignore for generated demo-site files

Fixes .insertr-gate authentication for manual npm run serve workflow
while maintaining clean separation between CLI and manual setups.
This commit is contained in:
2025-09-04 22:16:35 +02:00
parent c777fc92dd
commit ae9d8e4058
14 changed files with 68 additions and 1275 deletions

View File

@@ -2,6 +2,7 @@ package content
import (
_ "embed"
"fmt"
)
// Embedded library assets
@@ -24,3 +25,26 @@ func GetLibraryScript(minified bool) string {
func GetLibraryVersion() string {
return "1.0.0"
}
// GetLibraryURL returns the appropriate library URL for script injection
func GetLibraryURL(minified bool, isDevelopment bool) string {
if isDevelopment {
// Local development URLs - relative to served content
if minified {
return "/insertr/insertr.min.js"
}
return "/insertr/insertr.js"
}
// Production URLs - use CDN
return GetLibraryCDNURL(minified)
}
// GetLibraryCDNURL returns the CDN URL for production use
func GetLibraryCDNURL(minified bool) string {
version := GetLibraryVersion()
if minified {
return fmt.Sprintf("https://cdn.jsdelivr.net/npm/@insertr/lib@%s/dist/insertr.min.js", version)
}
return fmt.Sprintf("https://cdn.jsdelivr.net/npm/@insertr/lib@%s/dist/insertr.js", version)
}