renderer

package
v0.4.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 20, 2026 License: MIT Imports: 6 Imported by: 0

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), centre 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 NavHeading struct {
	Title    string
	ID       string
	Children []NavHeading
}

NavHeading 表示章节内的导航标题树

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 文档

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL