【问题标题】:How can I add a footer to Kotlin Dokka docs?如何向 Kotlin Dokka 文档添加页脚?
【发布时间】:2019-09-21 12:19:34
【问题描述】:

我正在寻找一种在所有 Dokka 生成的文档的页脚中包含文本的方法。我没有看到 Dokka 的 Gradle 或 Maven 插件宣传此选项。

这可能吗?你能指点我的样本吗?

【问题讨论】:

    标签: kotlin footer kotlin-dokka


    【解决方案1】:

    dokka 包中有两种实例方法——一种用于footer,一种用于header

    fun appendFooter(to:) { }
    
    fun appendHeader(to:, title:, basePath:) { }
    

    这是real code 的样子:

    package org.jetbrains.dokka
    
    import java.io.File
    
    interface HtmlTemplateService {
    
        fun appendHeader(to: StringBuilder, title: String?, basePath: File)
        fun appendFooter(to: StringBuilder)
    
        companion object {
    
            fun default(css: String? = null): HtmlTemplateService {
                return object : HtmlTemplateService {
    
                    override fun appendFooter(to: StringBuilder) {
                        if (!to.endsWith('\n')) {
                            to.append('\n')
                        }
                        to.appendln("</BODY>")
                        to.appendln("</HTML>")
                    }
                    override fun appendHeader(to: StringBuilder, title: String?, basePath: File) {
                        to.appendln("<HTML>")
                        to.appendln("<HEAD>")
                        to.appendln("<meta charset=\"UTF-8\">")
                        if (title != null) {
                            to.appendln("<title>$title</title>")
                        }
                        if (css != null) {
                            val cssPath = basePath.resolve(css)
                            to.appendln("<link rel=\"stylesheet\" href=\"$cssPath\">")
                        }
                        to.appendln("</HEAD>")
                        to.appendln("<BODY>")
                    }
                }
            }
        }
    } 
    

    我认为即使在dokka.playground 中它也必须工作。

    希望这会有所帮助。

    【讨论】:

    • 我不确定我在看什么。您的第一个链接指向提交日志,第二个链接指向测试文件。您包含的代码是一个带有伴随对象的接口 - 如何从 gradle 调用它?
    • 主链接是第一个(第二个链接只是一个示例,显示您可以在 Dokka 游乐场测试此代码)。而且,老实说,我不知道如何从 gradle 中调用它......这就是我在 Dokka 的页脚上能找到的全部内容。
    • 很抱歉,这不符合赏金标准:|感谢您的帮助。
    猜你喜欢
    • 2019-07-01
    • 2011-07-31
    • 1970-01-01
    • 2011-07-05
    • 2022-06-24
    • 2023-03-19
    • 2020-08-15
    • 2017-07-21
    • 2016-05-29
    相关资源
    最近更新 更多