From 18d9169acfbc386cc9c610eea9caf406529b80c6 Mon Sep 17 00:00:00 2001 From: Jonas Fonseca Date: Sun, 20 Nov 2016 16:50:13 -0500 Subject: [PATCH] Switch to sbt-microsites #438 --- CONTRIBUTING.md | 6 + build.sbt | 30 +- .../main/resources/microsite/data/menu.yml | 19 ++ .../resources/microsite}/img/circe.svg | 0 .../microsite/includes}/references.md | 0 docs/src/main/tut/codec.md | 12 +- docs/src/main/tut/contributing.md | 93 ++++++ docs/src/main/tut/cursors.md | 6 +- docs/src/{site => main/tut}/index.md | 12 +- docs/src/main/tut/optics.md | 16 +- docs/src/main/tut/parsing.md | 4 +- docs/src/{site => main/tut}/performance.md | 4 +- docs/src/site/_config.yml | 14 - docs/src/site/_layouts/default.html | 93 ------ docs/src/site/css/custom.css | 272 ------------------ docs/src/site/css/styles.css | 251 ---------------- docs/src/site/css/syntax.css | 80 ------ docs/src/site/js/scale.fix.js | 17 -- project/plugins.sbt | 4 +- 19 files changed, 168 insertions(+), 765 deletions(-) create mode 100644 docs/src/main/resources/microsite/data/menu.yml rename docs/src/{site => main/resources/microsite}/img/circe.svg (100%) rename docs/src/{site/_includes => main/resources/microsite/includes}/references.md (100%) create mode 100644 docs/src/main/tut/contributing.md rename docs/src/{site => main/tut}/index.md (94%) rename docs/src/{site => main/tut}/performance.md (99%) delete mode 100644 docs/src/site/_config.yml delete mode 100644 docs/src/site/_layouts/default.html delete mode 100644 docs/src/site/css/custom.css delete mode 100644 docs/src/site/css/styles.css delete mode 100644 docs/src/site/css/syntax.css delete mode 100644 docs/src/site/js/scale.fix.js diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 467b6f314c..b5529ff8b7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,3 +1,9 @@ +--- +layout: docs +title: "Guide for contributors" +position: 6 +--- + # Guide for contributors This project follows a standard [fork and pull][fork-and-pull] model for accepting contributions via diff --git a/build.sbt b/build.sbt index 2aedfce0b8..7d794ea2d8 100644 --- a/build.sbt +++ b/build.sbt @@ -94,14 +94,27 @@ def noDocProjects(sv: String): Seq[ProjectReference] = Seq[ProjectReference]( } ) -val docMappingsApiDir = settingKey[String]("Subdirectory in site target directory for API docs") -val docMappingsTutDir = settingKey[String]("Subdirectory in site target directory for Tut docs") - -lazy val docSettings = allSettings ++ tutSettings ++ ghpages.settings ++ unidocSettings ++ Seq( - docMappingsApiDir := "api", - docMappingsTutDir := "_tut", - addMappingsToSiteDir(mappings in (ScalaUnidoc, packageDoc), docMappingsApiDir), - addMappingsToSiteDir(tut, docMappingsTutDir), +lazy val docSettings = allSettings ++ unidocSettings ++ Seq( + micrositeName := "Circe", + micrositeDescription := "Yet another JSON library for Scala", + micrositeAuthor := "Travis Brown", + micrositeHighlightTheme := "atom-one-light", + micrositeHomepage := "https://travisbrown.github.io/circe/", + micrositeBaseUrl := "circe", + micrositeDocumentationUrl := "api", + micrositeGithubOwner := "travisbrown", + micrositeGithubRepo := "circe", + micrositeExtraMdFiles := Map(file("CONTRIBUTING.md") -> "contributing.md"), + micrositePalette := Map( + "brand-primary" -> "#5B5988", + "brand-secondary" -> "#292E53", + "brand-tertiary" -> "#222749", + "gray-dark" -> "#49494B", + "gray" -> "#7B7B7E", + "gray-light" -> "#E5E5E6", + "gray-lighter" -> "#F4F3F4", + "white-color" -> "#FFFFFF"), + addMappingsToSiteDir(mappings in (ScalaUnidoc, packageDoc), micrositeDocumentationUrl), ghpagesNoJekyll := false, scalacOptions in (ScalaUnidoc, unidoc) ++= Seq( "-groups", @@ -125,6 +138,7 @@ lazy val docs = project.dependsOn(core, generic, parser, optics) .settings( addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.0" cross CrossVersion.full) ) + .enablePlugins(MicrositesPlugin) lazy val aggregatedProjects: Seq[ProjectReference] = Seq[ProjectReference]( numbers, numbersJS, diff --git a/docs/src/main/resources/microsite/data/menu.yml b/docs/src/main/resources/microsite/data/menu.yml new file mode 100644 index 0000000000..bea2a052e7 --- /dev/null +++ b/docs/src/main/resources/microsite/data/menu.yml @@ -0,0 +1,19 @@ +options: + + - title: Parsing JSON + url: parsing.html + + - title: Traversing and modifying JSON + url: cursors.html + + - title: Encoding and decoding + url: codec.html + + - title: Optics + url: optics.html + + - title: Performance + url: performance.html + + - title: Guide for contributors + url: contributing.html diff --git a/docs/src/site/img/circe.svg b/docs/src/main/resources/microsite/img/circe.svg similarity index 100% rename from docs/src/site/img/circe.svg rename to docs/src/main/resources/microsite/img/circe.svg diff --git a/docs/src/site/_includes/references.md b/docs/src/main/resources/microsite/includes/references.md similarity index 100% rename from docs/src/site/_includes/references.md rename to docs/src/main/resources/microsite/includes/references.md diff --git a/docs/src/main/tut/codec.md b/docs/src/main/tut/codec.md index cf63d84356..783d52fb80 100644 --- a/docs/src/main/tut/codec.md +++ b/docs/src/main/tut/codec.md @@ -1,7 +1,7 @@ --- -layout: default +layout: docs title: "Encoding and decoding" -section: "codec" +position: 3 --- # Encoding and decoding @@ -38,7 +38,7 @@ decode[List[Int]]("[1, 2, 3]") ## Semi-automatic derivation -Sometimes it's convenient to have an `Encoder` or `Decoder` defined in your code, and semi-automatic +Sometimes it's convenient to have an `Encoder` or `Decoder` defined in your code, and semi-automatic derivation can help. You'd write: ```tut:silent @@ -76,7 +76,7 @@ NOTE: You will need the [Macro Paradise](http://docs.scala-lang.org/overviews/ma ### forProductN helper methods -It's also possible to construct encoders and decoders for case class-like types +It's also possible to construct encoders and decoders for case class-like types in a relatively boilerplate-free way without generic derivation: ```tut:silent @@ -147,7 +147,7 @@ implicit val decodeInstant: Decoder[Instant] = Decoder.decodeString.emap { str = ## Custom key types -If you need to encode/decode `Map[K, V]` where `K` is not `String` (or `Symbol`, `Int`, `Long`, etc.), +If you need to encode/decode `Map[K, V]` where `K` is not `String` (or `Symbol`, `Int`, `Long`, etc.), you need to provide a `KeyEncoder` and/or `KeyDecoder` for your custom key type. For example: @@ -177,7 +177,7 @@ json.as[Map[Foo, Int]] ## Warnings and known issues 1. Please note that generic derivation will not work on Scala 2.10 unless you've added the [Macro - Paradise][paradise] plugin to your build. See the [quick start section on the home page]({{ site.baseurl }}/index.html#quick-start) + Paradise][paradise] plugin to your build. See the [quick start section on the home page]({{ site.baseurl }}/index.html#quick-start) for details. 2. Generic derivation may not work as expected when the type definitions that you're trying to diff --git a/docs/src/main/tut/contributing.md b/docs/src/main/tut/contributing.md new file mode 100644 index 0000000000..b5529ff8b7 --- /dev/null +++ b/docs/src/main/tut/contributing.md @@ -0,0 +1,93 @@ +--- +layout: docs +title: "Guide for contributors" +position: 6 +--- + +# Guide for contributors + +This project follows a standard [fork and pull][fork-and-pull] model for accepting contributions via +GitHub pull requests: + +0. [Pick (or report) an issue](#pick-or-report-an-issue) +1. [Write code](#write-code) +2. [Write tests](#write-tests) +3. [Submit a pull request](#submit-a-pull-request) + +## Pick or report an issue + +The [_beginner-friendly_][beginner-friendly] label flags [open issues][issues] where there is +general agreement about the best way forward, and where the fix is likely to be relatively +straightforward for someone with Scala experience. The [_help wanted_][help-wanted] label is a +little more general, and indicates issues that may be much more challenging or have unresolved +questions that need additional discussion. + +When you begin working on an issue, please leave a comment to notify others that the issue is taken, +and join us in the [Gitter channel][gitter] if you have any questions along the way. + +We always welcome bug reports and feature requests—please don't feel like you need to have time to +contribute a fix or implementation for your issue to be appreciated. + +## Write code + +The [design principles document](DESIGN.md) outlines some of the practices followed in the circe +codebase. In general the public API should be purely functional, but the implementation is free to +use non-functional constructions for the sake of performance—we want correctness, of course, but +internally we're willing to have this correctness verified by tests rather than the compiler when +necessary. That said, performance-motivated optimizations should be based on evidence, not +speculation, and a functional style should be preferred whenever possible. When in doubt, get in +touch on Gitter or look around the codebase to see how things are done. + +circe uses a fairly standard Scalastyle configuration to check formatting, and it may be useful to +make your IDE aware of the following rules: + +* Code and comments should be formatted to a width no greater than 100 columns. +* Files should not contain trailing spaces. +* Imports should be sorted alphabetically. + +When in doubt, please run `sbt scalastyle` and let us know if you have any questions. + +## Write tests + +circe uses three testing libraries: [Discipline][discipline], [ScalaCheck][scalacheck], and +[ScalaTest][scalatest], and organizes tests according to the following guidelines: + +* In general tests live in the `tests` sub-project. This allows e.g. tests for codecs in the core + module to be able to use the Jawn parser without circular dependencies between sub-projects. +* For experimental or stand-alone modules, it may be appropriate for tests to live in the project. +* Most test suites should extend `io.circe.tests.CirceSuite`, which provides many useful type class + instances and other tools. +* Write tests that verify laws using Discipline whenever you can, then property-based tests using + ScalaCheck, then behavior-driven tests. +* An assertion in regular tests should be written with `assert` and `===` (which in the context of + `CirceSuite` is Cats's type-safe equality operator, not the operator provided by ScalaTest). +* An assertion in properties (inside `check`) should be written with `===`. + +You can run `sbt +validateJVM` to run Scalastyle checking and the JVM tests. `sbt +test` will run +all tests, but requires _a lot_ of time and memory. Unless your contribution directly touches +Scala.js-related code, it's generally not necessary to run the Scala.js tests—we'll verify +compatibility before the next release. + +## Submit a pull request + +* Pull requests should be submitted from a separate branch (e.g. using + `git checkout -b "username/fix-123"`). +* In general we discourage force pushing to an active pull-request branch that other people are + commenting on or contributing to, and suggest using `git merge master` during development. Once + development is complete, use `git rebase master` and force push to [clean up the history][squash]. +* The first line of a commit message should be no more than 72 characters long (to accommodate + formatting in various environments). +* Commit messages should general use the present tense, normal sentence capitalization, and no final + punctuation. +* If a pull request decreases code coverage more than by 2%, please file an issue to make sure that + tests get added. + +[beginner-friendly]: https://github.com/travisbrown/circe/labels/beginner-friendly +[discipline]: https://github.com/typelevel/discipline +[gitter]: https://gitter.im/travisbrown/circe +[fork-and-pull]: https://help.github.com/articles/using-pull-requests/ +[help-wanted]: https://github.com/travisbrown/circe/labels/help%20wanted +[issues]: https://github.com/travisbrown/circe/issues +[scalacheck]: https://www.scalacheck.org/ +[scalatest]: http://www.scalatest.org/ +[squash]: http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html diff --git a/docs/src/main/tut/cursors.md b/docs/src/main/tut/cursors.md index 8862395da3..51a0709cb2 100644 --- a/docs/src/main/tut/cursors.md +++ b/docs/src/main/tut/cursors.md @@ -1,7 +1,7 @@ --- -layout: default +layout: docs title: "Traversing and modifying JSON" -section: "cursors" +position: 2 --- # Traversing and modifying JSON @@ -57,7 +57,7 @@ val secondQux: Decoder.Result[String] = ## Transforming data -We can also use a cursor to modify JSON. +We can also use a cursor to modify JSON. ```tut:silent val reversedNameCursor: ACursor = diff --git a/docs/src/site/index.md b/docs/src/main/tut/index.md similarity index 94% rename from docs/src/site/index.md rename to docs/src/main/tut/index.md index cf9f9f3fb6..fba7c92d03 100644 --- a/docs/src/site/index.md +++ b/docs/src/main/tut/index.md @@ -1,5 +1,5 @@ --- -layout: default +layout: home title: "Home" section: "home" --- @@ -12,12 +12,12 @@ section: "home" circe (pronounced SUR-see, or KEER-kee in classical Greek, or CHEER-chay in Ecclesiastical Latin) is a JSON library for Scala (and [Scala.js][scala-js]). -circe's working title was jfc, which stood for "JSON for [cats][cats]". The name was changed for +circe's working title was jfc, which stood for "JSON for [cats][cats]". The name was changed for [a number of reasons](https://github.com/travisbrown/circe/issues/11). -{% include_relative _tut/quickstart.md %} +{% include_relative quickstart.md %} ## Why? @@ -48,7 +48,7 @@ fussiest code in Argonaut. The [`jackson`][circe-jackson] subproject supports us circe also provides a [`parser`][circe-parser] subproject that provides parsing support for Scala.js, with JVM parsing provided by `io.circe.jawn` and JavaScript parsing from `scalajs.js.JSON`. -See the [Parsing page](tut/parsing.html) for more details. +See the [Parsing page](parsing.html) for more details. ### Lenses @@ -56,7 +56,7 @@ circe doesn't use or provide lenses in the `core` project. This is related to th since [Monocle][monocle] has a Scalaz dependency, but we also feel that it simplifies the API. The 0.3.0 release added [an experimental `optics` subproject][optics-pr] that provides Monocle lenses. -See the [Optics page](tut/optics.html) for more details. +See the [Optics page](optics.html) for more details. ### Codec derivation @@ -70,7 +70,7 @@ example), circe includes a subproject (`generic`) that provides generic codec de case classes and sealed trait hierarchies. It also includes derivation of "incomplete" case class instances (see my recent [blog post][incompletes] for details). -See the [Encoding and Decoding page](tut/codec.html) for more details. +See the [Encoding and Decoding page](codec.html) for more details. ### Aliases diff --git a/docs/src/main/tut/optics.md b/docs/src/main/tut/optics.md index 3bd78138c9..541e931621 100644 --- a/docs/src/main/tut/optics.md +++ b/docs/src/main/tut/optics.md @@ -1,12 +1,12 @@ --- -layout: default +layout: docs title: "Optics" -section: "optics" +position: 4 --- # Optics -Optics are a powerful tool for traversing and modifying JSON documents. They can reduce boilerplate +Optics are a powerful tool for traversing and modifying JSON documents. They can reduce boilerplate considerably, especially if you are working with deeply nested JSON. circe provides support for optics by integrating with [Monocle](monocle). To use them, add a @@ -72,8 +72,8 @@ val _phoneNum = root.order.customer.contactDetails.phone.string val phoneNum: Option[String] = _phoneNum.getOption(json) ``` -Note the difference between cursors and optics. With cursors, we start with a JSON document, get a -cursor from it, and then use that cursor to traverse the document. With optics, on the other hand, +Note the difference between cursors and optics. With cursors, we start with a JSON document, get a +cursor from it, and then use that cursor to traverse the document. With optics, on the other hand, we first define the traversal we want to make, then apply it to a JSON document. In other words, optics provide a way to separate the description of a JSON traversal from its @@ -98,7 +98,7 @@ val quantities: Seq[Int] = And with optics: ```tut:book -val items: Seq[Int] = +val items: Seq[Int] = root.order.items.each.quantity.int.getAll(json) ``` @@ -110,9 +110,9 @@ Suppose we decide to have a 2-for-1 sale, so we want to double all the quantitie can be achieved with a small change to the code we wrote for traversal: ```tut:book -val doubleQuantities: Json => Json = +val doubleQuantities: Json => Json = root.order.items.each.quantity.int.modify(_ * 2) - + val modifiedJson = doubleQuantities(json) ``` diff --git a/docs/src/main/tut/parsing.md b/docs/src/main/tut/parsing.md index 5a307546dc..a6b491bdd1 100644 --- a/docs/src/main/tut/parsing.md +++ b/docs/src/main/tut/parsing.md @@ -1,7 +1,7 @@ --- -layout: default +layout: docs title: "Parsing JSON" -section: "parsing" +position: 1 --- # Parsing JSON diff --git a/docs/src/site/performance.md b/docs/src/main/tut/performance.md similarity index 99% rename from docs/src/site/performance.md rename to docs/src/main/tut/performance.md index b493f3d502..97bf49f033 100644 --- a/docs/src/site/performance.md +++ b/docs/src/main/tut/performance.md @@ -1,7 +1,7 @@ --- -layout: default +layout: docs title: "Performance" -section: "performance" +position: 5 --- # Performance diff --git a/docs/src/site/_config.yml b/docs/src/site/_config.yml deleted file mode 100644 index a2baab4c09..0000000000 --- a/docs/src/site/_config.yml +++ /dev/null @@ -1,14 +0,0 @@ -name: Circe Documentation -markdown: kramdown -highlighter: rouge -# this kramdown config is for local use and I think GitHub's Jekyll ignores it -kramdown: - input: GFM - syntax_highlighter: rouge -baseurl: /circe -apidocs: /circe/api/ -sources: https://github.com/travisbrown/circe/blob/master/ - -collections: - tut: - output: true diff --git a/docs/src/site/_layouts/default.html b/docs/src/site/_layouts/default.html deleted file mode 100644 index 2b2d037dc3..0000000000 --- a/docs/src/site/_layouts/default.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - {{ site.name }} - {{ page.title }} - - - - - - - - -
- -
- -
- {{ content }} -
-
- - {% if (page.section == 'data') or (page.section == 'typeclasses') %} - {% assign linksSection = true %} - {% endif %} - {% if (page.source != null) or (page.scaladoc != null) %} - {% assign linksContent = true %} - {% endif %} - {% if linksSection and linksContent %} -
-
Useful links:
-
    - {% if (page.source != null) and (page.source contains 'https:') %} -
  • Source
  • - {% elsif page.source != null %} -
  • Source
  • - {% endif %} - {% if page.scaladoc != null %} -
  • Scaladoc
  • - {% endif %} -
-
- {% endif %} - -
- - - - diff --git a/docs/src/site/css/custom.css b/docs/src/site/css/custom.css deleted file mode 100644 index 85bfc1a9e9..0000000000 --- a/docs/src/site/css/custom.css +++ /dev/null @@ -1,272 +0,0 @@ -header ol { - padding: 0 0 0 20px !important; - margin: 0 !important; - width: 270px !important; - height: auto; - overflow: visible; - list-style: none; - padding-bottom: 20px; -} - -header ol li { - padding: 0; - margin: 0; - clear: left; - border:0; -} -header #top > li { -# margin-left: -20px; -} -header ol li { - display: block; - padding: 5px 0 5px 0; -} -header ol li, header ol { - white-space: nowrap !important; - height: auto; -} -hr { - clear: both; -} -section img { - border-color: #ccc; - border-width: 1px; - border-style: solid; - padding: 6px; -} -.red { - color: red; -} - -.msg { - font-style: italic; - border-radius: 5px; - -moz-border-radius: 5px; -} -.warn { - background-color: #F5EEA2; - border: 1px solid #F7D386; -} -.msg p { - padding: 10px; - margin: 0; -} - -div#header { - height: 100px; -} - -div#container { - text-align:left; -} -div#content p { - line-height:1.4; - margin: 10px; -} -div#navigation ol { - margin:15px 0; - padding:0; - list-style-type:none; -} - -div#navigation li { - margin-bottom:5px; -} - -div#navigation { -# float:left; -# width:200px; -# margin-top:50px; -# margin-left:-100%; -} - -div#footer p{ - margin:0;padding:5px 10px; -} - -div#content { - margin-top: 20px; -} - -div#extra { - background: #EEEEFF; - margin-right: 50px; - margin-top: 50px; - padding: 10px; -} - -div#extra h5 { - display: inline; - margin-bottom: 0; -} - -div#extra ul { - display:inline; - list-style-type: none; - text-align: center; - margin: 0; - padding: 0; -} - -div#extra ul li { - display: inline; - font-weight: bold; - font-size: 0.83em; - margin-left: 3px; -} - -div#footer { - clear:left; -} - -div#content h1 { - text-align: left; -} - -div#commute { - float: left; - height: 100px; -} - -div#commute img { - max-height:100%; -} - -div#toolbox { - float: right; - padding-right: 10px; -} - -table#tooltable { - border: none ; - padding: 0px; - margin: 0px: -} - -table#tooltable tr { - border: none; - padding: 0px; - margin: 0px: - -} -table#tooltable td { - border: none; - padding-top: 0px; - padding-bottom: 0px; - padding-right: 0px; - - padding-left: 5px; -} - -table#tooltable a { - font-weight: bold; -} - -table#tooltable td.label { - text-align: right; - list-style-type: none; - font-size: small; - font-weight: bold; -} -table#tooltable td.link { - text-align: left; - list-style-type: none; - font-size: small; -} - - - -div#navbar { - background: #E07979; -} - -div#navbar ul { - margin: auto; - display: block; - text-align: center; - list-style-type: none; - padding: 0; - - - margin: 0; - - overflow: hidden; -} - -div#navbar li { - display: inline-block; - - margin-left: -2px; - margin-right: 11px; - margin-bottom: 0px; - float: left; -} - -div#navbar li.active { - - background : black; -} -div#navbar li a { - color: white; -} - -li#active { - float: left; - display: inline-block; - color: black - color: white - -} -li#active a { - float: left; - display: inline-block; - color: black; - background: white; - -} - -div#navbar a { - margin-left: 10px; - margin-right: 10px; - display: block; - color: black; - text-decoration: none; - font-weight: bold; -} - -div#banner { - text-style: upper; - margin-bottom: 20px; -} - - -h5 { - text-align: center; -} - -h1 { - text-align: center; -} - -body { - color: #000; - font:16px/1.5 Lato, "Helvetica Neue", Helvetica, Arial, sans-serif; - padding: 0; -} - -div#tagline { - font-style: italic; - text-align: center; -} - -hr { - margin: 5px 12px; -} - -h2:hover a:after { - content: '§'; -} - -div#banner h1 { - margin-top: 0 -} diff --git a/docs/src/site/css/styles.css b/docs/src/site/css/styles.css deleted file mode 100644 index 369642779b..0000000000 --- a/docs/src/site/css/styles.css +++ /dev/null @@ -1,251 +0,0 @@ -@import url(https://fonts.googleapis.com/css?family=Lato:300italic,700italic,300,700); - -body { - padding:50px; - font:14px/1.5 Lato, "Helvetica Neue", Helvetica, Arial, sans-serif; - color:#777; - font-weight:300; -} - -h1, h2, h3, h4, h5, h6 { - color:#222; - margin:30px 0 10px 0; -} - -h1, h2, h3 { - line-height:1.1; -} - -h1 { - font-size:28px; -} - -h2 { - color:#393939; -} - -h3, h4, h5, h6 { - color:#494949; -} - - { - color:#39c; - font-weight:400; - text-decoration:none; -} - -a small { - font-size:11px; - color:#777; - margin-top:-0.6em; - display:block; -} - -.wrapper { - width:860px; - margin:0 auto; -} - -blockquote { - border-left:1px solid #e5e5e5; - margin:0; - padding:0 0 0 20px; - font-style:italic; -} - -code, pre { - font-family:Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal, monospace; - color:#333; - font-size:12px; -} - -pre { - padding:8px 15px; - background: #f8f8f8; - border-radius:5px; - border:1px solid #e5e5e5; - overflow-x: auto; -} - -table { - width:100%; - border-collapse: collapse; -} - -th, td { - text-align:left; - padding:5px 10px; - border-bottom:1px solid #e5e5e5; -} - -dt { - color:#444; - font-weight:700; -} - -th { - color:#444; -} - -img { - max-width:100%; -} - -header { - width:270px; -# float:left; - position:fixed; -} - -header ul { - list-style:none; - height:40px; - - padding:0; - - background: #eee; - background: -moz-linear-gradient(top, #f8f8f8 0%, #dddddd 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f8f8f8), color-stop(100%,#dddddd)); - background: -webkit-linear-gradient(top, #f8f8f8 0%,#dddddd 100%); - background: -o-linear-gradient(top, #f8f8f8 0%,#dddddd 100%); - background: -ms-linear-gradient(top, #f8f8f8 0%,#dddddd 100%); - background: linear-gradient(top, #f8f8f8 0%,#dddddd 100%); - - border-radius:5px; - border:1px solid #d2d2d2; - box-shadow:inset #fff 0 1px 0, inset rgba(0,0,0,0.03) 0 -1px 0; - width:270px; -} - -header li { - width:89px; -# float:left; - border-right:1px solid #d2d2d2; - height:40px; -} - -header ul a { - line-height:1; - font-size:11px; - color:#999; -# display:block; - text-align:center; - padding-top:6px; - height:40px; -} - -strong { - color:#222; - font-weight:700; -} - -header ul li + li { - width:88px; - border-left:1px solid #fff; -} - -header ul li + li + li { - border-right:none; - width:89px; -} - -header ul a strong { - font-size:14px; - display:block; - color:#222; -} - -section { - width:500px; -# float:right; - padding-bottom:50px; -} - -small { - font-size:11px; -} - -hr { - border:0; - background:#e5e5e5; - height:1px; - margin:0 0 20px; -} - -footer { - width:270px; -# float:left; - position:fixed; - bottom:50px; -} - -@media print, screen and (max-width: 960px) { - - div.wrapper { - width:auto; - margin:0; - } - - header, section, footer { -# float:none; - position:static; - width:auto; - } - - header { - padding-right:320px; - } - - section { - border:1px solid #e5e5e5; - border-width:1px 0; - padding:20px 0; - margin:0 0 20px; - } - - header a small { - display:inline; - } - - header ul { - position:absolute; - right:50px; - top:52px; - } -} - -@media print, screen and (max-width: 720px) { - body { - word-wrap:break-word; - } - - header { - padding:0; - } - - header ul, header p.view { - position:static; - } - - pre, code { - word-wrap:normal; - } -} - -@media print, screen and (max-width: 480px) { - body { - padding:15px; - } - - header ul { - display:none; - } -} - -@media print { - body { - padding:0.4in; - font-size:12pt; - color:#444; - } -} diff --git a/docs/src/site/css/syntax.css b/docs/src/site/css/syntax.css deleted file mode 100644 index 761791d094..0000000000 --- a/docs/src/site/css/syntax.css +++ /dev/null @@ -1,80 +0,0 @@ -/*.highlight pre code * { - white-space: nowrap; // this sets all children inside to nowrap -} -.highlight pre { - overflow-x: auto; // this sets the scrolling in x -} -*/ -.highlight pre code { - white-space: pre; // forces to respect
 formatting
-}
-
-
-/*
- * GitHub style for Pygments syntax highlighter, for use with Jekyll
- * Courtesy of GitHub.com
- */
-
-.highlight pre, pre, .highlight .hll { background-color: #f8f8f8; padding: 6px 10px; border-radius: 5pt; }
-.highlight .c { color: #999988; font-style: italic; }
-.highlight .err { color: #a61717; background-color: #e3d2d2; }
-.highlight .k { font-weight: bold; }
-.highlight .o { font-weight: bold; }
-.highlight .cm { color: #999988; font-style: italic; }
-.highlight .cp { color: #999999; font-weight: bold; }
-.highlight .c1 { color: #999988; font-style: italic; }
-.highlight .cs { color: #999999; font-weight: bold; font-style: italic; }
-.highlight .gd { color: #000000; background-color: #ffdddd; }
-.highlight .gd .x { color: #000000; background-color: #ffaaaa; }
-.highlight .ge { font-style: italic; }
-.highlight .gr { color: #aa0000; }
-.highlight .gh { color: #999999; }
-.highlight .gi { color: #000000; background-color: #ddffdd; }
-.highlight .gi .x { color: #000000; background-color: #aaffaa; }
-.highlight .go { color: #888888; }
-.highlight .gp { color: #555555; }
-.highlight .gs { font-weight: bold; }
-.highlight .gu { color: #800080; font-weight: bold; }
-.highlight .gt { color: #aa0000; }
-.highlight .kc { font-weight: bold; }
-.highlight .kd { font-weight: bold; }
-.highlight .kn { font-weight: bold; }
-.highlight .kp { font-weight: bold; }
-.highlight .kr { font-weight: bold; }
-.highlight .kt { color: #445588; font-weight: bold; }
-.highlight .m { color: #009999; }
-.highlight .s { color: #dd1144; }
-.highlight .n { color: #333333; }
-.highlight .na { color: teal; }
-.highlight .nb { color: #0086b3; }
-.highlight .nc { color: #445588; font-weight: bold; }
-.highlight .no { color: teal; }
-.highlight .ni { color: purple; }
-.highlight .ne { color: #990000; font-weight: bold; }
-.highlight .nf { color: #990000; font-weight: bold; }
-.highlight .nn { color: #555555; }
-.highlight .nt { color: navy; }
-.highlight .nv { color: teal; }
-.highlight .ow { font-weight: bold; }
-.highlight .w { color: #bbbbbb; }
-.highlight .mf { color: #009999; }
-.highlight .mh { color: #009999; }
-.highlight .mi { color: #009999; }
-.highlight .mo { color: #009999; }
-.highlight .sb { color: #dd1144; }
-.highlight .sc { color: #dd1144; }
-.highlight .sd { color: #dd1144; }
-.highlight .s2 { color: #dd1144; }
-.highlight .se { color: #dd1144; }
-.highlight .sh { color: #dd1144; }
-.highlight .si { color: #dd1144; }
-.highlight .sx { color: #dd1144; }
-.highlight .sr { color: #009926; }
-.highlight .s1 { color: #dd1144; }
-.highlight .ss { color: #990073; }
-.highlight .bp { color: #999999; }
-.highlight .vc { color: teal; }
-.highlight .vg { color: teal; }
-.highlight .vi { color: teal; }
-.highlight .il { color: #009999; }
-.highlight .gc { color: #999; background-color: #EAF2F5; }
diff --git a/docs/src/site/js/scale.fix.js b/docs/src/site/js/scale.fix.js
deleted file mode 100644
index 87a40ca716..0000000000
--- a/docs/src/site/js/scale.fix.js
+++ /dev/null
@@ -1,17 +0,0 @@
-var metas = document.getElementsByTagName('meta');
-var i;
-if (navigator.userAgent.match(/iPhone/i)) {
-  for (i=0; i