Design Philosophy
The Paper UI design system is built on three core principles:- Digital Paper - Elements are physical sheets of paper layered on a surface
- Hard Edges - Clear boundaries, minimal rounded corners (max 2px)
- High Contrast - Strict polarity between Ink (dark) and Paper (light)
Applying to Documentation
While Mintlify provides its own styling, we apply Paper UI principles through:- Clear Structure: Explicit section boundaries and hierarchy
- Visible Construction: Technical details visible, not hidden
- High Contrast: Clear visual hierarchy through typography and spacing
- Hard Edges: Clear separation between sections and concepts
Color System
Paper UI Colors
The Paper UI system uses semantic color naming:| Token | Hex | Usage |
|---|---|---|
| Ink | #18181b (Zinc 950) | Primary text, borders, hard shadows |
| Paper | #ffffff (White) | Cards, modals, primary backgrounds |
| Surface | #f4f4f5 (Zinc 100) | Background/desk surface |
| Accent | #10b981 (Emerald 500) | Success states, highlights |
| Warning | #ef4444 (Red 500) | Errors, delete actions, critical alerts |
Mintlify Color Mapping
Indocs.json, colors are configured to align with Paper UI:
primary→ Paper UI Accent (Emerald 500) - Used for highlights, links, active stateslight→ Lighter green for dark mode accentsdark→ Darker green for primary buttons
Dark Mode
In dark mode, the polarity flips:- Ink (dark text) becomes light (
#f4f4f5) - Paper (light background) becomes dark (
#18181b) - Accent remains consistent (green)
Typography
Paper UI uses three distinct typefaces to separate Narrative, Utility, and Data.1. The Voice of Authority (Serif)
- Font:
Playfair Display - Usage in Docs: H1 titles (via frontmatter), major section headings conceptually
- Style: Bold, tight tracking, classic editorial feel
- Mintlify Equivalent: H1 headings (styled by Mintlify theme)
2. The Voice of Utility (Sans-Serif)
- Font:
Inter - Usage in Docs: Body text, descriptions, most content
- Style: Standard weights, generous line-height, highly legible
- Mintlify Equivalent: Default body text (Mintlify uses system sans-serif)
3. The Voice of the Machine (Monospace)
- Font:
JetBrains Mono - Usage in Docs: Code blocks, inline code, technical terms, file paths
- Style: Uppercase often, smaller size, wide tracking
- Mintlify Equivalent: Code blocks (Mintlify uses monospace font for code)
Typography Guidelines
Headings:- Use H2 for main sections
- Use H3 for subsections
- Keep headings descriptive and keyword-rich
- Maintain consistent heading patterns across similar pages
- Keep paragraphs concise (3-5 sentences)
- Use lists for multiple items
- Use inline code (backticks) for technical terms, filenames, commands
- Use bold sparingly for emphasis
- Use inline code for short snippets, variable names, commands
- Use code blocks for multi-line examples
- Always specify language tags
- Include comments in code examples when helpful
Component Mapping
Paper UI → Mintlify Components
| Paper UI Component | Mintlify Component | Usage |
|---|---|---|
| PaperCard | <Card> | Feature highlights, key concepts |
| PaperCard Group | <CardGroup> | Multiple related features (2-column typical) |
| PaperButton | (Not directly mapped) | Links in cards serve as buttons |
| Callout/Alert | <Note>, <Warning>, <Info>, <Tip> | Important information, cautions |
| Code Block | ```language | Code examples, technical snippets |
| Badge | (Not directly mapped) | Status indicators in text |
Card Usage
CardGroup (2-column): Use for feature lists, especially in overview pages:Callout Boxes
Map to Paper UI’s “visible construction” principle:<Note>: Helpful supplementary information (visible technical details)<Warning>: Important cautions, breaking changes (high contrast alerts)<Info>: Neutral contextual information<Tip>: Best practices, expert advice
- Use callouts for information that should stand out
- Keep callout content concise
- Use appropriate callout type for content urgency
Spacing & Layout
Section Spacing
- Between Major Sections (H2): Generous spacing (equivalent to
p-8conceptually) - Between Subsections (H3): Moderate spacing
- Within Sections: Standard paragraph spacing
- Around Code Blocks: Extra spacing for readability
Content Organization
Follow Paper UI’s aggressive use of whitespace:- Narrative Sections: Overview, introduction, concepts
- Technical Sections: Code examples, API details, implementation
- Clear Separation: Visual separation between narrative and technical content
Lists
- Bulleted Lists: For unordered items, features, characteristics
- Numbered Lists: For sequential steps, procedures
- Nested Lists: Use sparingly, maintain clear hierarchy
Iconography
Icon Selection
- Source: Use Lucide icon names (Mintlify supports these)
- Style: Sharp, clean lines matching Paper UI aesthetic
- Usage: Icons in cards should be relevant to content
- Pairing: Icons paired with descriptive text (not standalone)
Common Icons
key- Authentication, securityshield- Security, protectionroute- Routing, navigationnetwork- Architecture, connectionsfile-text- Documents, contentcode- Code, developmentdatabase- Data, storagesettings- Configurationrocket- Getting started, launchsearch- Search, discovery
Mermaid Diagrams
Styling Guidelines
Follow Paper UI’s “hard edges” principle:- Node Names: No spaces, use camelCase or PascalCase
- Labels: Clear, descriptive (use quotes for special characters)
- Colors: Avoid explicit colors (let theme handle it)
- Complexity: Keep diagrams focused and understandable
- Purpose: Use diagrams to clarify concepts that text cannot
Common Patterns
Architecture Diagrams: Sequence Diagrams:Tables
Formatting Guidelines
- Headers: Clear, descriptive column headers
- Alignment: Left for text, right for numbers
- Consistency: Similar tables use similar formatting
- Width: Keep tables readable (avoid overly wide tables)
When to Use Tables
- Comparisons: Feature comparisons, API endpoint lists
- Configuration: Settings, options, parameters
- Reference Data: Status codes, error codes, mappings
Code Examples
Formatting
- Language Tags: Always specify language
- Completeness: Include complete, runnable examples
- Context: Include necessary imports, setup
- Comments: Add comments for clarity
- Real Data: Use realistic data, not placeholders
CodeGroup Usage
Use<CodeGroup> when showing multiple language variants:
Visible Construction
Paper UI’s “visible construction” principle means showing technical details:- File Paths: Show actual file paths in examples
- Configuration: Show actual configuration values
- IDs/Keys: Show example IDs, not just “ID: xxx”
- Status Values: Show actual status strings, error codes
- Metadata: Make technical metadata visible in examples
Best Practices
Do’s
- ✅ Use CardGroup for feature lists (2-column typical)
- ✅ Use appropriate callout types for important information
- ✅ Include code examples with language tags
- ✅ Use descriptive headings and link text
- ✅ Include “Related Documentation” sections
- ✅ Use Mermaid diagrams for complex concepts
- ✅ Make technical details visible and explicit
Don’ts
- ❌ Don’t use cards for every piece of information
- ❌ Don’t overuse callouts (they lose impact)
- ❌ Don’t use placeholder data in examples
- ❌ Don’t hide technical details (visible construction)
- ❌ Don’t create overly complex diagrams
- ❌ Don’t use “click here” for link text
Related Documentation
- Design Guide - Practical Mintlify guidelines
- Review Checklist - Quality checklist
- Page Templates - Standard page structures
- Component Guide - Detailed component usage