Design system and style guide

A comprehensive guide to typography, layout, and components

01 Jan 2020 · 4 min read

Layout Styles Guidelines

This page serves as a living document for the website’s design system. It is used to test the resilience of the CSS architecture and to ensure visual consistency across all pages.

Effective design relies on strong contrast, visual rhythm, and semantic structure. When scanning content, the eye is naturally drawn to highlighted elements that signal importance.

You can always navigate back to the home to see these styles in action.

Typography and hierarchy <h2>

Typography is the voice of the design. It must be legible, scalable, and harmonious.

This is a paragraph of normal text. It simulates the reading experience of a standard article. The line height is optimized for long-form reading, ensuring that the reader does not lose their place when moving from line to line.

System status messages are styled distinctively: This is a warning message indicating a potential issue.

In some cases, the system might return critical errors that require immediate attention.

When an action is completed, a success confirmation provides positive feedback.

Finally, the Accent color is pulled dynamically from the current theme variables.

Modular scale <h3>

Headings create a roadmap for the reader. They should be clear, concise, and hierarchical.

This website adapts to user preferences and can automatically set a light or dark theme. To test this feature, simply press ‘D’ on any page to force the theme to toggle.

The component layer <h4>

Atomic design principles suggest breaking interfaces down into smaller parts. Atoms combine to form molecules, which combine to form organisms.

Micro-interactions <h5>

Details are not just details; they make the design. Micro-interactions guide the user through the flow, providing subtle feedback.

Utility classes <h6>

External resources are essential. Here is a link to , a great resource for accessibility.

Autoconverted link: https://codeberg.org/fpluss

Media integration

An image with alt text describing the content:

Minimalist workspace setup with a laptop and coffee

An image with a caption explaining the context:

Workspace detail
A detailed look at the layout grid system.

Like links, images are treated as inline elements but can be expanded for detail.

Video content

Demonstration of the interaction model

Figures and data

Tabular numbers are essential for data comparison: ’tnum’, ’lnum’, ‘zero’.

1234567890

Blockquotes

Quotations are used to highlight wisdom or emphasize a specific point in the narrative.

Styles come and go. Good design is a language, not a style.

— Massimo Vignelli, The Vignelli Canon

Lists

Design Principles (Unordered):

Workflow Steps (Ordered):

  1. Research: Understand the user needs and business goals.
  2. Prototyping: Create low-fidelity wireframes to test logic.
  3. Implementation: Translate the design into clean, semantic code.

[…]

Start numbering with offset (e.g., continuing a process):

  1. Quality Assurance
  2. Deployment

Code is poetry

Inline code allows us to reference variables like var(--bg-0) within the text.

Block code “fences” with syntax highlighting:

# Initialize the project structure
mkdir new-project
cd new-project

# Install dependencies
npm install

## Iterate through the configuration files
for config in "${configs[@]}"
do
   echo "Processing $config..." # Log the output
done

# Output the final build status
echo "Build complete."

A tree view

Visualizing directory structures helps in understanding the project architecture.

tree -F -L 1
.
├── content/
├── layouts/
├── static/
├── themes/
├── config.toml
└── README.md

Tables

Data tables are used to organize structured information efficiently.

VariableDescription
--tx-1Primary body text color. Used for paragraphs and lists.
--bg-0Main background color (paper/canvas). Adapts to light/dark mode.
--ln-1Thin border width for separators and UI elements.

Right aligned columns for numerical data:

MetricValue
Load0.45ms
Render120ms
FCP0.8s

Color System

The palette is generated using the Lora color system (OkLCh), ensuring perceptual uniformity across all scales.

100
200
300
400
500
600
700
800
900
1000
1100
1200
1300
Base
Magenta
Red
Orange
Yellow
Green
Teal
Cyan
Blue
Purple

Typography features

Alternate glyphs

Special characters for specific design needs:

r  'ss01' (Stylized r)
&  'ss02' (Alternative ampersand)
$  'ss04' (Tabular dollar sign) <-- Active
@  'ss05' (Alternate at)
\\ 'ss06' (Backslash variant)

Standard ligatures

Ligatures combine two or more characters into a single glyph for better readability in code:

www
&&
=>
<=>
||>
++
***
*>
*/
{|
[|
]#
::
::=
:=
!!
==
!=
===
!==
##
###
####
#=
#?
#_
#_(
.=
..=
?:
?.
/=
/==
/>
//
_|_
__