package render import ( "bytes" "fmt" "os" "git.else-if.org/jess/cs-midi-docs/internal/content" ) func BookMarkdown(tree *content.Node) ([]byte, error) { var buf bytes.Buffer pages := tree.Flatten() for i, page := range pages { src, err := os.ReadFile(page.FilePath) if err != nil { return nil, fmt.Errorf("read %s: %w", page.FilePath, err) } if i > 0 { buf.WriteString("\n\n---\n\n") } buf.Write(src) } return buf.Bytes(), nil } func BookHTML(tree *content.Node) ([]byte, error) { mdBytes, err := BookMarkdown(tree) if err != nil { return nil, err } return Markdown(mdBytes) }