如何自定义自动生成的Dokka html以包含页眉和页脚



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

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

如有任何帮助,我们将不胜感激。谢谢

编辑:最终创建了一个破解的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" {} ;

恐怕目前这是不可能的。至少这并不简单。您可以覆盖StructuredFormatService中的内容生成,然后重新编译dokka。

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

最新更新