Skip to content

Commit a0c3dd9

Browse files
committed
feat(site): carry one house ad above the footer (T71)
- Documented the addition of a house ad slot above the footer in the CHANGELOG. - Updated the index.html file to include the HTML structure and styling for the new ad slot. - Clarified the behavior of the ad loader, ensuring it does not block page rendering and collapses if not reachable. - Enhanced documentation to provide context on the ad's theme and memory management settings.
1 parent 6fc3235 commit a0c3dd9

2 files changed

Lines changed: 39 additions & 0 deletions

File tree

docs/CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,4 +47,6 @@
4747

4848
## Block I — Distribution & reach
4949

50+
-**T71** **The page ends without a pointer to any other tool the same author publishes** — The page carries one house ad slot above the footer, drawn by japode-ads with storage off, a fixed dark theme and commitclerk kept off its own slot.
51+
5052
## Block J — Quality engineering

docs/index.html

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,18 @@
291291
.privacy .lock{font-size:2.4rem;margin-bottom:14px}
292292
.privacy code{color:var(--amber-bright);font-size:.9em}
293293

294+
/* ---------- house ad (T71) ----------
295+
All of the spacing is the slot's own margin, so a slot the loader collapses — an
296+
unreachable catalogue, a browser with no shadow DOM — takes the gap with it instead
297+
of leaving a blank strip above the footer.
298+
299+
min-height is the loader's reserved height for the in-content format, declared here
300+
as well because the loader only reserves once its script has run: without it the
301+
banner would arrive into a box of zero height and push the footer down the page.
302+
Nothing else is styled — the banner is drawn inside a shadow root and this stylesheet
303+
cannot reach it, which is the point of the slot having one. */
304+
.ad{max-width:780px;min-height:140px;margin:8px auto 0}
305+
294306
/* ---------- footer ---------- */
295307
footer{border-top:1px solid var(--line);padding:46px 0 38px;margin-top:30px}
296308
.foot-grid{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
@@ -748,6 +760,26 @@ <h3>A demo cast</h3>
748760
</div>
749761
</section>
750762

763+
<!-- HOUSE AD (T71) — above the footer rather than inside it: it belongs to the end of the
764+
page's content, not to the chrome. The container stays empty; the loader attaches a
765+
shadow root and draws inside that, so this stylesheet cannot reach the banner and the
766+
banner cannot leak into the page.
767+
768+
data-ad-theme is fixed because this page is: there is no toggle to follow, and "auto"
769+
would hand a reader on a light OS a light card on a dark page.
770+
data-ad-memory keeps the loader out of localStorage, so there is nothing to declare.
771+
data-ad-exclude is how a site stays off its own slot — see §T71 for why the catalogue
772+
cannot do it for us. -->
773+
<div class="wrap">
774+
<div class="ad"
775+
data-japode-ads
776+
data-ad-format="in-content"
777+
data-ad-slot="page-end"
778+
data-ad-theme="dark"
779+
data-ad-memory="off"
780+
data-ad-exclude="commitclerk"></div>
781+
</div>
782+
751783
<!-- FOOTER -->
752784
<footer>
753785
<div class="wrap">
@@ -806,6 +838,11 @@ <h3>A demo cast</h3>
806838
</div>
807839
</footer>
808840

841+
<!-- The house ad loader (T71). Async and last: it never blocks the page, it makes one
842+
request however many slots it finds, and if it cannot be reached the slot above
843+
collapses itself rather than leaving an empty frame. -->
844+
<script src="https://ads.japode.com/v1/ads.js" async></script>
845+
809846
<script>
810847
// reveal-on-scroll
811848
const io = new IntersectionObserver((entries)=>{

0 commit comments

Comments
 (0)