Skip to content
This repository was archived by the owner on May 31, 2026. It is now read-only.

Commit 3d115b9

Browse files
committed
style: improve
1 parent c22e257 commit 3d115b9

58 files changed

Lines changed: 7705 additions & 4843 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/copilot-instructions.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,64 +3,75 @@
33
This repository is an Astro 5 static site with Tailwind CSS v4 (via Vite plugin), TypeScript, Biome for lint/format, and Leaflet for maps.
44

55
Project at a glance
6+
67
- Framework: Astro 5 (static output)
78
- Styling: Tailwind v4 utilities in markup + a light `src/styles/global.css`
89
- Lint/format: Biome
910
- Maps: Leaflet (OpenStreetMap tiles)
1011
- Images: Astro sharp service; assets in `src/assets` or `public`
1112

1213
Runbook
14+
1315
- Dev: `pnpm dev`
1416
- Build: `pnpm build` then `pnpm preview`
1517
- Type/lint: `pnpm check` (Astro/TS), `pnpm lint` or `pnpm lint:fix`
1618

1719
Code organization
20+
1821
- Pages: `src/pages/**` (route = file path)
1922
- Layout: `src/layouts/Layout.astro`
2023
- Components: `src/components/**`
2124
- Styles: `src/styles/global.css`
2225
- Static: `public/**` (served at site root)
2326

2427
Styling conventions
28+
2529
- Prefer Tailwind utilities directly in markup.
2630
- Use Tailwind `@apply` and other at-rules in global CSS
2731
- Keep UI accessible: large touch targets, visible focus states, sensible contrast.
2832
- Remove unused or redundant CSS.
2933

3034
Accessibility and SEO
35+
3136
- Keep the skip link and header semantics in `Layout.astro` intact.
3237
- Preserve `aria-expanded` on the mobile menu toggle.
3338
- Use descriptive alt text; keep external links `target="_blank" rel="noopener noreferrer"`.
3439
- Keep canonical URL and structured data logic in `Layout.astro`.
3540

3641
Leaflet map (Session widget)
42+
3743
- File: `src/components/SessionWidget.astro`.
3844
- Z-index: keep the map and its panes at a low z-index so the header/nav stays above when scrolling. The CSS at the bottom of the file enforces this—do not remove.
3945
- Types: we locally type the inline script and augment `window.openMarker`. Avoid reintroducing implicit `any` or global `window` warnings.
4046
- Tiles: OSM tile URL is configured; keep attribution.
4147

4248
Content patterns and UX
49+
4350
- Keep copy concise and inclusive; favor plain language.
4451
- External actions like “Join Session” should always open in a new tab.
4552
- Header includes a desktop “Join Sessions” CTA near Donate.
4653
- Maintain spacing rhythm established in components (use existing utility patterns).
4754

4855
Non-negotiables before merging
56+
4957
- No new linter errors: `pnpm lint` and `pnpm check` must be clean.
5058
- Do not break the header-over-map stacking order.
5159
- Validate responsive behavior at 320px, 768px, 1024px, 1280px breakpoints.
5260

5361
Common tasks
62+
5463
- Add/edit content: update page in `src/pages` or a component in `src/components`.
5564
- New page: create under `src/pages`, import `Layout.astro`.
5665
- Update social links/icons: `src/components/Footer.astro`.
5766
- Nav changes or CTAs: `src/components/Header.astro`.
5867

5968
Notes
69+
6070
- Emails on Privacy/Safety currently use `contact@tuhuratech.org.nz`. Confirm before mass-updating other addresses.
6171
- Tailwind config is implicit (v4). Reuse existing utility tokens (e.g., `text-tuhura-green`) seen in the code; don’t invent new design tokens without discussion.
6272

6373
PR checklist
74+
6475
- [ ] Build passes locally (`pnpm build`)
6576
- [ ] Lint and type checks are clean (`pnpm lint`, `pnpm check`)
6677
- [ ] Accessibility basics validated (labels, alt text, focus order)

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,4 @@ jobs:
1515
run: pnpm run lint:ci
1616

1717
- name: Build project
18-
run: pnpm run build
18+
run: pnpm run build

.prettierrc

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"plugins": ["prettier-plugin-astro", "prettier-plugin-tailwindcss"],
3+
"overrides": [
4+
{
5+
"files": "*.astro",
6+
"options": {
7+
"parser": "astro"
8+
}
9+
}
10+
],
11+
"tailwindStylesheet": "./src/styles/global.css"
12+
}

CODE_OF_CONDUCT.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,23 +17,23 @@ diverse, inclusive, and healthy community.
1717
Examples of behavior that contributes to a positive environment for our
1818
community include:
1919

20-
* Demonstrating empathy and kindness toward other people
21-
* Being respectful of differing opinions, viewpoints, and experiences
22-
* Giving and gracefully accepting constructive feedback
23-
* Accepting responsibility and apologizing to those affected by our mistakes,
20+
- Demonstrating empathy and kindness toward other people
21+
- Being respectful of differing opinions, viewpoints, and experiences
22+
- Giving and gracefully accepting constructive feedback
23+
- Accepting responsibility and apologizing to those affected by our mistakes,
2424
and learning from the experience
25-
* Focusing on what is best not just for us as individuals, but for the
25+
- Focusing on what is best not just for us as individuals, but for the
2626
overall community
2727

2828
Examples of unacceptable behavior include:
2929

30-
* The use of sexualized language or imagery, and sexual attention or
30+
- The use of sexualized language or imagery, and sexual attention or
3131
advances of any kind
32-
* Trolling, insulting or derogatory comments, and personal or political attacks
33-
* Public or private harassment
34-
* Publishing others' private information, such as a physical or email
32+
- Trolling, insulting or derogatory comments, and personal or political attacks
33+
- Public or private harassment
34+
- Publishing others' private information, such as a physical or email
3535
address, without their explicit permission
36-
* Other conduct which could reasonably be considered inappropriate in a
36+
- Other conduct which could reasonably be considered inappropriate in a
3737
professional setting
3838

3939
## Enforcement Responsibilities
@@ -106,7 +106,7 @@ Violating these terms may lead to a permanent ban.
106106
### 4. Permanent Ban
107107

108108
**Community Impact**: Demonstrating a pattern of violation of community
109-
standards, including sustained inappropriate behavior, harassment of an
109+
standards, including sustained inappropriate behavior, harassment of an
110110
individual, or aggression toward or disparagement of classes of individuals.
111111

112112
**Consequence**: A permanent ban from any sort of public interaction within

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
# Tuhura Tech Website
1+
# Tuhura Tech Website

astro.config.mjs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,20 @@ import icon from "astro-icon";
55

66
// https://astro.build/config
77
export default defineConfig({
8-
site: "https://tuhuratech.org.nz",
9-
output: "static",
10-
prefetch: true,
8+
site: "https://tuhuratech.org.nz",
9+
output: "static",
10+
prefetch: true,
1111

12-
integrations: [sitemap(), icon()],
12+
integrations: [sitemap(), icon()],
1313

14-
image: {
15-
service: {
16-
entrypoint: "astro/assets/services/sharp",
17-
},
18-
},
14+
image: {
15+
service: {
16+
entrypoint: "astro/assets/services/sharp",
17+
},
18+
},
1919

20-
vite: {
21-
plugins: [tailwindcss()],
22-
optimizeDeps: { include: ["leaflet"] },
23-
},
20+
vite: {
21+
plugins: [tailwindcss()],
22+
optimizeDeps: { include: ["leaflet"] },
23+
},
2424
});

biome.json

Lines changed: 49 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,51 @@
11
{
2-
"$schema": "https://biomejs.dev/schemas/2.1.1/schema.json",
3-
"vcs": {
4-
"enabled": true,
5-
"clientKind": "git",
6-
"useIgnoreFile": true
7-
},
8-
"files": {
9-
"ignoreUnknown": false
10-
},
11-
"formatter": {
12-
"enabled": true,
13-
"indentStyle": "tab"
14-
},
15-
"linter": {
16-
"enabled": true,
17-
"rules": {
18-
"recommended": true
19-
}
20-
},
21-
"javascript": {
22-
"formatter": {
23-
"quoteStyle": "double"
24-
}
25-
},
26-
"assist": {
27-
"enabled": true,
28-
"actions": {
29-
"source": {
30-
"organizeImports": "on"
31-
}
32-
}
33-
},
34-
"overrides": [
35-
{
36-
"includes": ["**/*.astro"],
37-
"linter": {
38-
"rules": {
39-
"style": {
40-
"useConst": "off",
41-
"useImportType": "off"
42-
},
43-
"correctness": {
44-
"noUnusedVariables": "off",
45-
"noUnusedImports": "off"
46-
}
47-
}
48-
}
49-
}
50-
]
2+
"$schema": "https://biomejs.dev/schemas/2.1.1/schema.json",
3+
"vcs": {
4+
"enabled": true,
5+
"clientKind": "git",
6+
"useIgnoreFile": true
7+
},
8+
"files": {
9+
"ignoreUnknown": false
10+
},
11+
"formatter": {
12+
"enabled": true,
13+
"indentStyle": "tab"
14+
},
15+
"linter": {
16+
"enabled": true,
17+
"rules": {
18+
"recommended": true
19+
}
20+
},
21+
"javascript": {
22+
"formatter": {
23+
"quoteStyle": "double"
24+
}
25+
},
26+
"assist": {
27+
"enabled": true,
28+
"actions": {
29+
"source": {
30+
"organizeImports": "on"
31+
}
32+
}
33+
},
34+
"overrides": [
35+
{
36+
"includes": ["**/*.astro"],
37+
"linter": {
38+
"rules": {
39+
"style": {
40+
"useConst": "off",
41+
"useImportType": "off"
42+
},
43+
"correctness": {
44+
"noUnusedVariables": "off",
45+
"noUnusedImports": "off"
46+
}
47+
}
48+
}
49+
}
50+
]
5151
}

package.json

Lines changed: 33 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,35 @@
11
{
2-
"name": "website",
3-
"type": "module",
4-
"version": "1.0.0",
5-
"scripts": {
6-
"dev": "astro dev",
7-
"start": "astro dev",
8-
"build": "astro build",
9-
"preview": "astro preview",
10-
"astro": "astro",
11-
"check": "astro check",
12-
"lint": "biome check",
13-
"lint:ci": "biome ci",
14-
"lint:fix": "biome check --write ."
15-
},
16-
"dependencies": {
17-
"@astrojs/sitemap": "^3.5.0",
18-
"@iconify-json/heroicons": "^1.2.2",
19-
"astro": "^5.13.2",
20-
"astro-icon": "^1.1.5",
21-
"leaflet": "^2.0.0-alpha",
22-
"tailwindcss": "^4.1.11"
23-
},
24-
"devDependencies": {
25-
"@astrojs/check": "^0.9.4",
26-
"@biomejs/biome": "2.1.1",
27-
"@tailwindcss/vite": "^4.1.11",
28-
"sharp": "^0.34.3",
29-
"typescript": "^5.8.3"
30-
},
31-
"packageManager": "pnpm@10.13.1+sha512.37ebf1a5c7a30d5fabe0c5df44ee8da4c965ca0c5af3dbab28c3a1681b70a256218d05c81c9c0dcf767ef6b8551eb5b960042b9ed4300c59242336377e01cfad"
2+
"name": "website",
3+
"type": "module",
4+
"version": "1.0.0",
5+
"scripts": {
6+
"dev": "astro dev",
7+
"start": "astro dev",
8+
"build": "astro build",
9+
"preview": "astro preview",
10+
"astro": "astro",
11+
"check": "astro check",
12+
"lint": "biome check",
13+
"lint:ci": "biome ci",
14+
"lint:fix": "biome check --write ."
15+
},
16+
"dependencies": {
17+
"@astrojs/sitemap": "^3.5.0",
18+
"@iconify-json/heroicons": "^1.2.2",
19+
"astro": "^5.13.2",
20+
"astro-icon": "^1.1.5",
21+
"leaflet": "^2.0.0-alpha",
22+
"tailwindcss": "^4.1.11"
23+
},
24+
"devDependencies": {
25+
"@astrojs/check": "^0.9.4",
26+
"@biomejs/biome": "2.1.1",
27+
"@tailwindcss/vite": "^4.1.11",
28+
"prettier": "3.6.2",
29+
"prettier-plugin-astro": "0.14.1",
30+
"prettier-plugin-tailwindcss": "0.6.14",
31+
"sharp": "^0.34.3",
32+
"typescript": "^5.8.3"
33+
},
34+
"packageManager": "pnpm@10.13.1+sha512.37ebf1a5c7a30d5fabe0c5df44ee8da4c965ca0c5af3dbab28c3a1681b70a256218d05c81c9c0dcf767ef6b8551eb5b960042b9ed4300c59242336377e01cfad"
3235
}

0 commit comments

Comments
 (0)