Skip to content
This repository was archived by the owner on Feb 4, 2025. It is now read-only.

Commit 48af986

Browse files
committed
docs: use mkdocs link normalization
1 parent 92e6436 commit 48af986

File tree

11 files changed

+36
-38
lines changed

11 files changed

+36
-38
lines changed

docs/content/configuration.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -48,27 +48,27 @@ YAML/JSON name|environment name|required|default value|type|description
4848
`database.redis.post`|`RCTF_REDIS_PORT`|either `database.sql` or `database.sql.*`|_(none)_|string|port number that redis is running on
4949
`database.redis.password`|`RCTF_REDIS_PASSWORD`|either `database.sql` or `database.sql.*`|_(none)_|string|redis password to authenticate with
5050
`database.redis.database`|`RCTF_REDIS_DATABASE`|either `database.sql` or `database.sql.*`|_(none)_|string|redis numerical database ID to use
51-
`database.migrate`|`RCTF_DATABASE_MIGRATE`|yes|`never`|`before | only | never`|how to run postgreSQL migrations. [See migration doc for more](../management/migration)
52-
`instanceType`|`RCTF_INSTANCE_TYPE`|yes|`all`|`all | frontend | leaderboard`|what type of instance to run. [See scaling doc for more](../management/scaling)
51+
`database.migrate`|`RCTF_DATABASE_MIGRATE`|yes|`never`|`before | only | never`|how to run postgreSQL migrations. [See migration doc](management/migration.md)
52+
`instanceType`|`RCTF_INSTANCE_TYPE`|yes|`all`|`all | frontend | leaderboard`|what type of instance to run. [See scaling doc](management/scaling.md)
5353
`tokenKey`|`RCTF_TOKEN_KEY`|yes|_(none)_|string|base64 encoded 32 byte key used for encrypting tokens
5454
`origin`|`RCTF_ORIGIN`|yes|_(none)_|string|public URL of the rCTF instance
55-
`ctftime.clientId`|`RCTF_CTFTIME_CLIENT_ID`|no|_(none)_|string|CTFtime OAuth client ID. [See CTFtime doc for more](../integrations/ctftime)
56-
`ctftime.clientSecret`|`RCTF_CTFTIME_CLIENT_SECRET`|no|_(none)_|string|CTFtime OAuth client secret. [See CTFtime doc for more](../integrations/ctftime)
55+
`ctftime.clientId`|`RCTF_CTFTIME_CLIENT_ID`|no|_(none)_|string|CTFtime OAuth client ID. [See CTFtime doc](integrations/ctftime.md)
56+
`ctftime.clientSecret`|`RCTF_CTFTIME_CLIENT_SECRET`|no|_(none)_|string|CTFtime OAuth client secret. [See CTFtime doc](integrations/ctftime.md)
5757
`userMembers`|`RCTF_USER_MEMBERS`|yes|`true`|boolean|whether to allow a user to set emails for individual members
58-
`sponsors`|_(none)_|yes|`[]`|array|list of CTF sponsors. [See home doc for more](../management/home)
59-
`homeContent`|`RCTF_HOME_CONTENT`|yes|`''`|string|markdown content for the homepage of the CTF. [See home doc for more](../management/home)
58+
`sponsors`|_(none)_|yes|`[]`|array|list of CTF sponsors. [See home doc](management/home.md)
59+
`homeContent`|`RCTF_HOME_CONTENT`|yes|`''`|string|markdown content for the homepage of the CTF. [See home doc](management/home.md)
6060
`ctfName`|`RCTF_NAME`|yes|_(none)_|string|name of the CTF throughout the UI
6161
`meta.description`|`RCTF_META_DESCRIPTION`|yes|`''`|string|OpenGraph and Twitter embed description
6262
`meta.imageUrl`|`RCTF_IMAGE_URL`|yes|`''`|string|OpenGraph and Twitter embed image URL
6363
`logoUrl`|`RCTF_LOGO_URL`|no|_(none)_|string|URL to raster image of the CTF's logo. used in emails
6464
`globalSiteTag`|`RCTF_GLOBAL_SITE_TAG`|no|_(none)_|string|Google Analytics site tag
65-
`challengeProvider`|_(none)_|yes|`database`|provider|provider for challenges. [See challenge provider doc for more](../providers/challenges)
66-
`uploadProvider`|_(none)_|yes|`local`|provider|provider for challenge file uploads. [See upload provider doc for more](../providers/uploads)
67-
`email.provider`|_(none)_|no|_(none)_|provider|provider for email sending. [See email doc for more](../providers/emails)
68-
`email.from`|_(none)_|no|_(none)_|provider|`from:` address when sending email. [See email doc for more](../providers/emails)
69-
`divisions`|_(none)_|yes|_(none)_|object|division IDs and their respective names. [See division doc for more](../management/divisions)
70-
`defaultDivision`|_(none)_|no|_(none)_|string|default division ID. [See division doc for more](../management/divisions)
71-
`divisionACLs`|_(none)_|no|_(none)_|array|ACLs for restricting division access. [See division doc for more](../management/divisions)
65+
`challengeProvider`|_(none)_|yes|`database`|provider|provider for challenges. [See challenge provider doc](providers/challenges/index.md)
66+
`uploadProvider`|_(none)_|yes|`local`|provider|provider for challenge file uploads. [See upload provider doc](providers/uploads/index.md)
67+
`email.provider`|_(none)_|no|_(none)_|provider|provider for email sending. [See email doc](providers/emails/index.md)
68+
`email.from`|_(none)_|no|_(none)_|provider|`from:` address when sending email. [See email doc](providers/emails/index.md)
69+
`divisions`|_(none)_|yes|_(none)_|object|division IDs and their respective names. [See division doc](management/divisions.md)
70+
`defaultDivision`|_(none)_|no|_(none)_|string|default division ID. [See division doc](management/divisions.md)
71+
`divisionACLs`|_(none)_|no|_(none)_|array|ACLs for restricting division access. [See division doc](management/divisions.md)
7272
`startTime`|`RCTF_START_TIME`|yes|_(none)_|integer|time at which the CTF starts, in milliseconds since the epoch
7373
`endTime`|`RCTF_END_TIME`|yes|_(none)_|integer|time at which the CTF ends, in milliseconds since the epoch
7474
`leaderboard.maxLimit`|`RCTF_LEADERBOARD_MAX_LIMIT`|yes|100|integer|maximum number of users retrievable in a single leaderboard request

docs/content/development/manual-installation.md

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,23 @@
22

33
Manual installation of rCTF is useful to develop and modify the project.
44

5-
If you want to install rCTF on your local machine, you will need `yarn` installed. rCTF currently targets node 12, so you should either install that version locally or use nvm, for example with `nvm use --delete-prefix v12.16.1`.
5+
To run rCTF locally, you'll need [node](https://nodejs.org/) and [yarn](https://yarnpkg.com/).
66

7-
```shell
8-
git clone https://github.com/redpwn/rCTF.git && cd rCTF
7+
Clone the rCTF repository:
8+
```bash
9+
git clone https://github.com/redpwn/rctf
910
```
1011

11-
After cloning, you will need to setup the configuration files.
12-
13-
```shell
14-
cp -nR config/yml.example config/yml
15-
cp .env.example .env
16-
```
17-
18-
Before you run rCTF for the first time, set the [mandatory configuration options](../configuration.md#configuration-options).
12+
After cloning, you will need to setup the configuration files in the `conf.d` directory. [An example `conf.d`](https://github.com/redpwn/rctf/blob/master/test/conf-test.yaml) is used for testing.
1913

2014
To develop rCTF, run:
2115

22-
```shell
16+
```bash
2317
yarn dev
2418
```
2519

2620
To simulate a full production build, run:
2721

28-
```shell
22+
```bash
2923
yarn build && yarn start
3024
```

docs/content/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33
rCTF is redpwnCTF's CTF platform. It is developed and maintained by the
44
[redpwn](https://redpwn.net) CTF team.
55

6-
To install rCTF, see [the installation doc](installation).
6+
To install rCTF, see [the installation doc](installation.md).

docs/content/installation.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ curl https://get.rctf.redpwn.net | sh
88

99
## After installation
1010

11-
To configure rCTF, see [the configuration doc](../configuration).
11+
To configure rCTF, see [the configuration doc](configuration.md).
1212

13-
To update the CTF's challenges, see [the admin doc](../management/admin).
13+
To update the CTF's challenges, see [the admin doc](management/admin.md).
1414

15-
To scale up rCTF, see the [migration](../management/migration) and [scaling](../management/scaling) docs.
15+
To scale up rCTF, see the [migration](management/migration.md) and [scaling](management/scaling.md) docs.

docs/content/management/divisions.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ Every user must be in exactly one division, although users can change their divi
88
* `divisionACLs` is a priority list of ACL elements. Only one element matches an email at a time, and each element contains `match`, `value`, and an allowed `divisions` list. If the `divisions` list contains multiple elements, the first element is used while registering.
99

1010
Possible `match` values are:
11+
1112
* `domain`: The `value` contains a domain which the user's email must be from.
1213
* `email`: The `value` contains an exact email which the user's must match.
1314
* `regex`: The `value` contains a RegEx used to match the user's domain.

docs/content/management/scaling.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Scaling
22

33
rCTF can be split into two types of instances.
4+
45
* Frontend instances are horizontally scalable and handle incoming requests
56
* A single leaderboard instance does leaderboard and graph data calculations.
67

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
# Challenge Provider Index
22

3-
Challenge providers store the list of challenges in the CTF. At the moment, only the [database challenge provider](database) is available.
3+
Challenge providers store the list of challenges in the CTF. At the moment, there is one challenge provider available:
4+
5+
* [Database](database.md)

docs/content/providers/emails/index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33
Email providers send emails to competitors. In rCTF, emails are used for registration, email updates, and recovery. At the moment, there are three email providers available:
44

5-
* [Mailgun](mailgun)
6-
* [SES](ses)
7-
* [SMTP](smtp)
5+
* [Mailgun](mailgun.md)
6+
* [SES](ses.md)
7+
* [SMTP](smtp.md)

docs/content/providers/uploads/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22

33
Upload providers store files for each challenge. At the moment, there are two upload providers available:
44

5-
* [Google Cloud Storage](gcs)
6-
* [Local](local)
5+
* [Google Cloud Storage](gcs.md)
6+
* [Local](local.md)

docs/content/providers/uploads/local.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ rCTF must have write access to the `uploadDirectory`.
99
Option|Description
1010
-|-
1111
`uploadDirectory`|The directory where uploaded files are stored. (default: `uploads`)
12-
`endpoint`|The endpoint from which uploaded files are served. Unless (default: `/uploads`)
12+
`endpoint`|The endpoint from which uploaded files are served. (default: `/uploads`)
1313

1414
## Configuration Example
1515

0 commit comments

Comments
 (0)