- Install Hugo, extended edition.
- Clone this repo
git clone --recurse-submodules -j8 https://github.com/KumarRobotics/kr_website.git hugo server -D --disableFastRender
The website should be available at http://localhost:1313/.
- Build the website locally. See notes above.
- Modify the website and verify your modifications.
- Submit a PR on Github. Please do not push directly to the
mainbranch.
Content is located in the content/ folder. Images are in static/.
The Lint workflow runs five checks on every
pull request. Each can also be run locally from the repository root:
- References (
python3 scripts/check_refs.py): every image referenced incontent/,data/,layouts/,hugo.tomlorstatic/cssmust exist understatic/. - Member photos (
python3 scripts/check_members.py): photos instatic/img/group/current/must be exactly 600x600 px and at most 500 KB. - News items (
python3 scripts/check_news_items.py): every{{< newsitem >}}incontent/must have a non-empty title and image, and the image must exist understatic/. - News images (
python3 scripts/check_news_images.py, needs Pillow): news images must be 300–750 px wide, at most 500 KB, with a height/width ratio between 0.3 and 1.4. Widths below 600 px and whitelisted legacy images (WIDTH_WHITELISTin the script) below the 300 px minimum are reported as notes, not failures. - News dates (
python3 scripts/check_news_date.py): every{{< newsitem >}}must have a date in month day, year format (e.g.Jun 5, 2026), and news items must be ordered newest first.
The website is deployed to Pantheon (static hosting via the Empty Upstream)
with the deploy-pantheon workflow:
- Push to
devbuilds the site and deploys it to the Test environment. - Push to
mainbuilds the site and deploys it through Test to Live.