Skip to content

aumann/website

This branch is 1024 commits behind sbt/website:1.x.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

d53d682 · Apr 3, 2018
Aug 13, 2017
Apr 3, 2018
May 25, 2014
Apr 3, 2018
Feb 3, 2018
Aug 11, 2017
Aug 14, 2017
Apr 2, 2018
Mar 7, 2018
Oct 24, 2011
Apr 2, 2018

Repository files navigation

scala-sbt.org

This project is the source for scala-sbt.org. See contributors for the list of documentation contributors.

scala-sbt.org is powered by:

  • nanoc to generate the landing pages.

  • Pamflet, a Scala-based documentation engine written by @n8han (and some contributions from @eed3si9n) generates the sbt 0.13/1.x documentation.

  • Pandoc, to generate pdf files.

The site generation is driven by sbt-site and sbt-ghpages.

Attention plugin authors

The source for Community plugins page is at src/reference/01-General-Info/02-Community-Plugins.md. Add your plugin to this page and send send us a pull request if your plugin is not already on it.

Setup

Minimum setup

Currently, nanoc requires Ruby 2.1 or greater.

You'll need the following gems for running nanoc:

$ gem install nanoc:4.0.2
$ gem install redcarpet
$ gem install nokogiri

If you're running ubuntu, you'll need to also install ruby-dev for the native-code in redcarpet:

$ sudo apt-get install ruby-dev

Full setup

The pdf generation is optional, and requires the following additional steps.

On Ubuntu

$ sudo add-apt-repository ppa:texlive-backports/ppa
$ sudo apt-get update
$ sudo apt-get install pandoc latex-cjk-all texlive-full

On Mac

Usage

To make the site locally, from sbt shell:

> makeSite

Then open target/site/index.html.

To push site, from sbt shell:

> ghpagesPushSite

Beware that sbt-ghpages interacts badly if your home directory is a git repository: sbt/sbt-ghpages#25

Releasing new sbt

  • Make sure you enable pdf generation: sbt -Dsbt.website.generate_pdf
  • Update sbt.version in project/build.properties
  • Update targetSbtFullVersion in project/Docs.scala
  • Add last release to "Previous releases" in src/nanoc/nanoc.yaml
  • Update sbtVersion, windowsBuild and sbtVersionForScalaDoc in src/reference/template.properties

Dollar sign

Pamflet uses dollar sign ($) as the template variable character. So if you use it in the document, use need to escape it with backslash: \$.

Here's how to check for unescaped dollar signs.

$ brew install ripgrep
$ rg '^([^\$]*)[^\\]\$([^\$]*)$' -g '*.md' src

src/reference/02-DetailTopics/03-Dependency-Management/04-Proxy-Repositories.md
79:  export SBT_CREDENTIALS="$HOME/.ivy2/.credentials"

Including code examples

To include a validated code examples, create a scripted test under src/sbt-test, and in the markdown include as:

// This includes the entire file as Scala code snippet
@@snip [build.sbt]($root$/src/sbt-test/ref/basic/build.sbt) {}

or

// This includes snippet between a line containing #example another line with #example
@@snip [build.sbt]($root$/src/sbt-test/ref/basic/build.sbt) { #example }

or

// This specifies syntax highlight
@@snip [build.sbt]($root$/src/sbt-test/ref/basic/build.sbt) { #example type=text }

About

The source for scala-sbt.org

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Scala 31.4%
  • HTML 23.8%
  • CSS 20.3%
  • Python 13.3%
  • JavaScript 9.1%
  • Ruby 1.7%
  • Shell 0.4%