From a98d0903a8a02f806726a45b65842a0da21115b7 Mon Sep 17 00:00:00 2001 From: Antonio Cunei Date: Mon, 17 Oct 2011 21:42:43 +0000 Subject: Reverting r25787 (caused test.scaladoc failures... Reverting r25787 (caused test.scaladoc failures on certain systems) --- .../scala/tools/nsc/doc/html/HtmlPage.scala | 25 +-- .../scala/tools/nsc/doc/html/TemplateEngine.scala | 59 ------ .../scala/tools/nsc/doc/html/page/Index.scala | 121 +++++++------ .../scala/tools/nsc/doc/html/page/Template.scala | 200 +++++++++++---------- .../nsc/doc/html/resource/template/htmlpage.html | 8 - .../nsc/doc/html/resource/template/index.html | 12 -- .../nsc/doc/html/resource/template/template.html | 39 ---- test/scaladoc/scala/IndexTest.scala | 21 +-- 8 files changed, 183 insertions(+), 302 deletions(-) delete mode 100644 src/compiler/scala/tools/nsc/doc/html/TemplateEngine.scala delete mode 100644 src/compiler/scala/tools/nsc/doc/html/resource/template/htmlpage.html delete mode 100644 src/compiler/scala/tools/nsc/doc/html/resource/template/index.html delete mode 100644 src/compiler/scala/tools/nsc/doc/html/resource/template/template.html diff --git a/src/compiler/scala/tools/nsc/doc/html/HtmlPage.scala b/src/compiler/scala/tools/nsc/doc/html/HtmlPage.scala index c5b3d6173c..b58c71eaa9 100644 --- a/src/compiler/scala/tools/nsc/doc/html/HtmlPage.scala +++ b/src/compiler/scala/tools/nsc/doc/html/HtmlPage.scala @@ -28,25 +28,18 @@ abstract class HtmlPage extends Page { thisPage => /** The body of this page. */ def body: NodeSeq - def resourceStream(path: String) = - getClass.getResourceAsStream("/scala/tools/nsc/doc/html/resource/" + path) - def writeFor(site: HtmlFactory) { val doctype = DocType("html", PublicID("-//W3C//DTD XHTML 1.1//EN", "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"), Nil) - val html = { - val engine = - new TemplateEngine(XML.load(resourceStream("template/htmlpage.html"))) - - engine.render( - "meta-encoding" -> title, - "headers" -> headers, - "body" -> body - ) - } + val html = + + + { title } + Text(Pattern.replaceAllIn(n.mkString, f _)) - } - } - - private def renderMetaData(list: MetaData, pairs: Map[String, Any]): MetaData = { - list match { - case Null => list - case unprefixed: UnprefixedAttribute => - new UnprefixedAttribute(unprefixed.key, - renderMetaDataValue(unprefixed.value, pairs), - renderMetaData(unprefixed.next, pairs)) - case prefixed: PrefixedAttribute => - new PrefixedAttribute(prefixed.pre, prefixed.key, - renderMetaDataValue(prefixed.value, pairs), - renderMetaData(prefixed.next, pairs)) - } - } - - private def renderNode(node: Node, pairs: Map[String, Any]): Node = - node match { - case v @ => { - v.attributes.get("name") match { - case Some(s) => pairs.get(s.mkString) match { - case Some(n: Node) => n - case any => Text(any.mkString) - } - case None => Text("") - } - } - case e: Elem => { - val child = e.child.map(c => renderNode(c, pairs)) - Elem(e.prefix, e.label, - renderMetaData(e.attributes, pairs), - e.scope, child: _*) - } - case any => any - } - - def render(pairs: Map[String, Any]) = renderNode(element, pairs) - def render(pairs: (String, Any)*): Node = - render(Map[String, Any](pairs : _*)) -} diff --git a/src/compiler/scala/tools/nsc/doc/html/page/Index.scala b/src/compiler/scala/tools/nsc/doc/html/page/Index.scala index f2fc8caaf6..346780147e 100644 --- a/src/compiler/scala/tools/nsc/doc/html/page/Index.scala +++ b/src/compiler/scala/tools/nsc/doc/html/page/Index.scala @@ -34,62 +34,79 @@ class Index(universe: doc.Universe, index: doc.Index) extends HtmlPage { - val body = { - val engine = - new TemplateEngine(XML.load(resourceStream("template/index.html"))) - engine.render("root" -> packageElem(universe.rootPackage)) - } - - def packageElem(pack: model.Package): NodeSeq = { - { - if (!pack.isRootPackage) - { pack.qualifiedName } - else NodeSeq.Empty - }
    { - val tpls: Map[String, Seq[DocTemplateEntity]] = - (pack.templates filter (t => !t.isPackage && !isExcluded(t) )) groupBy (_.name) - - val placeholderSeq: NodeSeq =
    - - def createLink(entity: DocTemplateEntity, includePlaceholder: Boolean, includeText: Boolean) = { - val entityType = docEntityKindToString(entity) - val linkContent = ( - { if (includePlaceholder) placeholderSeq else NodeSeq.Empty } - ++ - { if (includeText) { Text(packageQualifiedName(entity)) } else NodeSeq.Empty } - ) - ({ Text(entityType) }){ linkContent } - } - - for (tn <- tpls.keySet.toSeq sortBy (_.toLowerCase)) yield { - val entities = tpls(tn) - val row = (entities find (e => e.isPackage || e.isObject), entities find (e => e.isTrait || e.isClass)) - - val itemContents = row match { - case (Some(obj), None) => createLink(obj, includePlaceholder = true, includeText = true) - - case (maybeObj, Some(template)) => - val firstLink = maybeObj match { - case Some(obj) => createLink(obj, includePlaceholder = false, includeText = false) - case None => placeholderSeq + val body = + +
    + + + + +
    + { browser } +
    + -
    - diff --git a/src/compiler/scala/tools/nsc/doc/html/resource/template/template.html b/src/compiler/scala/tools/nsc/doc/html/resource/template/template.html deleted file mode 100644 index 789ba7edf4..0000000000 --- a/src/compiler/scala/tools/nsc/doc/html/resource/template/template.html +++ /dev/null @@ -1,39 +0,0 @@ - -
    - - -

    -
    - - -
    -
    - - - - - -
    - - - - -
    - Visibility -
    1. Public
    2. All
    -
    -
    -
    -
    - - - - - -
    -
    -
    -
    - - diff --git a/test/scaladoc/scala/IndexTest.scala b/test/scaladoc/scala/IndexTest.scala index ec8011bf41..7679bab0c6 100644 --- a/test/scaladoc/scala/IndexTest.scala +++ b/test/scaladoc/scala/IndexTest.scala @@ -5,23 +5,6 @@ import scala.tools.nsc.doc import scala.tools.nsc.doc.html.page.Index import java.net.URLClassLoader -object XMLUtil { - import scala.xml._ - - def stripGroup(seq: Node): Node = { - seq match { - case group: Group => { -
    { group.nodes.map(stripGroup _) }
    - } - case e: Elem => { - val child = e.child.map(stripGroup _) - Elem(e.prefix, e.label, e.attributes, e.scope, child : _*) - } - case _ => seq - } - } -} - object Test extends Properties("Index") { def getClasspath = { @@ -88,10 +71,10 @@ object Test extends Properties("Index") { case None => false } } - property("body contants a script element") = { + property("browser contants a script element") = { createIndex("src/compiler/scala/tools/nsc/doc/html/page/Index.scala") match { case Some(index) => - (XMLUtil.stripGroup(index.body) \\ "script").size == 1 + (index.browser \ "script").size == 1 case None => false } -- cgit v1.2.3