diff options
author | Felix Mulder <felix.mulder@gmail.com> | 2017-01-12 13:34:27 +0100 |
---|---|---|
committer | Felix Mulder <felix.mulder@gmail.com> | 2017-01-31 14:31:06 +0100 |
commit | 6be3353e9aae48efec038ce5daab022737545345 (patch) | |
tree | 7f2383b3608a9bb6e135bcc5119bfe0f2839f357 /doc-tool/src/dotty/tools/dottydoc/staticsite | |
parent | 280312716753fb226794ff9e2f9259d9c9e8d942 (diff) | |
download | dotty-6be3353e9aae48efec038ce5daab022737545345.tar.gz dotty-6be3353e9aae48efec038ce5daab022737545345.tar.bz2 dotty-6be3353e9aae48efec038ce5daab022737545345.zip |
Remove `Context` from site generation
Diffstat (limited to 'doc-tool/src/dotty/tools/dottydoc/staticsite')
-rw-r--r-- | doc-tool/src/dotty/tools/dottydoc/staticsite/Page.scala | 19 | ||||
-rw-r--r-- | doc-tool/src/dotty/tools/dottydoc/staticsite/Site.scala | 16 |
2 files changed, 24 insertions, 11 deletions
diff --git a/doc-tool/src/dotty/tools/dottydoc/staticsite/Page.scala b/doc-tool/src/dotty/tools/dottydoc/staticsite/Page.scala index 965ded4f8..a81e4143b 100644 --- a/doc-tool/src/dotty/tools/dottydoc/staticsite/Page.scala +++ b/doc-tool/src/dotty/tools/dottydoc/staticsite/Page.scala @@ -2,14 +2,13 @@ package dotty.tools package dottydoc package staticsite -import dotc.core.Contexts.Context -import dotty.tools.dottydoc.util.syntax._ import dotc.config.Printers.dottydoc import com.vladsch.flexmark.html.HtmlRenderer import com.vladsch.flexmark.parser.Parser import com.vladsch.flexmark.ext.front.matter.AbstractYamlFrontMatterVisitor -import _root_.java.util.{ Map => JMap, List => JList } + +import java.util.{ Map => JMap, List => JList } case class IllegalFrontMatter(message: String) extends Exception(message) @@ -20,20 +19,20 @@ trait Page { def pageContent: String def params: Map[String, AnyRef] - def yaml(implicit ctx: Context): Map[String, AnyRef] = { + def yaml: Map[String, AnyRef] = { if (_yaml eq null) initFields() _yaml } - def html(implicit ctx: Context): String = { + def html: String = { if (_html eq null) initFields() _html } protected[this] var _yaml: Map[String, AnyRef /* String | JList[String] */] = _ protected[this] var _html: String = _ - protected[this] def initFields()(implicit ctx: Context) = { - val md = Parser.builder(ctx.docbase.markdownOptions).build.parse(pageContent) + protected[this] def initFields() = { + val md = Parser.builder(Site.markdownOptions).build.parse(pageContent) val yamlCollector = new AbstractYamlFrontMatterVisitor() yamlCollector.visit(md) @@ -88,13 +87,13 @@ class HtmlPage(fileContents: => String, val params: Map[String, AnyRef], val inc class MarkdownPage(fileContents: => String, val params: Map[String, AnyRef], val includes: Map[String, String]) extends Page { lazy val pageContent = fileContents - override protected[this] def initFields()(implicit ctx: Context) = { + override protected[this] def initFields() = { super.initFields() - val md = Parser.builder(ctx.docbase.markdownOptions).build.parse(_html) + val md = Parser.builder(Site.markdownOptions).build.parse(_html) // fix markdown linking MarkdownLinkVisitor(md) _html = HtmlRenderer - .builder(ctx.docbase.markdownOptions) + .builder(Site.markdownOptions) .escapeHtml(false) .build() .render(md) diff --git a/doc-tool/src/dotty/tools/dottydoc/staticsite/Site.scala b/doc-tool/src/dotty/tools/dottydoc/staticsite/Site.scala index f2ecc6350..1b40ddaea 100644 --- a/doc-tool/src/dotty/tools/dottydoc/staticsite/Site.scala +++ b/doc-tool/src/dotty/tools/dottydoc/staticsite/Site.scala @@ -5,11 +5,17 @@ package staticsite import java.nio.file.{ Files, FileSystems } import java.nio.file.StandardCopyOption.REPLACE_EXISTING import java.io.{ File => JFile } -import java.util.{ List => JList } +import java.util.{ List => JList, Map => JMap, Collections => JCollections } import java.nio.file.Path import java.io.ByteArrayInputStream import java.nio.charset.StandardCharsets +import com.vladsch.flexmark.parser.ParserEmulationFamily +import com.vladsch.flexmark.parser.Parser +import com.vladsch.flexmark.ext.tables.TablesExtension +import com.vladsch.flexmark.ext.front.matter.YamlFrontMatterExtension +import com.vladsch.flexmark.util.options.{ DataHolder, MutableDataSet } + import dotc.config.Printers.dottydoc import dotc.core.Contexts.Context import scala.io.Source @@ -272,3 +278,11 @@ case class Site(val root: JFile, val docs: JList[_]) extends ResourceFinder { render(expandedTemplate, params) } } + +object Site { + val markdownOptions: DataHolder = + new MutableDataSet() + .setFrom(ParserEmulationFamily.KRAMDOWN.getOptions) + .set(Parser.EXTENSIONS, JCollections.singleton(TablesExtension.create())) + .set(Parser.EXTENSIONS, JCollections.singleton(YamlFrontMatterExtension.create())) +} |