Documentation
¶
Overview ¶
Package build 提供构建文档的相关功能
Index ¶
- Constants
- func Buffer(h *core.MessageHandler, o *Output, i ...*Input) (*bytes.Buffer, error)
- func Build(h *core.MessageHandler, o *Output, i ...*Input) error
- func CheckSyntax(h *core.MessageHandler, i ...*Input) error
- func Pack(h *core.MessageHandler, opt *PackOptions, o *Output, i ...*Input) error
- func ParseInputs(blocks chan core.Block, h *core.MessageHandler, opt ...*Input)
- func Unpack(buffer string) (doc string, err error)
- type Config
- type Input
- type Output
- type PackOptions
Constants ¶
View Source
const ( APIDocXML = "apidoc+xml" OpenapiYAML = "openapi+yaml" OpenapiJSON = "openapi+json" )
几种输出的类型
Variables ¶
This section is empty.
Functions ¶
func Build ¶
func Build(h *core.MessageHandler, o *Output, i ...*Input) error
Build 解析文档并输出文档内容
如果是配置文件有问题,则直接返回错误信息,文档错误则输出至 h 对象。
func CheckSyntax ¶
func CheckSyntax(h *core.MessageHandler, i ...*Input) error
CheckSyntax 测试文档语法
如果是配置文件有问题,则直接返回错误信息,文档错误则输出至 h 对象。
func Pack ¶
func Pack(h *core.MessageHandler, opt *PackOptions, o *Output, i ...*Input) error
Pack 将文档内容打包成一个 Go 文件
func ParseInputs ¶
func ParseInputs(blocks chan core.Block, h *core.MessageHandler, opt ...*Input)
ParseInputs 分析 opt 中所指定的内容并输出到 blocks
分析后的内容推送至 blocks 中。
Types ¶
type Config ¶
type Config struct {
// 文档的版本信息
//
// 程序会用此来判断程序的兼容性。
Version string `yaml:"version"`
// 输入的配置项,可以指定多个项目
//
// 多语言项目,可能需要用到多个输入面。
Inputs []*Input `yaml:"inputs"`
// 输出配置项
Output *Output `yaml:"output"`
}
Config 配置文件映身的结构
func (*Config) Buffer ¶
func (cfg *Config) Buffer(h *core.MessageHandler) *bytes.Buffer
Buffer 根据 wd 目录下的配置文件生成文档内容并保存至内存
具体信息可参考 Buffer 函数的相关文档。
func (*Config) Build ¶
func (cfg *Config) Build(h *core.MessageHandler)
Build 解析文档并输出文档内容
具体信息可参考 Build 函数的相关文档。
func (*Config) CheckSyntax ¶
func (cfg *Config) CheckSyntax(h *core.MessageHandler)
CheckSyntax 执行对语法内容的测试
func (*Config) Pack ¶
func (cfg *Config) Pack(h *core.MessageHandler, opt *PackOptions) error
Pack 将配置文件中指定的文档内容打包成 Go 文件
type Input ¶
type Input struct {
// 输入的目标语言
//
// 取值为 lang.Language.Name
Lang string `yaml:"lang"`
// 源代码目录
Dir core.URI `yaml:"dir"`
// 需要扫描的文件扩展名
//
// 若未指定,则根据 Lang 选项获取其默认的扩展名作为过滤条件。
Exts []string `yaml:"exts,omitempty"`
// 是否查找 Dir 的子目录
Recursive bool `yaml:"recursive,omitempty"`
// 源文件的编码,默认为 UTF-8
Encoding string `yaml:"encoding,omitempty"`
// contains filtered or unexported fields
}
Input 指定输入内容的相关信息。
type Output ¶
type Output struct {
// 文档的版本号
//
// 该值会覆盖文档中 apidoc.version 的值,方便用户通过代码层面进行版本号同步,
// 该值无法通过配置文件设置,只能由代码进行设置。
Version string `yaml:"-"`
// 导出的文件类型格式,默认为 apidoc 的 XML 文件。
Type string `yaml:"type,omitempty"`
// 文档的保存路径
//
// 仅适用本地路径
Path core.URI `yaml:"path"`
// 只输出该标签的文档,若为空,则表示所有。
Tags []string `yaml:"tags,omitempty"`
// xslt 文件地址
//
// 默认值为 https://apidoc.tools/docs/ 下当前版本的 apidoc.xsl,比如:
// https://apidoc.tools/docs/v7/apidoc.xsl
//
// NOTE: 仅针对 xml 类型的输出文件
Style string `yaml:"style,omitempty"`
// 命名空间的相关设置
//
// 当 namespace 为 true 时会在文档中输出以 core.XMLNamespace 作为命名空间的值,
// 如果还指定了 NamespacePrefix 则会以此值作为前缀值。
// NamespacePrefix 仅在 Namespace 为 true 时才启作用。
//
// NOTE: 仅针对 Type = APIDocXML
Namespace bool `yaml:"namespace,omitempty"`
NamespacePrefix string `yaml:"namespace-prefix,omitempty"`
// contains filtered or unexported fields
}
Output 指定了渲染输出的相关设置项。
Click to show internal directories.
Click to hide internal directories.