Files
2025-07-07 05:55:09 +02:00

47 lines
918 B
Go

package extgen
import (
"bytes"
_ "embed"
"path/filepath"
"text/template"
)
//go:embed templates/README.md.tpl
var docFileContent string
type DocumentationGenerator struct {
generator *Generator
}
type DocTemplateData struct {
BaseName string
Functions []phpFunction
Classes []phpClass
}
func (dg *DocumentationGenerator) generate() error {
filename := filepath.Join(dg.generator.BuildDir, "README.md")
content, err := dg.generateMarkdown()
if err != nil {
return err
}
return writeFile(filename, content)
}
func (dg *DocumentationGenerator) generateMarkdown() (string, error) {
tmpl := template.Must(template.New("readme").Parse(docFileContent))
var buf bytes.Buffer
if err := tmpl.Execute(&buf, DocTemplateData{
BaseName: dg.generator.BaseName,
Functions: dg.generator.Functions,
Classes: dg.generator.Classes,
}); err != nil {
return "", err
}
return buf.String(), nil
}