aboutsummaryrefslogtreecommitdiff
path: root/plugins/base/src/main/kotlin/renderers/pageId.kt
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/base/src/main/kotlin/renderers/pageId.kt')
-rw-r--r--plugins/base/src/main/kotlin/renderers/pageId.kt18
1 files changed, 18 insertions, 0 deletions
diff --git a/plugins/base/src/main/kotlin/renderers/pageId.kt b/plugins/base/src/main/kotlin/renderers/pageId.kt
new file mode 100644
index 00000000..b80121c0
--- /dev/null
+++ b/plugins/base/src/main/kotlin/renderers/pageId.kt
@@ -0,0 +1,18 @@
+package org.jetbrains.dokka.base.renderers
+
+import org.jetbrains.dokka.base.renderers.html.NavigationNode
+import org.jetbrains.dokka.links.DRI
+import org.jetbrains.dokka.model.DisplaySourceSet
+import org.jetbrains.dokka.pages.ContentPage
+
+internal val ContentPage.pageId: String
+ get() = pageId(dri.first(), sourceSets())
+
+internal val NavigationNode.pageId: String
+ get() = pageId(dri, sourceSets)
+
+/**
+ * Page Id is required to have a sourceSet in order to distinguish between different pages that has same DRI but different sourceSet
+ * like main functions that are not expect/actual
+ */
+private fun pageId(dri: DRI, sourceSets: Set<DisplaySourceSet>): String = "$dri/${sourceSets.hashCode()}" \ No newline at end of file