diff --git a/COMMANDS.md b/COMMANDS.md index 64b0536..54127fe 100644 --- a/COMMANDS.md +++ b/COMMANDS.md @@ -102,7 +102,7 @@ When running `insertr serve`, the server automatically: - **Registers sites** from `insertr.yaml` configuration - **Enhances static files** with latest database content - **Auto-updates files** when content changes via API -- **Creates backups** of original files (if enabled) + **Live Enhancement Process:** 1. Content updated via API → Database updated diff --git a/README.md b/README.md index 024ad01..70ce8b1 100644 --- a/README.md +++ b/README.md @@ -458,13 +458,11 @@ server: path: "/var/www/mysite" domain: "mysite.example.com" auto_enhance: true - backup_originals: true - site_id: "blog" path: "/var/www/blog" domain: "blog.example.com" auto_enhance: true - backup_originals: true ``` ### **Quick Start** @@ -493,7 +491,6 @@ server: path: "./demo-site" domain: "localhost:3000" auto_enhance: true - backup_originals: true # API configuration (for remote content API) api: diff --git a/TODO.md b/TODO.md index 938cf42..c29143a 100644 --- a/TODO.md +++ b/TODO.md @@ -140,7 +140,7 @@ internal/ ### **Production Ready When**: - ✅ Multi-site support with proper site isolation - ✅ Authentication and authorization working -- ✅ Database migrations and backup strategy +- ✅ Database migrations strategy - ✅ CDN hosting for insertr.js library - ✅ Deployment documentation and examples diff --git a/cmd/enhance.go b/cmd/enhance.go index a793515..ac6a826 100644 --- a/cmd/enhance.go +++ b/cmd/enhance.go @@ -51,7 +51,7 @@ func runEnhance(cmd *cobra.Command, args []string) { outputDir := viper.GetString("cli.output") // Auto-derive site_id for demo paths or validate for production - if strings.Contains(inputDir, "/demos/") { + if strings.Contains(inputDir, "/demos/") || strings.Contains(inputDir, "./demos/") { // Auto-derive site_id from demo path siteID = content.DeriveOrValidateSiteID(inputDir, siteID) } else { diff --git a/cmd/restore.go b/cmd/restore.go deleted file mode 100644 index 9a641df..0000000 --- a/cmd/restore.go +++ /dev/null @@ -1,163 +0,0 @@ -package cmd - -import ( - "fmt" - "log" - "sort" - - "github.com/insertr/insertr/internal/content" - "github.com/spf13/cobra" - "github.com/spf13/viper" -) - -var ( - timestamp string - latest bool - clean bool -) - -var restoreCmd = &cobra.Command{ - Use: "restore [site-id]", - Short: "Restore a site from backup", - Long: `Restore a registered site from a timestamped backup. - -Examples: - insertr restore demo # List available backups - insertr restore demo --clean # Restore from oldest backup (cleanest) - insertr restore demo --latest # Restore from newest backup - insertr restore demo --timestamp 20250910-224704 # Restore from specific backup`, - Args: cobra.ExactArgs(1), - Run: runRestore, -} - -func init() { - restoreCmd.Flags().StringVarP(×tamp, "timestamp", "t", "", "specific backup timestamp to restore from") - restoreCmd.Flags().BoolVar(&latest, "latest", false, "restore from most recent backup") - restoreCmd.Flags().BoolVar(&clean, "clean", false, "restore from oldest backup (cleanest state)") - - // Bind flags to viper - viper.BindPFlag("restore.timestamp", restoreCmd.Flags().Lookup("timestamp")) - viper.BindPFlag("restore.latest", restoreCmd.Flags().Lookup("latest")) - viper.BindPFlag("restore.clean", restoreCmd.Flags().Lookup("clean")) -} - -func runRestore(cmd *cobra.Command, args []string) { - siteID := args[0] - - // Initialize content client (we don't actually need it for restore, but SiteManager expects it) - contentClient := content.NewMockClient() - - // Initialize site manager - siteManager := content.NewSiteManager(contentClient, "./insertr-backups", false) - - // Load sites from configuration to register them - if siteConfigs := viper.Get("server.sites"); siteConfigs != nil { - if configs, ok := siteConfigs.([]interface{}); ok { - var sites []*content.SiteConfig - for _, configInterface := range configs { - if configMap, ok := configInterface.(map[string]interface{}); ok { - site := &content.SiteConfig{} - if id, ok := configMap["site_id"].(string); ok { - site.SiteID = id - } - if path, ok := configMap["path"].(string); ok { - site.Path = path - } - if domain, ok := configMap["domain"].(string); ok { - site.Domain = domain - } - if autoEnhance, ok := configMap["auto_enhance"].(bool); ok { - site.AutoEnhance = autoEnhance - } - if backupOriginals, ok := configMap["backup_originals"].(bool); ok { - site.BackupOriginals = backupOriginals - } - sites = append(sites, site) - } - } - - if err := siteManager.RegisterSites(sites); err != nil { - log.Fatalf("Failed to register sites: %v", err) - } - } - } - - // List available backups - backups, err := siteManager.ListBackups(siteID) - if err != nil { - log.Fatalf("Failed to list backups: %v", err) - } - - if len(backups) == 0 { - fmt.Printf("❌ No backups found for site '%s'\n", siteID) - fmt.Printf("💡 Backups are created automatically during enhancement when backup_originals is enabled\n") - return - } - - // Sort backups chronologically - sort.Strings(backups) - - // Handle different restore modes - var targetTimestamp string - - if timestamp != "" { - // Specific timestamp provided - targetTimestamp = timestamp - found := false - for _, backup := range backups { - if backup == targetTimestamp { - found = true - break - } - } - if !found { - fmt.Printf("❌ Backup timestamp '%s' not found for site '%s'\n", targetTimestamp, siteID) - fmt.Printf("📋 Available backups:\n") - for i, backup := range backups { - if i == 0 { - fmt.Printf(" %s (oldest/cleanest)\n", backup) - } else if i == len(backups)-1 { - fmt.Printf(" %s (newest)\n", backup) - } else { - fmt.Printf(" %s\n", backup) - } - } - return - } - } else if clean { - // Restore from oldest backup (cleanest) - targetTimestamp = backups[0] - fmt.Printf("🧹 Restoring from oldest backup (cleanest state): %s\n", targetTimestamp) - } else if latest { - // Restore from newest backup - targetTimestamp = backups[len(backups)-1] - fmt.Printf("🔄 Restoring from newest backup: %s\n", targetTimestamp) - } else { - // No specific option - list available backups - fmt.Printf("📋 Available backups for site '%s':\n", siteID) - for i, backup := range backups { - if i == 0 { - fmt.Printf(" %s (oldest/cleanest) ← use --clean\n", backup) - } else if i == len(backups)-1 { - fmt.Printf(" %s (newest) ← use --latest\n", backup) - } else { - fmt.Printf(" %s\n", backup) - } - } - fmt.Printf("\nUsage:\n") - fmt.Printf(" insertr restore %s --clean # restore from oldest backup\n", siteID) - fmt.Printf(" insertr restore %s --latest # restore from newest backup\n", siteID) - fmt.Printf(" insertr restore %s --timestamp %s # restore from specific backup\n", siteID, backups[0]) - return - } - - // Perform restore - fmt.Printf("🔄 Restoring site '%s' from backup %s...\n", siteID, targetTimestamp) - - if err := siteManager.RestoreFromBackup(siteID, targetTimestamp); err != nil { - log.Fatalf("❌ Restore failed: %v", err) - } - - fmt.Printf("✅ Successfully restored site '%s' from backup %s\n", siteID, targetTimestamp) - fmt.Printf("💡 Site files have been restored to their state from %s\n", targetTimestamp) -} diff --git a/cmd/root.go b/cmd/root.go index 36a1dbd..7913104 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -52,7 +52,6 @@ func init() { rootCmd.AddCommand(enhanceCmd) rootCmd.AddCommand(serveCmd) - rootCmd.AddCommand(restoreCmd) } func initConfig() { diff --git a/cmd/serve.go b/cmd/serve.go index f7d2120..5935379 100644 --- a/cmd/serve.go +++ b/cmd/serve.go @@ -73,7 +73,7 @@ func runServe(cmd *cobra.Command, args []string) { contentClient := content.NewDatabaseClient(database) // Initialize site manager - siteManager := content.NewSiteManager(contentClient, "./insertr-backups", devMode) + siteManager := content.NewSiteManager(contentClient, devMode) // Load sites from configuration if siteConfigs := viper.Get("server.sites"); siteConfigs != nil { @@ -88,15 +88,15 @@ func runServe(cmd *cobra.Command, args []string) { if path, ok := configMap["path"].(string); ok { site.Path = path } + if sourcePath, ok := configMap["source_path"].(string); ok { + site.SourcePath = sourcePath + } if domain, ok := configMap["domain"].(string); ok { site.Domain = domain } if autoEnhance, ok := configMap["auto_enhance"].(bool); ok { site.AutoEnhance = autoEnhance } - if backupOriginals, ok := configMap["backup_originals"].(bool); ok { - site.BackupOriginals = backupOriginals - } if site.SiteID != "" && site.Path != "" { sites = append(sites, site) } @@ -108,6 +108,14 @@ func runServe(cmd *cobra.Command, args []string) { } } + // Auto-enhance sites if enabled + if devMode { + log.Printf("🔄 Auto-enhancing sites in development mode...") + if err := siteManager.EnhanceAllSites(); err != nil { + log.Printf("⚠️ Some sites failed to enhance: %v", err) + } + } + // Initialize handlers contentHandler := api.NewContentHandler(database, authService) contentHandler.SetSiteManager(siteManager) diff --git a/test-sites/README.md b/demos/README.md similarity index 100% rename from test-sites/README.md rename to demos/README.md diff --git a/test-sites/TESTING-REPORT.md b/demos/TESTING-REPORT.md similarity index 98% rename from test-sites/TESTING-REPORT.md rename to demos/TESTING-REPORT.md index 3a3a337..585c34b 100644 --- a/test-sites/TESTING-REPORT.md +++ b/demos/TESTING-REPORT.md @@ -8,7 +8,7 @@ Successfully established a comprehensive testing infrastructure for insertr CMS ### ✅ Directory Structure ``` -test-sites/ +demos/ ├── simple/ # Simple vanilla CSS sites │ └── dan-eden-portfolio/ # ✅ COMPLETE ├── framework-based/ # CSS framework sites @@ -59,7 +59,7 @@ test-sites/ ### ✅ Developer Experience - Simple enhancement workflow: download → add classes → enhance → serve -- Automatic backup of originals + - Clear feedback on enhancement results ## Comparison with Demo Site @@ -126,7 +126,7 @@ just demo dan-eden just list-demos # Test demo infrastructure -node test-sites/scripts/test-demo.js +node demos/scripts/test-demo.js ``` ### **Demo Sites Available** diff --git a/test-sites/simple/dan-eden-portfolio/README.md b/demos/dan-eden-portfolio/README.md similarity index 100% rename from test-sites/simple/dan-eden-portfolio/README.md rename to demos/dan-eden-portfolio/README.md diff --git a/test-sites/simple/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2FiPhone14Pro.2e2e287c.png&w=1920&q=75 b/demos/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2FiPhone14Pro.2e2e287c.png&w=1920&q=75 similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2FiPhone14Pro.2e2e287c.png&w=1920&q=75 rename to demos/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2FiPhone14Pro.2e2e287c.png&w=1920&q=75 diff --git a/test-sites/simple/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2FiPhone14Pro.2e2e287c.png&w=3840&q=75 b/demos/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2FiPhone14Pro.2e2e287c.png&w=3840&q=75 similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2FiPhone14Pro.2e2e287c.png&w=3840&q=75 rename to demos/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2FiPhone14Pro.2e2e287c.png&w=3840&q=75 diff --git a/test-sites/simple/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwwcg.c58b0775.png&w=1080&q=75 b/demos/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwwcg.c58b0775.png&w=1080&q=75 similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwwcg.c58b0775.png&w=1080&q=75 rename to demos/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwwcg.c58b0775.png&w=1080&q=75 diff --git a/test-sites/simple/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwwcg.c58b0775.png&w=1200&q=75 b/demos/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwwcg.c58b0775.png&w=1200&q=75 similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwwcg.c58b0775.png&w=1200&q=75 rename to demos/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwwcg.c58b0775.png&w=1200&q=75 diff --git a/test-sites/simple/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwwcg.c58b0775.png&w=1920&q=75 b/demos/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwwcg.c58b0775.png&w=1920&q=75 similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwwcg.c58b0775.png&w=1920&q=75 rename to demos/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwwcg.c58b0775.png&w=1920&q=75 diff --git a/test-sites/simple/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwwcg.c58b0775.png&w=2048&q=75 b/demos/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwwcg.c58b0775.png&w=2048&q=75 similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwwcg.c58b0775.png&w=2048&q=75 rename to demos/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwwcg.c58b0775.png&w=2048&q=75 diff --git a/test-sites/simple/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwwcg.c58b0775.png&w=3840&q=75 b/demos/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwwcg.c58b0775.png&w=3840&q=75 similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwwcg.c58b0775.png&w=3840&q=75 rename to demos/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwwcg.c58b0775.png&w=3840&q=75 diff --git a/test-sites/simple/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwwcg.c58b0775.png&w=640&q=75 b/demos/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwwcg.c58b0775.png&w=640&q=75 similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwwcg.c58b0775.png&w=640&q=75 rename to demos/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwwcg.c58b0775.png&w=640&q=75 diff --git a/test-sites/simple/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwwcg.c58b0775.png&w=750&q=75 b/demos/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwwcg.c58b0775.png&w=750&q=75 similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwwcg.c58b0775.png&w=750&q=75 rename to demos/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwwcg.c58b0775.png&w=750&q=75 diff --git a/test-sites/simple/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwwcg.c58b0775.png&w=828&q=75 b/demos/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwwcg.c58b0775.png&w=828&q=75 similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwwcg.c58b0775.png&w=828&q=75 rename to demos/dan-eden-portfolio/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwwcg.c58b0775.png&w=828&q=75 diff --git a/test-sites/simple/dan-eden-portfolio/_next/static/chunks/1684-a44b401693ab40f8.js b/demos/dan-eden-portfolio/_next/static/chunks/1684-a44b401693ab40f8.js similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/static/chunks/1684-a44b401693ab40f8.js rename to demos/dan-eden-portfolio/_next/static/chunks/1684-a44b401693ab40f8.js diff --git a/test-sites/simple/dan-eden-portfolio/_next/static/chunks/3063-d6902bcadb62bc6b.js b/demos/dan-eden-portfolio/_next/static/chunks/3063-d6902bcadb62bc6b.js similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/static/chunks/3063-d6902bcadb62bc6b.js rename to demos/dan-eden-portfolio/_next/static/chunks/3063-d6902bcadb62bc6b.js diff --git a/test-sites/simple/dan-eden-portfolio/_next/static/chunks/4bd1b696-fa189db128b65c7f.js b/demos/dan-eden-portfolio/_next/static/chunks/4bd1b696-fa189db128b65c7f.js similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/static/chunks/4bd1b696-fa189db128b65c7f.js rename to demos/dan-eden-portfolio/_next/static/chunks/4bd1b696-fa189db128b65c7f.js diff --git a/test-sites/simple/dan-eden-portfolio/_next/static/chunks/6874-7d39c31ca2a43f2f.js b/demos/dan-eden-portfolio/_next/static/chunks/6874-7d39c31ca2a43f2f.js similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/static/chunks/6874-7d39c31ca2a43f2f.js rename to demos/dan-eden-portfolio/_next/static/chunks/6874-7d39c31ca2a43f2f.js diff --git a/test-sites/simple/dan-eden-portfolio/_next/static/chunks/a4634e51-42b5781b7cf76d46.js b/demos/dan-eden-portfolio/_next/static/chunks/a4634e51-42b5781b7cf76d46.js similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/static/chunks/a4634e51-42b5781b7cf76d46.js rename to demos/dan-eden-portfolio/_next/static/chunks/a4634e51-42b5781b7cf76d46.js diff --git a/test-sites/simple/dan-eden-portfolio/_next/static/chunks/app/(branches)/layout-8cabafb046332f19.js b/demos/dan-eden-portfolio/_next/static/chunks/app/(branches)/layout-8cabafb046332f19.js similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/static/chunks/app/(branches)/layout-8cabafb046332f19.js rename to demos/dan-eden-portfolio/_next/static/chunks/app/(branches)/layout-8cabafb046332f19.js diff --git a/test-sites/simple/dan-eden-portfolio/_next/static/chunks/app/(root)/page-9ee6d4f008e0b88d.js b/demos/dan-eden-portfolio/_next/static/chunks/app/(root)/page-9ee6d4f008e0b88d.js similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/static/chunks/app/(root)/page-9ee6d4f008e0b88d.js rename to demos/dan-eden-portfolio/_next/static/chunks/app/(root)/page-9ee6d4f008e0b88d.js diff --git a/test-sites/simple/dan-eden-portfolio/_next/static/chunks/main-app-6cb4d4205dbe6682.js b/demos/dan-eden-portfolio/_next/static/chunks/main-app-6cb4d4205dbe6682.js similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/static/chunks/main-app-6cb4d4205dbe6682.js rename to demos/dan-eden-portfolio/_next/static/chunks/main-app-6cb4d4205dbe6682.js diff --git a/test-sites/simple/dan-eden-portfolio/_next/static/chunks/polyfills-42372ed130431b0a.js b/demos/dan-eden-portfolio/_next/static/chunks/polyfills-42372ed130431b0a.js similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/static/chunks/polyfills-42372ed130431b0a.js rename to demos/dan-eden-portfolio/_next/static/chunks/polyfills-42372ed130431b0a.js diff --git a/test-sites/simple/dan-eden-portfolio/_next/static/chunks/webpack-e78be755aae834fc.js b/demos/dan-eden-portfolio/_next/static/chunks/webpack-e78be755aae834fc.js similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/static/chunks/webpack-e78be755aae834fc.js rename to demos/dan-eden-portfolio/_next/static/chunks/webpack-e78be755aae834fc.js diff --git a/test-sites/simple/dan-eden-portfolio/_next/static/css/53b634381c30ef2d.css b/demos/dan-eden-portfolio/_next/static/css/53b634381c30ef2d.css similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/static/css/53b634381c30ef2d.css rename to demos/dan-eden-portfolio/_next/static/css/53b634381c30ef2d.css diff --git a/test-sites/simple/dan-eden-portfolio/_next/static/css/e0f28746eee6ced7.css b/demos/dan-eden-portfolio/_next/static/css/e0f28746eee6ced7.css similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/static/css/e0f28746eee6ced7.css rename to demos/dan-eden-portfolio/_next/static/css/e0f28746eee6ced7.css diff --git a/test-sites/simple/dan-eden-portfolio/_next/static/media/2abeb75a5e332dc3-s.p.woff2 b/demos/dan-eden-portfolio/_next/static/media/2abeb75a5e332dc3-s.p.woff2 similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/static/media/2abeb75a5e332dc3-s.p.woff2 rename to demos/dan-eden-portfolio/_next/static/media/2abeb75a5e332dc3-s.p.woff2 diff --git a/test-sites/simple/dan-eden-portfolio/_next/static/media/35811e5ebd3eec45-s.p.woff2 b/demos/dan-eden-portfolio/_next/static/media/35811e5ebd3eec45-s.p.woff2 similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/static/media/35811e5ebd3eec45-s.p.woff2 rename to demos/dan-eden-portfolio/_next/static/media/35811e5ebd3eec45-s.p.woff2 diff --git a/test-sites/simple/dan-eden-portfolio/_next/static/media/43d09daad817983a-s.p.woff2 b/demos/dan-eden-portfolio/_next/static/media/43d09daad817983a-s.p.woff2 similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/static/media/43d09daad817983a-s.p.woff2 rename to demos/dan-eden-portfolio/_next/static/media/43d09daad817983a-s.p.woff2 diff --git a/test-sites/simple/dan-eden-portfolio/_next/static/media/45cf6616ee386f2d-s.p.woff2 b/demos/dan-eden-portfolio/_next/static/media/45cf6616ee386f2d-s.p.woff2 similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/static/media/45cf6616ee386f2d-s.p.woff2 rename to demos/dan-eden-portfolio/_next/static/media/45cf6616ee386f2d-s.p.woff2 diff --git a/test-sites/simple/dan-eden-portfolio/_next/static/media/5e542d8afa686b53-s.p.woff2 b/demos/dan-eden-portfolio/_next/static/media/5e542d8afa686b53-s.p.woff2 similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/static/media/5e542d8afa686b53-s.p.woff2 rename to demos/dan-eden-portfolio/_next/static/media/5e542d8afa686b53-s.p.woff2 diff --git a/test-sites/simple/dan-eden-portfolio/_next/static/media/6d427e2bcc2b20e6-s.p.woff2 b/demos/dan-eden-portfolio/_next/static/media/6d427e2bcc2b20e6-s.p.woff2 similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/static/media/6d427e2bcc2b20e6-s.p.woff2 rename to demos/dan-eden-portfolio/_next/static/media/6d427e2bcc2b20e6-s.p.woff2 diff --git a/test-sites/simple/dan-eden-portfolio/_next/static/media/756413f36baaf8ed-s.p.woff2 b/demos/dan-eden-portfolio/_next/static/media/756413f36baaf8ed-s.p.woff2 similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/static/media/756413f36baaf8ed-s.p.woff2 rename to demos/dan-eden-portfolio/_next/static/media/756413f36baaf8ed-s.p.woff2 diff --git a/test-sites/simple/dan-eden-portfolio/_next/static/media/9bee477df93eed36-s.p.woff2 b/demos/dan-eden-portfolio/_next/static/media/9bee477df93eed36-s.p.woff2 similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/static/media/9bee477df93eed36-s.p.woff2 rename to demos/dan-eden-portfolio/_next/static/media/9bee477df93eed36-s.p.woff2 diff --git a/test-sites/simple/dan-eden-portfolio/_next/static/media/9dc95e7ce14cbd31-s.p.woff2 b/demos/dan-eden-portfolio/_next/static/media/9dc95e7ce14cbd31-s.p.woff2 similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/static/media/9dc95e7ce14cbd31-s.p.woff2 rename to demos/dan-eden-portfolio/_next/static/media/9dc95e7ce14cbd31-s.p.woff2 diff --git a/test-sites/simple/dan-eden-portfolio/_next/static/media/a28223a0e7040579-s.p.woff2 b/demos/dan-eden-portfolio/_next/static/media/a28223a0e7040579-s.p.woff2 similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/static/media/a28223a0e7040579-s.p.woff2 rename to demos/dan-eden-portfolio/_next/static/media/a28223a0e7040579-s.p.woff2 diff --git a/test-sites/simple/dan-eden-portfolio/_next/static/media/f65d3660df0a93a8-s.p.woff2 b/demos/dan-eden-portfolio/_next/static/media/f65d3660df0a93a8-s.p.woff2 similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/static/media/f65d3660df0a93a8-s.p.woff2 rename to demos/dan-eden-portfolio/_next/static/media/f65d3660df0a93a8-s.p.woff2 diff --git a/test-sites/simple/dan-eden-portfolio/_next/static/media/f9cc8dba7980c072-s.p.woff2 b/demos/dan-eden-portfolio/_next/static/media/f9cc8dba7980c072-s.p.woff2 similarity index 100% rename from test-sites/simple/dan-eden-portfolio/_next/static/media/f9cc8dba7980c072-s.p.woff2 rename to demos/dan-eden-portfolio/_next/static/media/f9cc8dba7980c072-s.p.woff2 diff --git a/test-sites/simple/dan-eden-portfolio/icon.jpeg?a235122132d5a650 b/demos/dan-eden-portfolio/icon.jpeg?a235122132d5a650 similarity index 100% rename from test-sites/simple/dan-eden-portfolio/icon.jpeg?a235122132d5a650 rename to demos/dan-eden-portfolio/icon.jpeg?a235122132d5a650 diff --git a/test-sites/simple/dan-eden-portfolio/index.html.original b/demos/dan-eden-portfolio/index.html similarity index 100% rename from test-sites/simple/dan-eden-portfolio/index.html.original rename to demos/dan-eden-portfolio/index.html diff --git a/test-sites/simple/dan-eden-portfolio/insertr-config.json b/demos/dan-eden-portfolio/insertr-config.json similarity index 100% rename from test-sites/simple/dan-eden-portfolio/insertr-config.json rename to demos/dan-eden-portfolio/insertr-config.json diff --git a/test-sites/simple/dan-eden-portfolio/insertr.yaml b/demos/dan-eden-portfolio/insertr.yaml similarity index 77% rename from test-sites/simple/dan-eden-portfolio/insertr.yaml rename to demos/dan-eden-portfolio/insertr.yaml index f56946f..88262e2 100644 --- a/test-sites/simple/dan-eden-portfolio/insertr.yaml +++ b/demos/dan-eden-portfolio/insertr.yaml @@ -10,7 +10,7 @@ database: # Demo-specific configuration demo: - site_id: "dan-eden" # Unique site ID for Dan Eden demo + site_id: "dan-eden-portfolio" # Unique site ID for Dan Eden demo inject_demo_gate: true # Auto-inject demo gate if no gates exist mock_auth: true # Use mock authentication for demos api_endpoint: "http://localhost:8080/api/content" @@ -18,8 +18,8 @@ demo: # CLI enhancement configuration cli: - site_id: "dan-eden" # Site ID for this demo - output: "./dan-eden-demo" # Output directory for enhanced files + site_id: "dan-eden-portfolio" # Site ID for this demo + output: "./demos/dan-eden-portfolio_enhanced" # Output directory for enhanced files inject_demo_gate: true # Inject demo gate in development mode # Authentication configuration (for demo) diff --git a/test-sites/demo-site/README.md b/demos/default/README.md similarity index 100% rename from test-sites/demo-site/README.md rename to demos/default/README.md diff --git a/test-sites/demo-site/about.html b/demos/default/about.html similarity index 68% rename from test-sites/demo-site/about.html rename to demos/default/about.html index 4b4601c..67663df 100644 --- a/test-sites/demo-site/about.html +++ b/demos/default/about.html @@ -4,16 +4,16 @@