Skip to content

effekt-lang/effekt-website

Repository files navigation

Effekt Website

Website of the effekt language

SBT Microsites

The initial version of the website was generated by sbt-microsites (© 2019 47 Degrees). We then moved to directly editing the generated Jekyll code for more flexibility.

Original Notice

sbt-microsites
Copyright (c) 2016-2020 47 Degrees.  All rights reserved.

Licensed under Apache License. See [LICENSE](LICENSE) for terms.

Original License

See the MICROSITE-LICENSE file for the original sbt-microsite license.

Building the Website Locally

The website is built with jekyll and requires a ruby installation.

Follow instructions on the Jekyll website to install jekyll (which requires Ruby). Afterwards, you are now able to locally deploy the website using the following command:

$ bundle exec jekyll serve

How to Update the Effekt Compiler / LSP Server

The website features an interactive REPL and editor. In order to update the underlying compiler, run the following commands.

  1. In the effekt repo:
    $ cd effekt/
    $ sbt
    sbt> project effektJS
    effektJS> fullOptJS
    [info] Full optimizing ./js/target/scala-2.13/effekt-opt.js
    $ cd ..
    
  2. Move the resulting effekt/js/target/scala-$VERSION/effekt-opt.js to src/effekt.js in the website repo:
    $ cp effekt/effekt/js/target/scala-$VERSION/effekt-opt.js src/effekt.js
    
  3. Install the neccessary other dependencies with:
    $ npm install .
    
  4. In the website's repo, run webpack:
    $ npm exec webpack webpack
    
    This will generate a bunch of packed js files.
  5. Optionally, verify that everything functions as expected by locally deploying the website:
    $ bundle exec jekyll serve