Documentation
¶
Overview ¶
Package crossref 提供交叉引用和自动编号功能。 支持对图表、表格和章节的编号和引用,可以在 HTML 中替换占位符为实际的编号。
Index ¶
- type Reference
- type ReferenceType
- type Resolver
- func (r *Resolver) AddCaptions(html string) string
- func (r *Resolver) GetAllReferences() map[string]*Reference
- func (r *Resolver) ProcessHTML(html string) string
- func (r *Resolver) RegisterFigure(id, title string) int
- func (r *Resolver) RegisterSection(id, title string, level int)
- func (r *Resolver) RegisterTable(id, title string) int
- func (r *Resolver) Reset()
- func (r *Resolver) Resolve(id string) (*Reference, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Reference ¶
type Reference struct {
Type ReferenceType // 引用类型(图、表或章节)
ID string // 唯一标识符
Number int // 自动分配的编号
Title string // 标题或描述
Level int // 对于章节,表示标题级别;其他类型默认为 0
NumberStr string // 分层编号字符串,如 "1.2.3"(仅章节类型使用)
}
Reference 表示一个被追踪的引用对象
type ReferenceType ¶
type ReferenceType string
ReferenceType 定义引用类型的常量
const ( TypeFigure ReferenceType = "figure" // 图片 TypeTable ReferenceType = "table" // 表格 TypeSection ReferenceType = "section" // 章节 )
type Resolver ¶
type Resolver struct {
// contains filtered or unexported fields
}
Resolver 管理所有的交叉引用和自动编号
func (*Resolver) AddCaptions ¶
AddCaptions 为图表添加编号标题 处理形如 <figure id="fig_1"><img ...></figure> 的 HTML 为其添加 <figcaption>图1: 标题</figcaption>
示例: 输入: <figure id="fig_demo"><img src="demo.png"></figure> 输出: <figure id="fig_demo"><img src="demo.png"><figcaption>图1: 演示图</figcaption></figure>
func (*Resolver) GetAllReferences ¶
GetAllReferences 返回所有已注册的引用(用于调试或构建参考列表) 返回的映射包含所有类型的引用
func (*Resolver) ProcessHTML ¶
ProcessHTML 处理 HTML 内容,替换 {{ref:id}} 占位符为实际的引用 支持的占位符格式: - {{ref:fig_1}} 替换为 "图1" - {{ref:table_1}} 替换为 "表1" - {{ref:section_intro}} 替换为 "1.2.3"(章节编号)
示例: 输入: "如图 {{ref:fig_demo}} 所示,..." 输出: "如图 图1 所示,..."
func (*Resolver) RegisterFigure ¶
RegisterFigure 注册一个图片并返回自动分配的编号 参数 id 是图片的唯一标识符(通常用于生成 HTML 锚点) 参数 title 是图片的标题或说明 返回值是自动分配的图片编号
func (*Resolver) RegisterSection ¶
RegisterSection 注册一个章节 参数 id 是章节的唯一标识符 参数 title 是章节标题 参数 level 是标题级别(1-6),用于生成分层编号
对于分层编号的示例: Level 1: 1. 2. 3. ... Level 2: 1.1. 1.2. 2.1. ... Level 3: 1.1.1. 1.1.2. ...
func (*Resolver) RegisterTable ¶
RegisterTable 注册一个表格并返回自动分配的编号 参数 id 是表格的唯一标识符 参数 title 是表格的标题或说明 返回值是自动分配的表格编号