# README for the documentation site
## Building after a fork
## Run locally
To run locally:
1. Get the content from the downstream repos.
```
./get-content.sh
```
3. Build and serve locally.
```
bundle exec jekyll serve --config _config.yml,staticman.yml
```
Use this format to turn on production features:
```
JEKYLL_ENV=production bundle exec jekyll serve --config _config.yml
```
## Deploy via Netlify
To deploy to Netlify:
1. Build the site.
```
JEKYLL_ENV=production bundle exec jekyll build --config _config.yml
```
2. Force add the `_site` directory.
```
git push -f origin
```
## Test a Deploy with Surge
```
cd _site
surge
```
```
surge --domain raspy-songs.surge.sh
```
# To generate the CLI json manually
The `_data/cliRef.json` file is generated from the `blockstack-cli` subcommand `docs` . This data file is consumed by the `_includes/commandline.md` file which is used to serve up the reference.
1. Install the latest version of the cli according to the instructions at: https://github.com/blockstack/cli-blockstack
2. Generate the json for the cli in the `docs.blockstack` repo.
```
$ blockstack-cli docs | python -m json.tool > _data/cliRef.json
```
3. Make sure the generated docs are clean by building the documentation.
If you run into any problem in the generation usually it results from a problem in the repo. You can make a pull request back to the repo to fix anything.
## Clarity Reference
As of 8/12/19 Clarity is in the [develop ](https://github.com/blockstack/blockstack-core/tree/develop ) branch of core. You can build the Clarity command line from the Docker image. `core/src/vm/docs/mod.rs`
1. Pull the latest developer preview from the Docker Hub.
```
$ docker pull blockstack/blockstack-core:clarity-developer-preview
```
2. Build the lastest JSON.
```
docker run -it blockstack/blockstack-core:clarity-developer-preview blockstack-core docgen | jsonpp > ~/repos/docs.blockstack/_data/clarityRef.json
```
3. Build the documentation and verify the Clarity reference is building correctly.
4. Make changes in core
5. Build the docker image
6. Run doc gen with the new image
```
$ docker run --name docsbuild -it blockstack-test blockstack-core docgen | jsonpp > ~/repos/docs.blockstack/_data/clarityRef.json
```
## To view the clarity cli
You can view [the source code ](https://github.com/blockstack/blockstack-core/blob/develop/src/clarity.rs ).
1. Pull the Blockstack core clarity-developer-preview image from Docker Hub.
```bash
$ docker pull blockstack/blockstack-core:clarity-developer-preview
```
2. Start the Blockstack Core test environment with a Bash shell.
```bash
$ docker run -it -v $HOME/blockstack-dev-data:/data/ blockstack/blockstack-core:clarity-developer-preview bash
```
The command launches a container with the Clarity test environment and opens a bash shell into the container.
3. Run the clarity-cli in the shell.
```bash
root@5b9798633251:/src/blockstack-core# clarity-cli
Usage: clarity-cli [command]
where command is one of:
initialize to initialize a local VM state database.
mine_block to simulated mining a new block.
get_block_height to print the simulated block height.
check to typecheck a potential contract definition.
launch to launch a initialize a new contract in the local state database.
eval to evaluate (in read-only mode) a program in a given contract context.
eval_raw to typecheck and evaluate an expression without a contract or database context.
repl to typecheck and evaluate expressions in a stdin/stdout loop.
execute to execute a public function of a defined contract.
generate_address to generate a random Stacks public address for testing purposes.
```
# Technology Reference
* [UIKit ](https://getuikit.com/docs/grid )
* [Liquid templates ](https://shopify.github.io/liquid/ )