diff options
Diffstat (limited to 'book/src')
-rwxr-xr-x | book/src/main/resources/css/side-menu.css | 28 | ||||
-rw-r--r-- | book/src/main/scala/book/Book.scala | 6 | ||||
-rw-r--r-- | book/src/main/scala/book/Utils.scala | 33 |
3 files changed, 50 insertions, 17 deletions
diff --git a/book/src/main/resources/css/side-menu.css b/book/src/main/resources/css/side-menu.css index 1807112..ca3a23b 100755 --- a/book/src/main/resources/css/side-menu.css +++ b/book/src/main/resources/css/side-menu.css @@ -1,7 +1,12 @@ body { color: #777; } - +*{ + position: relative; +} +p{ + text-align: justify; +} #main{ position: fixed; max-width: 100%; @@ -276,6 +281,27 @@ code{ .half-table th{ width: 50%; } +.header-link{ + position: absolute; + right: 0px; +} +*:hover > .header-link:hover{ + opacity: 1.0; +} +*:hover > .header-link:active{ + opacity: 0.75; +} +*:hover > .header-link{ + text-align: right; + text-decoration: none; + opacity: 0.5; +} +.header-link > i{ + color: #777; +} +.header-link{ + opacity: 0.05; +} /*Workaround for bug in highlight.js IDEA theme*/ .hljs-tag, .hljs-symbol{ background: none; diff --git a/book/src/main/scala/book/Book.scala b/book/src/main/scala/book/Book.scala index 7553087..c6c9c2e 100644 --- a/book/src/main/scala/book/Book.scala +++ b/book/src/main/scala/book/Book.scala @@ -18,6 +18,12 @@ object Book { "META-INF/resources/webjars/highlightjs/8.2-1/languages/xml.min.js", "META-INF/resources/webjars/pure/0.5.0/pure-min.css", "META-INF/resources/webjars/pure/0.5.0/grids-responsive-min.css", + "META-INF/resources/webjars/font-awesome/4.2.0/css/font-awesome.min.css", + "META-INF/resources/webjars/font-awesome/4.2.0/fonts/FontAwesome.otf", + "META-INF/resources/webjars/font-awesome/4.2.0/fonts/fontawesome-webfont.eot", + "META-INF/resources/webjars/font-awesome/4.2.0/fonts/fontawesome-webfont.svg", + "META-INF/resources/webjars/font-awesome/4.2.0/fonts/fontawesome-webfont.ttf", + "META-INF/resources/webjars/font-awesome/4.2.0/fonts/fontawesome-webfont.woff", "css/side-menu.css", "js/ui.js", "example-fastopt.js", diff --git a/book/src/main/scala/book/Utils.scala b/book/src/main/scala/book/Utils.scala index 867ed68..ab6005b 100644 --- a/book/src/main/scala/book/Utils.scala +++ b/book/src/main/scala/book/Utils.scala @@ -15,21 +15,21 @@ object sect{ var indent = 0 - val headers = Seq[((String, String) => scalatags.Text.Tag, Option[Frag => Frag])]( - ((h, s) => div(cls:="header")( - h1(h), + val headers = Seq[((String, String, Frag) => scalatags.Text.Tag, Option[Frag => Frag])]( + ((h, s, l) => div(cls:="header")( + h1(h, l), h2(s) ), Some(f => div(cls:="content", f))), - ((h, s) => div(cls:="header")( - h1(id:=munge(h), h), + ((h, s, l) => div(cls:="header")( + h1(id:=munge(h), h, l), br ), None), - (h1(_, _), None), - (h2(_, _), None), - (h3(_, _), None), - (h4(_, _), None), - (h5(_, _), None), - (h6(_, _), None) + (h1(_, _, _), None), + (h2(_, _, _), None), + (h3(_, _, _), None), + (h4(_, _, _), None), + (h5(_, _, _), None), + (h6(_, _, _), None) ) var structure = Node("root", mutable.Buffer.empty) @@ -54,16 +54,17 @@ case class sect(name: String, subname: String = ""){ sect.structure = newNode def apply(args: Frag*) = { val wrappedContents = contentWrap.getOrElse((x: Frag) => x)(args) + val headingAnchor = a( + cls:="header-link", href:=s"#${sect.munge(name)}", - cls:="content-link", - title:="Heading anchor" + " ", + i(cls:="fa fa-link") ) val res = Seq[Frag]( - headerWrap(name, subname)( + headerWrap(name, subname, headingAnchor)( cls:="content-subhead", - id:=sect.munge(name), - headingAnchor + id:=sect.munge(name) ), wrappedContents ) |