aboutsummaryrefslogtreecommitdiff
path: root/doc-tool/src/dotty/tools/dottydoc/staticsite/LiquidTemplate.scala
diff options
context:
space:
mode:
authorFelix Mulder <felix.mulder@gmail.com>2017-01-16 14:05:15 +0100
committerFelix Mulder <felix.mulder@gmail.com>2017-01-31 14:32:35 +0100
commit6f6dc9767badd4bcacd8f00ef0ed467bcabc6296 (patch)
treee381a1be3195be8c69abb84a3e59b0c5470e557c /doc-tool/src/dotty/tools/dottydoc/staticsite/LiquidTemplate.scala
parent248f469ddcf57067d02e8b1bea41237766a75cfb (diff)
downloaddotty-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.scala12
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] =