Writing Style Guide
•3 min read
WritingFormattingReference
A quick reference for maintaining consistent formatting across all writing on this site. This covers the technical formatting elements - fonts, sizes, spacing, and visual styles.
Typography
- Font Family: Domine (serif) at 400 weight for body text, 700 weight for headings and emphasis
- Base Size: 1rem (16px default) - scales globally via the font scale slider in admin panel
- Headings: Use
text-baseortext-lgwithfont-semiboldorfont-bold - Body Text: Default size with
font-normal(400 weight) - Dates/Tags:
text-smwithfont-normal - Line Height: Use
leading-relaxed(1.625) for body text for readability
Links
- Always underline links with
underlineclass - Use thin underlines:
decoration-1for 1px thickness - Add subtle offset:
underline-offset-2for 2px spacing between text and underline - Hover effect:
hover:opacity-70for subtle feedback - External links: Add
target="_blank"andrel="noopener noreferrer" - Example: This is a link
Lists
- Bullet lists:
list-disc list-inside space-y-2 ml-2 - Numbered lists:
list-decimal list-inside space-y-2 ml-2 - Keep 2px spacing between list items for breathing room
- Indent lists with minimal left margin (ml-2) to maintain alignment
Spacing
- Section headings:
mt-8 mb-3(32px top, 12px bottom) - Paragraphs:
mb-4or natural spacing (16px between paragraphs) - Content padding:
px-6 pt-24 pb-12on mobile, increase topx-12orpx-24on larger screens - Keep consistent spacing between related elements
Borders & Lines
- All borders use dynamic width:
style={borderWidth: 'var(--border-width)'} - Default border width is 0.5px but adjustable via admin panel slider
- Border color is always white:
border-foregroundor#ffffff - Use borders for tables, boxes, timelines, and structural elements
Tables
- Use
table-fixedlayout for consistent column widths - Define column widths with
colgroupelements - Standard proportions: 30/50/20 or 50/30/20 depending on content
- Always left-align text:
text-left - Table borders use dynamic width via
borderWidth: 'var(--border-width)' - Row dividers:
divide-ywith dynamic width
Dates & Metadata
- Date format: YYYY/MM/DD (e.g., 2024/12/15)
- Use forward slashes, not hyphens or other separators
- Display at
text-smsize withopacity-70for subtle presence - Group with tags using slash separators
Code & Technical Content
- Inline code:
Use code tags with subtle background - Keep code snippets minimal and focused on what matters
- Include interactive examples when demonstrating UI components
- Use proper syntax highlighting for code blocks
Final Note
These formatting guidelines ensure visual consistency across all content. The goal is to maintain a cohesive aesthetic that matches the site's minimal, geometric design system. When in doubt, refer to existing pages and match their formatting patterns.