Remove internal/content package and use engine directly

- Eliminate content.Enhancer wrapper around engine.ContentEngine
- Update cmd/enhance.go to call engine.ProcessFile/ProcessDirectory directly
- Update sites/manager.go to use engine.NewContentEngineWithAuth directly
- Remove unused EnhancementConfig and discovery configuration logic
- Simplify enhance command to use input path as site ID
- Remove CLI config dependency from config package
This commit is contained in:
2025-10-23 22:32:42 +02:00
parent 4874849f80
commit dc801fb26b
6 changed files with 16 additions and 258 deletions

View File

@@ -9,7 +9,6 @@ import (
"sync"
"github.com/insertr/insertr/internal/config"
"github.com/insertr/insertr/internal/content"
"github.com/insertr/insertr/internal/db"
"github.com/insertr/insertr/internal/engine"
"maps"
@@ -18,7 +17,6 @@ import (
// SiteManager handles registration and enhancement of static sites
type SiteManager struct {
sites map[string]*config.SiteConfig
enhancer *content.Enhancer
mutex sync.RWMutex
devMode bool
contentClient db.ContentRepository
@@ -29,7 +27,6 @@ type SiteManager struct {
func NewSiteManager(contentClient db.ContentRepository, devMode bool) *SiteManager {
return &SiteManager{
sites: make(map[string]*config.SiteConfig),
enhancer: content.NewDefaultEnhancer(contentClient, ""), // siteID will be set per operation
devMode: devMode,
contentClient: contentClient,
authProvider: &engine.AuthProvider{Type: "mock"}, // default
@@ -151,31 +148,11 @@ func (sm *SiteManager) EnhanceSite(siteID string) error {
return fmt.Errorf("failed to create output directory %s: %w", outputPath, err)
}
// Create enhancer with auth provider for this operation
// Discovery disabled by default - developers should explicitly mark elements with class="insertr"
discoveryConfig := config.DiscoveryConfig{
Enabled: false, // Changed from true - respect developer intent
Aggressive: false,
Containers: true,
Individual: true,
}
// Override with site-specific discovery config if provided
if site.Discovery != nil {
discoveryConfig = *site.Discovery
log.Printf("🔧 Using site-specific discovery config for %s: enabled=%v, aggressive=%v",
siteID, discoveryConfig.Enabled, discoveryConfig.Aggressive)
}
config := content.EnhancementConfig{
Discovery: discoveryConfig,
ContentInjection: true,
GenerateIDs: true,
}
enhancer := content.NewEnhancerWithAuth(sm.contentClient, siteID, config, sm.authProvider)
// Create content engine with auth provider for this operation
contentEngine := engine.NewContentEngineWithAuth(sm.contentClient, sm.authProvider)
// Perform enhancement from source to output
if err := enhancer.EnhanceDirectory(sourcePath, outputPath); err != nil {
if err := contentEngine.ProcessDirectory(sourcePath, outputPath, siteID, engine.Enhancement); err != nil {
return fmt.Errorf("failed to enhance site %s: %w", siteID, err)
}