aboutsummaryrefslogtreecommitdiff
path: root/src/Formats
diff options
context:
space:
mode:
authorMike Hearn <mike@plan99.net>2015-11-23 19:21:08 +0100
committerMike Hearn <mike@plan99.net>2015-11-23 19:21:08 +0100
commit90cf2ebccd12073a55ff6f187e5a378a2e96e23b (patch)
tree2a8575d78618a8b374a35e6e8749968187583e29 /src/Formats
parent23e270b603eb32472b8ef4a5f44c01af57fd049f (diff)
downloaddokka-90cf2ebccd12073a55ff6f187e5a378a2e96e23b.tar.gz
dokka-90cf2ebccd12073a55ff6f187e5a378a2e96e23b.tar.bz2
dokka-90cf2ebccd12073a55ff6f187e5a378a2e96e23b.zip
Copy style.css to the output directory when doing HTML and use relative paths.
Fixes the code so that the relative path to root is always available, breaking the requirement to use a local web server.
Diffstat (limited to 'src/Formats')
-rw-r--r--src/Formats/HtmlFormatService.kt7
-rw-r--r--src/Formats/HtmlTemplateService.kt9
2 files changed, 11 insertions, 5 deletions
diff --git a/src/Formats/HtmlFormatService.kt b/src/Formats/HtmlFormatService.kt
index e810ef7f..2c461905 100644
--- a/src/Formats/HtmlFormatService.kt
+++ b/src/Formats/HtmlFormatService.kt
@@ -3,6 +3,7 @@ package org.jetbrains.dokka
import com.google.inject.Inject
import com.google.inject.name.Named
import java.io.File
+import java.nio.file.Paths
public open class HtmlFormatService @Inject constructor(@Named("folders") locationService: LocationService,
signatureGenerator: LanguageService,
@@ -113,17 +114,19 @@ public open class HtmlFormatService @Inject constructor(@Named("folders") locati
override fun appendNodes(location: Location, to: StringBuilder, nodes: Iterable<DocumentationNode>) {
- templateService.appendHeader(to, getPageTitle(nodes))
+ templateService.appendHeader(to, getPageTitle(nodes), calcPathToRoot(location))
super.appendNodes(location, to, nodes)
templateService.appendFooter(to)
}
override fun appendOutline(location: Location, to: StringBuilder, nodes: Iterable<DocumentationNode>) {
- templateService.appendHeader(to, "Module Contents")
+ templateService.appendHeader(to, "Module Contents", calcPathToRoot(location))
super.appendOutline(location, to, nodes)
templateService.appendFooter(to)
}
+ private fun calcPathToRoot(location: Location) = Paths.get(location.path).parent.relativize(Paths.get(locationService.root.path + '/'))
+
override fun getOutlineFileName(location: Location): File {
return File("${location.path}-outline.html")
}
diff --git a/src/Formats/HtmlTemplateService.kt b/src/Formats/HtmlTemplateService.kt
index b9900757..ae42a31b 100644
--- a/src/Formats/HtmlTemplateService.kt
+++ b/src/Formats/HtmlTemplateService.kt
@@ -1,7 +1,9 @@
package org.jetbrains.dokka
+import java.nio.file.Path
+
public interface HtmlTemplateService {
- fun appendHeader(to: StringBuilder, title: String?)
+ fun appendHeader(to: StringBuilder, title: String?, basePath: Path)
fun appendFooter(to: StringBuilder)
companion object {
@@ -11,14 +13,15 @@ public interface HtmlTemplateService {
to.appendln("</BODY>")
to.appendln("</HTML>")
}
- override fun appendHeader(to: StringBuilder, title: String?) {
+ override fun appendHeader(to: StringBuilder, title: String?, basePath: Path) {
to.appendln("<HTML>")
to.appendln("<HEAD>")
if (title != null) {
to.appendln("<title>$title</title>")
}
if (css != null) {
- to.appendln("<link rel=\"stylesheet\" href=\"$css\">")
+ val cssPath = basePath.resolve(css)
+ to.appendln("<link rel=\"stylesheet\" href=\"$cssPath\">")
}
to.appendln("</HEAD>")
to.appendln("<BODY>")