diff options
author | Felix Mulder <felix.mulder@gmail.com> | 2017-01-16 14:05:15 +0100 |
---|---|---|
committer | Felix Mulder <felix.mulder@gmail.com> | 2017-01-31 14:32:35 +0100 |
commit | 6f6dc9767badd4bcacd8f00ef0ed467bcabc6296 (patch) | |
tree | e381a1be3195be8c69abb84a3e59b0c5470e557c /doc-tool/src/dotty/tools/dottydoc/staticsite/LiquidTemplate.scala | |
parent | 248f469ddcf57067d02e8b1bea41237766a75cfb (diff) | |
download | dotty-6f6dc9767badd4bcacd8f00ef0ed467bcabc6296.tar.gz dotty-6f6dc9767badd4bcacd8f00ef0ed467bcabc6296.tar.bz2 dotty-6f6dc9767badd4bcacd8f00ef0ed467bcabc6296.zip |
Re-implement template expansion of references as filter
The original implementation used the template engine to recursively
expand references. This was very error-prone and with no typesafety and
proper stack traces it was very hard to diagnose. As such, these two
expansions (links and references) have been re-implemented as filters.
Diffstat (limited to 'doc-tool/src/dotty/tools/dottydoc/staticsite/LiquidTemplate.scala')
-rw-r--r-- | doc-tool/src/dotty/tools/dottydoc/staticsite/LiquidTemplate.scala | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/doc-tool/src/dotty/tools/dottydoc/staticsite/LiquidTemplate.scala b/doc-tool/src/dotty/tools/dottydoc/staticsite/LiquidTemplate.scala index 99ee54b74..a92e5d48e 100644 --- a/doc-tool/src/dotty/tools/dottydoc/staticsite/LiquidTemplate.scala +++ b/doc-tool/src/dotty/tools/dottydoc/staticsite/LiquidTemplate.scala @@ -12,14 +12,12 @@ case class LiquidTemplate(contents: String) extends ResourceFinder { import liqp.filters.Filter import liqp.parser.Flavor.JEKYLL import java.util.{ HashMap, Map => JMap } + import filters._ - Filter.registerFilter(new Filter("reverse") { - override def apply(value: Any, params: AnyRef*): AnyRef = { - val array = super.asArray(value) - if (array.length == 0) null - else array.reverse - } - }) + /** Register filters to static container */ + Filter.registerFilter(new Reverse) + Filter.registerFilter(new RenderReference) + Filter.registerFilter(new RenderLink) // For some reason, liqp rejects a straight conversion using `.asJava` private def toJavaMap(map: Map[String, AnyRef]): HashMap[String, Object] = |