diff --git a/.dockerignore b/.dockerignore
index 66c9ca6..4c24c0b 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -10,5 +10,6 @@ tmp
.gitmodules
.hugo_build.lock
Dockerfile
+docker-compose.yaml
hugo_stats.json
README.md
diff --git a/.gitmodules b/.gitmodules
index 3a77948..d4631ac 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,4 +1,4 @@
[submodule "themes/dot-org-hugo-theme"]
path = themes/dot-org-hugo-theme
url = https://github.com/NE-Collegiate-Cyber-Defense-League/dot-org-hugo-theme.git
- branch = release
+ branch = main
diff --git a/Dockerfile b/Dockerfile
index ebf9b25..947cf7e 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,8 +1,8 @@
-FROM node:latest AS build
+FROM node:26 AS build
ARG WORKDIR=/app
ARG BUILD_URL=http://localhost:8080
-ARG HUGO_VERSION=0.154.2 \
+ARG HUGO_VERSION=0.159.1 \
DART_SASS_VERSION=1.97.1
WORKDIR $WORKDIR
diff --git a/README.md b/README.md
index f0cf479..66da5aa 100644
--- a/README.md
+++ b/README.md
@@ -31,8 +31,6 @@ npx -y pagefind --site public
- https://github.com/cncf/dot-org-hugo-theme/
- https://dot-org-hugo-theme-demo.netlify.app/demo-page/
-- https://github.com/deepcausality-rs/sites
- - https://beta-7j9.pages.dev/
- https://github.com/todogroup/todogroup.org/
- https://todogroup.org/
diff --git a/assets/scss/_typography.scss b/assets/scss/_typography.scss
index 3691c1c..1594a91 100644
--- a/assets/scss/_typography.scss
+++ b/assets/scss/_typography.scss
@@ -36,7 +36,6 @@ h1,
.h1 {
font-family: var(--condensed-font-family);
font-weight: 700;
-
color: var(--primary-400);
text-transform: uppercase;
line-height: 112.2%;
@@ -65,8 +64,9 @@ h2,
h3,
.h3 {
- font-family: var(--rounded-font-family);
+ font-family: var(--condensed-font-family);
font-size: 20px;
+ color: var(--primary-400);
line-height: 150%;
text-transform: none;
margin-block-start: 40px;
@@ -78,12 +78,13 @@ h3,
h4,
.h4 {
- font-family: var(--rounded-font-family);
- font-weight: 900;
+ font-family: var(--condensed-font-family);
+ font-weight: 700;
+ color: var(--primary-400);
font-size: 16px;
line-height: 150%;
text-transform: uppercase;
- letter-spacing: 2.4px;
+ letter-spacing: 1px;
margin-block-start: 28px;
margin-block-end: 18px;
@media (min-width: variables.$min-desktop) {
diff --git a/config/_default/hugo.yaml b/config/_default/hugo.yaml
index 48bcd93..a7c7a02 100644
--- a/config/_default/hugo.yaml
+++ b/config/_default/hugo.yaml
@@ -2,7 +2,7 @@
# Your theme name
theme: "dot-org-hugo-theme"
# Title of your website (required).
-title: "Dot Org Theme Demo"
+title: "NECCDL"
# Default time zone for time stamps; use any valid tz database name: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
timeZone: "America/New_York"
diff --git a/config/_default/languages.yaml b/config/_default/languages.yaml
index 7ba2923..90e61d3 100644
--- a/config/_default/languages.yaml
+++ b/config/_default/languages.yaml
@@ -1,5 +1,5 @@
en:
- languageName: English
+ label: English
weight: 1
### copyright (markdown can be used) ###
copyright: " "
@@ -48,11 +48,25 @@ en:
# post: "Learn how to impact the next generation of cybersecurity professionals"
# parent: "support"
- - identifier: "neccdc-2026"
- name: "NECCDC 2026"
- url: "/history/2026/"
+ - identifier: "resources"
+ name: "Resources"
weight: 4
+ - identifier: "neccdc"
+ name: "NECCDC"
+ url: "/docs/neccdc"
+ weight: 1
+ post: "Documentation about the competition"
+ parent: "resources"
+
+ - identifier: "volunteer"
+ name: "Volunteer"
+ url: "/volunteer/"
+ weight: 2
+ post: "Get involved with League"
+ parent: "resources"
+
+
- identifier: "history"
name: "History"
url: "/history/"
diff --git a/config/production/hugo.yaml b/config/production/hugo.yaml
index e26e9c6..7713c13 100644
--- a/config/production/hugo.yaml
+++ b/config/production/hugo.yaml
@@ -1,7 +1,6 @@
######################## production configuration ####################
# The base URL of your site (required). This will be prepended to all relative URLs.
-baseURL: https://beta.neccdl.org
-googleAnalytics:
+baseURL: https://neccdl.org
enableRobotsTXT: true
build:
writeStats: true
diff --git a/content/en/docs/neccdc/operational-aid.md b/content/en/docs/neccdc/operational-aid/index.md
similarity index 92%
rename from content/en/docs/neccdc/operational-aid.md
rename to content/en/docs/neccdc/operational-aid/index.md
index 0dffeac..8d51dad 100644
--- a/content/en/docs/neccdc/operational-aid.md
+++ b/content/en/docs/neccdc/operational-aid/index.md
@@ -13,9 +13,6 @@ The goal behind this change is to balance between encouraging teams to seek help
Each team is given a budget of 1000 points that they can spend on assistance from the Black Team.
Spent points will count against system scoring.
-Each assistance request that has a point cost will be multiplied by the corresponding number in the [Fibonacci sequence](https://en.wikipedia.org/wiki/Fibonacci_sequence) (excluding 0).
-For example, the first request will cost x1, the second x1, the third x2, and so on, following the sequence of Fibonacci numbers.
-
| Type | Description | Cost |
| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- |
| Server Redeployments | Cleanly redeploy the server to a pre-competition state. | 30 |
@@ -25,12 +22,20 @@ For example, the first request will cost x1, the second x1, the third x2, and so
| Competent Questions | Thoughtful questions that include information on what your team has already tried, including results if applicable. Abuse of this offering or questions that lack any prior effort will result in a 5-point fee. | 0\* |
| Competition Setup Questions | This includes questions related to initial environment VPN setup, access to initial credentials, questions designated to Black, White or Red Teams, and the like. | 0 |
-## Additional Information
+
+
+Each assistance request that has a point cost will be multiplied by the corresponding number in the [Fibonacci sequence](https://en.wikipedia.org/wiki/Fibonacci_sequence) (excluding 0).
+For example, the first request will cost x1, the second x1, the third x2, and so on, following the sequence of Fibonacci numbers.
+
+
+
+{{< image alt="Price Multiplier by Occurrence" src="price_multiplier.svg" >}}
+
+---
- When servers are redeployed or access is restored, teams do not get refunded for the missing points they could have gained from injects or service checks.
- Server redeployments cannot be performed during the end of the competition.
- Submit a ticket and use the **@BlackTeam** handle in the competition Discord, otherwise, your message will not be noticed. Keep in mind that the Black Team is also responding to other teams. If there is no response in five minutes, please ping us again.
-- The more point-costing requests you make to the Black Team for assistance, the higher the cost of each subsequent request.
-- Upon request after competition completion, teams can request a summary of events that required the Black Teams' intervention.
-- In case of _force majeure_ or proven hosting issues, lost points can be refunded.
+- Upon request after competition completion, teams can request a summary of events that required intervention from the Black Team.
+- In case of _force majeure_ or confirmed hosting issues, lost points can be refunded.
- The Black Team has full discretion to assign point pricing to help events.
diff --git a/content/en/docs/neccdc/operational-aid/price_multiplier.svg b/content/en/docs/neccdc/operational-aid/price_multiplier.svg
new file mode 100644
index 0000000..7e9ad3f
--- /dev/null
+++ b/content/en/docs/neccdc/operational-aid/price_multiplier.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/content/en/volunteer/_index.md b/content/en/volunteer/_index.md
index 5813912..47f9008 100644
--- a/content/en/volunteer/_index.md
+++ b/content/en/volunteer/_index.md
@@ -17,11 +17,11 @@ Representatives who serve as competition officials, moderators, and rule enforce
- Supply and score Blue Team tasks in the form of competition injects
- Adjudicate the scoring for the competition
-#### Chief Judge
+### Chief Judge
Responsible for final decisions concerning scoring.
The chief judge has no active or historical, professional or personal affiliation with any school in the league.
-#### Moderators
+### Moderators
- Undertake moderator training offered by NECCDC
- Gain familiarity with using the required communication tools (e.g., Competition Discord)
- Submit questions and requests from the blue team members to the designated communication channels
@@ -32,7 +32,7 @@ The chief judge has no active or historical, professional or personal affiliatio
## [Black Team]({{< ref "black-team" >}})
Black Team members are our competition technicians. They develop, deploy, and maintain a unique competition environment every year. They also configure remote access, Discord, the service scoring.
-#### Gray Team
+### Gray Team
Helps write technical injects alongside the White Team.
## Red Team
diff --git a/docker-compose.yaml b/docker-compose.yaml
new file mode 100644
index 0000000..f1d3797
--- /dev/null
+++ b/docker-compose.yaml
@@ -0,0 +1,19 @@
+services:
+ hugo:
+ container_name: neccdl-hugo
+ build:
+ context: .
+ dockerfile: Dockerfile
+ target: build
+ platform: linux/amd64
+ entrypoint: hugo
+ command:
+ - server
+ - -D
+ - --bind
+ - 0.0.0.0
+ ports:
+ - "1313:1313"
+ volumes:
+ - ./:/app
+ restart: unless-stopped
diff --git a/docker-compose.yml b/docker-compose.yml
deleted file mode 100644
index 4b77e1e..0000000
--- a/docker-compose.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-services:
- hugo-tmp:
- build:
- context: .
- dockerfile: Dockerfile
- ports:
- - "8080:80"
- container_name: hugo-tmp
- restart: unless-stopped
diff --git a/hugo_stats.json b/hugo_stats.json
deleted file mode 100644
index fd630ae..0000000
--- a/hugo_stats.json
+++ /dev/null
@@ -1,167 +0,0 @@
-{
- "htmlElements": {
- "tags": [
- "a",
- "article",
- "blockquote",
- "body",
- "br",
- "button",
- "center",
- "div",
- "footer",
- "form",
- "h1",
- "h2",
- "h3",
- "h4",
- "h5",
- "head",
- "header",
- "hr",
- "html",
- "i",
- "iframe",
- "img",
- "input",
- "li",
- "link",
- "main",
- "meta",
- "nav",
- "ol",
- "option",
- "p",
- "path",
- "script",
- "section",
- "select",
- "source",
- "span",
- "strong",
- "style",
- "svg",
- "table",
- "tbody",
- "td",
- "th",
- "thead",
- "title",
- "tr",
- "ul",
- "video"
- ],
- "classes": [
- "attachments",
- "attachments-files",
- "box",
- "box-content",
- "box-grid",
- "breadcrumb",
- "breadcrumbs",
- "breadcrumbs-list",
- "button",
- "card",
- "cards",
- "categories",
- "columns-1",
- "columns-3",
- "container",
- "content",
- "copyright",
- "copyright__accessibility-git-wrapper",
- "cstyle",
- "custom-form",
- "fa-check",
- "fa-fw",
- "fas",
- "footer",
- "footer__cta",
- "footer__logo-social-wrapper",
- "footer__menu-cta-wrapper",
- "grid",
- "h4",
- "hamburger",
- "hamburger-box",
- "hamburger-inner",
- "header",
- "hero-grid",
- "hero-grid__col1",
- "hero-grid__col2",
- "hidden-on-small",
- "history",
- "home-title",
- "intro",
- "large-text",
- "logo",
- "logo-link",
- "main-menu",
- "main-menu-search",
- "main-menu__cta-language-wrapper",
- "main-menu__search-language-wrapper",
- "main-menu__wrapper",
- "medium-text",
- "menu-item",
- "menu-item-has-children",
- "menu-item__description",
- "menu-link",
- "nowrap",
- "page",
- "page-404",
- "page-home",
- "page-page",
- "page-section",
- "page-taxonomy",
- "shortened-width",
- "skip-link",
- "social-links",
- "spacer-10",
- "spacer-15",
- "spacer-25",
- "spacer-5",
- "stat-item",
- "stat-label",
- "stat-number",
- "stats-container",
- "sticky",
- "sub-menu",
- "sub-menu__nav",
- "table-container",
- "tags",
- "tertiary",
- "title",
- "toc",
- "top-menu-item",
- "wrap"
- ],
- "ids": [
- "2008-finalists",
- "2009-finalists",
- "2010-finalists",
- "2011-finalists",
- "2012-finalists",
- "2013-finalists",
- "2014-finalists",
- "2015-finalists",
- "2016-finalists",
- "2017-finalists",
- "2018-finalists",
- "2019-finalists",
- "TableOfContents",
- "benefits",
- "concepts-involved-in-the-theme-of-visibility-include",
- "content",
- "finalists",
- "funding-options",
- "information-packets",
- "past-competitions",
- "resources",
- "search",
- "sponsor",
- "sponsors",
- "team-resource-submissions",
- "technologies-that-often-help-improve-visibility",
- "theme"
- ]
- }
-}
diff --git a/layouts/partials/footer/github.html b/layouts/partials/footer/github.html
index d3b86cf..c3ccdc4 100644
--- a/layouts/partials/footer/github.html
+++ b/layouts/partials/footer/github.html
@@ -2,7 +2,7 @@
{{ if and .repo_url .show_edit_link }}
{{ with $.File }}
{{ $pageRelPath := replace .Path "\\" "/" }}
-{{ $langPrefix := $.Site.LanguageCode }}
+{{ $langPrefix := $.Site.Language.Locale }}
{{ $editURL := printf "%s/content/%s/%s" $.Site.Params.github.repo_url $langPrefix $pageRelPath }}
@@ -11,4 +11,4 @@
{{ end }}
{{ end }}
-{{ end }}
\ No newline at end of file
+{{ end }}
diff --git a/layouts/partials/header.html b/layouts/partials/header.html
index 8fc7b12..8de92c2 100644
--- a/layouts/partials/header.html
+++ b/layouts/partials/header.html
@@ -14,20 +14,24 @@
{{ $.Site.Title }}
{{ end }}
-
+
{{ with .Site.Menus.main }}