【问题标题】:How to customize the auto generated Dokka html to include a header and a footer如何自定义自动生成的 Dokka html 以包含页眉和页脚
【发布时间】:2020-07-08 17:41:16
【问题描述】:

我正在寻找一种方法来自定义 Dokka 生成的 html 以包含自定义页眉和页脚。我以前使用过 Doclava 来覆盖生成的 HTML 的模板,并且想知道在 Dokka 中是否有办法做到这一点。查看他们的代码,我遇到了 appendHeader 和 appendFooter 函数,但不确定如何覆盖这些方法。 https://github.com/Kotlin/dokka/blob/de2f32d91fb6f564826ddd7644940452356e2080/core/src/main/kotlin/Formats/KotlinWebsiteHtmlFormatService.kt#L10

我最后的手段是使用脚本修改生成的 html 文件,方法是在第一个正文标记之后插入页眉并在结束标记之前插入页脚,但希望有一个更优雅的解决方案。

任何帮助将不胜感激。谢谢!

编辑:最终创建了一个 hacky bash 脚本

head=`cat head.html`
header=`cat header.html`
footer=`cat footer.html`

find build/dokka -name "*.html" -type f -exec sed -i "s|</HEAD>|$head</HEAD>|g" {} \;
find .build/dokka -name "*.html" -type f -exec sed -i "s|<BODY>|<BODY>$header|g" {} \;
find build/dokka -name "*.html" -type f -exec sed -i "s|</BODY>|$footer</BODY>|g" {} \;

【问题讨论】:

    标签: android kotlin documentation-generation kotlin-dokka


    【解决方案1】:

    恐怕目前这是不可能的。至少它不是直截了当的。您可以覆盖StructuredFormatService 中的内容生成,然后重新编译dokka。

    在 dokka v0.11.0 中,我们添加了对插件的支持(并从头开始重写 dokka),此功能是计划中的插件之一

    【讨论】:

    • 感谢您告诉我。现在,我刚刚创建了一个 hacky bash 脚本,用于插入自定义页眉和页脚。希望这可以帮助其他人。 ``` head=cat head.html header=cat header.html footer=cat footer.html find build/dokka -name ".html" -type f -exec sed -i "s||$head|g" {} \;查找 .build/dokka -name ".html" -type f -exec sed -i "s||$header|g" {} \;查找 build/dokka -name "*.html" -type f -exec sed -i "s||$footer|g" {} \; ```
    猜你喜欢
    • 1970-01-01
    • 2012-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-04
    • 1970-01-01
    • 2011-12-27
    • 2017-10-18
    相关资源
    最近更新 更多