Design System

Table of contents

Welcome to the Design System of my personal website. This page documents the visual language, components, and styles used throughout the site.

Brand

The brand identity is built on precision, structure, and the “unit” — the smallest possible building block of data.

Logo & Symbol

Symbol

The mark is a solid blue square, the unit.

“Building intelligence from the minimum unit of data.”

Concept

Every system, no matter how complex, begins with a single unit. In data engineering, that unit is the cell: a discrete, bounded, unambiguous value. The square is its visual equivalent, the simplest closed form in geometry, defined entirely by structure and repetition.

A circle suggests continuity and flow, but a square has edges. Edges mean decisions. Edges mean precision. That is what data work actually is: not approximation, but clear boundaries between states.

Systemic Coherence

The symbol is not just a logo. The same shape appears at the end of every article on this site as a small inline marker, the {{< end >}} shortcode. This creates a visual thread: the same primitive that signs off a paragraph also signs off the entire identity. The smallest element and the largest are made of the same material.

ContextImplementation
Nav headerInline SVG rect, 1.2rem wide
FooterInline span unit, 10px
Inline end marker{{< end >}} shortcode, 10px

Visual Identity

Light background
#007bff on #ffffff

Dark background
#007bff on #212529

Symbol + wordmark, light

Light Wordmark — dark text on white

Symbol + wordmark, dark

Dark Wordmark — light text on #212529

Colors

The color palette is designed for high contrast and readability, with a primary blue accent.

Primary
#007bff

Black
#212529

Muted
#666

Light
#f8f9fa

Danger
#dc3545

Accessibility Note: Color Contrast

The primary brand color #007bff (Primary Blue) has a contrast ratio of 3.62:1 on light gray backgrounds (#f4f4f4) and 4.54:1 on white.

To comply with WCAG 2.1 AA standards without changing the brand color, we use the “Large Text” provision:

  • Text that is at least 18.6px (1.16rem) and bold, or 24px (1.5rem) and normal, only requires a 3:1 contrast ratio.
  • Our project links on gray backgrounds are set to 1.17rem bold (18.7px) to meet this requirement while staying close to the original design.

Typography

The site uses a clean sans-serif font stack for readability.

Headings

Headings use a semi-bold weight and have a subtle bottom border to separate sections.

Heading 1 – Page Title

Heading 2 – Section Header

Heading 3 – Sub-section Header

Heading 4 – Minor Header

Code

The site uses Chroma with a Light Theme (GitHub) for syntax highlighting.

Inline code snippets look like this, and code blocks look like this:

/* Color variables */
$black: #212529;
$primary: #007bff;
$danger: #dc3545;

Components

The website is built using a combination of Shortcodes (used in markdown content) and Partials (global layout elements).

Interactive Components

Buttons

Buttons come in different variants and sizes.

Default Button Primary Button Info Button

Alerts

Alerts are used for providing contextual feedback.

Info! This is an informational alert.
Danger! This is a danger alert for errors or critical warnings.

Tables

Tables are styled with simple borders and background highlights for headers.

Header AHeader BHeader C
Value 1Value 2Value 3
Value 4Value 5Value 6

Blockquotes

Blockquotes are used to highlight quotes and important snippets.

“Gaze ye upon my spaghetti, and despair.” — The CSS Source Code


Shortcodes

Notice (notice)

Used to highlight important information, tips, or warnings.

Types and Icons

TypeIconShortcode Example
dangerRed Triangle{{< notice type="danger" >}}
warningYellow Square{{< notice type="warning" >}}
tipGreen Tip{{< notice type="tip" >}}
infoBlue Circle{{< notice type="info" >}}

Examples

Critical Warning

Critical Warning

This is an example of a critical warning notice with the red triangle icon.

Normal Alert

Normal Alert

This is an example of a normal alert notice with the yellow square icon.

Informational

Information

This is an example of an informational notice with the blue empty circle icon.

Image (img)

The img shortcode provides a consistent container for images, handling responsiveness and captions.

Example:

The brand symbol with its container
The brand symbol with its container


Map (map)

Embeds a responsive OpenStreetMap centered on specific coordinates.

Example:

© Daniel López Pérez · OSM Data View Larger Map


End (end)

Inserts the “unit” symbol to signal the conclusion of a thought or article.

Example: The square is the unit.


Hero (hero)

A hero section introducing the author, optimized for clarity and professional aesthetics.

Example:

Welcome! I'm Daniel, a student of Data Engineering at the University of Zaragoza. I love exploring computation, design, and the science behind solving real-world problems.

Connecting people through data. Clarity. Logic. Precision.


CTA (cta)

A call-to-action component to encourage users to view the CV.

Example:

Review my experience, skills, and academic background in detail. View my CV


Footnote (fn)

A professional footnote system with inline symbols and a grouped section at the bottom of the article.

Usage: Place your note anywhere in the text: This is a statement{{< fn symbol="◊" >}}This is the note content.{{< /fn >}}

Features:

  • Inline superscript symbols (◊, †, ‡).
  • Grouped notes in a grey breakout box at the bottom.

Global Components (Partials)

The navigation bar provides the primary branding and site-wide links. It follows a clean, minimalist aesthetic.


The footer serves as the persistent base of every page, providing legal links, the design system link, and system metadata.

The Philosophical Clock: Displays UTC time. Living in Spain, this creates a deliberate temporal displacement: it represents a perpetual past. It serves as a reminder that the past is not a static memory, but a moving front—constantly advancing, always present.


Language Switcher (lang-switcher)

Enables seamless transitions between English and Spanish versions of the same content. It identifies related pages using a translationkey parameter in the frontmatter.


Structural Elements

Grid System

The main grid system uses a two-column layout (4fr 2fr) for content and sidebars.

Structural Accents

The site uses $primary blue to highlight specific structural elements such as section dividers, accents, and links.