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 a2631ac473
commit 60f39ed961
405 changed files with 69134 additions and 5936 deletions

View File

@@ -0,0 +1,305 @@
{
"id": "circus-sideshow",
"name": "Circus Sideshow",
"category": "Entertainment",
"description": "Authentic vintage circus poster aesthetic. Victorian woodblock typography, screaming reds, and deep midnight blues.",
"vibe": "Vintage, Ornamental, Dramatic",
"googleFontsImport": "https://fonts.googleapis.com/css2?family=Rye:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&family=Lora:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&family=Sancreek:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap",
"typography": {
"fonts": {
"heading": "Rye",
"body": "Lora",
"code": "Sancreek"
},
"colors": {
"text": "3E2723",
"textSecondary": "1A237E",
"background": "FFF8E1",
"accent": "C62828",
"border": "FFB300",
"codeBg": "FFECB3",
"blockquoteBorder": "C62828"
}
},
"elements": {
"h1": {
"font": "heading",
"size": 48,
"color": "accent",
"bold": false,
"align": "center",
"spacing": {
"before": 24,
"after": 12,
"line": 1.1
},
"allCaps": true,
"textShadow": "2px 2px 0px #1A237E"
},
"h2": {
"font": "heading",
"size": 28,
"color": "textSecondary",
"bold": false,
"align": "center",
"spacing": {
"before": 20,
"after": 10,
"line": 1.2
},
"decoration": "underline",
"decorationStyle": "wavy"
},
"h3": {
"font": "body",
"size": 20,
"color": "3E2723",
"bold": true,
"align": "center",
"spacing": {
"before": 16,
"after": 8,
"line": 1.2
},
"allCaps": true,
"letterSpacing": 2.0
},
"h4": {
"font": "body",
"size": 16,
"color": "accent",
"bold": true,
"align": "center",
"spacing": {
"before": 14,
"after": 6,
"line": 1.3
},
"italic": true
},
"h5": {
"font": "body",
"size": 14,
"color": "textSecondary",
"bold": true,
"align": "center",
"spacing": {
"before": 12,
"after": 6,
"line": 1.4
}
},
"h6": {
"font": "body",
"size": 12,
"color": "textSecondary",
"italic": true,
"align": "center",
"spacing": {
"before": 12,
"after": 6,
"line": 1.4
}
},
"p": {
"font": "body",
"size": 14,
"color": "3E2723",
"align": "center",
"spacing": {
"before": 0,
"after": 12,
"line": 1.6
}
},
"blockquote": {
"font": "heading",
"size": 18,
"color": "textSecondary",
"align": "center",
"spacing": {
"before": 20,
"after": 20,
"line": 1.4
},
"padding": 24,
"border": {
"color": "border",
"width": 4,
"style": "double"
},
"background": "FFFFFF"
},
"code": {
"font": "code",
"size": 12,
"color": "text",
"background": "codeBg",
"spacing": {
"before": 0,
"after": 0,
"line": 1.4
}
},
"pre": {
"font": "code",
"size": 12,
"color": "text",
"background": "codeBg",
"padding": 12,
"spacing": {
"before": 12,
"after": 12,
"line": 1.4
},
"border": {
"color": "accent",
"width": 2,
"style": "solid"
}
},
"ul": {
"spacing": {
"before": 10,
"after": 10,
"line": 1.5
},
"indent": 20,
"bullet": "flourish"
},
"ol": {
"spacing": {
"before": 10,
"after": 10,
"line": 1.5
},
"indent": 20,
"numbering": "decimal"
},
"li": {
"font": "body",
"size": 14,
"color": "3E2723",
"spacing": {
"before": 2,
"after": 2,
"line": 1.5
}
},
"strong": {
"font": "heading",
"bold": false,
"color": "accent"
},
"em": {
"font": "body",
"italic": true
},
"a": {
"font": "body",
"color": "textSecondary",
"underline": true,
"bold": true
},
"table": {
"spacing": {
"before": 16,
"after": 16,
"line": 1.3
},
"border": {
"color": "3E2723",
"width": 3,
"style": "solid"
}
},
"th": {
"font": "heading",
"size": 14,
"color": "FFFFFF",
"bold": false,
"background": "C62828",
"padding": 10
},
"td": {
"font": "body",
"size": 14,
"color": "3E2723",
"padding": 10,
"borderBottom": {
"color": "border",
"width": 1,
"style": "solid"
}
},
"hr": {
"spacing": {
"before": 24,
"after": 24
},
"border": {
"color": "textSecondary",
"width": 4,
"style": "dotted"
}
},
"img": {
"align": "center",
"spacing": {
"before": 16,
"after": 16
},
"border": {
"color": "border",
"width": 8,
"style": "double"
}
},
"del": {
"font": "body",
"strikethrough": true
},
"sup": {
"font": "body",
"size": 10,
"superScript": true
},
"sub": {
"font": "body",
"size": 10,
"subScript": true
},
"mark": {
"font": "body",
"background": "FFECB3",
"color": "text"
},
"footnote": {
"font": "body",
"size": 12,
"color": "textSecondary",
"superScript": true
},
"footnoteRef": {
"font": "body",
"size": 12,
"color": "textSecondary",
"spacing": {
"before": 6,
"after": 6,
"line": 1.3
}
}
},
"page": {
"margins": {
"top": 54,
"bottom": 54,
"left": 54,
"right": 54
},
"columns": 1,
"header": true,
"footer": true
}
}