feat(child-theme): scaffold asterion-bricks v0.1.0
Initial child theme structure inheriting from Bricks parent. Token-driven, RGPD-native, mobile-first foundation ready for component and template work. What's in this commit - style.css: WP theme metadata (Template: bricks, v0.1.0) - functions.php: enqueue cascade tokens -> utilities -> components, defer-loaded main.js, font preload, theme support, image sizes (av-hero 2400x1350, av-card 800x600, av-thumb 400x300), Gutenberg default styles dequeued - theme.json: Gutenberg color/typo palette mirroring tokens - assets/css/tokens.css: full design system per Design Handoff section 2 (brand colors, neutrals, semantics, type scale + line-heights, 8pt spacing, radii, shadows, z-index, motion, prefers-reduced-motion) - assets/css/utilities.css: modern reset + .av-container, .av-skip-link, .av-sr-only, .av-stack, .av-section helpers, opinionated heading scale - assets/css/components.css: index of planned components + buttons (5 variants x 4 sizes per Design Handoff section 3.1) and links - assets/js/main.js: vanilla skeleton with header scroll, IntersectionObserver reveal, count-up, mobile drawer; respects prefers-reduced-motion - inc/cpt.php: register_post_type case_study (slug /customers/) + scenario (slug /scenarios/) + shared 'industry' taxonomy - inc/seo.php: Organization JSON-LD on home; placeholders for Product, Article, FAQPage, BreadcrumbList - assets/fonts/: Inter Variable + Italic WOFF2 self-hosted (RGPD; no Google Fonts CDN). Inter Display @font-face commented — Inter 4+ uses opsz axis from the same file. Out of scope (intentionally deferred) - Component fills: cards, forms, navigation, alerts, modals, tabs (placeholders) - Page templates: home and beyond - Bricks JSON template exports - Schema.org Product / Article / FAQPage / BreadcrumbList implementations Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
39
wp-content/themes/asterion-bricks/assets/fonts/README.md
Normal file
39
wp-content/themes/asterion-bricks/assets/fonts/README.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# Self-hosted Inter fonts
|
||||
|
||||
Self-hosted to comply with **GDPR**. Loading fonts from Google Fonts CDN sends each visitor's IP address to Google — explicitly ruled illegal by a German court in 2022 (LG München I, 20 January 2022, file no. 3 O 17493/20). For an institutional B2G site addressing French ministries and EU security forces, Google Fonts is a non-starter.
|
||||
|
||||
## Files expected here
|
||||
|
||||
| File | Purpose | Required |
|
||||
|-----------------------------------|--------------------------------------------------|----------|
|
||||
| `Inter-Variable.woff2` | Body + UI font (variable axis: weight 100-900) | ✅ Yes |
|
||||
| `Inter-Variable-Italic.woff2` | Italic variant | ✅ Yes |
|
||||
| `InterDisplay-Variable.woff2` | Optimized for display sizes (titles, hero) | 🟡 Recommended |
|
||||
|
||||
## Where to download
|
||||
|
||||
**Official source** : https://rsms.me/inter
|
||||
|
||||
1. Visit https://github.com/rsms/inter/releases/latest
|
||||
2. Download the latest `Inter-X.Y.zip`.
|
||||
3. Inside the ZIP, locate the `web/` folder.
|
||||
4. Copy `Inter-Variable.woff2` and `Inter-Variable-Italic.woff2` into this directory.
|
||||
5. For `InterDisplay-Variable.woff2`, look in `extras/web/` if present in the release, or use the same Inter Variable file (Inter 4+ merged Display into the optical-size axis).
|
||||
|
||||
**Alternative via npm** (if you already have a node toolchain) :
|
||||
|
||||
```bash
|
||||
npm install @fontsource-variable/inter
|
||||
cp node_modules/@fontsource-variable/inter/files/inter-latin-wght-normal.woff2 ./Inter-Variable.woff2
|
||||
cp node_modules/@fontsource-variable/inter/files/inter-latin-wght-italic.woff2 ./Inter-Variable-Italic.woff2
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
[SIL Open Font License 1.1](https://github.com/rsms/inter/blob/master/LICENSE.txt). Free to use, modify, and redistribute, including in commercial websites. Attribution not required but appreciated.
|
||||
|
||||
## After dropping the WOFF2 here
|
||||
|
||||
Nothing else to do. The `@font-face` declarations in `../css/tokens.css` reference these filenames directly. The `<link rel="preload">` in `functions.php` (`wp_head` action) starts fetching them on page load.
|
||||
|
||||
If a file is missing, the page silently falls back to the system stack (`-apple-system`, `Segoe UI`, `Roboto`, etc.) without any user-visible error.
|
||||
Reference in New Issue
Block a user