1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
<?php
// "Explore SillyLaird" side panel retired — it fought dense layouts on www
// and subdomains (blog, startpage, etc.). Site map + header nav cover this.
?>
<footer class="site-footer">
<div class="footer-inner">
<p class="footer-back-to-top"><a href="#top"><?php
echo htmlspecialchars(function_exists('t') ? t('common.top') : '↑ Top', ENT_QUOTES, 'UTF-8');
?></a></p>
<div>© <span id="copyright-year">2026</span> SillyLaird — Licensed under <a href="/wtfpl.txt">WTFPL</a></div>
<?php
require_once __DIR__ . '/site_status.php';
render_site_update_status('site-status-row footer-status-row');
?>
<div>Privacy: Some pages load third-party content (Last.fm, guestbook, blog, embeds).</div>
<div class="footer-joke">Best viewed with two eyes, in any browser, on any network. 🕸️</div>
<p class="site-visit-counter" id="site-visit-counter" aria-live="polite">
<span class="site-visit-counter-label">You are visitor</span>
<span class="site-visit-counter-digits" id="site-visit-digits">------</span>
</p>
<p class="footer-smallweb"><?php
$madeWith = function_exists('t') ? t('home.made_with') : 'Made with ♥ on the small web';
$madeWith = htmlspecialchars($madeWith, ENT_QUOTES, 'UTF-8');
echo str_replace('♥', '<span class="footer-heart" aria-hidden="true">♥</span>', $madeWith);
?></p>
<p class="footer-colophon">Colophon: hand-built with PHP, nginx, and an Emacs-shaped workflow. No surveillance analytics — just a small visitor counter.</p>
<div class="footer-badges">
<a class="badge own-button" href="https://www.sillylaird.ca/" title="Link back to SillyLaird — grab the button!">
<img src="/assets/img/sillylaird-88x31.png" width="88" height="31" alt="SillyLaird — 88x31 link button" loading="lazy" decoding="async">
</a>
<a class="badge eff-badge" href="https://www.eff.org/issues/free-speech" target="_blank" rel="noopener noreferrer">
<img src="/assets/img/rib_bar_red.png" width="150" height="31" alt="EFF free speech badge" loading="lazy" decoding="async" class="s9572e08b37">
</a>
</div>
</div>
</footer>
|