diff options
Diffstat (limited to 'book/src/main/scala')
-rw-r--r-- | book/src/main/scala/book/Book.scala | 1 | ||||
-rw-r--r-- | book/src/main/scala/book/BookData.scala | 25 | ||||
-rw-r--r-- | book/src/main/scala/book/Main.scala | 8 | ||||
-rw-r--r-- | book/src/main/scala/book/Utils.scala | 7 |
4 files changed, 26 insertions, 15 deletions
diff --git a/book/src/main/scala/book/Book.scala b/book/src/main/scala/book/Book.scala index 09be8ee..71c0d65 100644 --- a/book/src/main/scala/book/Book.scala +++ b/book/src/main/scala/book/Book.scala @@ -25,6 +25,7 @@ object Book { "META-INF/resources/webjars/font-awesome/4.2.0/fonts/fontawesome-webfont.woff", "css/side-menu.css", "example-opt.js", +// "example-opt.js.map", "webpage/weather.js", "favicon.svg", "favicon.png" diff --git a/book/src/main/scala/book/BookData.scala b/book/src/main/scala/book/BookData.scala index d927b5f..ff1f23a 100644 --- a/book/src/main/scala/book/BookData.scala +++ b/book/src/main/scala/book/BookData.scala @@ -1,9 +1,14 @@ package book +import java.io.File + import acyclic.file import scalatags.Text.TypedTag import scalatags.Text.all._ object BookData { + val cloneRoot = System.getProperty("clone.root") + "/" + + lazy val javaAPIs = { import java.io.File def recursiveListFiles(f: File): Array[File] = { @@ -12,17 +17,17 @@ object BookData { } val roots = Seq( - "output/scala-js/javalanglib/src/main/scala", - "output/scala-js/javalib/src/main/scala" + "scala-js/javalanglib/src/main/scala", + "scala-js/javalib/src/main/scala" ) for{ root <- roots - file <- recursiveListFiles(new File(root)) + file <- recursiveListFiles(new File(cloneRoot + root)) if file != null if file.isFile } yield{ val path = file.getPath - .drop(root.length + 1) + .drop(cloneRoot.length + root.length + 1) .dropRight(".scala".length) val filename = path.replace('/', '.') val docpath = s"https://docs.oracle.com/javase/7/docs/api/$path.html" @@ -34,12 +39,22 @@ object BookData { val tagId = "example"+counter counter += 1 Seq( - t(id:=tagId, display.block), + t(id:=tagId, display.block, overflow.scroll), script(s"$main(document.getElementById('$tagId'))") ) } + def split = div(cls:="pure-g") def more = div(cls:="pure-u-1 pure-u-md-13-24") def less = div(cls:="pure-u-1 pure-u-md-11-24") def half = div(cls:="pure-u-1 pure-u-md-1-2") + + + val hl = new Highlighter( + Seq( + s"$cloneRoot/scala-js" -> "https://github.com/scala-js/scala-js", + s"$cloneRoot/workbench-example-app" -> "https://github.com/lihaoyi/workbench-example-app", + "" -> "https://github.com/lihaoyi/hands-on-scala-js" + ) + ) } diff --git a/book/src/main/scala/book/Main.scala b/book/src/main/scala/book/Main.scala index cb8ef99..4b862d0 100644 --- a/book/src/main/scala/book/Main.scala +++ b/book/src/main/scala/book/Main.scala @@ -19,15 +19,15 @@ object Main { def main(args: Array[String]): Unit = { println("Writing Book") - - write(Book.site, "output/index.html") + val outputRoot = System.getProperty("output.root") + "/" + write(Book.site, s"$outputRoot/index.html") val jsFiles = Book.autoResources.filter(_.endsWith(".js")).toSet val cssFiles = Book.autoResources.filter(_.endsWith(".css")).toSet val miscFiles = Book.autoResources -- cssFiles -- jsFiles for(res <- Book.manualResources ++ miscFiles) { - copy(getClass.getResourceAsStream("/" + res), "output/" + res) + copy(getClass.getResourceAsStream("/" + res), outputRoot + res) } for((resources, dest) <- Seq(jsFiles -> "scripts.js", cssFiles -> "styles.css")) { @@ -35,7 +35,7 @@ object Main { io.Source.fromInputStream(getClass.getResourceAsStream("/"+res)).mkString } - write(blobs.mkString("\n"), "output/"+dest) + write(blobs.mkString("\n"), outputRoot + dest) } val allNames = { diff --git a/book/src/main/scala/book/Utils.scala b/book/src/main/scala/book/Utils.scala index 8c5c920..2c861d0 100644 --- a/book/src/main/scala/book/Utils.scala +++ b/book/src/main/scala/book/Utils.scala @@ -123,7 +123,7 @@ object lnk{ } } -object hl{ +class Highlighter(mappings: Seq[(String, String)]){ def highlight(snippet: Seq[String], lang: String) = { val string = snippet.mkString val lines = string.split("\n", -1) @@ -147,11 +147,6 @@ object hl{ def diff(code: String*) = highlight(code, "diff") def html(code: String*) = highlight(code, "xml") - val mappings = Seq( - "output/scala-js" -> "https://github.com/scala-js/scala-js", - "output/workbench-example-app" -> "https://github.com/lihaoyi/workbench-example-app", - "" -> "https://github.com/lihaoyi/hands-on-scala-js" - ) def ref(filepath: String, start: String = "", end: String = "\n") = { val lang = filepath.split('.').last match { |