Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,8 @@ This terminology prevents the YOOtheme region name `tm-bottom` from being confus
- The data preserves the source's root-relative URLs. On a different domain, resolve every root-relative global-footer URL against `https://truechristian.church`; the portable HTML template already does this.
- `Social Outreach` MUST contain only GitHub and Telegram icon links, in that order.
- The owner-supplied original skyline file is `assets/footer/city-skyline-skyscrapers-top.jpg`, matching the source-site path `/images/city-skyline-skyscrapers-top.jpg`. Preserve the original asset and its `270px × 180px` display slot; do not replace it with a screenshot crop or unrelated stock imagery.
- Directory link rows MUST use a `5px` sibling gap. Apply the same spacing to portable `.tcc-footer-group` markup and compatible `.tm-bottom .uk-list` markup.
- Directory link rows MUST have no sibling margin or gap. Apply the same zero-spacing rule to portable `.tcc-footer-group` markup and compatible `.tm-bottom .uk-list` markup.
- Directory links MUST render at full opacity in `#2d2e33` using Montserrat 500 so the small uppercase text remains dark and legible.
- On medium layouts, the four columns MAY become a two-by-two grid. On narrow layouts, stack them and center headings, links, and social controls.
- Keep the generous light-grey spacing, uppercase headings and links, circular social buttons, rounded image treatment, and subdued shadow shown in `docs/reference/footer-desktop.png`.

Expand Down
5 changes: 3 additions & 2 deletions dist/truechristian-theme.css
Original file line number Diff line number Diff line change
Expand Up @@ -449,7 +449,7 @@ p {

.tcc-footer-group li + li,
.tm-bottom .uk-list > li + li {
margin-top: 5px;
margin-top: 0;
}

.tcc-footer-group li a,
Expand All @@ -458,9 +458,10 @@ p {
color: var(--tcc-color-ink);
font-family: var(--tcc-font-display);
font-size: 0.6875rem;
font-weight: 400;
font-weight: 500;
letter-spacing: 2px;
line-height: 1.4;
opacity: 1;
text-decoration: none;
text-transform: uppercase;
}
Expand Down
2 changes: 1 addition & 1 deletion dist/truechristian-theme.min.css

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/brand-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Use it on white. Preserve its aspect ratio and built-in shadow. Do not recolor,
| `--tcc-color-cyan` | `#00cadb` | Thin header top rule and restrained focus accent | Measured |
| `--tcc-color-directory` | `#f7f7f7` | Directory/link footer | Measured |
| `--tcc-color-charcoal` | `#303033` | Copyright footer | Measured |
| `--tcc-color-ink` | `#2d2e33` | Active navigation and directory text | Measured |
| `--tcc-color-ink` | `#2d2e33` | Active navigation and full-opacity directory text | Measured |
| `--tcc-color-nav-muted` | `#b4b5ba` | Inactive desktop navigation | Measured |
| `--tcc-color-social-icon` | `#6c6d74` | Social glyphs | Measured |
| `--tcc-color-footer-text` | `rgb(255 255 255 / 70%)` | Copyright prefix and separators | Measured composite |
Expand Down
2 changes: 1 addition & 1 deletion docs/footer.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Together they form the required bottom footer assembly. They must remain adjacen
| Directory container | `1200px` maximum width |
| Directory grid | Four equal `270px` tracks with `40px` gaps |
| Group heading | Montserrat 400, `16px/1.4`, uppercase, `2px` tracking, `20px` bottom gap |
| Group link | Montserrat 400, `11px/1.4`, uppercase, `2px` tracking, `5px` sibling gap, `#2d2e33` |
| Group link | Montserrat 500, `11px/1.4`, uppercase, `2px` tracking, no sibling margin, full-opacity `#2d2e33` |
| Social controls | Two `36px` white circles, `20px` gaps, `#6c6d74` glyphs, `#e5e5e7` edge |
| Skyline slot | Desktop only, `270 × 180px`, `20px` top gap, `5px` radius, subdued shadow |
| Copyright surface | `#303033`, `70px` block padding |
Expand Down
2 changes: 2 additions & 0 deletions docs/source-inventory.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,3 +84,5 @@ Montserrat and Raleway are metric-matched font identifications rather than decla
## Implementation defaults

The portable `tcc-*` CSS reproduces the supplied structure without requiring Joomla. Its typography stacks and spacing tokens are maintained as repository defaults. They are documented in `docs/typography.md` and `docs/brand-guide.md` and should be revised if the owner supplies the original compiled CSS or font files.

The owner's follow-up footer comparison establishes zero sibling margin between directory rows and full-opacity `#2d2e33` link text. The portable implementation uses Montserrat 500 for those small uppercase links so their rendered weight matches the darker reference.
4 changes: 2 additions & 2 deletions docs/typography.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ These stacks are maintained implementation defaults chosen to reproduce the visu
| --- | --- |
| Desktop navigation | Montserrat 400, 11px, uppercase, 2px tracking |
| Directory headings | Montserrat 400, 16px/1.4, uppercase, 2px tracking |
| Directory links | Montserrat 400, 11px/1.4, uppercase, 2px tracking |
| Directory links | Montserrat 500, 11px/1.4, uppercase, 2px tracking |
| Services subtitle | Montserrat 400, 12px, normal case, approximately 0.2px tracking |
| Copyright copy | Raleway 400, 16px/1.6, normal tracking |
| Body copy | 16px, 1.7 line-height |

Do not simulate the masthead with a text font. Always use the supplied logo image.

Montserrat and Raleway were identified by matching the screenshot geometry against font metrics; the supplied HTML does not contain the compiled `@font-face` rules. The portable head fragment loads the required 400 weights from Google Fonts. A privacy-restricted deployment may self-host licensed copies and retain the same family names.
Montserrat and Raleway were identified by matching the screenshot geometry against font metrics; the supplied HTML does not contain the compiled `@font-face` rules. The portable head fragment loads Montserrat 400 and 500 plus Raleway 400 from Google Fonts. A privacy-restricted deployment may self-host licensed copies and retain the same family names.
2 changes: 1 addition & 1 deletion examples/style-guide.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<link rel="icon" href="../assets/favicons/favicon.ico">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400&amp;family=Raleway:wght@400&amp;display=swap">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500&amp;family=Raleway:wght@400&amp;display=swap">
<link rel="stylesheet" href="../dist/truechristian-theme.css">
<script defer src="../dist/truechristian-theme.js"></script>
</head>
Expand Down
13 changes: 11 additions & 2 deletions scripts/validate.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -172,9 +172,18 @@ for (const selector of [".tcc-site-header", ".tcc-footer-directory", ".tcc-foote
}

const sourceFooterCss = await readFile(path.join(root, "src/css/footer.css"), "utf8");
const linkGapContract = /\.tcc-footer-group li \+ li,\s*\.tm-bottom \.uk-list > li \+ li\s*\{\s*margin-top: 5px;\s*\}/;
const linkGapContract = /\.tcc-footer-group li \+ li,\s*\.tm-bottom \.uk-list > li \+ li\s*\{\s*margin-top: 0;\s*\}/;
if (!linkGapContract.test(sourceFooterCss)) {
throw new Error("Footer link rows must use the documented 5px sibling gap in portable and YOOtheme markup.");
throw new Error("Footer link rows must have no sibling margin in portable and YOOtheme markup.");
}
const linkAppearanceContract = /\.tcc-footer-group li a,[\s\S]*?font-weight: 500;[\s\S]*?opacity: 1;[\s\S]*?\}/;
if (!linkAppearanceContract.test(sourceFooterCss)) {
throw new Error("Footer links must use the documented darker weight at full opacity.");
}

const documentHead = await readFile(path.join(root, "src/html/document-head.html"), "utf8");
if (!documentHead.includes("Montserrat:wght@400;500")) {
throw new Error("Portable head must load the Montserrat 500 weight used by footer links.");
}

for (const value of ["--tcc-container-max: 1200px", "border-top: 1px solid", "min-height: 80px", "font-size: 0.6875rem", "gap: 40px", "width: 36px", "padding-block: var(--tcc-space-7)"]) {
Expand Down
5 changes: 3 additions & 2 deletions src/css/footer.css
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@

.tcc-footer-group li + li,
.tm-bottom .uk-list > li + li {
margin-top: 5px;
margin-top: 0;
}

.tcc-footer-group li a,
Expand All @@ -49,9 +49,10 @@
color: var(--tcc-color-ink);
font-family: var(--tcc-font-display);
font-size: 0.6875rem;
font-weight: 400;
font-weight: 500;
letter-spacing: 2px;
line-height: 1.4;
opacity: 1;
text-decoration: none;
text-transform: uppercase;
}
Expand Down
2 changes: 1 addition & 1 deletion src/html/document-head.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<link rel="icon" href="/assets/favicons/favicon.ico">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400&amp;family=Raleway:wght@400&amp;display=swap">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500&amp;family=Raleway:wght@400&amp;display=swap">
<link rel="stylesheet" href="/dist/truechristian-theme.css">
<script defer src="/dist/truechristian-theme.js"></script>

Expand Down
Loading