diff options
author | Li Haoyi <haoyi@dropbox.com> | 2014-11-12 00:04:54 -0800 |
---|---|---|
committer | Li Haoyi <haoyi@dropbox.com> | 2014-11-12 00:04:54 -0800 |
commit | 428976e0c29599e29623c63ba22a12a53a342b1e (patch) | |
tree | c4198b5bd414088317294cc0721d387ab6711669 /book/src/main/scala/book/Utils.scala | |
parent | dab933c342d755086253b1465a04caeeaa2af823 (diff) | |
download | hands-on-scala-js-428976e0c29599e29623c63ba22a12a53a342b1e.tar.gz hands-on-scala-js-428976e0c29599e29623c63ba22a12a53a342b1e.tar.bz2 hands-on-scala-js-428976e0c29599e29623c63ba22a12a53a342b1e.zip |
Lots of link insertion and standardization
Diffstat (limited to 'book/src/main/scala/book/Utils.scala')
-rw-r--r-- | book/src/main/scala/book/Utils.scala | 51 |
1 files changed, 49 insertions, 2 deletions
diff --git a/book/src/main/scala/book/Utils.scala b/book/src/main/scala/book/Utils.scala index ab6005b..07f462c 100644 --- a/book/src/main/scala/book/Utils.scala +++ b/book/src/main/scala/book/Utils.scala @@ -3,6 +3,8 @@ package book import acyclic.file import scala.collection.mutable import scalatags.Text.all._ +import scalatags.text.Builder + case class pureTable(header: Frag*){ def apply(content: Frag*) = { table(cls:="pure-table pure-table-horizontal half-table")( @@ -36,9 +38,9 @@ object sect{ val usedRefs = mutable.Set.empty[String] - def ref(s: String) = { + def ref(s: String, txt: String = "") = { usedRefs += s - a(s, href:=s"#${munge(s)}") + a(if (txt == "") s else txt, href:=s"#${munge(s)}") } def munge(name: String) = { @@ -80,6 +82,51 @@ object lnk{ usedLinks.add(url) a(name, href:=url) } + object dom{ + class MdnThing(name: String = toString) extends Frag{ + def render = lnk.apply(name, "https://developer.mozilla.org/en-US/docs/Web/API/" + name).render + def applyTo(t: Builder) = t.addChild(render) + } + class MdnEvent extends Frag { + def render = lnk.apply(toString, "https://developer.mozilla.org/en-US/docs/Web/Events/" + toString).render + def applyTo(t: Builder) = t.addChild(render) + } + object CanvasRenderingContext2D extends MdnThing() + object HTMLCanvasElement extends MdnThing() + object Element extends MdnThing() + object HTMLElement extends MdnThing() + object HTMLInputElement extends MdnThing() + object HTMLSpanElement extends MdnThing() + object XMLHttpRequest extends MdnThing() + object getElementById extends MdnThing("document.getElementById") + object setInterval extends MdnThing("WindowTimers.setInterval") + object mousedown extends MdnThing + object mouseup extends MdnThing + object onclick extends MdnThing + object onkeyup extends MdnThing + val JSONparse = lnk("Json.parse", "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse") + } + object scala{ + def apply(s: String) = { + lnk(s, "http://www.scala-lang.org/files/archive/nightly/docs/library/index.html#" + s) + } + } + object misc{ + val IntelliJ = lnk("IntelliJ", "http://blog.jetbrains.com/scala/") + val Eclipse = lnk("Eclipse", "http://scala-ide.org/") + val Rhino = lnk("Rhino", "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino") + val Nodejs = lnk("Nodejs", "http://nodejs.org/") + val PhantomJS = lnk("PhantomJS", "http://phantomjs.org/") + val Play = lnk("Play", "https://www.playframework.com/") + val Scalatra = lnk("Scalatra", "http://www.scalatra.org/") + val ScalaTest = lnk("ScalaTest", "http://www.scalatest.org/") + val Scalate = lnk("Scalate", "https://github.com/scalate/scalate") + } + object github{ + val Scalatags = lnk("Scalatags", "https://github.com/lihaoyi/scalatags") + val uPickle= lnk("Scalatags", "https://github.com/lihaoyi/upickle") + val scalaPickling = lnk("scala-pickling", "https://github.com/scala/pickling") + } } object hl{ |