aboutsummaryrefslogtreecommitdiff
path: root/doc-tool/src/dotty/tools/dottydoc/staticsite
diff options
context:
space:
mode:
Diffstat (limited to 'doc-tool/src/dotty/tools/dottydoc/staticsite')
-rw-r--r--doc-tool/src/dotty/tools/dottydoc/staticsite/MarkdownCodeBlockVisitor.scala19
-rw-r--r--doc-tool/src/dotty/tools/dottydoc/staticsite/Page.scala1
2 files changed, 20 insertions, 0 deletions
diff --git a/doc-tool/src/dotty/tools/dottydoc/staticsite/MarkdownCodeBlockVisitor.scala b/doc-tool/src/dotty/tools/dottydoc/staticsite/MarkdownCodeBlockVisitor.scala
new file mode 100644
index 000000000..5aeffd0d5
--- /dev/null
+++ b/doc-tool/src/dotty/tools/dottydoc/staticsite/MarkdownCodeBlockVisitor.scala
@@ -0,0 +1,19 @@
+package dotty.tools
+package dottydoc
+package staticsite
+
+import com.vladsch.flexmark.ast._
+import com.vladsch.flexmark.util.sequence.CharSubSequence
+
+object MarkdownCodeBlockVisitor {
+ def apply(node: Node): Unit =
+ new NodeVisitor(
+ new VisitHandler(classOf[FencedCodeBlock], new Visitor[FencedCodeBlock] {
+ override def visit(node: FencedCodeBlock): Unit = {
+ if (node.getOpeningMarker.length == 3)
+ node.setOpeningMarker(CharSubSequence.of("```scala"))
+ }
+ })
+ )
+ .visit(node)
+}
diff --git a/doc-tool/src/dotty/tools/dottydoc/staticsite/Page.scala b/doc-tool/src/dotty/tools/dottydoc/staticsite/Page.scala
index b637caf38..f250cbb01 100644
--- a/doc-tool/src/dotty/tools/dottydoc/staticsite/Page.scala
+++ b/doc-tool/src/dotty/tools/dottydoc/staticsite/Page.scala
@@ -126,6 +126,7 @@ class MarkdownPage(fileContents: => String, val params: Map[String, AnyRef], val
val md = Parser.builder(Site.markdownOptions).build.parse(_html)
// fix markdown linking
MarkdownLinkVisitor(md, docs, params)
+ MarkdownCodeBlockVisitor(md)
_html = HtmlRenderer
.builder(Site.markdownOptions)
.escapeHtml(false)