0

我正在寻找一种方法来自定义 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" {} \;
4

1 回答 1

0

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

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

于 2020-04-04T19:44:38.050 回答