themes/newsprint.yaml
Rama main · réplica de lectura del repositorio original.
# Newsprint — serif on paper, like a printed broadsheet.
# Source Serif 4 on warm paper, near-black ink, a newsprint red, hairline
# card rules and a masthead sense of permanence.
name: newsprint
label: Newsprint
summary: Serif on paper — a printed-broadsheet sense of permanence.
tokens:
palette:
bg: "#F7F3EA" # warm paper
surface: "#FFFFFF"
ink: "#26221C"
ink_muted: "#6E675A"
accent: "#A63D2F" # newsprint red
accent_alt: "#3B5B4A" # forest
rule: "#D9D2C0"
on_accent: "#FFFFFF"
surfaces:
title: { bg: "#26221C", ink: "#F7F3EA", muted: "#B5AD9D", accent: "#A63D2F" }
section: { bg: "#A63D2F", ink: "#FFFFFF", muted: "#F1D5D0" }
dark:
bg: "#24211C"
surface: "#302C25"
ink: "#EDE8DE"
ink_muted: "#A8A093"
accent: "#C04A3A"
accent_alt: "#6E8A76"
rule: "#FFFFFF28"
on_accent: "#24211C"
type:
display: { family: "Source Serif 4", weight: 700, size: 40, line: 1.1, tracking: -0.5 }
heading: { family: "Source Serif 4", weight: 700, size: 30, line: 1.15, tracking: -0.3 }
subhead: { family: "Source Serif 4", weight: 400, size: 15, line: 1.5, tracking: 0 }
body: { family: "Source Serif 4", weight: 400, size: 13, line: 1.6, tracking: 0 }
caption: { family: Inter, weight: 500, size: 10, line: 1.35, tracking: 0.2 }
eyebrow: { family: Inter, weight: 700, size: 10, line: 1.2, tracking: 1.8, transform: upper }
stat: { family: "Source Serif 4", weight: 700, size: 52, line: 1.0, tracking: -1 }
grid:
margin: { top: 0.62, right: 0.7, bottom: 0.55, left: 0.7 }
gutter: 0.30
columns: 12
band: { eyebrow_y: 0.62, title_y: 1.30, body_y: 2.55 }
shape:
radius: { card: 0.04, pill: 0.40, chip: 0.04 }
border: { width: 0.75, color: "#D9D2C0" } # hairline card rules
card_pad: 0.28
shadow:
card: { type: outer, blur: 0, offset: 0, angle: 90, color: "26221C", opacity: 0 }
# Composition — src/composition.js owns the vocabulary; every axis
# left out here is the shared default.
layout:
title:
composition: band
section:
composition: rules
heading:
opening: rule
rule: under
list:
marker: dash
columns: 2
plate:
enabled: false
voice:
feel: journalistic, grounded, earnest, permanent
density: medium
prefers:
- a factual, reported tone
- a strong lede and clear attribution of ideas
- measured comparisons
avoid:
- hype and marketing language
- casual abbreviations
- decorative or fluffy phrasing
headline_style: >
Report the story. "Rendering's Long Tail" over "Introduction to Ray
Tracing". Precise, considered, complete.
body_style: >
Full, well-built sentences. Report, don't advertise.