From d10e2d8ccb4bcb388ba338273ed1fd957431fb06 Mon Sep 17 00:00:00 2001 From: Noah Jacobson Date: Tue, 17 Sep 2024 15:25:22 -0400 Subject: [PATCH] chore: add readme --- README.md | 19 +++++++++++++++++++ example.png | Bin 0 -> 13986 bytes 2 files changed, 19 insertions(+) create mode 100644 README.md create mode 100644 example.png diff --git a/README.md b/README.md new file mode 100644 index 0000000..f0265fc --- /dev/null +++ b/README.md @@ -0,0 +1,19 @@ +# nicc-ctfd + +Fork of [CTFd](https://github.com/CTFd/CTFd)'s [core theme](https://github.com/CTFd/CTFd/tree/master/CTFd/themes/core) modified to show challenge tags on the "Challenges" page. + +![Example of theme.](./example.png) + +# Installing the Theme + +Please refer to [CTFd's documentation](https://docs.ctfd.io/docs/themes/overview/#uploading-custom-themes). For self-hosted instances, add this repo to the `themes` directory. For CTFd hosted instances, zip up this repository and upload it to the CTFd portal. Note that only certain CTFd hosted tiers support custom themes and they require approval. + +# Making Modifications + +Changes should be made to files in the [`assets`](./assets) and [`templates`](./templates) directories. Once changes are made, a build will have to be ran to generate the [`static`](./static) files. You can do this by following one of the below options: + +* Push your changes to this repository. The changes will be automatically built and commited by GitHub Actions. + + OR + +* Locally run `yarn install` and then `yarn build`. \ No newline at end of file diff --git a/example.png b/example.png new file mode 100644 index 0000000000000000000000000000000000000000..2a91d9bac6b54b77133b555556299b0b9dda9963 GIT binary patch literal 13986 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 YmXC