All of the pages of this site are written in markdown. I use IntelliJ IDEA as an IDE and it supports markdown, and so the content files, config and theme form an IntelliJ project. The markdown files (which live in a content directory) are compiled to the actual HTML by Hugo, a static site generator. Hugo also has a live update server built in, which is great for checking the site as you write the pages.
For some time I’ve been keeping an eye on the Apache Zeppelin project. I found with a recent look, that the project has developed to quite a mature standard despite it remaining a pre 1.0 release. An upcoming workshop that I’m running on Writing Analytics presented me with the opportunity to road test it in a real scenario. I was originally intending to use a [Jupyter Notebook]() for this task, but Zeppelin provided me with the ability to (a) work in Scala (including Spark if necessary), (b) interact easily with S3, and © render the analytics with Angular.
After many attempts to get the best uber-jar possible with sbt, I have eventually found that it is much easier to use sbt-native-packager It can be added through an sbt plugin in project/plugins.sbt file: addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.2.0-M9") and enabled in build.sbt file: enablePlugins(JavaAppPackaging) Creating a package complete with shell script is as easy as running the sbt command: sbt universal:packageZipTarball This file can then be uploaded to the server, unzipped and then the app run: