Swift-DocC 插件使用指南
项目目录结构及介绍
Swift-DocC 插件的 GitHub 仓库地址为:https://github.com/apple/swift-docc-plugin。以下是该项目的目录结构及其介绍:
swift-docc-plugin/
├── Plugins/
│ └── Swift-DocC Convert/
│ └── SwiftDocCConvert.swift
├── Resources/
│ ├── Readme.md
│ ├── License
│ ├── Code of conduct
│ ├── Security policy
│ └── ...
├── Tests/
│ └── ...
├── Package.swift
└── ...
- Plugins/: 包含插件的核心代码,其中
Swift-DocC Convert/
目录下是主要的转换逻辑文件SwiftDocCConvert.swift
。 - Resources/: 包含项目的文档资源,如
Readme.md
、License
、Code of conduct
等。 - Tests/: 包含项目的测试代码。
- Package.swift: 项目的 Swift Package Manager 配置文件。
项目启动文件介绍
项目的启动文件位于 Plugins/Swift-DocC Convert/SwiftDocCConvert.swift
。该文件包含了插件的主要逻辑,负责调用 Swift-DocC 工具链中的 docc
命令行工具,并处理输入参数。
import Foundation
import PackagePlugin
@main
struct SwiftDocCConvert: CommandPlugin {
func performCommand(context: PluginContext, arguments: [String]) throws {
// 插件的主要逻辑
}
}
项目配置文件介绍
项目的配置文件是 Package.swift
,这是一个 Swift Package Manager 的配置文件,定义了项目的名称、依赖、目标等信息。
// swift-tools-version:5.6
import PackageDescription
let package = Package(
name: "Swift-DocC-Plugin",
platforms: [
.macOS(.v12)
],
products: [
.plugin(
name: "SwiftDocCPlugin",
targets: ["Swift-DocC Convert"]
)
],
dependencies: [
.package(url: "https://github.com/apple/swift-argument-parser", from: "1.1.0")
],
targets: [
.plugin(
name: "Swift-DocC Convert",
capability: .command(
intent: .documentationGeneration(),
permissions: [
.writeToPackageDirectory(reason: "Generate documentation")
]
),
path: "Plugins/Swift-DocC Convert"
)
]
)
该配置文件定义了插件的名称、平台支持、产品、依赖和目标。通过这个文件,开发者可以添加插件作为依赖,并在项目中使用 swift package generate-documentation
命令来生成文档。