Bootstrapped during the 2026-06-06 BlockNinja consolidation. Was previously an unversioned directory inside ~/src/blockninja-themes/editorial. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
62 lines
1.6 KiB
Go
62 lines
1.6 KiB
Go
package main
|
|
|
|
import (
|
|
"embed"
|
|
"io/fs"
|
|
"net/http"
|
|
|
|
"git.dev.alexdunmow.com/block/core/plugin"
|
|
)
|
|
|
|
//go:embed assets/*
|
|
var assetsFS embed.FS
|
|
|
|
//go:embed schemas/*
|
|
var schemasFS embed.FS
|
|
|
|
//go:embed presets.json
|
|
var presetsData []byte
|
|
|
|
//go:embed fonts.json
|
|
var fontsData []byte
|
|
|
|
//go:embed plugin.mod
|
|
var pluginModBytes []byte
|
|
|
|
// Assets returns the embedded assets filesystem rooted at assets/.
|
|
func Assets() fs.FS {
|
|
sub, _ := fs.Sub(assetsFS, "assets")
|
|
return sub
|
|
}
|
|
|
|
// Schemas returns the embedded schemas filesystem rooted at schemas/.
|
|
func Schemas() fs.FS {
|
|
sub, _ := fs.Sub(schemasFS, "schemas")
|
|
return sub
|
|
}
|
|
|
|
// AssetsHandler returns an http.Handler that serves the embedded assets.
|
|
func AssetsHandler() http.Handler {
|
|
return http.FileServer(http.FS(Assets()))
|
|
}
|
|
|
|
// ThemePresets returns the embedded theme presets JSON.
|
|
func ThemePresets() []byte { return presetsData }
|
|
|
|
// BundledFonts returns the embedded fonts manifest JSON.
|
|
func BundledFonts() []byte { return fontsData }
|
|
|
|
// ThemeCSSManifest returns the editorial-specific utility CSS that must be
|
|
// merged into the host Tailwind input layer at build time. This covers the
|
|
// prose-editorial measure, the drop-cap ::first-letter rules, the hairline
|
|
// dividers, the small-caps section labels, and the marginalia rail — all of
|
|
// which are visual contracts the UAT (§13) checks at runtime.
|
|
//
|
|
// Per docs/FONTS.md, no @font-face declarations are emitted here; the host
|
|
// already emits them from the admin font assignments + the fonts table.
|
|
func ThemeCSSManifest() *plugin.CSSManifest {
|
|
return &plugin.CSSManifest{
|
|
InputCSSAppend: editorialUtilityCSS,
|
|
}
|
|
}
|