The website for ARC's main website.
This website is statically built using the Hugo framework. To develop the
website, download Hugo using your normal package manager (or docker) and run
the following and open http://localhost:1313/
in your browser.
hugo server
Or if you're lazy, you can use docker compose to run it.
docker compose up
This project is laid out using the standard Hugo project format.
website
|-- config.yaml - Site-wide configuration and menus.
|-- content - Main text and content on the web page.
|-- layouts - How the text should be position. Home page is in here too.
\-- static - JavaScript, CSS, images, and other miscellaneous content.
We list our sponsors and officers as entries/posts within their page as a section to reduce repetition. Since we don't want sponsors or officers to have their own page, we use a partial for our 404 page and make the single page for sponsors or officers look like the 404 page.
To update the website, just push your changes, the workflow will automatically rebuild the image on github. Then just ssh into the server machine (at time of writing, this is twoninn), navigate to the twoninn-provisioning
directory, and run docker login ghcr.io/ncsuarc/website
and input your github username and personal access token. The steps to generate a PAT are outlined below. Then, run docker pull ghcr.io/ncsuarc/website
. Once that finishes, redeploy the docker network.
- Navigate to GitHub Settings
- Go to GitHub and log in.
- Click on your profile picture in the top-right corner.
- Select Settings.
- Open Developer Settings
- Scroll down and click Developer Settings (bottom-left sidebar).
- Click Personal access tokens → Tokens (classic).
- Make sure classic token is selected in the drop down in the middle of the page.
- Generate a New Token
- Click Generate new token.
- Enter a Note to describe the token's purpose.
- Set an Expiration date (use 90 days please)
- Select Permissions
- Repo: All
- Workflow
- write:packages
- Generate and Copy the Token
- Copy the contents of
.env.template
to a.env
file. - Click Generate token.
- Copy that token. Save it somewhere (preferably somewhere secure, that token is like your password), you won't get it again.
- Copy the contents of