Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
root = true

[*]
charset = utf-8
end_of_line = lf
indent_style = space
indent_size = 2
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
trim_trailing_whitespace = false
2 changes: 1 addition & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
- [ ] `refactor` — restructuring without content changes
- [ ] `style` — formatting, whitespace, typos

> [PR title and commit types must follow these standards — view the contributing guide](https://github.com/Stensel8/Zephyrus-Linux/blob/main/CONTRIBUTING.md#commit-messages)
> [PR title and commit types must follow these standards — view the contributing guide](https://github.com/THectic-NL/Zephyrus-Linux/blob/main/CONTRIBUTING.md#commit-messages)

## Checklist

Expand Down
22 changes: 13 additions & 9 deletions .github/workflows/hugo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,18 +24,22 @@ jobs:
env:
HUGO_VERSION: 0.163.1
steps:
- name: Install Hugo CLI
uses: peaceiris/actions-hugo@2752ce1d29631191ea3f27c23495fa06139a5b78 # v3.2.1
with:
hugo-version: '0.163.1'
extended: true

- name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
submodules: recursive
fetch-depth: 0

- name: Setup Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version-file: src/go.mod

- name: Install Hugo
run: |
wget -O ${{ runner.temp }}/hugo.deb \
https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \
&& sudo dpkg -i ${{ runner.temp }}/hugo.deb

- name: Setup Pages
id: pages
uses: actions/configure-pages@45bfe0192ca1faeb007ade9deae92b16b8254a0d # v6.0.0
Expand All @@ -46,15 +50,15 @@ jobs:
HUGO_ENVIRONMENT: production
TZ: Europe/Amsterdam
run: |
hugo \
cd src && hugo \
--gc \
--minify \
--baseURL "${{ steps.pages.outputs.base_url }}/"

- name: Upload artifact
uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0
with:
path: ./public
path: ./src/public

deploy:
environment:
Expand Down
23 changes: 13 additions & 10 deletions .github/workflows/pr-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: DavidAnson/markdownlint-cli2-action@ded1f9488f68a970bc66ea5619e13e9b52e601cd # v23.2.0
with:
globs: "content/**/*.md"
globs: "src/content/**/*.md"

# ── 3. Python security scan ─────────────────────────────────────────────────
python-security:
Expand All @@ -50,7 +50,7 @@ jobs:
python-version: "3.x"
- run: pip install bandit
- name: Run bandit
run: bandit -r static/scripts/ -ll
run: bandit -r src/static/scripts/ -ll

# ── 4. Images must be AVIF ──────────────────────────────────────────────────
image-format:
Expand All @@ -64,11 +64,11 @@ jobs:
run: |
{
echo "files<<EOF"
find static/images -type f \( -iname "*.png" -o -iname "*.jpg" -o -iname "*.jpeg" \) | sort
find src/static/images -type f \( -iname "*.png" -o -iname "*.jpg" -o -iname "*.jpeg" \) | sort
echo "EOF"
} >> "$GITHUB_OUTPUT"

count=$(find static/images -type f \( -iname "*.png" -o -iname "*.jpg" -o -iname "*.jpeg" \) | wc -l)
count=$(find src/static/images -type f \( -iname "*.png" -o -iname "*.jpg" -o -iname "*.jpeg" \) | wc -l)
if [ "$count" -gt 0 ]; then
echo "found=true" >> "$GITHUB_OUTPUT"
else
Expand All @@ -89,7 +89,7 @@ jobs:
const body = [
`Hey @${actor}, looks like you forgot something!`,
'',
'The following images in `static/images/` are not in AVIF format:',
'The following images in `src/static/images/` are not in AVIF format:',
files,
'',
'Please convert them before merging. Install `avifenc` first:',
Expand All @@ -99,7 +99,7 @@ jobs:
'',
'Then batch-convert all images in `static/images/`:',
'```bash',
'cd static/images',
'cd src/static/images',
'for f in *.png *.jpg *.jpeg; do',
' [ -f "$f" ] && avifenc -q 80 -s 6 "$f" "${f%.*}.avif" && rm "$f"',
'done',
Expand Down Expand Up @@ -132,7 +132,7 @@ jobs:
- name: Check every .md has a matching .nl.md
run: |
missing=""
for en in content/docs/*.md; do
for en in src/content/docs/*.md; do
base="${en%.md}"
nl="${base}.nl.md"
# Skip files that are already .nl.md
Expand All @@ -156,8 +156,11 @@ jobs:
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
submodules: recursive
fetch-depth: 0
- name: Setup Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version-file: src/go.mod
- name: Install Hugo
run: |
wget -O ${{ runner.temp }}/hugo.deb \
Expand All @@ -168,12 +171,12 @@ jobs:
HUGO_CACHEDIR: ${{ runner.temp }}/hugo_cache
HUGO_ENVIRONMENT: production
TZ: Europe/Amsterdam
run: hugo --gc --minify --baseURL "http://localhost/"
run: cd src && hugo --gc --minify --baseURL "http://localhost/"
- name: Upload built site
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: hugo-public
path: public/
path: src/public/
retention-days: 1

# ── 7. Broken internal links ─────────────────────────────────────────────────
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/python-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
pip install flake8 bandit
- name: Lint with flake8
run: flake8 static/scripts/saxion-eduroam.py --max-line-length=120
run: flake8 src/static/scripts/saxion-eduroam.py --max-line-length=120

- name: Security scan with bandit
run: bandit -r static/scripts/saxion-eduroam.py -ll
run: bandit -r src/static/scripts/saxion-eduroam.py -ll
8 changes: 4 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/public/
/resources/
/_vendor/
.hugo_build.lock
/src/public/
/src/resources/
/src/_vendor/
src/.hugo_build.lock
/.claude
__pycache__/
12 changes: 6 additions & 6 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@ style: fix Dutch translation typos
- PR titles must follow the same commit convention above
- One logical change per PR
- Update both EN (`*.md`) and NL (`*.nl.md`) versions where applicable
- All images must be in **AVIF format** — no PNG or JPG in `static/images/`
- Test locally with `hugo server` before opening a PR
- All images must be in **AVIF format** — no PNG or JPG in `src/static/images/`
- Test locally with `cd src && hugo server` before opening a PR
- Target the `development` branch, not `main`

---
Expand All @@ -63,23 +63,23 @@ All images must be in AVIF format. Install `avifenc` from the `libavif` package:
sudo pacman -S libavif
```

Batch convert all PNGs in `static/images/` (converts and removes originals):
Batch convert all PNGs in `src/static/images/` (converts and removes originals):

```bash
cd static/images
cd src/static/images
for f in *.png; do avifenc -q 80 -s 6 "$f" "${f%.png}.avif" && rm "$f"; done
```

- `-q 80` — 80% quality (0–100 scale, 100 = lossless)
- `-s 6` — encoder speed (0 = best compression, 10 = fastest)

Place converted images in `static/images/` and reference them as `/images/filename.avif` in markdown.
Place converted images in `src/static/images/` and reference them as `/images/filename.avif` in markdown.

---

## Language

This site is bilingual (EN + NL). When updating content:

- Edit both `content/docs/page.md` and `content/docs/page.nl.md`
- Edit both `src/content/docs/page.md` and `src/content/docs/page.nl.md`
- Keep the structure and headings in sync between the two files
12 changes: 7 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ I'm still actively testing and experimenting: things may change, break, or turn

I am not affiliated with, endorsed by, or acting on behalf of ASUS, NVIDIA, Microsoft, CachyOS, or any other company or project mentioned here.

![System information overview](static/images/system-info.avif)
![System information overview](src/static/images/system-info.avif)


## Building the site locally
Expand All @@ -35,25 +35,27 @@ sudo pacman -S hugo go

**Clone the repository:**
```bash
git clone https://github.com/Stensel8/Zephyrus-Linux.git
git clone https://github.com/THectic-NL/Zephyrus-Linux.git
cd Zephyrus-Linux
```

Hugo automatically downloads the theme module on first run.

**Run the development server:**
```bash
cd src
hugo server
```

The site is available at `http://localhost:1313/`. Hugo watches for file changes and reloads automatically.

**Build for production:**
```bash
cd src
hugo --gc --minify
```

The output is written to `./public/`. On push to `main`, GitHub Actions builds and deploys to GitHub Pages automatically.
The output is written to `./src/public/`. On push to `main`, GitHub Actions builds and deploys to GitHub Pages automatically.


## Image assets
Expand All @@ -66,10 +68,10 @@ To convert PNG screenshots to AVIF, install `avifenc` from the `libavif` package
sudo pacman -S libavif
```

Batch convert all PNGs in `static/images/` (converts and removes originals):
Batch convert all PNGs in `src/static/images/` (converts and removes originals):

```bash
cd static/images
cd src/static/images
for f in *.png; do avifenc -q 80 -s 6 "$f" "${f%.png}.avif" && rm "$f"; done
```

Expand Down
12 changes: 7 additions & 5 deletions README.nl.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Ik ben nog actief aan het testen en experimenteren: dingen kunnen veranderen, ka

Ik ben niet gelieerd aan, goedgekeurd door, of handelend namens ASUS, NVIDIA, Microsoft, CachyOS, of enig ander bedrijf of project dat hier wordt genoemd.

![Systeeminformatie-overzicht](static/images/system-info.avif)
![Systeeminformatie-overzicht](src/static/images/system-info.avif)


## De site lokaal bouwen
Expand All @@ -35,25 +35,27 @@ sudo pacman -S hugo go

**Repository klonen:**
```bash
git clone https://github.com/Stensel8/Zephyrus-Linux.git
git clone https://github.com/THectic-NL/Zephyrus-Linux.git
cd Zephyrus-Linux
```

Hugo downloadt de thema-module automatisch bij de eerste keer uitvoeren.

**Ontwikkelserver starten:**
```bash
cd src
hugo server
```

De site is beschikbaar op `http://localhost:1313/`. Hugo detecteert wijzigingen en herlaadt automatisch.

**Bouwen voor productie:**
```bash
cd src
hugo --gc --minify
```

De output wordt geschreven naar `./public/`. Bij een push naar `main` bouwt GitHub Actions de site automatisch en deployt naar GitHub Pages.
De output wordt geschreven naar `./src/public/`. Bij een push naar `main` bouwt GitHub Actions de site automatisch en deployt naar GitHub Pages.


## Afbeeldingen
Expand All @@ -66,10 +68,10 @@ Installeer `avifenc` uit het `libavif`-pakket om PNG-screenshots om te zetten na
sudo pacman -S libavif
```

Batch-conversie van alle PNGs in `static/images/` (converteert en verwijdert de originelen):
Batch-conversie van alle PNGs in `src/static/images/` (converteert en verwijdert de originelen):

```bash
cd static/images
cd src/static/images
for f in *.png; do avifenc -q 80 -s 6 "$f" "${f%.png}.avif" && rm "$f"; done
```

Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,7 @@ These color profiles were obtained by reverse engineering the ASUS Windows drive

**Install the color profiles:**

The ICC color profiles are located in the [`/icc-profiles/`](https://github.com/Stensel8/Zephyrus-Linux/tree/main/static/icc-profiles) directory of this repository. Clone the repository or manually download the profiles and copy them to either location:
The ICC color profiles are located in the [`/icc-profiles/`](https://github.com/THectic-NL/Zephyrus-Linux/tree/main/src/static/icc-profiles) directory of this repository. Clone the repository or manually download the profiles and copy them to either location:

| Location | Scope |
|---|---|
Expand All @@ -268,7 +268,7 @@ cp GA605WV_1002_104D158E_CMDEF.icm ~/.local/share/icc/

**Note:** If GNOME Settings shows old technical names (e.g., "ASUS GA605WV 1002 104D158E CMDEF" instead of "Native"), close Settings and reopen, or log out/in to refresh the color cache.

The filename encodes your GPU (`1002` = AMD, `10DE` = NVIDIA) and panel ID. Match them to your unit using the panel table above. All profiles are in the [`/icc-profiles/`](https://github.com/Stensel8/Zephyrus-Linux/tree/main/static/icc-profiles) directory.
The filename encodes your GPU (`1002` = AMD, `10DE` = NVIDIA) and panel ID. Match them to your unit using the panel table above. All profiles are in the [`/icc-profiles/`](https://github.com/THectic-NL/Zephyrus-Linux/tree/main/src/static/icc-profiles) directory.

**Background:**

Expand All @@ -289,7 +289,7 @@ The profiles in this repository are pre-processed with custom ICC metadata 'desc

The Samsung ViewFinity S8 Thunderbolt (LS27B800TGUXEN) ships with a factory color profile (`SxxB80xT.icm`) included in the Windows INF driver package. On Linux, this profile must be installed manually.

The profile is located in the [`/icc-profiles/LS27B800TGUXEN - S80TB/`](https://github.com/Stensel8/Zephyrus-Linux/tree/main/static/icc-profiles/LS27B800TGUXEN%20-%20S80TB) directory of this repository.
The profile is located in the [`/icc-profiles/LS27B800TGUXEN - S80TB/`](https://github.com/THectic-NL/Zephyrus-Linux/tree/main/src/static/icc-profiles/LS27B800TGUXEN%20-%20S80TB) directory of this repository.

**Install the color profile:**

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,7 @@ Deze kleurprofielen zijn verkregen door het reverse engineeren van het ASUS Wind

**Installeer de kleurprofielen:**

De ICC kleurprofielen staan in de [`/icc-profiles/`](https://github.com/Stensel8/Zephyrus-Linux/tree/main/static/icc-profiles) map van deze repository. Clone de repository of download de profielen handmatig en kopieer ze naar één van deze locaties:
De ICC kleurprofielen staan in de [`/icc-profiles/`](https://github.com/THectic-NL/Zephyrus-Linux/tree/main/src/static/icc-profiles) map van deze repository. Clone de repository of download de profielen handmatig en kopieer ze naar één van deze locaties:

| Locatie | Bereik |
|---|---|
Expand All @@ -267,7 +267,7 @@ cp GA605WV_1002_104D158E_CMDEF.icm ~/.local/share/icc/

**Opmerking:** Als GNOME Settings de oude technische namen toont (bijv. "ASUS GA605WV 1002 104D158E CMDEF" in plaats van "Native"), sluit Settings af en heropen, of log uit/in om de color cache te verversen.

De bestandsnaam bevat je GPU (`1002` = AMD, `10DE` = NVIDIA) en paneel-ID. Koppel deze aan jouw exemplaar via de paneeltabel hierboven. Alle profielen staan in de [`/icc-profiles/`](https://github.com/Stensel8/Zephyrus-Linux/tree/main/static/icc-profiles) map.
De bestandsnaam bevat je GPU (`1002` = AMD, `10DE` = NVIDIA) en paneel-ID. Koppel deze aan jouw exemplaar via de paneeltabel hierboven. Alle profielen staan in de [`/icc-profiles/`](https://github.com/THectic-NL/Zephyrus-Linux/tree/main/src/static/icc-profiles) map.

**Achtergrond:**

Expand All @@ -288,7 +288,7 @@ De profielen in deze repository zijn al voorbewerkt met aangepaste ICC metadata

De Samsung ViewFinity S8 Thunderbolt (LS27B800TGUXEN) wordt geleverd met een fabriekskleurprofiel (`SxxB80xT.icm`) dat is opgenomen in het Windows INF driver package. Op Linux moet dit profiel handmatig worden geïnstalleerd.

Het profiel staat in de [`/icc-profiles/LS27B800TGUXEN - S80TB/`](https://github.com/Stensel8/Zephyrus-Linux/tree/main/static/icc-profiles/LS27B800TGUXEN%20-%20S80TB) map van deze repository.
Het profiel staat in de [`/icc-profiles/LS27B800TGUXEN - S80TB/`](https://github.com/THectic-NL/Zephyrus-Linux/tree/main/src/static/icc-profiles/LS27B800TGUXEN%20-%20S80TB) map van deze repository.

**Installeer het kleurprofiel:**

Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion go.mod → src/go.mod
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
module github.com/Stensel8/Zephyrus-Linux
module github.com/THectic-NL/Zephyrus-Linux

go 1.26

Expand Down
File renamed without changes.
4 changes: 2 additions & 2 deletions hugo.toml → src/hugo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ enableGitInfo = true
[[menu.main]]
name = 'GitHub'
weight = 3
url = 'https://github.com/Stensel8/Zephyrus-Linux'
url = 'https://github.com/THectic-NL/Zephyrus-Linux'
[menu.main.params]
icon = 'github'
[[menu.main]]
Expand Down Expand Up @@ -73,7 +73,7 @@ enableGitInfo = true

[params.editURL]
enable = true
base = 'https://github.com/Stensel8/Zephyrus-Linux/edit/main/content'
base = 'https://github.com/THectic-NL/Zephyrus-Linux/edit/main/content'

[params.highlight]
[params.highlight.copy]
Expand Down
Loading
Loading