chipsenkbeil / grus

Static site generator written in Scala using Scalatags for templates and Flexmark for markdown.

Website GitHub

grus

(G)enerate (R)esources (U)sing (S)cala

Static site generator written in Scala using Scalatags for templates and Flexmark for markdown.

Running

Via homebrew

Install via the following:

brew install chipsenkbeil/personal/grus

Then run on the command line via:

grus ...

Via binary

Grab one of the fat jars listed below and run via java -jar DOWNLOADED_JAR.jar.

You can view help information by adding --help to the base jar or any of its commands. E.g. java -jar DOWNLOADED_JAR.jar --help or java -jar DOWNLOADED_JAR.jar generate --help.

Via sbt

To use in sbt (0.13.x) to generate your own content, add the following plugin:

addSbtPlugin("org.senkbeil" %% "sbt-grus" % "0.1.1")
  • sbt grusSkeleton will create a new theme or website outline in the specified output directory
  • sbt grusGenerate will generate the website and put the contents in an output directory
  • sbt grusServe will generate the website and start a server to display it locally
  • sbt grusPublish will publish the contents output from grusGenerate

You can add --help to any of the above commands to display help information for the specific command. E.g. sbt "grusGenerate --help".

Building a Theme

To use the API to create a custom theme, add the following dependency:

libraryDependencies += "org.senkbeil" %% "grus-layouts" % "0.1.1"

Examples

See the Scala Debugger docs module for an example of how to write a custom theme.

See the Scala Debugger grus.toml for an example of how to write a config file to fill in values.