package main import ( "os" "path/filepath" "runtime" "strings" "github.com/alecthomas/chroma/v2/formatters/html" "github.com/alecthomas/chroma/v2/styles" ) func main() { _, file, _, _ := runtime.Caller(0) cssDir := filepath.Join(filepath.Dir(file), "../../internal/templates/css") formatter := html.New( html.WithLineNumbers(true), html.WithLinkableLineNumbers(true, "L"), html.WithClasses(true), ) lightStyle := styles.Get("github") darkStyle := styles.Get("github-dark") var light, dark strings.Builder _ = formatter.WriteCSS(&light, lightStyle) _ = formatter.WriteCSS(&dark, darkStyle) light.WriteString(".chroma .gi { display: block; }\n") light.WriteString(".chroma .gd { display: block; }\n") dark.WriteString(".chroma .gi { display: block; }\n") dark.WriteString(".chroma .gd { display: block; }\n") if err := os.WriteFile(filepath.Join(cssDir, "syntax_light.css"), []byte(light.String()), 0o644); err != nil { panic(err) } if err := os.WriteFile(filepath.Join(cssDir, "syntax_dark.css"), []byte(dark.String()), 0o644); err != nil { panic(err) } }