Contribute
This is our guide on how you can make your own challenges or edit existing ones for this website!
Getting Started
Our GitHub repository is available here. We use a static-site generator called Docusaurus version 3.5.1, which you should familiarize yourself with first. After you have a basic understanding of the documentation, you can proceed to either make your own challenge or edit an existing one!
Creating a New Challenge
To make your own challenge, first fork the repository and clone it to your device. Make sure to switch your branch to development
. Next, head to the docs
folder from root and you will see folders for all the categories. Head to the folder for your challenge's category, then to the respective difficulty folder contained inside, and then create a text document (.md extension). Name it to your challenge's name. Then, copy-paste the template below into your doc.
Make sure to replace every field in ALL CAPS with your challenge's information!
Reveal Template
---
description: CHALLENGE-CATEGORY | DIFFICULTY - CHALLENGE NAME
tags: [DIFFICULTY-TAG-LOWERCASE]
sidebar_position: INTEGER
---
import PasswordForm from '@site/src/components/PasswordForm';
# CHALLENGE-NAME
DESCRIPTION-FIELD-FROM-ABOVE-COPY-PASTED-HERE
## Challenge
CHALLENGE-DESCRIPTION-HERE
![DOWNLOADABLE FILE](./assets/YOURFILE)
<!--- This is a submission form, you can have multiple --->
<PasswordForm hash="HASH-GOES-HERE" algorithm="sha512" />
## Solution
<details>
<summary>Solution Guide</summary>
SOLUTION GUIDE HERE, LEAVE BLANK LINE ABOVE. DO NOT INCLUDE ANSWERS HERE, ONLY HOW TO SOLVE.
</details>
## Credits
- Author(s): YOUR NAME(S)
If you have any downloadble files, place them in the assets
folder (which should be in the same directory as your challenge). Make sure to convert your answer(s) to SHA-512 (can be done at a site like this) and put it in the PasswordForm component(s).
Make sure to DM one of the officers with the answer(s) to the challenge! This is required for approval!
And you're done! Make a pull request to the development branch and an officer will validate and approve you!
Editing an Existing Challenge
To edit an existing challenge, you can simply click the "Edit This Page" link at the bottom of the challenge page. From there, you can fork the repository, edit the page, and make a pull request to the development
branch. Our officer team will review the changes and publish them!
Have Questions?
Reach out to us on our Discord server! If you want to communicate privately, DM one of the officers or email us at hello@thehackpack.org.