# Developing on the docsite

Running locally can be done with Jekyll.
Follow setup instructions at https://help.github.com/en/articles/setting-up-your-github-pages-site-locally-with-jekyll

Run

```sh
docs$ bundle exec jekyll serve
```

Another way to do local development without doing the Ruby setup steps is to use a docker container:

```sh
$ docker run -it --rm -v "$PWD":/usr/src/app -p "4000:4000" starefossen/github-pages
```

# Authroing the docsite

The docsite is a mix of stardoc generated markdown and hand written markdown.  
The files marked with 
```
<!-- *********************
 DO NOT EDIT THIS FILE
  It is a generated build output from Stardoc.
  Instead you must edit the .bzl file where the rules are declared,
  or possibly a markdown file next to the .bzl file
 ********************* -->
 ```
 Should be edited by modifying the docs in the source `.bzl` files, other files can be freely edited.