Cybrkyd's Git Repositories

page-with-py - commit: f3ef60a

commit f3ef60a839a5fa3b2911c9e66420aed673cf0cbb680ad15cdbfabca06a4699dc
author cybrkyd <git@cybrkyd.com> 2026-03-12 09:27:23 +0000
committer cybrkyd <git@cybrkyd.com> 2026-03-12 09:27:23 +0000

Commit Message

Templates for cybr theme v1.5

📊 Diffstat

pa-py/themes/cybr/footer.html 13
pa-py/themes/cybr/header.html 3
pa-py/themes/cybr/single.html 31
pa-py/themes/cybr/tag-single.html 19
pa-py/themes/cybr/tags.html 6
5 files changed, 62 insertions(+), 10 deletions(-)

Diff

diff --git a/pa-py/themes/cybr/footer.html b/pa-py/themes/cybr/footer.html
index c8a1a6d..876078b 100644
--- a/pa-py/themes/cybr/footer.html
+++ b/pa-py/themes/cybr/footer.html
@@ -2,22 +2,27 @@
<div class="footer">
<div class="container">
<div class="soci-icons">
- <a href="https://example.com" title="CGI-git" target="_blank" rel="noopener"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 21 21" width="40" height="40" fill="none" stroke="#1ecce7" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M4.13 1.101v12.56m11.972-6.28a2.993 3.14 0 1 0 0-6.28 2.993 3.14 0 0 0 0 6.28M4.13 19.94a2.993 3.14 0 1 0 0-6.28 2.993 3.14 0 0 0 0 6.28" style="stroke-width:2.04357"/><path d="M13.109 4.241a8.978 9.42 0 0 0-8.978 9.42" style="stroke-width:2.04357"/><path stroke="#0f0" d="M16.172 13.915v6m3-3h-6"/><path stroke="red" d="M19.135 11.43h-6"/></svg></a>
+ <a href="https://git.cybrkyd.com" title="GitGen" target="_blank" rel="noopener"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 21 21" width="40" height="40" fill="none" stroke="#222222" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M4.13 1.101v12.56m11.972-6.28a2.993 3.14 0 1 0 0-6.28 2.993 3.14 0 0 0 0 6.28M4.13 19.94a2.993 3.14 0 1 0 0-6.28 2.993 3.14 0 0 0 0 6.28" style="stroke-width:2.04357"/><path d="M13.109 4.241a8.978 9.42 0 0 0-8.978 9.42" style="stroke-width:2.04357"/><path stroke="#0f0" d="M16.172 13.915v6m3-3h-6"/><path stroke="red" d="M19.135 11.43h-6"/></svg></a>
<a href="/index.xml" title="RSS" target="_blank"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12" width="40" height="40" aria-label="RSS" fill="#e7842d"> <path d="M3.618 9.99a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0m-3-8.5a1 1 0 0 1 1-1 10 10 0 0 1 10 10 1 1 0 1 1-2 0 8 8 0 0 0-8-8 1 1 0 0 1-1-1m0 4a1 1 0 0 1 1-1 6 6 0 0 1 6 6 1 1 0 1 1-2 0 4 4 0 0 0-4-4 1 1 0 0 1-1-1"/> </svg></a>
</div>
<hr class="limiter">
- <p class="credits">&copy; 2025 / All Rights Reserved</p>
+ <p class="credits">&copy; 2022 - 2026 / All Rights Reserved</p>
<nav class="credits">
- <a href="/" >Home</a>&emsp;<a href="/about/" >About</a>&emsp;<a href="/archive/" >Archive</a>&emsp;<a href="/tags/" >Tags</a>&emsp;
+ <a href="/" >Home</a>&emsp;<a href="/about/" >About</a>&emsp;<a href="/archive/" >Archive</a>&emsp;<a href="/tags/" >Tags</a>&emsp;<a href="/rss-reader/" >FetchRSS</a>&emsp;<a href="/search/" >Search</a>
</nav>
</div>
</div>
<div class="stats-wrap">
+ <p id="stats"></p>
+ <script>
+ fetch("/data/stats.json").then((t=>t.json())).then((t=>{document.getElementById("stats").innerHTML=`${t.total_posts} posts / ${t.total_words} words`})).catch((t=>{}));
+ </script>
<p class="stats">Site generated by <a href="https://git.cybrkyd.com/page-with-py" target="_blank" rel="noopener">PaPy</a></p>
</div>
-
</footer>
+ <script defer src="/js/vanilla-back-to-top.min.js"></script>
+ <script defer src="/js/toppy.js"></script>
<div>&nbsp;</div>
diff --git a/pa-py/themes/cybr/header.html b/pa-py/themes/cybr/header.html
index afb414f..b0907eb 100644
--- a/pa-py/themes/cybr/header.html
+++ b/pa-py/themes/cybr/header.html
@@ -1,10 +1,11 @@
<header>
<div class="logo-container">
- <a href="/index.html"><img src="/img/logo.png" alt="logo" width="256"></a>
+ <a href="/index.html"><img src="/img/logo.png" alt="cybrkyd" width="256"></a>
</div>
<nav>
<a href="/" >Home</a>
<a href="/about/" >About</a>
<a href="/archive/" >Archive</a>
+ <a href="/search/" >Search</a>
</nav>
</header>
diff --git a/pa-py/themes/cybr/single.html b/pa-py/themes/cybr/single.html
index 1966485..1c27b36 100644
--- a/pa-py/themes/cybr/single.html
+++ b/pa-py/themes/cybr/single.html
@@ -19,7 +19,28 @@
<hr class="start-line">
{content}
- <div class="tags">
+ <div class="to-me-reply"> &#187;
+ <span id="e1"></span>
+ <script>
+ const il="iiv".split("").reverse().join(""),d1="moc",d2=".",d3="dykrbyc",la="moc.dykrbyc".split("").reverse().join(""),au="@",com=il+"@"+la,subject=encodeURIComponent("RE: {title}"),link='<a href="mailto:'+com+"?subject="+subject+'">Reply via e-mail</a>';document.getElementById("e1").innerHTML=link;
+ </script>
+ </div>
+
+ <div class="like-container">
+ <button id="like-button" class="like-button checking" aria-label="Like this post" title="Like this post">
+ <svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="heart-icon unfilled" viewBox="0 0 24 24"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg>
+ <svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="heart-icon filled" viewBox="0 0 24 24"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg>
+ <span class="like-count" id="like-count">
+ Loading...
+ </span>
+ </button>
+ </div>
+
+ <script>
+ document.addEventListener("DOMContentLoaded",function(){if(window.location.pathname.includes("/post/")){let t=document.getElementById("like-button"),e=document.getElementById("like-count");fetch(`/likes.php?path=${encodeURIComponent(window.location.pathname)}`).then(t=>t.json()).then(i=>{t.classList.remove("checking"),i.already_liked&&(t.classList.add("liked"),t.disabled=!0,t.title="Liked"),e.textContent=i.count||"0"}).catch(i=>{t.classList.remove("checking"),e.textContent="Error",console.error("Error checking like status:",i)}),t.addEventListener("click",function(){if(this.classList.contains("liked")||this.classList.contains("checking"))return;this.classList.add("checking");let t=new FormData;t.append("path",window.location.pathname),fetch("/likes.php",{method:"POST",body:t}).then(t=>t.json()).then(t=>{this.classList.remove("checking"),t.success?(this.classList.add("liked"),this.disabled=!0,this.title="Liked",e.textContent=t.count):t.already_liked?(this.classList.add("liked"),this.disabled=!0,this.title="Liked",e.textContent=t.count):t.error&&alert("Error: "+t.error)}).catch(t=>{this.classList.remove("checking"),console.error("Error liking post:",t),alert("Sorry, there was a processing error. Please try again.")})})}});
+ </script>
+
+ <div class="page-tags">
<span class="tag-label">Tagged in:</span>
{% for tag in tags %}
<a href="/tags/{tag.url}/">#{tag.label}</a>
@@ -28,6 +49,14 @@
<hr class="end-line">
+ <div class="hit-counter">
+ Visitors: <span id="hit-counter">Loading...</span>
+ </div>
+
+ <script>
+ document.addEventListener("DOMContentLoaded",(function(){window.location.pathname.includes("/post/")&&fetch(`/hits.php?path=${encodeURIComponent(window.location.pathname)}`).then((t=>t.json())).then((t=>{const n=t.count||0,e=(new Intl.NumberFormat).format(n);document.getElementById("hit-counter").textContent=e})).catch((t=>{console.error("Error fetching hit count:",t),document.getElementById("hit-counter").textContent="0"}))}));
+ </script>
+
</article>
<nav aria-label="Post navigation">
diff --git a/pa-py/themes/cybr/tag-single.html b/pa-py/themes/cybr/tag-single.html
new file mode 100644
index 0000000..07b4b8b
--- /dev/null
+++ b/pa-py/themes/cybr/tag-single.html
@@ -0,0 +1,19 @@
+ <main class="list-page">
+ <article class="tags-post">
+ <hr class="limiter">
+ <div class="intro-header">
+ <div class="post-heading">
+ <h1>{title}</h1>
+ </div>
+ </div>
+ <hr class="start-line">
+ <div class="tag-single">
+ <ul>
+ {% for post in posts %}
+ <li><a href="{post.url}">{post.title}</a></li>
+ {% endfor %}
+ </ul>
+ </div>
+ <hr class="end-line">
+ </article>
+ </main>
diff --git a/pa-py/themes/cybr/tags.html b/pa-py/themes/cybr/tags.html
index bc7fff9..de544ac 100644
--- a/pa-py/themes/cybr/tags.html
+++ b/pa-py/themes/cybr/tags.html
@@ -7,12 +7,10 @@
</div>
</div>
<hr class="start-line">
- <div class="tags-list">
- <ul class="tag-columns">
+ <div class="tags">
{% for post in posts %}
- <li><a href="{post.url}">{post.title}</a></li>
+ <a href="{post.url}">{post.title}</a>
{% endfor %}
- </ul>
</div>
<hr class="end-line">
</article>