Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 11 additions & 3 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Leviathan docs
# Website

This docs website is built using [Docusaurus 2](https://docusaurus.io/), a modern static website generator.
This website is built using [Docusaurus](https://docusaurus.io/), a modern static website generator.

### Installation

Expand All @@ -26,8 +26,16 @@ This command generates static content into the `build` directory and can be serv

### Deployment

Using SSH:

```
$ USE_SSH=true yarn deploy
```

Not using SSH:

```
$ GIT_USER=<Your GitHub username> USE_SSH=true yarn deploy
$ GIT_USER=<Your GitHub username> yarn deploy
```

If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch.
3 changes: 0 additions & 3 deletions docs/babel.config.js

This file was deleted.

12 changes: 12 additions & 0 deletions docs/blog/2019-05-28-first-blog-post.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
slug: first-blog-post
title: First Blog Post
authors: [slorber, yangshun]
tags: [hola, docusaurus]
---

Lorem ipsum dolor sit amet...

<!-- truncate -->

...consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
44 changes: 44 additions & 0 deletions docs/blog/2019-05-29-long-blog-post.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
slug: long-blog-post
title: Long Blog Post
authors: yangshun
tags: [hello, docusaurus]
---

This is the summary of a very long blog post,

Use a `<!--` `truncate` `-->` comment to limit blog post size in the list view.

<!-- truncate -->

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
24 changes: 24 additions & 0 deletions docs/blog/2021-08-01-mdx-blog-post.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
slug: mdx-blog-post
title: MDX Blog Post
authors: [slorber]
tags: [docusaurus]
---

Blog posts support [Docusaurus Markdown features](https://docusaurus.io/docs/markdown-features), such as [MDX](https://mdxjs.com/).

:::tip

Use the power of React to create interactive blog posts.

:::

{/* truncate */}

For example, use JSX to create an interactive button:

```js
<button onClick={() => alert('button clicked!')}>Click me!</button>
```

<button onClick={() => alert('button clicked!')}>Click me!</button>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 12 additions & 1 deletion docs/blog/2021-08-26-welcome/index.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,29 @@
---
slug: welcome
title: Welcome
authors: [RA341]
authors: [slorber, yangshun]
tags: [facebook, hello, docusaurus]
---

[Docusaurus blogging features](https://docusaurus.io/docs/blog) are powered by the [blog plugin](https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog).

Here are a few tips you might find useful.

<!-- truncate -->

Simply add Markdown files (or folders) to the `blog` directory.

Regular blog authors can be added to `authors.yml`.

The blog post date can be extracted from filenames, such as:

- `2019-05-30-welcome.md`
- `2019-05-30-welcome/index.md`

A blog post folder can be convenient to co-locate blog post images:

![Docusaurus Plushie](./docusaurus-plushie-banner.jpeg)

The blog supports tags as well!

**And if you don't want a blog**: just delete this directory, and use `blog: false` in your Docusaurus config.
28 changes: 23 additions & 5 deletions docs/blog/authors.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,23 @@
RA341:
name: RA341
title: Leviathan Maintainer
url: https://github.com/RA341
image_url: https://github.com/RA341.png
yangshun:
name: Yangshun Tay
title: Front End Engineer @ Facebook
url: https://github.com/yangshun
image_url: https://github.com/yangshun.png
page: true
socials:
x: yangshunz
github: yangshun

slorber:
name: Sébastien Lorber
title: Docusaurus maintainer
url: https://sebastienlorber.com
image_url: https://github.com/slorber.png
page:
# customize the url of the author page at /blog/authors/<permalink>
permalink: '/all-sebastien-lorber-articles'
socials:
x: sebastienlorber
linkedin: sebastienlorber
github: slorber
newsletter: https://thisweekinreact.com
19 changes: 19 additions & 0 deletions docs/blog/tags.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
facebook:
label: Facebook
permalink: /facebook
description: Facebook tag description

hello:
label: Hello
permalink: /hello
description: Hello tag description

docusaurus:
label: Docusaurus
permalink: /docusaurus
description: Docusaurus tag description

hola:
label: Hola
permalink: /hola
description: Hola tag description
8 changes: 8 additions & 0 deletions docs/docs/developers/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"label": "Developer guide",
"position": 6,
"link": {
"type": "generated-index",
"description": "Guide for developers"
}
}
117 changes: 117 additions & 0 deletions docs/docs/developers/intro.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
---
sidebar_position: 1
title: Introduction
---

# Getting Started

We're excited that you're interested in contributing to our project. This guide will help you set up your development
environment and understand the project's licensing.

## License

TBD

## Development Prerequisites

Before you begin, please ensure you have the following tools installed:

### Required Technologies

* Go >= v1.24
- Powers the main application
- [Installation Guide](https://go.dev/learn/)

* Docker >= 28.0.1,

* Node.js and NPM >= 22
- Used to develop the testing frontend ([kraken](kraken))
- [Installation Guide](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)

* Just 1.38.0 and above (Optional)
- Just is a command runner to save and run project-specific commands.
- Think of it as an alternative to `npm run` commands or `Makefiles`
- [Installation Guide](https://just.systems/man/en/)
- We use it to run a few helpful commands, but you can run them manually if you want.

Please install and configure all these dependencies before proceeding with Gouda development. For version-specific
installation instructions, refer to each tool's official documentation.

## Cloning

1. [Fork](https://github.com/makeopensource/leviathan/fork) the repository
2. Clone your fork onto your machine.

### Folders

1. `/src`: main Go app
2. `/kraken`: testing frontend
3. `/spec`: grpc specification
4. `/example`: example graders for testing
5. `/docs`: docs

### Building

leviathan can be built using
```bash
go run src/main.go
```



## Development Workflow

### Branch Management

- Always create branches from `dev`
- Keep your local `dev` branch synced with upstream:
- Create feature/fix branches
```bash
git checkout -b your-feature-name
```

### Making Changes

1. Make commits with clear messages:
```bash
git commit -m "feat: add new functionality"
```
2. Push your changes:
```bash
git push origin your-feature-name
```

## Pull Requests

### Opening a PR

1. Create PR targeting the `dev` branch
2. Use the PR template if provided
3. Include:
- Clear title describing the change
- Detailed description of changes
- Link to related issues using GitHub keywords (Fixes #123, Closes #456)
- Add appropriate labels/tags

### PR Guidelines

- Keep changes focused and atomic
- Update documentation if needed
- Add tests for new features
- Ensure CI checks pass
- Respond to review feedback promptly

## Labels

Common labels used in the project:

- `bug`: Bug fixes
- `feature`: New features
- `documentation`: Documentation updates
- `breaking`: Breaking changes
- `dependencies`: Dependency updates
- `UI`: If working on the frontend

## Questions?

Feel free to ask any questions on the devU channel in [discord](https://discord.gg/ChrT2DfcDT).
9 changes: 9 additions & 0 deletions docs/docs/developers/kraken.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
sidebar_position: 999
title: Kraken
---


# Kraken

Testing frontend for leviathan
35 changes: 0 additions & 35 deletions docs/docs/intro.md

This file was deleted.

4 changes: 0 additions & 4 deletions docs/docs/tutorial-basics/_category_.json

This file was deleted.

21 changes: 0 additions & 21 deletions docs/docs/tutorial-basics/congratulations.md

This file was deleted.

Loading
Loading