Documentation
¶
Overview ¶
Package renderer 负责将各个部分组装成最终的 HTML 文档。 使用 html/template 进行安全的 HTML 渲染,支持主题 CSS、封面、目录和章节内容的组合。
html_standalone.go 渲染自包含单页 HTML 文档。 输出包含嵌入式 CSS 和 JavaScript,实现 GitBook 风格的三栏布局:
- 左栏:全局目录导航(可折叠/展开子章节,高亮当前章节)
- 中栏:正文内容区(最大宽度 800px,居中)
- 右栏:页内 TOC(scroll-spy 自动追踪阅读位置)
其他特性:暗色/亮色/跟随系统三档主题、代码块复制按钮+语言标签、 Callout 提示框、全文搜索(⌘K)、上一页/下一页导航、图片灯箱等。
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 创建一个新的 HTML 渲染器
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 创建单页 HTML 渲染器
func (*StandaloneHTMLRenderer) Render ¶
func (r *StandaloneHTMLRenderer) Render(parts *RenderParts) (string, error)
Render 渲染完整的单页 HTML 文档
Click to show internal directories.
Click to hide internal directories.