summaryrefslogtreecommitdiff
path: root/book/src/main/scala
diff options
context:
space:
mode:
authorlihaoyi <haoyi.sg@gmail.com>2014-11-23 16:47:15 -0800
committerlihaoyi <haoyi.sg@gmail.com>2014-11-23 16:47:15 -0800
commit3547ab4bd7e84818242d15ba813d9312d2456b09 (patch)
tree9595d4ca1781d60d93caa7ba947c745837a33f91 /book/src/main/scala
parent1c4cb72b209ab11c9e52c3bb490adf759f17fd0c (diff)
downloadhands-on-scala-js-3547ab4bd7e84818242d15ba813d9312d2456b09.tar.gz
hands-on-scala-js-3547ab4bd7e84818242d15ba813d9312d2456b09.tar.bz2
hands-on-scala-js-3547ab4bd7e84818242d15ba813d9312d2456b09.zip
Lots of changes
Diffstat (limited to 'book/src/main/scala')
-rw-r--r--book/src/main/scala/book/BookData.scala17
-rw-r--r--book/src/main/scala/book/Utils.scala17
2 files changed, 30 insertions, 4 deletions
diff --git a/book/src/main/scala/book/BookData.scala b/book/src/main/scala/book/BookData.scala
index 2f92c6c..d927b5f 100644
--- a/book/src/main/scala/book/BookData.scala
+++ b/book/src/main/scala/book/BookData.scala
@@ -1,7 +1,8 @@
package book
import acyclic.file
-
+import scalatags.Text.TypedTag
+import scalatags.Text.all._
object BookData {
lazy val javaAPIs = {
import java.io.File
@@ -28,5 +29,17 @@ object BookData {
filename -> docpath
}
}
+ var counter = 0
+ def example(t: TypedTag[String], main: String) = {
+ val tagId = "example"+counter
+ counter += 1
+ Seq(
+ t(id:=tagId, display.block),
+ 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")
}
-
diff --git a/book/src/main/scala/book/Utils.scala b/book/src/main/scala/book/Utils.scala
index 6770e31..171d0ad 100644
--- a/book/src/main/scala/book/Utils.scala
+++ b/book/src/main/scala/book/Utils.scala
@@ -171,14 +171,27 @@ object hl{
val whitespace = indent(lines(startLine))
val endLine = lines.indexWhere(
line => line.contains(end) || (indent(line) < whitespace && line.trim != ""),
- startLine
+ startLine + 1
)
val sliced =
if (endLine == -1) lines.drop(startLine)
else lines.slice(startLine, endLine)
+
val blob = sliced.map(_.drop(whitespace)).mkString("\n")
- pre(code(cls:=lang + " highlight-me", blob))
+ pre(
+ code(cls:=lang + " highlight-me", blob),
+ a(
+ cls:="header-link",
+ i(cls:="fa fa-link "),
+ position.absolute,
+ right:="0.5em",
+ bottom:="0.5em",
+ display.block,
+ fontSize:="24px",
+ href:="#"
+ )
+ )
}
} \ No newline at end of file