Skip to content

Migrate docs from old notion #140

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 7, 2024
Merged
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
65 changes: 62 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Source code for Maple Bacon's team website.

## Build Instructions
## Build Instructions (Nix)

Install [Nix](https://nixos.org/download) on any Linux (WSL2 on Windows) or
macOS computer, and enable the `flakes` and `nix-command` experimental features
Expand All @@ -22,9 +22,9 @@ and within the `nix develop` shell,
jekyll <build|serve>
```

## Build Instructions (with system Ruby)
## Build Instructions (system Ruby)

Check that you have Ruby installed and install `bundler`.
Ensure you have Ruby and Bundler installed:

```bash
ruby -v
Expand Down Expand Up @@ -53,3 +53,62 @@ infrastructure to build native extensions from source.
After changing the gems, run `lock-gems` from the `nix develop` shell (or,
`bundix -l`). This will update `gemset.nix`, used by the Nix infrastructure
to automatically grab the proper Jekyll.

## Creating a new author

Create a new file with the following contents at the path `_authors/{short_name}.md`:

* `short_name`: Your alias, must match your author file name. No spaces. This will displayed on blog posts and the article list.
* `name`: Your name or nickname for the about page.
* `position`: Categories you play in. Can be any or multiple of the following, comma separated:
* Web
* Crypto
* Misc
* Rev
* Pwn
* `website`: Link to your website or a social media account.
* `website_title`: Pretty name of your website - the content within the \<a> tag.
* `layout`: must be `author`

Template:

```md
---
short_name: hackerman
name: John Doe
position: Web,Crypto,Misc,Rev,Pwn
website: https://www.web.site
website_title: web.site
layout: author
---
Some description.
```

Finally, open a PR.

## Creating blog posts

Create a new file with the following contents at the path `_posts/{yyyy}-{mm}-{dd}-{ctf_name}-{challenge_name}.md`:

* `layout`: must be `author`
* `title`: Name of your blog post, format is `"[{ctf_name}] {challenge_name}"`
* `author`: Authors `short_name`. Author must already exist in `_authors/`, see [creating a new author](#creating-a-new-author).

Template:

```md
---
layout: post
title: "[FakeCTF 2024] Challenge Name"
author: hackerman
---

Post contents support *markdown*!
```

If your post has any assets place them in `assets/` and link the path appropriately in the post contents.

> [!TIP]
> We should probably standardize the `assets/` format. It's currently a bit of a mess.

Finally, test the post locally and open a PR.