sbt-site is an sbt plugin that generates project websites from static content, GitBook, Paradox, and Asciidoctor, with optional Scaladoc inclusion, and pairs with sbt-ghpages for publishing.
What is sbt-site?
sbt-site is an sbt plugin that builds a project website during the sbt build process. It takes input from static files (such as Markdown and HTML), GitBook, Paradox, and Asciidoctor sources, and outputs a static HTML website. The plugin can optionally include generated Scaladoc API documentation in the final site. It is released under a BSD 3-Clause license and designed to work hand-in-hand with publishing plugins like sbt-ghpages, which push the generated site to GitHub Pages.
Key Features
- Multiple content sources — Combine static content, GitBook, Paradox, and Asciidoctor in one site build.
- Scaladoc integration — Optionally include generated Scaladoc API documentation in the site output.
- sbt-ghpages support — Publish the generated website to GitHub Pages via sbt-ghpages.
- Paradox support — Use Lightbend's Paradox format for structured Markdown documentation.
- GitBook support — Process GitBook-style Markdown content as part of the site.
- Asciidoctor support — Render Asciidoctor .adoc files alongside other sources.
- Static content — Serve plain files and assets without transformation.
- Removed legacy integrations — Version 1.5.0 dropped Jekyll, Sphinx, Pamflet, Nanoc, Hugo, and Laika integrations, which require updates.
Who is it for?
- Scala library maintainers — Generate a project website with guides and API docs from the same sbt build that compiles the library.
- sbt plugin authors — Publish documentation for a plugin directly to GitHub Pages using sbt-ghpages.
- Documentation teams using Paradox or GitBook — Reuse existing documentation sources and bundle them into a single static site.
What can you do with sbt-site?
- Document a Scala project: combine README, guides, and Scaladoc into one static site with a consistent structure.
- Publish to GitHub Pages: run a single sbt task with sbt-ghpages to push the generated site.
- Mix documentation formats: feed GitBook and Asciidoctor sources into the same build and output a unified HTML site.
FAQ
Does sbt-site support Jekyll or Hugo?
No. Version 1.5.0 removed integrations with Jekyll, Sphinx, Pamflet, Nanoc, Hugo, and Laika because they require updates. The plugin currently supports static content, GitBook, Paradox, and Asciidoctor.
Can sbt-site include Scaladoc in the generated site?
Yes. sbt-site can optionally include generated Scaladoc API documentation as part of the site output, making it convenient to host API docs alongside user guides.
How do I publish the generated site?
sbt-site is designed to work hand-in-hand with sbt-ghpages. After generating the site, you can use sbt-ghpages to publish the output to GitHub Pages.
What license is sbt-site released under?
sbt-site is released under a BSD 3-Clause license, as stated in the repository's LICENSE file. This permits free use, modification, and redistribution.
Where can I find the documentation?
The documentation is available at https://www.scala-sbt.org/sbt-site/.








