1
0
Fork 0
No description
  • TypeScript 43.4%
  • HTML 31.9%
  • CSS 14%
  • JavaScript 6.8%
  • Nunjucks 3.8%
Find a file
2026-03-10 10:38:15 +00:00
.github/workflows update actions 2026-03-09 15:11:52 +00:00
.nova remove old icons build 2023-06-26 13:24:16 +01:00
research add research notes and fix typos 2022-11-18 16:50:33 +00:00
scripts modernising 2026-03-09 11:23:30 +00:00
source sketch spectacles 2026-03-10 10:38:15 +00:00
.editorconfig 🎉 first commit 2022-02-23 23:20:13 +00:00
.gitignore fix build and remove dist from git 2023-01-04 14:50:32 +00:00
.node-version move to eleventy 3 2025-06-06 16:03:05 +01:00
.prettierignore restructure and setting up doc pages 2023-01-04 14:36:52 +00:00
CHANGELOG.md modernising 2026-03-09 11:23:30 +00:00
eleventy.config.js refactor to eleventyNavigation 2026-03-09 15:09:08 +00:00
package-lock.json refactor to eleventyNavigation 2026-03-09 15:09:08 +00:00
package.json refactor to eleventyNavigation 2026-03-09 15:09:08 +00:00
README.md Update README.md 2024-12-19 11:41:06 +00:00
tsconfig.json modernising 2026-03-09 11:23:30 +00:00

⚗️ Alembic

A Design System for Open Lab research projects.

Go to the docs →

Release process

  1. Run the build
  2. Update API docs if needed
  3. Run npm version minor|major|patch
  4. Run npm publish

Uses

This library is used by several Open Lab projects:

Design

Goals

  1. Provide a step up (design-wise) for developers
  2. Reduce duplication in effort/code/work
  3. Improve collaboration on projects and focus evolution in the same direction

What

  • A library of components and patterns
  • A documentation site to describe the design system

To explore

  • More accessibility concerns
  • Document the reason behind decisions / solutions
  • Think about adaptability, evolution and collaboration

Coding conventions

TODO: find a better place for these

css variables

  • "axioms" are single words like --measure
  • everything else is type-prefixed like --color-background or --border-thin

imports

module.js is the main entrypoint, sub-modules are self-named files in their own folder e.g. lib/lib.js or layouts/layouts.js.

misc

  • group source by the module, js + css alongside eachother is fine. It makes it easy to work on a module.
  • avoid JavaScript's default exports
  • sub-modules should explicitly export things, avoid export * from '...'-type code
  • pure functions where possible
  • exported code prefixed with _ (an underscore) is internal, should not be used and may change between major releases

This project was set up by puggle