Documentation
¶
Overview ¶
Package renderer 负责将各个部分组装成最终的 HTML 文档。 使用 html/template 进行安全的 HTML 渲染,支持主题 CSS、封面、目录和章节内容的组合。
html_standalone.go renders a self-contained single-page HTML document. The output embeds CSS and JavaScript and implements a GitBook-style three-column layout: left sidebar (global TOC), center content area, right in-page TOC.
Additional features: dark/light/system theme toggle, code copy button with language label, callout boxes, full-text search (⌘K), prev/next navigation, image lightbox, Mermaid diagrams, and KaTeX math formulas.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ChapterHTML ¶
type ChapterHTML struct {
Title string // 章节标题
ID string // 章节唯一标识符
Content string // 章节 HTML 内容
Depth int // 章节在书籍结构中的层级(从 0 开始)
Headings []NavHeading // 章节内标题树,用于导航
}
ChapterHTML 表示单个章节的 HTML 内容
type HTMLRenderer ¶
type HTMLRenderer struct {
// contains filtered or unexported fields
}
HTMLRenderer 用于将各个部分组装成最终的 HTML 文档
func NewHTMLRenderer ¶
func NewHTMLRenderer(cfg *config.BookConfig, thm *theme.Theme) (*HTMLRenderer, error)
NewHTMLRenderer creates a new HTML renderer used for PDF generation.
func (*HTMLRenderer) Render ¶
func (r *HTMLRenderer) Render(parts *RenderParts) (string, error)
Render 将各个部分组装成完整的 HTML 文档
type RenderParts ¶
type RenderParts struct {
CoverHTML string // 封面 HTML
TOCHTML string // 目录 HTML
ChaptersHTML []ChapterHTML // 所有章节
CustomCSS string // 自定义 CSS
}
RenderParts 包含需要渲染的各个部分
type StandaloneHTMLRenderer ¶
type StandaloneHTMLRenderer struct {
// contains filtered or unexported fields
}
StandaloneHTMLRenderer 渲染自包含单页 HTML 文档
func NewStandaloneHTMLRenderer ¶
func NewStandaloneHTMLRenderer(cfg *config.BookConfig, thm *theme.Theme) (*StandaloneHTMLRenderer, error)
NewStandaloneHTMLRenderer creates a single-page HTML renderer.
func (*StandaloneHTMLRenderer) Render ¶
func (r *StandaloneHTMLRenderer) Render(parts *RenderParts) (string, error)
Render 渲染完整的单页 HTML 文档