in Sources/SwiftDocC/Model/Rendering/LinkTitleResolver.swift [29:64]
func title(for page: DocumentationNode) -> DocumentationDataVariants<String>? {
if let bundle = context.bundle(identifier: page.reference.bundleIdentifier),
let directive = page.markup.child(at: 0) as? BlockDirective {
var problems = [Problem]()
switch directive.name {
case Tutorial.directiveName:
if let tutorial = Tutorial(from: directive, source: source, for: bundle, in: context, problems: &problems) {
return .init(defaultVariantValue: tutorial.intro.title)
}
case Technology.directiveName:
if let overview = Technology(from: directive, source: source, for: bundle, in: context, problems: &problems) {
return .init(defaultVariantValue: overview.name)
}
default: break
}
}
if case let .conceptual(name) = page.name {
return .init(defaultVariantValue: name)
}
if let symbol = (page.semantic as? Symbol) {
return symbol.titleVariants
}
if let symbol = page.symbol {
return .init(defaultVariantValue: symbol.names.title)
}
if let article = page.semantic as? Article, let title = article.title?.plainText {
return .init(defaultVariantValue: title)
}
return nil
}