Merge branch 'master' of gitlab.com:ligolang/ligo into feature/#1-dockerfile-with-installation-script
# Conflicts: # .gitlab-ci.yml
@ -1,9 +1,11 @@
|
|||||||
|
# TODO: remove this as submodules aren't used anymore.
|
||||||
variables:
|
variables:
|
||||||
GIT_SUBMODULE_STRATEGY: recursive
|
GIT_SUBMODULE_STRATEGY: recursive
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- build
|
- build_docker
|
||||||
- build_and_deploy
|
- build_and_deploy_docker
|
||||||
|
- build_and_deploy_website
|
||||||
- test
|
- test
|
||||||
|
|
||||||
|
|
||||||
@ -81,7 +83,7 @@ remote-repo-job:
|
|||||||
|
|
||||||
# Run a docker build without publishing to the registry
|
# Run a docker build without publishing to the registry
|
||||||
build-current-docker-image:
|
build-current-docker-image:
|
||||||
stage: build
|
stage: build_docker
|
||||||
<<: *docker
|
<<: *docker
|
||||||
<<: *docker_build
|
<<: *docker_build
|
||||||
except:
|
except:
|
||||||
@ -90,11 +92,27 @@ build-current-docker-image:
|
|||||||
# When a MR/PR is merged to master
|
# When a MR/PR is merged to master
|
||||||
# take the previous build and publish it to Docker Hub
|
# take the previous build and publish it to Docker Hub
|
||||||
build-and-publish-latest-docker-image:
|
build-and-publish-latest-docker-image:
|
||||||
stage: build_and_deploy
|
stage: build_and_deploy_docker
|
||||||
<<: *docker
|
<<: *docker
|
||||||
<<: *docker_build
|
<<: *docker_build
|
||||||
after_script:
|
after_script:
|
||||||
- docker login -u $LIGO_REGISTRY_USER -p $LIGO_REGISTRY_PASSWORD
|
- docker login -u $LIGO_REGISTRY_USER -p $LIGO_REGISTRY_PASSWORD
|
||||||
- docker push $LIGO_REGISTRY_IMAGE:latest
|
- docker push $LIGO_REGISTRY_IMAGE:latest
|
||||||
|
|
||||||
|
pages:
|
||||||
|
stage: build_and_deploy_website
|
||||||
|
image: node:8
|
||||||
|
before_script:
|
||||||
|
- cd gitlab-pages/website
|
||||||
|
- npm install
|
||||||
|
script:
|
||||||
|
- npm run build
|
||||||
|
- pwd
|
||||||
|
- cd ../..
|
||||||
|
- pwd
|
||||||
|
- cp -r gitlab-pages/website/build/ligo public
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- public
|
||||||
only:
|
only:
|
||||||
- master
|
- master
|
||||||
|
2
gitlab-pages/.dockerignore
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
*/node_modules
|
||||||
|
*.log
|
12
gitlab-pages/.gitignore
vendored
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
.DS_Store
|
||||||
|
|
||||||
|
node_modules
|
||||||
|
|
||||||
|
lib/core/metadata.js
|
||||||
|
lib/core/MetadataBlog.js
|
||||||
|
|
||||||
|
website/translated_docs
|
||||||
|
website/build/
|
||||||
|
website/yarn.lock
|
||||||
|
website/node_modules
|
||||||
|
website/i18n/*
|
10
gitlab-pages/Dockerfile
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
FROM node:8.11.4
|
||||||
|
|
||||||
|
WORKDIR /app/website
|
||||||
|
|
||||||
|
EXPOSE 3000 35729
|
||||||
|
COPY ./docs /app/docs
|
||||||
|
COPY ./website /app/website
|
||||||
|
RUN yarn install
|
||||||
|
|
||||||
|
CMD ["yarn", "start"]
|
21
gitlab-pages/LICENSE
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2019 Matej Šima
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
2
gitlab-pages/Makefile
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
up:
|
||||||
|
docker-compose up
|
9
gitlab-pages/README.md
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
# Ligo documentation
|
||||||
|
|
||||||
|
## Running the documentation website
|
||||||
|
|
||||||
|
The website will be available at [http://localhost:3000](http://localhost:3000)
|
||||||
|
|
||||||
|
```zsh
|
||||||
|
docker-compose up
|
||||||
|
```
|
67
gitlab-pages/counter.pp.ligo
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
# 1 "examples/counter.ligo"
|
||||||
|
# 1 "<built-in>"
|
||||||
|
# 1 "<command-line>"
|
||||||
|
# 31 "<command-line>"
|
||||||
|
# 1 "/usr/include/stdc-predef.h" 1 3 4
|
||||||
|
|
||||||
|
# 17 "/usr/include/stdc-predef.h" 3 4
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# 32 "<command-line>" 2
|
||||||
|
# 1 "examples/counter.ligo"
|
||||||
|
type action is
|
||||||
|
| Increment of int
|
||||||
|
| Decrement of int
|
||||||
|
|
||||||
|
const coeficient : int = 2;
|
||||||
|
|
||||||
|
function main (const p : action ; const s : int) : (list(operation) * int) is
|
||||||
|
block {skip} with ((nil : list(operation)),
|
||||||
|
case p of
|
||||||
|
| Increment n -> s + n
|
||||||
|
| Decrement n -> s - n
|
||||||
|
end)
|
18
gitlab-pages/docker-compose.yml
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
version: "3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
docusaurus:
|
||||||
|
build: .
|
||||||
|
ports:
|
||||||
|
- 3000:3000
|
||||||
|
- 35729:35729
|
||||||
|
volumes:
|
||||||
|
- ./docs:/app/docs
|
||||||
|
- ./website/blog:/app/website/blog
|
||||||
|
- ./website/core:/app/website/core
|
||||||
|
- ./website/i18n:/app/website/i18n
|
||||||
|
- ./website/pages:/app/website/pages
|
||||||
|
- ./website/static:/app/website/static
|
||||||
|
- ./website/sidebars.json:/app/website/sidebars.json
|
||||||
|
- ./website/siteConfig.js:/app/website/siteConfig.js
|
||||||
|
working_dir: /app/website
|
47
gitlab-pages/docs/api-cli-commands.md
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
---
|
||||||
|
id: api-cli-commands
|
||||||
|
title: CLI Commands
|
||||||
|
---
|
||||||
|
|
||||||
|
Contracts written in Ligo can be compiled using the `ligo` executable.
|
||||||
|
|
||||||
|
|
||||||
|
## Compiling a contract
|
||||||
|
|
||||||
|
Compile your contract with a specific entry point.
|
||||||
|
|
||||||
|
```zsh
|
||||||
|
ligo compile-contract SOURCE_FILE [ENTRY_POINT]
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Example
|
||||||
|
|
||||||
|
```zsh
|
||||||
|
ligo compile-contract examples/counter.ligo main
|
||||||
|
```
|
||||||
|
|
||||||
|
## Defining the initial storage
|
||||||
|
|
||||||
|
If your contract implements a sophisticated storage, you can compile a Ligo expression into a Michelson value quite easily.
|
||||||
|
|
||||||
|
```zsh
|
||||||
|
ligo compile-storage SOURCE_FILE ENTRY_POINT EXPRESSION
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Example
|
||||||
|
```zsh
|
||||||
|
ligo compile-storage examples/counter.ligo main 5
|
||||||
|
# Outputs: 5
|
||||||
|
```
|
||||||
|
|
||||||
|
## Invoking the contract with a parameter
|
||||||
|
|
||||||
|
```zsh
|
||||||
|
ligo compile-parameter SOURCE_FILE ENTRY_POINT EXPRESSION
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Example
|
||||||
|
```zsh
|
||||||
|
ligo compile-parameter examples/counter.ligo main "Increment(5)"
|
||||||
|
# Outputs: (Right 5)
|
||||||
|
```
|
44
gitlab-pages/docs/language-basics-entrypoints.md
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
---
|
||||||
|
id: language-basics-entrypoints
|
||||||
|
title: Entrypoints
|
||||||
|
---
|
||||||
|
|
||||||
|
## Defining an entry point
|
||||||
|
|
||||||
|
<!--DOCUSAURUS_CODE_TABS-->
|
||||||
|
<!--Pascaligo-->
|
||||||
|
```Pascal
|
||||||
|
function main (const p : int ; const s : int) : (list(operation) * unit) is
|
||||||
|
block {skip} with ((nil : list(operation)), s + 1)
|
||||||
|
```
|
||||||
|
<!--END_DOCUSAURUS_CODE_TABS-->
|
||||||
|
|
||||||
|
## Multiple entry points
|
||||||
|
|
||||||
|
Multiple entrypoints are currently not supported in Michelson, however with Ligo, you can work that around by using variants.
|
||||||
|
|
||||||
|
<!--DOCUSAURUS_CODE_TABS-->
|
||||||
|
<!--Pascaligo-->
|
||||||
|
```Pascal
|
||||||
|
// variant defining pseudo multi-entrypoint actions
|
||||||
|
type action is
|
||||||
|
| Increment of int
|
||||||
|
| Decrement of int
|
||||||
|
|
||||||
|
function add (const a : int ; const b : int) : int is
|
||||||
|
block { skip } with a + b
|
||||||
|
|
||||||
|
function subtract (const a : int ; const b : int) : int is
|
||||||
|
block { skip } with a - b
|
||||||
|
|
||||||
|
// real entrypoint that re-routes the flow based on the action provided
|
||||||
|
function main (const p : action ; const s : int) : (list(operation) * int) is
|
||||||
|
block {skip} with ((nil : list(operation)),
|
||||||
|
case p of
|
||||||
|
| Increment n -> add(s, n)
|
||||||
|
| Decrement n -> subtract(s, n)
|
||||||
|
end)
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
<!--END_DOCUSAURUS_CODE_TABS-->
|
22
gitlab-pages/docs/language-basics-functions.md
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
---
|
||||||
|
id: language-basics-functions
|
||||||
|
title: Functions
|
||||||
|
---
|
||||||
|
|
||||||
|
## Defining a function
|
||||||
|
|
||||||
|
<!--DOCUSAURUS_CODE_TABS-->
|
||||||
|
<!--Pascaligo-->
|
||||||
|
```Pascal
|
||||||
|
// multiply(1, 2) = 2
|
||||||
|
function multiply (const a : int ; const b : int) : int is
|
||||||
|
begin
|
||||||
|
const result : int = a * b ;
|
||||||
|
end with result
|
||||||
|
|
||||||
|
// add(1, 2) = 3
|
||||||
|
function add (const a : int ; const b : int) : int is
|
||||||
|
block { skip } with a + b
|
||||||
|
```
|
||||||
|
|
||||||
|
<!--END_DOCUSAURUS_CODE_TABS-->
|
12
gitlab-pages/docs/language-basics-operators.md
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
---
|
||||||
|
id: language-basics-operators
|
||||||
|
title: Operators
|
||||||
|
---
|
||||||
|
|
||||||
|
## Available operators
|
||||||
|
|
||||||
|
|Michelson |Pascaligo |Description |
|
||||||
|
|--- |--- |--- |
|
||||||
|
| `SENDER` | `sender` | Address that initiated the current transaction
|
||||||
|
| `SOURCE` | `source` | Address that initiated the transaction, which triggered the current transaction. (useful e.g. when there's a transaction sent by another contract)
|
||||||
|
| `AMOUNT` | `amount` | Amount of tez sent by the transaction that invoked the contract
|
18
gitlab-pages/docs/language-basics-variables.md
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
---
|
||||||
|
id: language-basics-variables
|
||||||
|
title: Variables
|
||||||
|
---
|
||||||
|
|
||||||
|
## Defining a variable
|
||||||
|
|
||||||
|
<!--DOCUSAURUS_CODE_TABS-->
|
||||||
|
<!--Pascaligo-->
|
||||||
|
```Pascal
|
||||||
|
// int
|
||||||
|
const four : int = 4;
|
||||||
|
|
||||||
|
// string
|
||||||
|
const name : string = "John Doe";
|
||||||
|
```
|
||||||
|
|
||||||
|
<!--END_DOCUSAURUS_CODE_TABS-->
|
36
gitlab-pages/docs/setup-installation.md
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
---
|
||||||
|
id: setup-installation
|
||||||
|
title: Installation
|
||||||
|
---
|
||||||
|
|
||||||
|
There are currently two ways to get started with Ligo, both of those will allow you to use the Ligo CLI with your contracts. You can choose to use either the Docker image, or to compile & build the Ligo CLI yourself.
|
||||||
|
|
||||||
|
## Docker
|
||||||
|
|
||||||
|
> 🐳 You can find instructions on how to install Docker [here](https://docs.docker.com/install/).
|
||||||
|
|
||||||
|
Easiest way to use LIGO is through the Docker image available at [Docker Hub](https://hub.docker.com/r/stovelabs/granary-ligo). Sources for the image can be found on [Github](https://github.com/stove-labs/granary/blob/develop/docker/ligo/Dockerfile).
|
||||||
|
You can either run the docker image yourself, or you can setup a global ligo executable as shown below.
|
||||||
|
|
||||||
|
### Setting up a globally available `ligo` executable
|
||||||
|
```zsh
|
||||||
|
wget https://gitlab.com/maht0rz/ligo-documentation/blob/master/ligo-docker.sh && \
|
||||||
|
sudo cp ligo-docker.sh /usr/local/bin/ligo && \
|
||||||
|
sudo chmod +x /usr/local/bin/ligo && \
|
||||||
|
rm ligo-docker.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
> ⚠️ Please note that the **current docker image is quite chunky**, it may take a while to download depending on your internet connection.
|
||||||
|
|
||||||
|
**Verify your ligo installation by running:**
|
||||||
|
```zsh
|
||||||
|
ligo --help
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Manual installation
|
||||||
|
|
||||||
|
For now, please refer to the steps described in the [Dockerfile](https://github.com/stove-labs/granary/blob/develop/docker/ligo/Dockerfile).
|
||||||
|
|
||||||
|
|
||||||
|
|
10
gitlab-pages/examples/counter.ligo
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
type action is
|
||||||
|
| Increment of int
|
||||||
|
| Decrement of int
|
||||||
|
|
||||||
|
function main (const p : action ; const s : int) : (list(operation) * int) is
|
||||||
|
block {skip} with ((nil : list(operation)),
|
||||||
|
case p of
|
||||||
|
| Increment n -> s + n
|
||||||
|
| Decrement n -> s - n
|
||||||
|
end)
|
10
gitlab-pages/examples/functions.ligo
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
function multiply (const a : int ; const b : int) : int is
|
||||||
|
begin
|
||||||
|
const result : int = a * b ;
|
||||||
|
end with result
|
||||||
|
|
||||||
|
function add (const a : int ; const b : int) : int is
|
||||||
|
block { skip } with a + b
|
||||||
|
|
||||||
|
function main (const p : unit ; const s : unit) : (list(operation) * unit) is
|
||||||
|
block {skip} with ((nil : list(operation)), s)
|
16
gitlab-pages/examples/multiple-entrypoints.ligo
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
type action is
|
||||||
|
| Increment of int
|
||||||
|
| Decrement of int
|
||||||
|
|
||||||
|
function add (const a : int ; const b : int) : int is
|
||||||
|
block { skip } with a + b
|
||||||
|
|
||||||
|
function subtract (const a : int ; const b : int) : int is
|
||||||
|
block { skip } with a - b
|
||||||
|
|
||||||
|
function main (const p : action ; const s : int) : (list(operation) * int) is
|
||||||
|
block {skip} with ((nil : list(operation)),
|
||||||
|
case p of
|
||||||
|
| Increment n -> add(s, n)
|
||||||
|
| Decrement n -> subtract(s, n)
|
||||||
|
end)
|
5
gitlab-pages/examples/variables.ligo
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
const four : int = 4;
|
||||||
|
const name : string = "John Doe";
|
||||||
|
|
||||||
|
function main (const p : unit ; const s : unit) : (list(operation) * unit) is
|
||||||
|
block {skip} with ((nil : list(operation)), s)
|
65
gitlab-pages/functions.pp.ligo
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
# 1 "examples/functions.ligo"
|
||||||
|
# 1 "<built-in>"
|
||||||
|
# 1 "<command-line>"
|
||||||
|
# 31 "<command-line>"
|
||||||
|
# 1 "/usr/include/stdc-predef.h" 1 3 4
|
||||||
|
|
||||||
|
# 17 "/usr/include/stdc-predef.h" 3 4
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# 32 "<command-line>" 2
|
||||||
|
# 1 "examples/functions.ligo"
|
||||||
|
function multiply (const a : int ; const b : int) : int is
|
||||||
|
begin
|
||||||
|
const result : int = a * b ;
|
||||||
|
end with result
|
||||||
|
|
||||||
|
function add (const a : int ; const b : int) : int is
|
||||||
|
block { skip } with a + b
|
||||||
|
|
||||||
|
function main (const p : unit ; const s : unit) : (list(operation) * unit) is
|
||||||
|
block {skip} with ((nil : list(operation)), s)
|
2
gitlab-pages/ligo-docker.sh
Executable file
@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
docker run -v $PWD:$PWD -w $PWD stovelabs/granary-ligo $@
|
71
gitlab-pages/multiple-entrypoints.pp.ligo
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
# 1 "examples/multiple-entrypoints.ligo"
|
||||||
|
# 1 "<built-in>"
|
||||||
|
# 1 "<command-line>"
|
||||||
|
# 31 "<command-line>"
|
||||||
|
# 1 "/usr/include/stdc-predef.h" 1 3 4
|
||||||
|
|
||||||
|
# 17 "/usr/include/stdc-predef.h" 3 4
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# 32 "<command-line>" 2
|
||||||
|
# 1 "examples/multiple-entrypoints.ligo"
|
||||||
|
type action is
|
||||||
|
| Increment of int
|
||||||
|
| Decrement of int
|
||||||
|
|
||||||
|
function add (const a : int ; const b : int) : int is
|
||||||
|
block { skip } with a + b
|
||||||
|
|
||||||
|
function subtract (const a : int ; const b : int) : int is
|
||||||
|
block { skip } with a - b
|
||||||
|
|
||||||
|
function main (const p : action ; const s : int) : (list(operation) * int) is
|
||||||
|
block {skip} with ((nil : list(operation)),
|
||||||
|
case p of
|
||||||
|
| Increment n -> add(s, n)
|
||||||
|
| Decrement n -> subtract(s, n)
|
||||||
|
end)
|
60
gitlab-pages/variables.pp.ligo
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
# 1 "examples/variables.ligo"
|
||||||
|
# 1 "<built-in>"
|
||||||
|
# 1 "<command-line>"
|
||||||
|
# 31 "<command-line>"
|
||||||
|
# 1 "/usr/include/stdc-predef.h" 1 3 4
|
||||||
|
|
||||||
|
# 17 "/usr/include/stdc-predef.h" 3 4
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# 32 "<command-line>" 2
|
||||||
|
# 1 "examples/variables.ligo"
|
||||||
|
const four : int = 4;
|
||||||
|
const name : string = "John Doe";
|
||||||
|
|
||||||
|
function main (const p : unit ; const s : int) : (list(operation) * int) is
|
||||||
|
block {skip} with ((nil : list(operation)), s)
|
193
gitlab-pages/website/README.md
Normal file
@ -0,0 +1,193 @@
|
|||||||
|
This website was created with [Docusaurus](https://docusaurus.io/).
|
||||||
|
|
||||||
|
# What's In This Document
|
||||||
|
|
||||||
|
* [Get Started in 5 Minutes](#get-started-in-5-minutes)
|
||||||
|
* [Directory Structure](#directory-structure)
|
||||||
|
* [Editing Content](#editing-content)
|
||||||
|
* [Adding Content](#adding-content)
|
||||||
|
* [Full Documentation](#full-documentation)
|
||||||
|
|
||||||
|
# Get Started in 5 Minutes
|
||||||
|
|
||||||
|
1. Make sure all the dependencies for the website are installed:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# Install dependencies
|
||||||
|
$ yarn
|
||||||
|
```
|
||||||
|
2. Run your dev server:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# Start the site
|
||||||
|
$ yarn start
|
||||||
|
```
|
||||||
|
|
||||||
|
## Directory Structure
|
||||||
|
|
||||||
|
Your project file structure should look something like this
|
||||||
|
|
||||||
|
```
|
||||||
|
my-docusaurus/
|
||||||
|
docs/
|
||||||
|
doc-1.md
|
||||||
|
doc-2.md
|
||||||
|
doc-3.md
|
||||||
|
website/
|
||||||
|
blog/
|
||||||
|
2016-3-11-oldest-post.md
|
||||||
|
2017-10-24-newest-post.md
|
||||||
|
core/
|
||||||
|
node_modules/
|
||||||
|
pages/
|
||||||
|
static/
|
||||||
|
css/
|
||||||
|
img/
|
||||||
|
package.json
|
||||||
|
sidebar.json
|
||||||
|
siteConfig.js
|
||||||
|
```
|
||||||
|
|
||||||
|
# Editing Content
|
||||||
|
|
||||||
|
## Editing an existing docs page
|
||||||
|
|
||||||
|
Edit docs by navigating to `docs/` and editing the corresponding document:
|
||||||
|
|
||||||
|
`docs/doc-to-be-edited.md`
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
---
|
||||||
|
id: page-needs-edit
|
||||||
|
title: This Doc Needs To Be Edited
|
||||||
|
---
|
||||||
|
|
||||||
|
Edit me...
|
||||||
|
```
|
||||||
|
|
||||||
|
For more information about docs, click [here](https://docusaurus.io/docs/en/navigation)
|
||||||
|
|
||||||
|
## Editing an existing blog post
|
||||||
|
|
||||||
|
Edit blog posts by navigating to `website/blog` and editing the corresponding post:
|
||||||
|
|
||||||
|
`website/blog/post-to-be-edited.md`
|
||||||
|
```markdown
|
||||||
|
---
|
||||||
|
id: post-needs-edit
|
||||||
|
title: This Blog Post Needs To Be Edited
|
||||||
|
---
|
||||||
|
|
||||||
|
Edit me...
|
||||||
|
```
|
||||||
|
|
||||||
|
For more information about blog posts, click [here](https://docusaurus.io/docs/en/adding-blog)
|
||||||
|
|
||||||
|
# Adding Content
|
||||||
|
|
||||||
|
## Adding a new docs page to an existing sidebar
|
||||||
|
|
||||||
|
1. Create the doc as a new markdown file in `/docs`, example `docs/newly-created-doc.md`:
|
||||||
|
|
||||||
|
```md
|
||||||
|
---
|
||||||
|
id: newly-created-doc
|
||||||
|
title: This Doc Needs To Be Edited
|
||||||
|
---
|
||||||
|
|
||||||
|
My new content here..
|
||||||
|
```
|
||||||
|
|
||||||
|
1. Refer to that doc's ID in an existing sidebar in `website/sidebar.json`:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
// Add newly-created-doc to the Getting Started category of docs
|
||||||
|
{
|
||||||
|
"docs": {
|
||||||
|
"Getting Started": [
|
||||||
|
"quick-start",
|
||||||
|
"newly-created-doc" // new doc here
|
||||||
|
],
|
||||||
|
...
|
||||||
|
},
|
||||||
|
...
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
For more information about adding new docs, click [here](https://docusaurus.io/docs/en/navigation)
|
||||||
|
|
||||||
|
## Adding a new blog post
|
||||||
|
|
||||||
|
1. Make sure there is a header link to your blog in `website/siteConfig.js`:
|
||||||
|
|
||||||
|
`website/siteConfig.js`
|
||||||
|
```javascript
|
||||||
|
headerLinks: [
|
||||||
|
...
|
||||||
|
{ blog: true, label: 'Blog' },
|
||||||
|
...
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Create the blog post with the format `YYYY-MM-DD-My-Blog-Post-Title.md` in `website/blog`:
|
||||||
|
|
||||||
|
`website/blog/2018-05-21-New-Blog-Post.md`
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
---
|
||||||
|
author: Frank Li
|
||||||
|
authorURL: https://twitter.com/foobarbaz
|
||||||
|
authorFBID: 503283835
|
||||||
|
title: New Blog Post
|
||||||
|
---
|
||||||
|
|
||||||
|
Lorem Ipsum...
|
||||||
|
```
|
||||||
|
|
||||||
|
For more information about blog posts, click [here](https://docusaurus.io/docs/en/adding-blog)
|
||||||
|
|
||||||
|
## Adding items to your site's top navigation bar
|
||||||
|
|
||||||
|
1. Add links to docs, custom pages or external links by editing the headerLinks field of `website/siteConfig.js`:
|
||||||
|
|
||||||
|
`website/siteConfig.js`
|
||||||
|
```javascript
|
||||||
|
{
|
||||||
|
headerLinks: [
|
||||||
|
...
|
||||||
|
/* you can add docs */
|
||||||
|
{ doc: 'my-examples', label: 'Examples' },
|
||||||
|
/* you can add custom pages */
|
||||||
|
{ page: 'help', label: 'Help' },
|
||||||
|
/* you can add external links */
|
||||||
|
{ href: 'https://github.com/facebook/Docusaurus', label: 'GitHub' },
|
||||||
|
...
|
||||||
|
],
|
||||||
|
...
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
For more information about the navigation bar, click [here](https://docusaurus.io/docs/en/navigation)
|
||||||
|
|
||||||
|
## Adding custom pages
|
||||||
|
|
||||||
|
1. Docusaurus uses React components to build pages. The components are saved as .js files in `website/pages/en`:
|
||||||
|
1. If you want your page to show up in your navigation header, you will need to update `website/siteConfig.js` to add to the `headerLinks` element:
|
||||||
|
|
||||||
|
`website/siteConfig.js`
|
||||||
|
```javascript
|
||||||
|
{
|
||||||
|
headerLinks: [
|
||||||
|
...
|
||||||
|
{ page: 'my-new-custom-page', label: 'My New Custom Page' },
|
||||||
|
...
|
||||||
|
],
|
||||||
|
...
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
For more information about custom pages, click [here](https://docusaurus.io/docs/en/custom-pages).
|
||||||
|
|
||||||
|
# Full Documentation
|
||||||
|
|
||||||
|
Full documentation can be found on the [website](https://docusaurus.io/).
|
18
gitlab-pages/website/blog/2016-03-11-blog-post.md
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
---
|
||||||
|
title: Blog Title
|
||||||
|
author: Blog Author
|
||||||
|
authorURL: http://twitter.com/
|
||||||
|
authorFBID: 100002976521003
|
||||||
|
---
|
||||||
|
|
||||||
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus elementum massa eget nulla aliquet sagittis. Proin odio tortor, vulputate ut odio in, ultrices ultricies augue. Cras ornare ultrices lorem malesuada iaculis. Etiam sit amet libero tempor, pulvinar mauris sed, sollicitudin sapien.
|
||||||
|
|
||||||
|
<!--truncate-->
|
||||||
|
|
||||||
|
Mauris vestibulum ullamcorper nibh, ut semper purus pulvinar ut. Donec volutpat orci sit amet mauris malesuada, non pulvinar augue aliquam. Vestibulum ultricies at urna ut suscipit. Morbi iaculis, erat at imperdiet semper, ipsum nulla sodales erat, eget tincidunt justo dui quis justo. Pellentesque dictum bibendum diam at aliquet. Sed pulvinar, dolor quis finibus ornare, eros odio facilisis erat, eu rhoncus nunc dui sed ex. Nunc gravida dui massa, sed ornare arcu tincidunt sit amet. Maecenas efficitur sapien neque, a laoreet libero feugiat ut.
|
||||||
|
|
||||||
|
Nulla facilisi. Maecenas sodales nec purus eget posuere. Sed sapien quam, pretium a risus in, porttitor dapibus erat. Sed sit amet fringilla ipsum, eget iaculis augue. Integer sollicitudin tortor quis ultricies aliquam. Suspendisse fringilla nunc in tellus cursus, at placerat tellus scelerisque. Sed tempus elit a sollicitudin rhoncus. Nulla facilisi. Morbi nec dolor dolor. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Cras et aliquet lectus. Pellentesque sit amet eros nisi. Quisque ac sapien in sapien congue accumsan. Nullam in posuere ante. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Proin lacinia leo a nibh fringilla pharetra.
|
||||||
|
|
||||||
|
Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Proin venenatis lectus dui, vel ultrices ante bibendum hendrerit. Aenean egestas feugiat dui id hendrerit. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur in tellus laoreet, eleifend nunc id, viverra leo. Proin vulputate non dolor vel vulputate. Curabitur pretium lobortis felis, sit amet finibus lorem suscipit ut. Sed non mollis risus. Duis sagittis, mi in euismod tincidunt, nunc mauris vestibulum urna, at euismod est elit quis erat. Phasellus accumsan vitae neque eu placerat. In elementum arcu nec tellus imperdiet, eget maximus nulla sodales. Curabitur eu sapien eget nisl sodales fermentum.
|
||||||
|
|
||||||
|
Phasellus pulvinar ex id commodo imperdiet. Praesent odio nibh, sollicitudin sit amet faucibus id, placerat at metus. Donec vitae eros vitae tortor hendrerit finibus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Quisque vitae purus dolor. Duis suscipit ac nulla et finibus. Phasellus ac sem sed dui dictum gravida. Phasellus eleifend vestibulum facilisis. Integer pharetra nec enim vitae mattis. Duis auctor, lectus quis condimentum bibendum, nunc dolor aliquam massa, id bibendum orci velit quis magna. Ut volutpat nulla nunc, sed interdum magna condimentum non. Sed urna metus, scelerisque vitae consectetur a, feugiat quis magna. Donec dignissim ornare nisl, eget tempor risus malesuada quis.
|
18
gitlab-pages/website/blog/2017-04-10-blog-post-two.md
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
---
|
||||||
|
title: New Blog Post
|
||||||
|
author: Blog Author
|
||||||
|
authorURL: http://twitter.com/
|
||||||
|
authorFBID: 100002976521003
|
||||||
|
---
|
||||||
|
|
||||||
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus elementum massa eget nulla aliquet sagittis. Proin odio tortor, vulputate ut odio in, ultrices ultricies augue. Cras ornare ultrices lorem malesuada iaculis. Etiam sit amet libero tempor, pulvinar mauris sed, sollicitudin sapien.
|
||||||
|
|
||||||
|
<!--truncate-->
|
||||||
|
|
||||||
|
Mauris vestibulum ullamcorper nibh, ut semper purus pulvinar ut. Donec volutpat orci sit amet mauris malesuada, non pulvinar augue aliquam. Vestibulum ultricies at urna ut suscipit. Morbi iaculis, erat at imperdiet semper, ipsum nulla sodales erat, eget tincidunt justo dui quis justo. Pellentesque dictum bibendum diam at aliquet. Sed pulvinar, dolor quis finibus ornare, eros odio facilisis erat, eu rhoncus nunc dui sed ex. Nunc gravida dui massa, sed ornare arcu tincidunt sit amet. Maecenas efficitur sapien neque, a laoreet libero feugiat ut.
|
||||||
|
|
||||||
|
Nulla facilisi. Maecenas sodales nec purus eget posuere. Sed sapien quam, pretium a risus in, porttitor dapibus erat. Sed sit amet fringilla ipsum, eget iaculis augue. Integer sollicitudin tortor quis ultricies aliquam. Suspendisse fringilla nunc in tellus cursus, at placerat tellus scelerisque. Sed tempus elit a sollicitudin rhoncus. Nulla facilisi. Morbi nec dolor dolor. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Cras et aliquet lectus. Pellentesque sit amet eros nisi. Quisque ac sapien in sapien congue accumsan. Nullam in posuere ante. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Proin lacinia leo a nibh fringilla pharetra.
|
||||||
|
|
||||||
|
Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Proin venenatis lectus dui, vel ultrices ante bibendum hendrerit. Aenean egestas feugiat dui id hendrerit. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur in tellus laoreet, eleifend nunc id, viverra leo. Proin vulputate non dolor vel vulputate. Curabitur pretium lobortis felis, sit amet finibus lorem suscipit ut. Sed non mollis risus. Duis sagittis, mi in euismod tincidunt, nunc mauris vestibulum urna, at euismod est elit quis erat. Phasellus accumsan vitae neque eu placerat. In elementum arcu nec tellus imperdiet, eget maximus nulla sodales. Curabitur eu sapien eget nisl sodales fermentum.
|
||||||
|
|
||||||
|
Phasellus pulvinar ex id commodo imperdiet. Praesent odio nibh, sollicitudin sit amet faucibus id, placerat at metus. Donec vitae eros vitae tortor hendrerit finibus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Quisque vitae purus dolor. Duis suscipit ac nulla et finibus. Phasellus ac sem sed dui dictum gravida. Phasellus eleifend vestibulum facilisis. Integer pharetra nec enim vitae mattis. Duis auctor, lectus quis condimentum bibendum, nunc dolor aliquam massa, id bibendum orci velit quis magna. Ut volutpat nulla nunc, sed interdum magna condimentum non. Sed urna metus, scelerisque vitae consectetur a, feugiat quis magna. Donec dignissim ornare nisl, eget tempor risus malesuada quis.
|
11
gitlab-pages/website/blog/2017-09-25-testing-rss.md
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
---
|
||||||
|
title: Adding RSS Support - RSS Truncation Test
|
||||||
|
author: Eric Nakagawa
|
||||||
|
authorURL: http://twitter.com/ericnakagawa
|
||||||
|
authorFBID: 661277173
|
||||||
|
---
|
||||||
|
1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
|
||||||
|
|
||||||
|
This should be truncated.
|
||||||
|
<!--truncate-->
|
||||||
|
This line should never render in XML.
|
10
gitlab-pages/website/blog/2017-09-26-adding-rss.md
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
---
|
||||||
|
title: Adding RSS Support
|
||||||
|
author: Eric Nakagawa
|
||||||
|
authorURL: http://twitter.com/ericnakagawa
|
||||||
|
authorFBID: 661277173
|
||||||
|
---
|
||||||
|
|
||||||
|
This is a test post.
|
||||||
|
|
||||||
|
A whole bunch of other information.
|
@ -0,0 +1,8 @@
|
|||||||
|
---
|
||||||
|
title: New Version 1.0.0
|
||||||
|
author: Eric Nakagawa
|
||||||
|
authorURL: http://twitter.com/ericnakagawa
|
||||||
|
authorFBID: 661277173
|
||||||
|
---
|
||||||
|
|
||||||
|
This blog post will test file name parsing issues when periods are present.
|
104
gitlab-pages/website/core/Footer.js
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) 2017-present, Facebook, Inc.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*/
|
||||||
|
|
||||||
|
const React = require('react');
|
||||||
|
|
||||||
|
class Footer extends React.Component {
|
||||||
|
docUrl(doc, language) {
|
||||||
|
const baseUrl = this.props.config.baseUrl;
|
||||||
|
const docsUrl = this.props.config.docsUrl;
|
||||||
|
const docsPart = `${docsUrl ? `${docsUrl}/` : ''}`;
|
||||||
|
const langPart = `${language ? `${language}/` : ''}`;
|
||||||
|
return `${baseUrl}${docsPart}${langPart}${doc}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
pageUrl(doc, language) {
|
||||||
|
const baseUrl = this.props.config.baseUrl;
|
||||||
|
return baseUrl + (language ? `${language}/` : '') + doc;
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<footer className="nav-footer" id="footer">
|
||||||
|
{/* <section className="sitemap">
|
||||||
|
<a href={this.props.config.baseUrl} className="nav-home">
|
||||||
|
{this.props.config.footerIcon && (
|
||||||
|
<img
|
||||||
|
src={this.props.config.baseUrl + this.props.config.footerIcon}
|
||||||
|
alt={this.props.config.title}
|
||||||
|
width="66"
|
||||||
|
height="58"
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
</a>
|
||||||
|
<div>
|
||||||
|
<h5>Docs</h5>
|
||||||
|
<a href={this.docUrl('doc1.html', this.props.language)}>
|
||||||
|
Getting Started (or other categories)
|
||||||
|
</a>
|
||||||
|
<a href={this.docUrl('doc2.html', this.props.language)}>
|
||||||
|
Guides (or other categories)
|
||||||
|
</a>
|
||||||
|
<a href={this.docUrl('doc3.html', this.props.language)}>
|
||||||
|
API Reference (or other categories)
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<h5>Community</h5>
|
||||||
|
<a href={this.pageUrl('users.html', this.props.language)}>
|
||||||
|
User Showcase
|
||||||
|
</a>
|
||||||
|
<a
|
||||||
|
href="http://stackoverflow.com/questions/tagged/"
|
||||||
|
target="_blank"
|
||||||
|
rel="noreferrer noopener">
|
||||||
|
Stack Overflow
|
||||||
|
</a>
|
||||||
|
<a href="https://discordapp.com/">Project Chat</a>
|
||||||
|
<a
|
||||||
|
href="https://twitter.com/"
|
||||||
|
target="_blank"
|
||||||
|
rel="noreferrer noopener">
|
||||||
|
Twitter
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<h5>More</h5>
|
||||||
|
<a href={`${this.props.config.baseUrl}blog`}>Blog</a>
|
||||||
|
<a href="https://github.com/">GitHub</a>
|
||||||
|
<a
|
||||||
|
className="github-button"
|
||||||
|
href={this.props.config.repoUrl}
|
||||||
|
data-icon="octicon-star"
|
||||||
|
data-count-href="/facebook/docusaurus/stargazers"
|
||||||
|
data-show-count="true"
|
||||||
|
data-count-aria-label="# stargazers on GitHub"
|
||||||
|
aria-label="Star this project on GitHub">
|
||||||
|
Star
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</section> */}
|
||||||
|
|
||||||
|
<a
|
||||||
|
href="https://opensource.facebook.com/"
|
||||||
|
target="_blank"
|
||||||
|
rel="noreferrer noopener"
|
||||||
|
className="fbOpenSource">
|
||||||
|
<img
|
||||||
|
src={`${this.props.config.baseUrl}img/oss_logo.png`}
|
||||||
|
alt="Facebook Open Source"
|
||||||
|
width="170"
|
||||||
|
height="45"
|
||||||
|
/>
|
||||||
|
</a>
|
||||||
|
<section className="copyright">{this.props.config.copyright}</section>
|
||||||
|
</footer>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = Footer;
|
14
gitlab-pages/website/package.json
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"scripts": {
|
||||||
|
"examples": "docusaurus-examples",
|
||||||
|
"start": "docusaurus-start",
|
||||||
|
"build": "docusaurus-build",
|
||||||
|
"publish-gh-pages": "docusaurus-publish",
|
||||||
|
"write-translations": "docusaurus-write-translations",
|
||||||
|
"version": "docusaurus-version",
|
||||||
|
"rename-version": "docusaurus-rename-version"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"docusaurus": "^1.9.0"
|
||||||
|
}
|
||||||
|
}
|
54
gitlab-pages/website/pages/en/help.js
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) 2017-present, Facebook, Inc.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*/
|
||||||
|
|
||||||
|
const React = require('react');
|
||||||
|
|
||||||
|
const CompLibrary = require('../../core/CompLibrary.js');
|
||||||
|
|
||||||
|
const Container = CompLibrary.Container;
|
||||||
|
const GridBlock = CompLibrary.GridBlock;
|
||||||
|
|
||||||
|
function Help(props) {
|
||||||
|
const {config: siteConfig, language = ''} = props;
|
||||||
|
const {baseUrl, docsUrl} = siteConfig;
|
||||||
|
const docsPart = `${docsUrl ? `${docsUrl}/` : ''}`;
|
||||||
|
const langPart = `${language ? `${language}/` : ''}`;
|
||||||
|
const docUrl = doc => `${baseUrl}${docsPart}${langPart}${doc}`;
|
||||||
|
|
||||||
|
const supportLinks = [
|
||||||
|
{
|
||||||
|
content: `Learn more using the [documentation on this site.](${docUrl(
|
||||||
|
'doc1.html',
|
||||||
|
)})`,
|
||||||
|
title: 'Browse Docs',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
content: 'Ask questions about the documentation and project',
|
||||||
|
title: 'Join the community',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
content: "Find out what's new with this project",
|
||||||
|
title: 'Stay up to date',
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className="docMainWrapper wrapper">
|
||||||
|
<Container className="mainContainer documentContainer postContainer">
|
||||||
|
<div className="post">
|
||||||
|
<header className="postHeader">
|
||||||
|
<h1>Need help?</h1>
|
||||||
|
</header>
|
||||||
|
<p>This project is maintained by a dedicated group of people.</p>
|
||||||
|
<GridBlock contents={supportLinks} layout="threeColumn" />
|
||||||
|
</div>
|
||||||
|
</Container>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = Help;
|
251
gitlab-pages/website/pages/en/index.js
Normal file
@ -0,0 +1,251 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) 2017-present, Facebook, Inc.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*/
|
||||||
|
|
||||||
|
const React = require('react');
|
||||||
|
|
||||||
|
const CompLibrary = require('../../core/CompLibrary.js');
|
||||||
|
|
||||||
|
const MarkdownBlock = CompLibrary.MarkdownBlock; /* Used to read markdown */
|
||||||
|
const Container = CompLibrary.Container;
|
||||||
|
const GridBlock = CompLibrary.GridBlock;
|
||||||
|
|
||||||
|
class HomeSplash extends React.Component {
|
||||||
|
render() {
|
||||||
|
const {siteConfig, language = ''} = this.props;
|
||||||
|
const {baseUrl, docsUrl} = siteConfig;
|
||||||
|
const docsPart = `${docsUrl ? `${docsUrl}/` : ''}`;
|
||||||
|
const langPart = `${language ? `${language}/` : ''}`;
|
||||||
|
const docUrl = doc => `${baseUrl}${docsPart}${langPart}${doc}`;
|
||||||
|
|
||||||
|
const SplashContainer = props => (
|
||||||
|
<div className="homeContainer">
|
||||||
|
<div className="homeSplashFade">
|
||||||
|
<div className="wrapper homeWrapper">{props.children}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
|
||||||
|
const Logo = props => (
|
||||||
|
<div className="projectLogo">
|
||||||
|
<img src={props.img_src} alt="Project Logo" />
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
|
||||||
|
const ProjectTitle = () => (
|
||||||
|
<h2 className="projectTitle">
|
||||||
|
{siteConfig.title}
|
||||||
|
<small>{siteConfig.tagline}</small>
|
||||||
|
</h2>
|
||||||
|
);
|
||||||
|
|
||||||
|
const PromoSection = props => (
|
||||||
|
<div className="section promoSection">
|
||||||
|
<div className="promoRow">
|
||||||
|
<div className="pluginRowBlock">{props.children}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
|
||||||
|
const Button = props => (
|
||||||
|
<div className="pluginWrapper buttonWrapper">
|
||||||
|
<a className="button" href={props.href} target={props.target}>
|
||||||
|
{props.children}
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<SplashContainer>
|
||||||
|
{/* <Logo img_src={`${baseUrl}img/undraw_monitor.svg`} /> */}
|
||||||
|
<div className="inner">
|
||||||
|
<ProjectTitle siteConfig={siteConfig} />
|
||||||
|
<PromoSection>
|
||||||
|
<Button href={docUrl('setup-installation.html')}>Getting started</Button>
|
||||||
|
<Button href={docUrl('language-basics-variables.html')}>Language reference</Button>
|
||||||
|
</PromoSection>
|
||||||
|
</div>
|
||||||
|
</SplashContainer>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Index extends React.Component {
|
||||||
|
render() {
|
||||||
|
const {config: siteConfig, language = ''} = this.props;
|
||||||
|
const {baseUrl} = siteConfig;
|
||||||
|
|
||||||
|
const Block = props => (
|
||||||
|
<Container
|
||||||
|
padding={['bottom', 'top']}
|
||||||
|
id={props.id}
|
||||||
|
background={props.background}>
|
||||||
|
<GridBlock
|
||||||
|
align="center"
|
||||||
|
contents={props.children}
|
||||||
|
layout={props.layout}
|
||||||
|
/>
|
||||||
|
</Container>
|
||||||
|
);
|
||||||
|
|
||||||
|
const FeatureCallout = () => (
|
||||||
|
<div
|
||||||
|
className="productShowcaseSection paddingBottom"
|
||||||
|
style={{textAlign: 'center'}}>
|
||||||
|
<h2>Feature Callout</h2>
|
||||||
|
<MarkdownBlock>These are features of this project</MarkdownBlock>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
|
||||||
|
const TryOut = () => (
|
||||||
|
<Block id="try">
|
||||||
|
{[
|
||||||
|
{
|
||||||
|
content:
|
||||||
|
'To make your landing page more attractive, use illustrations! Check out ' +
|
||||||
|
'[**unDraw**](https://undraw.co/) which provides you with customizable illustrations which are free to use. ' +
|
||||||
|
'The illustrations you see on this page are from unDraw.',
|
||||||
|
image: `${baseUrl}img/undraw_code_review.svg`,
|
||||||
|
imageAlign: 'left',
|
||||||
|
title: 'Wonderful SVG Illustrations',
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
</Block>
|
||||||
|
);
|
||||||
|
|
||||||
|
const Description = () => (
|
||||||
|
<Block background="dark">
|
||||||
|
{[
|
||||||
|
{
|
||||||
|
content:
|
||||||
|
'This is another description of how this project is useful',
|
||||||
|
image: `${baseUrl}img/undraw_note_list.svg`,
|
||||||
|
imageAlign: 'right',
|
||||||
|
title: 'Description',
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
</Block>
|
||||||
|
);
|
||||||
|
|
||||||
|
const LearnHow = () => (
|
||||||
|
<Block background="light">
|
||||||
|
{[
|
||||||
|
{
|
||||||
|
content:
|
||||||
|
'Each new Docusaurus project has **randomly-generated** theme colors.',
|
||||||
|
image: `${baseUrl}img/undraw_youtube_tutorial.svg`,
|
||||||
|
imageAlign: 'right',
|
||||||
|
title: 'Randomly Generated Theme Colors',
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
</Block>
|
||||||
|
);
|
||||||
|
|
||||||
|
const Features = () => (
|
||||||
|
<Block layout="fourColumn">
|
||||||
|
{[
|
||||||
|
{
|
||||||
|
content: 'Write in PascaLIGO (pascal-like syntax) or CameLIGO (caml-like syntax). If you know OCaml, you can also add your own syntax.',
|
||||||
|
image: ``,
|
||||||
|
imageAlign: 'top',
|
||||||
|
title: 'Syntax Agnostic',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
content: 'Write types, then code, and benefit from the safety coming from type systems.',
|
||||||
|
image: ``,
|
||||||
|
imageAlign: 'top',
|
||||||
|
title: 'Strong Type System',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
content: 'With Granary, you can use LIGO as a lib from NodeJS.',
|
||||||
|
image: ``,
|
||||||
|
imageAlign: 'top',
|
||||||
|
title: 'Easy Integration',
|
||||||
|
}
|
||||||
|
]}
|
||||||
|
</Block>
|
||||||
|
);
|
||||||
|
|
||||||
|
const Roadmap = () => (
|
||||||
|
<div className="roadmap">
|
||||||
|
<Block background="light" >
|
||||||
|
{[
|
||||||
|
{
|
||||||
|
content:
|
||||||
|
"<h4>June 2019</h4>" +
|
||||||
|
"<em><ul>" +
|
||||||
|
"<li>First public release</li>" +
|
||||||
|
"<li>PascaLIGO and CameLIGO syntaxes</li>" +
|
||||||
|
"<li>Docs and Tutorials</li>" +
|
||||||
|
"<li>Integration testing in ReasonML/JS with Granary</li>" +
|
||||||
|
"</ul></em>" +
|
||||||
|
"<h4>July 2019</h4>" +
|
||||||
|
"<em><ul>" +
|
||||||
|
"<li>Try LIGO online editor</li>" +
|
||||||
|
"<li>Unit testing toolkit</li>" +
|
||||||
|
"<li>ReasonLIGO syntax support</li>" +
|
||||||
|
"<li>Repository with best practices & patterns for LIGO</li>" +
|
||||||
|
"</ul></em>" +
|
||||||
|
"<h4>August 2019</h4>" +
|
||||||
|
"<em>" +
|
||||||
|
"Long term plans will be announced soon" +
|
||||||
|
"</em>",
|
||||||
|
image: ``,
|
||||||
|
imageAlign: 'right',
|
||||||
|
title: 'Roadmap',
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
</Block>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
|
||||||
|
const Showcase = () => {
|
||||||
|
if ((siteConfig.users || []).length === 0) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
const showcase = siteConfig.users
|
||||||
|
.filter(user => user.pinned)
|
||||||
|
.map(user => (
|
||||||
|
<a href={user.infoLink} key={user.infoLink}>
|
||||||
|
<img src={user.image} alt={user.caption} title={user.caption} />
|
||||||
|
</a>
|
||||||
|
));
|
||||||
|
|
||||||
|
const pageUrl = page => baseUrl + (language ? `${language}/` : '') + page;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className="productShowcaseSection paddingBottom">
|
||||||
|
<h2>Who is Using This?</h2>
|
||||||
|
<p>This project is used by all these people</p>
|
||||||
|
<div className="logos">{showcase}</div>
|
||||||
|
{/* <div className="more-users">
|
||||||
|
<a className="button" href={pageUrl('users.html')}>
|
||||||
|
More {siteConfig.title} Users
|
||||||
|
</a>
|
||||||
|
</div> */}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<HomeSplash siteConfig={siteConfig} language={language} />
|
||||||
|
<div className="mainContainer">
|
||||||
|
<Features />
|
||||||
|
<Roadmap />
|
||||||
|
{/* <FeatureCallout /> */}
|
||||||
|
{/* {/* <LearnHow /> */}
|
||||||
|
{/* <TryOut /> */}
|
||||||
|
{/* <Description /> */}
|
||||||
|
{/* <Showcase /> */}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = Index;
|
48
gitlab-pages/website/pages/en/users.js
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) 2017-present, Facebook, Inc.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*/
|
||||||
|
|
||||||
|
const React = require('react');
|
||||||
|
|
||||||
|
const CompLibrary = require('../../core/CompLibrary.js');
|
||||||
|
|
||||||
|
const Container = CompLibrary.Container;
|
||||||
|
|
||||||
|
class Users extends React.Component {
|
||||||
|
render() {
|
||||||
|
const {config: siteConfig} = this.props;
|
||||||
|
if ((siteConfig.users || []).length === 0) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
const editUrl = `${siteConfig.repoUrl}/edit/master/website/siteConfig.js`;
|
||||||
|
const showcase = siteConfig.users.map(user => (
|
||||||
|
<a href={user.infoLink} key={user.infoLink}>
|
||||||
|
<img src={user.image} alt={user.caption} title={user.caption} />
|
||||||
|
</a>
|
||||||
|
));
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className="mainContainer">
|
||||||
|
<Container padding={['bottom', 'top']}>
|
||||||
|
<div className="showcaseSection">
|
||||||
|
<div className="prose">
|
||||||
|
<h1>Who is Using This?</h1>
|
||||||
|
<p>This project is used by many folks</p>
|
||||||
|
</div>
|
||||||
|
<div className="logos">{showcase}</div>
|
||||||
|
<p>Are you using this project?</p>
|
||||||
|
<a href={editUrl} className="button">
|
||||||
|
Add your company
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</Container>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = Users;
|
7
gitlab-pages/website/sidebars.json
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"docs": {
|
||||||
|
"Setup": ["setup-installation"],
|
||||||
|
"Language Basics": ["language-basics-variables", "language-basics-functions", "language-basics-entrypoints", "language-basics-operators"],
|
||||||
|
"API": ["api-cli-commands"]
|
||||||
|
}
|
||||||
|
}
|
104
gitlab-pages/website/siteConfig.js
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) 2017-present, Facebook, Inc.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// See https://docusaurus.io/docs/site-config for all the possible
|
||||||
|
// site configuration options.
|
||||||
|
|
||||||
|
// List of projects/orgs using your project for the users page.
|
||||||
|
const users = [
|
||||||
|
{
|
||||||
|
caption: 'User1',
|
||||||
|
// You will need to prepend the image path with your baseUrl
|
||||||
|
// if it is not '/', like: '/test-site/img/image.jpg'.
|
||||||
|
image: '/img/undraw_open_source.svg',
|
||||||
|
infoLink: 'https://www.facebook.com',
|
||||||
|
pinned: true,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
const siteConfig = {
|
||||||
|
title: 'LIGO', // Title for your website.
|
||||||
|
tagline: 'LIGO is a statically typed high-level smart-contract language that compiles down to Tezos. It seeks be easy to use, extensible and safe.',
|
||||||
|
url: 'https://your-docusaurus-test-site.com', // Your website URL
|
||||||
|
baseUrl: '/', // Base URL for your project */
|
||||||
|
// For github.io type URLs, you would set the url and baseUrl like:
|
||||||
|
// url: 'https://facebook.github.io',
|
||||||
|
// baseUrl: '/test-site/',
|
||||||
|
|
||||||
|
// Used for publishing and more
|
||||||
|
projectName: 'ligo',
|
||||||
|
organizationName: 'marigold',
|
||||||
|
// For top-level user or org sites, the organization is still the same.
|
||||||
|
// e.g., for the https://JoelMarcey.github.io site, it would be set like...
|
||||||
|
// organizationName: 'JoelMarcey'
|
||||||
|
|
||||||
|
// For no header links in the top nav bar -> headerLinks: [],
|
||||||
|
headerLinks: [
|
||||||
|
{doc: 'setup-installation', label: 'Docs'},
|
||||||
|
{doc: 'api-cli-commands', label: 'CLI'},
|
||||||
|
],
|
||||||
|
|
||||||
|
// If you have users set above, you add it here:
|
||||||
|
users,
|
||||||
|
|
||||||
|
/* path to images for header/footer */
|
||||||
|
headerIcon: 'img/favicon.ico',
|
||||||
|
footerIcon: 'img/favicon.ico',
|
||||||
|
favicon: 'img/favicon.ico',
|
||||||
|
|
||||||
|
/* Colors for website */
|
||||||
|
colors: {
|
||||||
|
primaryColor: '#479e10',
|
||||||
|
secondaryColor: '#316e0b',
|
||||||
|
},
|
||||||
|
|
||||||
|
/* Custom fonts for website */
|
||||||
|
/*
|
||||||
|
fonts: {
|
||||||
|
myFont: [
|
||||||
|
"Times New Roman",
|
||||||
|
"Serif"
|
||||||
|
],
|
||||||
|
myOtherFont: [
|
||||||
|
"-apple-system",
|
||||||
|
"system-ui"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
*/
|
||||||
|
|
||||||
|
// This copyright info is used in /core/Footer.js and blog RSS/Atom feeds.
|
||||||
|
copyright: `Copyright © ${new Date().getFullYear()} Marigold`,
|
||||||
|
|
||||||
|
highlight: {
|
||||||
|
// Highlight.js theme to use for syntax highlighting in code blocks.
|
||||||
|
theme: 'default',
|
||||||
|
},
|
||||||
|
|
||||||
|
// Add custom scripts here that would be placed in <script> tags.
|
||||||
|
scripts: ['https://buttons.github.io/buttons.js'],
|
||||||
|
|
||||||
|
// On page navigation for the current documentation page.
|
||||||
|
onPageNav: 'separate',
|
||||||
|
// No .html extensions for paths.
|
||||||
|
cleanUrl: true,
|
||||||
|
|
||||||
|
// Open Graph and Twitter card images.
|
||||||
|
ogImage: 'img/undraw_online.svg',
|
||||||
|
twitterImage: 'img/undraw_tweetstorm.svg',
|
||||||
|
|
||||||
|
// Show documentation's last contributor's name.
|
||||||
|
// enableUpdateBy: true,
|
||||||
|
|
||||||
|
// Show documentation's last update time.
|
||||||
|
// enableUpdateTime: true,
|
||||||
|
|
||||||
|
// You may provide arbitrary config keys to be used as needed by your
|
||||||
|
// template. For example, if you need your repo's URL...
|
||||||
|
// repoUrl: 'https://github.com/facebook/test-site',
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = siteConfig;
|
@ -0,0 +1 @@
|
|||||||
|
AMNFRWcwhlTR6sHn8GCh1ZxWQL-nAzxtp8qc4UmX6iw.4Dc00ftieGaWDmacztwSS7euFOKPULDHjUNzikwPvao
|
@ -0,0 +1 @@
|
|||||||
|
dbB2XKERKKgwJJy6QAvHDSFZFMqVwkYiNJIJdLPckFk.4Dc00ftieGaWDmacztwSS7euFOKPULDHjUNzikwPvao
|
29
gitlab-pages/website/static/css/custom.css
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
/* your custom css */
|
||||||
|
|
||||||
|
@media only screen and (min-device-width: 360px) and (max-device-width: 736px) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (min-width: 1024px) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (max-width: 1023px) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (min-width: 1400px) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (min-width: 1500px) {
|
||||||
|
}
|
||||||
|
|
||||||
|
ul {
|
||||||
|
max-width: 350px;
|
||||||
|
margin: 0 auto;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.projectTitle small {
|
||||||
|
max-width: 500px;
|
||||||
|
text-align: center;
|
||||||
|
margin: 0 auto;
|
||||||
|
margin-top: 0.7em;
|
||||||
|
}
|
BIN
gitlab-pages/website/static/img/favicon.ico
Normal file
After Width: | Height: | Size: 766 B |
BIN
gitlab-pages/website/static/img/oss_logo.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
1
gitlab-pages/website/static/img/undraw_code_review.svg
Normal file
After Width: | Height: | Size: 17 KiB |
1
gitlab-pages/website/static/img/undraw_monitor.svg
Normal file
After Width: | Height: | Size: 32 KiB |
1
gitlab-pages/website/static/img/undraw_note_list.svg
Normal file
After Width: | Height: | Size: 15 KiB |
1
gitlab-pages/website/static/img/undraw_online.svg
Normal file
After Width: | Height: | Size: 26 KiB |
1
gitlab-pages/website/static/img/undraw_open_source.svg
Normal file
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 36 KiB |
1
gitlab-pages/website/static/img/undraw_react.svg
Normal file
After Width: | Height: | Size: 24 KiB |
1
gitlab-pages/website/static/img/undraw_tweetstorm.svg
Normal file
After Width: | Height: | Size: 9.2 KiB |
After Width: | Height: | Size: 28 KiB |