func title()

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
    }