Static site generator written in Scala using Scalatags for templates and Flexmark for markdown.
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
grus-core/src/main
grus-layouts/src/main/scala/org/senkbeil/grus
project
sbt-plugin/src/main/scala/org/senkbeil/grus/sbt
.editorconfig
.gitignore
.java-version
.jvmopts
LICENSE
README.md
build.sbt
version.sbt

README.md

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.