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
6 changes: 2 additions & 4 deletions 404.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,7 @@
<main id="main">
<section class="notfound">
<div class="hero__grid" aria-hidden="true"></div>
<div class="notfound__field" aria-hidden="true">
<canvas data-life-field data-cell="17" data-tps="9" data-density="0.15" data-intensity="0.45"></canvas>
</div>
<div class="notfound__field" data-draw-field="panel" aria-hidden="true"></div>

<div class="container notfound__inner">
<div
Expand All @@ -33,7 +31,7 @@
></div>

<h2 class="notfound__title" data-reveal data-reveal-delay="260">
This cell died out
Nothing to draw here
</h2>

<p class="notfound__body" data-reveal data-reveal-delay="320">
Expand Down
38 changes: 26 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,22 @@ Live at **https://eggzec.github.io/**.

A hand built static site: Vite and TypeScript, with no UI framework.
Animation uses [Motion](https://motion.dev) plus
[Lenis](https://lenis.darkroom.engineering) for smooth scrolling, and a canvas
Game of Life for the hero texture.
[Lenis](https://lenis.darkroom.engineering) for smooth scrolling, and an SVG
build-on of the logo mark for the hero.

## Layout

```
index.html landing page
404.html custom not found page
projects/ full project catalog, filterable by category
community/ maintainers, plus one page each
community/ maintainers
partials/head.html shared <head>, injected at build time
public/brand/ logo, project icons
src/
main.ts single entry, mounts whatever a page contains
data/site.ts projects and people. Edit content here
components/ nav, footer, cards, life field, reveals, marquee
components/ nav, footer, cards, mark draw, reveals, marquee
lib/eggzec-block.ts the eggzec Block bitmap display font, as TypeScript
styles/ tokens, base, layout, components, pages
```
Expand All @@ -48,18 +48,28 @@ Almost everything is data rather than markup, and it all lives in
| --- | --- |
| Projects, taglines, repository and docs and PyPI links | `PROJECTS` |
| Human facing name when the repo name is not one | `display` on a project |
| Which projects lead the page | any project with an `icon` |
| Which projects lead the landing page | `LEAD` in `src/data/site.ts` |
| Who builds on our packages | `src/data/used-by.ts` |
| Maintainers | `PEOPLE` |
| Nav links | `NAV` |
| Footer links | `COLUMNS` in `src/components/footer.ts` |

A project is featured on the landing page and in the nav menu when it has an
`icon`. That keeps the featured set in sync with the brand icon files under
`public/brand/icons/` automatically, with no second list to maintain.
`LEAD` names the projects the landing page and the nav menu open with, in
order. That used to be derived from which projects carried a brand icon, but
nearly all of them do now, so it stopped selecting anything — what a first-time
visitor should see first is a decision, not a side effect. The full catalog on
`/projects/` is grouped by category only, with no separate featured block, so no
card appears twice.

Landing page statistics are counted from the catalog at runtime, so the numbers
cannot drift from what is actually listed.

`src/data/used-by.ts` is the one generated file. It comes from GitHub's
dependency graph — the `network/dependents` listing for each repository —
filtered to named organisations and checked one at a time against the API. Only
pydoe, pyswarm, mcerp and soerp have any dependents, so that is what the list
draws on. Regenerate it by hand rather than trusting it to stay current.

## Design

Colours are the Electropop palette on white:
Expand All @@ -68,7 +78,7 @@ Colours are the Electropop palette on white:
| --- | --- |
| Block fills, buttons, knockouts | Kiwi `#CCFF00` |
| Accent text and links | Violet `#5200FF` |
| Sparks and newly born cells | Magenta `#F900FF` |
| Sparks and the byte cells | Magenta `#F900FF` |
| Third accent | Orange `#FF6B00` |

Kiwi is brilliant as a field with black on top of it and illegible as type on
Expand All @@ -80,9 +90,13 @@ size, so there is no font file and no layout shift. Because the font is
monospaced, the hero solves for letter tracking per line, which makes every line
land at the same width and the same cap height.

The hero, footer and 404 page run Conway's Game of Life on a coarse grid. That
is the same glider hidden in the logo mark. Everything animated respects
`prefers-reduced-motion`.
The hero, the call to action panels, the footer rule and the 404 page draw the
logo mark rather than decorating around it. `src/components/mark-draw.ts` emits
one SVG: stepped violet traces run in from outside the frame and spark where
they meet the silhouette, a stack of kiwi bars grows out from the centre line to
fill the egg, the outline is traced, and the nine magenta byte cells land last.
It is CSS keyframes with a `--i` index per element, so it plays once, holds, and
costs nothing after that. Everything animated respects `prefers-reduced-motion`.

## Deploy

Expand Down
4 changes: 1 addition & 3 deletions community/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,7 @@ <h1 class="page-header__title" data-reveal data-reveal-delay="60">
<section class="section section--ruled">
<div class="container">
<div class="cta" data-reveal>
<div class="cta__field" aria-hidden="true">
<canvas data-life-field data-cell="14" data-tps="7" data-density="0.13" data-intensity="0.38" data-interactive="false"></canvas>
</div>
<div class="cta__field" data-draw-field="panel" aria-hidden="true"></div>
<div class="cta__inner">
<h2 class="cta__title">Want to join?</h2>
<p class="cta__body">
Expand Down
34 changes: 0 additions & 34 deletions community/laraib/index.html

This file was deleted.

34 changes: 0 additions & 34 deletions community/noor/index.html

This file was deleted.

34 changes: 0 additions & 34 deletions community/saud/index.html

This file was deleted.

Loading