Serve the site in English, Spanish and Arabic, add a captcha, make the message optional
- Move every route under app/[lang]; a proxy keeps English on unprefixed URLs and serves /es and /ar - Interface strings and homepage copy per locale; content pages load a translated JSON when one exists - Language switch in the header, hreflang alternates and a multilingual sitemap - Right-to-left layout for Arabic with logical CSS properties, Noto Sans Arabic and no letter-spacing - Self-hosted proof-of-work "I'm not a robot" check (no third-party account) replaces Turnstile - The message field is optional; failed attempts refill the form instead of clearing it
This commit is contained in:
@@ -7,7 +7,7 @@ Usage:
|
||||
Paragraphs that start with "> " were bold sentences in the deck and render as
|
||||
emphasised lines. Each document follows the same conventions: bold all-caps lines are eyebrows
|
||||
(when followed by a heading) or CTAs; Heading 1/2/3 give the structure.
|
||||
The output lands in src/content/pages/<slug>.json. The homepage is hand-built
|
||||
The output lands in src/content/pages/en/<slug>.json. The homepage is hand-built
|
||||
and is skipped.
|
||||
"""
|
||||
|
||||
@@ -18,7 +18,7 @@ import re
|
||||
import sys
|
||||
import zipfile
|
||||
|
||||
OUT = pathlib.Path(__file__).resolve().parent.parent / "src" / "content" / "pages"
|
||||
OUT = pathlib.Path(__file__).resolve().parent.parent / "src" / "content" / "pages" / "en"
|
||||
|
||||
# Lines in the decks that are notes to the team, not site copy.
|
||||
DROP = [
|
||||
|
||||
Reference in New Issue
Block a user