elixir-lang/elixir-lang.github.com sits at 366 stars on GitHub, written primarily in Astro. Website for Elixir
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
Source for the Elixir language marketing site at https://elixir-lang.org.
Static Astro site, content authored in Markdown, deployed with GitHub Pages.
Stack
Astro 5 (static output, file-based routing)
React 19 for the few interactive islands (client:idle / client:load
only where needed)
Tailwind CSS v4 via @tailwindcss/vite
Astro content collections + Zod schemas for blog posts, case studies,
learning resources and version data
Shiki for code highlighting: prose via the markdown pipeline, the
homepage snippets at build time (src/utilities/elixir-highlight.ts)
Popcorn (AtomVM + Elixir
in WebAssembly) powering the interactive hero code editor
Biome for lint and format
Playwright for smoke, visual and accessibility tests
pnpm
Getting started
pnpm install
pnpm dev # http://localhost:4321
The Popcorn hero editor uses the AVM bundle at public/bundle.avm. The
file is committed (~7 MB) so the editor "just works" after pnpm install.
If it's missing the editor gracefully falls back to pre-canned outputs.
Regeneration instructions live in BUNDLE_AVM.md.
All tokens are declared in src/styles/style.css inside an
@theme inline { ... } block. They expose both Tailwind utilities
(for example bg-purple-60) and raw CSS variables
(var(--color-purple-60)).
The token groups:
Colours.--color-purple-0 to --color-purple-90 for the brand
scale, --color-gray-0 to --color-gray-100 for neutrals, plus
--color-black, --color-white and --color-text-primary as anchors.
Semantic aliases (--color-brand, surface, text and border tokens)
layer on top.
Typography.--text-display through --text-caption, plus paired
line-heights. Body text is 16 px; lead 20 px; small 14 px; caption 13 px.
Spacing. Container max widths and horizontal padding per breakpoint.
Radii.--radius-xs through --radius-full.
Motion.--ease-* curves and --duration-* timings.
Breakpoints. Mirrors Tailwind's defaults plus a custom xs at
480 px for mid-size phones.
Components should consume tokens via Tailwind utilities or
bg-(--color-...) arbitrary syntax. Raw hex or px literals are
discouraged.
Responsive breakpoints
The site is verified at the following widths:
Token
Min width
Target
<xs
< 480 px
Small phones
xs
480 px
Larger phones
sm
640 px
Phones in landscape
md
768 px
Tablets in portrait
lg
1024 px
Small laptops / tablets in landscape
xl
1280 px
Laptops
2xl
1536 px
Desktops
The Playwright visual.spec.ts suite renders the site at five of these
viewports and locks the result against committed reference screenshots.
Content collections
Markdown files live under src/content/<collection>/. Schemas in
src/content/config.ts validate frontmatter at build time. A new blog
post is just a new file:
---
title: "Post title"
excerpt: "One-sentence summary."
date: 2026-05-15
author: "Author name"
category: "Announcements" # Releases | Announcements | Elixir in Production | Internals
tags: []
---
Post body in markdown or MDX.
The route /blog/<YYYY>/<MM>/<DD>/<slug>/ is generated automatically.
Other collections:
cases/ — Elixir-in-production case studies, link out via url field
learning/ — books, courses, screencasts, interactive resources (the
Elixir Language Tour tab is its own category)
standalone-pages/ — sources for /development, /stewards, and
/trademarks
elixir-versions/ — one file per released version (drives the
current-stable hero + historical cards on /docs)
Reveal animation system
[data-reveal] elements paint at opacity: 0 and slide-in 12 px; the
glue in src/scripts/reveal.ts flips data-revealed="true" either on
the next animation frame ([data-reveal-eager] for above-the-fold) or
when an IntersectionObserver sees the element enter the viewport.
SPA navigations use a shortened variant (html[data-spa-nav] [data-reveal],
250 ms + 6 px offset, no stagger) to avoid stacking visibly with Astro's
view-transition cross-fade — which is itself opted-out on <main> via
transition:animate="none" in BaseLayout.astro so each navigation
shows exactly one entrance animation.
URL migration
Legacy URLs from elixir-lang.org are mapped to current routes in
src/data/redirects.ts. The map is consumed by astro.config.ts to
emit redirect stubs in the static output. The smoke tests verify every stub
and its local destination.
Deployment
GitHub Pages builds the site through .github/workflows/deploy.yml. The
workflow builds the canonical https://elixir-lang.org site and deploys the
generated dist directory.
The Popcorn WASM hero editor needs cross-origin isolation. Because GitHub
Pages cannot configure COOP/COEP response headers, production builds load
public/coi-serviceworker.js from BaseLayout.astro.
Preview builds emit noindex, nofollow. Set PROD=true only in the official
deployment workflow to allow search engines to index the site.
License
"Elixir" and the Elixir logo are registered trademarks of the Elixir team. See our trademark policy.
The source code (HTML, JavaScript, and CSS) are licensed under Apache License, Version 2.0.
The written textual contents available in the guides and blog are licensed under Apache License, Version 2.0.
Does elixir-lang/elixir-lang.github.com have any tags?
TopGit's last sync did not record any GitHub topics for elixir-lang/elixir-lang.github.com. GitHub topics appear in the right sidebar of a repository page; that's the authoritative place to check.
How active is development on elixir-lang/elixir-lang.github.com?
The most recent commit recorded on elixir-lang/elixir-lang.github.com was 16 days ago, based on the GitHub push timestamp. The repository has 827 forks — one of the better signals of community interest.
How many stars does elixir-lang/elixir-lang.github.com have?
elixir-lang/elixir-lang.github.com has 366 GitHub stars — refresh the page for the live number, or check github.com/elixir-lang/elixir-lang.github.com. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
What language is elixir-lang/elixir-lang.github.com written in?
elixir-lang/elixir-lang.github.com is written primarily in Astro. GitHub's language field is based on the largest share of bytes in the default branch.
Where can I see elixir-lang/elixir-lang.github.com in action?
The project maintains a homepage at elixir-lang.org. The README tab on this page also usually contains screenshots and a quickstart.
Where do I read more about elixir-lang/elixir-lang.github.com?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/elixir-lang/elixir-lang.github.com is the definitive source.
Read full README in the tab above.
Want a second opinion on elixir-lang.github.com?
Ask an AI that can read this page — one click and you get its take on elixir-lang.github.com.