feat: port all template categories to JSON format

- Ported Minimalist templates to JSON (Swiss Grid, Brutalist, etc.)
- Ported Tech templates to JSON (SaaS, Terminal, Cyberpunk, etc.)
- Ported Creative templates to JSON (Art Gallery, Zine, Pop Art, etc.)
- Ported Industrial templates to JSON (Blueprint, Factory, Schematic, etc.)
- Ported Nature templates to JSON (Botanical, Ocean, Mountain, etc.)
- Ported Lifestyle templates to JSON (Cookbook, Travel, Coffee House, etc.)
- Ported Vintage templates to JSON (Art Deco, Medieval, Retro 80s, etc.)
- Updated README.md to reflect the new JSON-based style system (example configuration and contribution workflow)
- Completed migration of over 150 styles to the new architecture
This commit is contained in:
TypoGenie
2026-02-01 18:51:43 +02:00
parent da335734d3
commit a6f664088c
405 changed files with 69134 additions and 5936 deletions

View File

@@ -0,0 +1,343 @@
{
"id": "newspaper-classic",
"name": "Newspaper Classic",
"category": "editorial",
"description": "Authentic broadsheet newspaper style. Blackletter masthead, heavy ruled lines, and authoritative 3-column serif typography.",
"vibe": "Authority, Traditional, Broadsheet",
"googleFontsImport": "https://fonts.googleapis.com/css2?family=UnifrakturMaguntia&family=Old+Standard+TT:ital,wght@0,400;0,700;1,400&family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap",
"typography": {
"fonts": {
"heading": "UnifrakturMaguntia",
"body": "Old Standard TT",
"code": "Old Standard TT"
},
"colors": {
"text": "111111",
"textSecondary": "000000",
"background": "FDFCF8",
"accent": "000000",
"border": "000000",
"codeBg": "F5F5F0",
"blockquoteBorder": "000000"
}
},
"elements": {
"h1": {
"font": "heading",
"size": 72,
"color": "textSecondary",
"bold": false,
"align": "center",
"spacing": {
"before": 48,
"after": 48,
"line": 1.0
},
"borderTop": {
"color": "border",
"width": 3,
"style": "solid"
},
"borderBottom": {
"color": "border",
"width": 6,
"style": "double"
},
"padding": 20
},
"h2": {
"font": "Playfair Display",
"size": 28,
"color": "textSecondary",
"bold": true,
"align": "left",
"spacing": {
"before": 32,
"after": 16,
"line": 1.1
},
"borderTop": {
"color": "border",
"width": 1,
"style": "solid"
},
"borderBottom": {
"color": "border",
"width": 1,
"style": "solid"
},
"padding": 8
},
"h3": {
"font": "Playfair Display",
"size": 20,
"color": "textSecondary",
"bold": true,
"align": "left",
"spacing": {
"before": 24,
"after": 12,
"line": 1.1
},
"borderBottom": {
"color": "border",
"width": 0.5,
"style": "solid"
}
},
"h4": {
"font": "body",
"size": 16,
"color": "text",
"bold": true,
"align": "left",
"spacing": {
"before": 20,
"after": 10,
"line": 1.2
}
},
"h5": {
"font": "body",
"size": 14,
"color": "textSecondary",
"bold": true,
"align": "left",
"spacing": {
"before": 16,
"after": 8,
"line": 1.2
},
"allCaps": true,
"letterSpacing": 1
},
"h6": {
"font": "body",
"size": 12,
"color": "textSecondary",
"italic": true,
"align": "left",
"spacing": {
"before": 16,
"after": 8,
"line": 1.2
}
},
"p": {
"font": "body",
"size": 10.5,
"color": "text",
"align": "justify",
"spacing": {
"before": 0,
"after": 12,
"line": 1.4
},
"firstLineIndent": 18
},
"blockquote": {
"font": "Playfair Display",
"size": 18,
"color": "textSecondary",
"italic": true,
"align": "center",
"spacing": {
"before": 32,
"after": 32,
"line": 1.3
},
"padding": 24,
"borderTop": {
"color": "border",
"width": 1,
"style": "solid"
},
"borderBottom": {
"color": "border",
"width": 1,
"style": "solid"
}
},
"code": {
"font": "body",
"size": 9,
"color": "textSecondary",
"background": "codeBg",
"spacing": {
"before": 0,
"after": 0,
"line": 1.2
}
},
"pre": {
"font": "body",
"size": 9,
"color": "textSecondary",
"background": "codeBg",
"padding": 12,
"spacing": {
"before": 12,
"after": 12,
"line": 1.2
},
"border": {
"color": "border",
"width": 0.5,
"style": "solid"
}
},
"ul": {
"spacing": {
"before": 12,
"after": 12,
"line": 1.4
},
"indent": 20,
"bullet": "square"
},
"ol": {
"spacing": {
"before": 12,
"after": 12,
"line": 1.4
},
"indent": 20,
"numbering": "decimal"
},
"li": {
"font": "body",
"size": 10.5,
"color": "text",
"spacing": {
"before": 4,
"after": 4,
"line": 1.4
}
},
"strong": {
"font": "body",
"bold": true,
"color": "textSecondary"
},
"em": {
"font": "body",
"italic": true
},
"a": {
"font": "body",
"color": "textSecondary",
"underline": true,
"bold": true
},
"table": {
"spacing": {
"before": 24,
"after": 24,
"line": 1.3
},
"border": {
"color": "border",
"width": 1,
"style": "solid"
}
},
"th": {
"font": "body",
"size": 10.5,
"color": "background",
"bold": true,
"background": "textSecondary",
"padding": 8,
"allCaps": true
},
"td": {
"font": "body",
"size": 10,
"color": "text",
"padding": 8,
"borderBottom": {
"color": "border",
"width": 0.5,
"style": "solid"
},
"borderRight": {
"color": "border",
"width": 0.5,
"style": "solid"
}
},
"hr": {
"spacing": {
"before": 24,
"after": 24
},
"borderTop": {
"color": "border",
"width": 2,
"style": "solid"
}
},
"img": {
"align": "center",
"spacing": {
"before": 20,
"after": 20
},
"border": {
"color": "border",
"width": 0.5,
"style": "solid"
}
},
"del": {
"font": "body",
"strikethrough": true
},
"sup": {
"font": "body",
"size": 8,
"superScript": true
},
"sub": {
"font": "body",
"size": 8,
"subScript": true
},
"mark": {
"font": "body",
"background": "textSecondary",
"color": "background"
},
"footnote": {
"font": "body",
"size": 8.5,
"color": "textSecondary",
"superScript": true
},
"footnoteRef": {
"font": "body",
"size": 8.5,
"color": "textSecondary",
"spacing": {
"before": 4,
"after": 4,
"line": 1.1
}
}
},
"page": {
"margins": {
"top": 54,
"bottom": 54,
"left": 54,
"right": 54
},
"columns": 1,
"header": true,
"footer": true
}
}