diff --git a/pa-py/static/css/main.css b/pa-py/static/css/main.css
index 78b79ef..37c8ab0 100644
--- a/pa-py/static/css/main.css
+++ b/pa-py/static/css/main.css
@@ -1 +1,204 @@
- body{}
+ :root {
+ --width:760px;
+ --fs-serif:Georgia,Palatino,serif;
+ --fs-sans-serif:Verdana,Arial,sans-serif;
+ --font-scale:1.272em;
+ --text-color:#111;
+ --ff:#fff;
+ --cc:#ccc;
+ --00:#000;
+ --33:#333;
+ --55:#555;
+ --66:#666;
+ --77:#777;
+ --red:#b10000;
+ --fence:#f9f9f9;
+ }
+
+ body{font-family:var(--fs-sans-serif);font-size:var(--font-scale);margin:auto;padding:20px;max-width:var(--width);text-align:left;background-color:var(--ff);word-wrap:break-word;line-height:1.5;color:var(--text-color)}
+ h1{font-size:30px}
+ h2{font-size:27px}
+ h3,h4,h5,h6{font-size:24px}
+ h1,h2,h3,h4,h5,h6{font-weight:500}
+ a{text-decoration:underline;color:#0075d8}
+ a:hover{color:#ff4747;text-decoration:underline}
+ blockquote{width:85%;margin:30px auto;;padding:1em;background:var(--fence);font-family:var(--fs-serif);font-style:italic;color:var(--00);position:relative}
+ blockquote::before{content:"\201C";font-size:4em;position:absolute;top:-0.2em;left:0.2em;color:var(--red);line-height:1;opacity:0.7}
+ .blog-post blockquote p:first-of-type{margin-top:0;margin-bottom:0}
+ .blog-post blockquote p{margin-bottom:0}
+ .smaller{font-size:0.85em}
+
+ hr{height:0;margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #c2c2c2;box-sizing:content-box}
+ .limiter{border-color:var(--red)}
+ .end-line{border-color:#c2c2c2;margin-top:2rem;max-width:600px}
+ .start-line{border-color:#c2c2c2;margin-top:1rem;margin-bottom:2.5rem;max-width:600px}
+
+ header{display:flex;flex-direction:column;align-items:center;margin:0 auto;font-size:16px}
+ .logo-container{margin-bottom:1.5rem}
+ header nav{display:flex;gap:1.3rem}
+ header nav a{text-decoration:none;color:var(--00)}
+ header nav a:hover{text-decoration:underline;color:#ff4747}
+ @media (max-width:608px) {
+ header img{max-width:180px}
+ header nav{flex-wrap:wrap;justify-content:center;gap:1rem}
+ }
+
+ .blog-post p,.blog-post ul,.blog-post ol{font-family:var(--fs-serif);font-size:1.032em}
+ .blog-post p a:hover, .article-image-caption a:hover{color:#ff4747}
+ /*.blog-post p:first-of-type{margin-top:40px}*/
+ .blog-post .footnote p:first-of-type{margin-top:10px}
+ strong{font-weight:600}
+ li{margin:10px 0}
+ img{display:block;margin:auto;max-width:100%;height:auto}
+ .img-title{width:544px;margin-top:1rem}
+ .article-image-caption{padding:10px 0;font-size:14px;position:relative;color:var(--55);text-align:center}
+ .blog-post .indent, .indent p{margin-left:40px;font-family:var(--fs-sans-serif);font-size:0.9em;}
+
+ code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace;font-size:1em}
+ code{padding:2px 4px;font-size:1rem;color:var(--00);background-color:#d9edef;border-radius:4px}
+ kbd{padding:2px 4px;font-size:90%;color:var(--00);background-color:#eee;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.25)}
+ kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}
+ pre{display:block;padding:9.5px;margin-top:20px;margin-bottom:3rem;font-size:1rem;line-height:1.42857143;white-space:pre-wrap;overflow-wrap:normal;background-color:var(--fence);border:1pxsolidvar(--cc);border-radius:4px}
+ pre code{padding:0;font-size:inherit;color:var(--00);white-space:inherit;background-color:transparent;border-radius:0}
+
+ ol,ul{margin-top:18px;margin-bottom:10px}
+ ol ol,ol ul,ul ol,ul ul{margin-bottom:0}
+ .well{min-height:20px;padding:19px;margin-bottom:20px}
+
+ .pagination{margin:10px 0}
+ .pager{font-size:0.83em;letter-spacing:1px;text-align:center;padding:7px;margin:0 20px}
+ .post-pager{font-size:1rem;letter-spacing:1px;text-align:center;padding:7px;text-decoration:none;margin:20px 10px}
+ .post-pager .previous, .pager .newer{float:left}
+ .post-pager .next, .pager .older{float:right}
+
+ .footer{margin-top:30px;padding:30px 0 0 0;font-size:16px}
+ .footer a:link, .footer a:visited, .footer a:active{text-decoration:none;color:#0b0c0c}
+ .footer a:hover{color:#ff4747;text-decoration:underline}
+ .soci-icons{display:flex;align-items:center;justify-content:center}
+ .soci-icons:before{display:flex}
+ .soci-icons svg{max-width:32px;max-height:32px;margin:0 8px}
+ .soci-icons a{text-decoration:none}
+ .soci-icons svg:hover{opacity:0.3}
+
+ .credits{text-align:center}
+ .footer p{line-height:0.9}
+ .stats-wrap, .stats{text-align:center;font-size:14px;color:var(--55);margin-bottom:0;line-height:0.8}
+ .footnote{font-size:1rem;margin:0;padding:0}
+ .footnote ol::before{content:'Endnotes';font-size:1.1rem;font-weight:600}
+ .footnote li:first-child{margin-top:1rem}
+ .footnote li{margin:0}
+ a.footnote-ref, a.footnote-backref{text-decoration:none}
+ a.footnote-backref::before, a.footnote-ref::before{content:'['}
+ a.footnote-backref::after, a.footnote-ref::after{content:']'}
+
+ .tiny-font-pic{display:inline-block;vertical-align:middle}
+ .posted-blog{;display:flex;gap:4px;justify-content:center;font-size:14px;color:var(--55)}
+ .posted-blog img{vertical-align:middle}
+ img.curved{border-radius: 10px;}
+ .intro-header{margin-top:3rem;position:relative}
+ .page-heading, .categories-heading, .search-heading{text-align:center}
+ .page-heading h1, .search-heading h1{margin-top:0;font-size:1.5rem;font-weight:500}
+ .post-heading h1{margin:10px 0;text-align:center}
+
+ table{padding:0;font-size:16px}
+ table tr{border-top:1px solid var(--cc);background-color:var(--ff);margin:0;padding:0}
+ table tr:nth-child(2n){background-color:#f8f8f8}
+ table tr th{font-weight:bold;border:1px solid var(--cc);text-align:left;margin:0;padding:6px 13px}
+ table tr td{border:1px solid var(--cc);text-align:left;margin:0;padding:6px 13px}
+ table tr th :first-child, table tr td :first-child{margin-top:0}
+ table tr th :last-child, table tr td :last-child{margin-bottom:0}
+ #social-share-section{margin-bottom:30px}
+ #back-to-top{opacity:0.7}
+ .sor .about-contact{font-family:var(--fs-sans-serif);font-size:15px;font-style:italic;color:var(--55)}
+ @media (max-width:720px){
+ #back-to-top{display:none}
+ body{font-size:1.172em}
+ }
+
+ /* Index Cards */
+ .posts-list{margin-top:3rem}
+ .card-link{display:flex;justify-content:center;align-items:center;padding:15px}
+ .card-inside{display:block;width:100%;box-shadow:2px 2px 5px #9E9E9E, -1px -1px 5px #9E9E9E;border:1px solid var(--cc);border-radius:6px}
+ .card-inside a{text-decoration:none;color:#0b0c0c}
+ .card-content, .card-note{padding:10px 20px}
+ .card-content a:hover, .card-note a:hover{text-decoration:none}
+ .card-content h1{margin:10px 0;font-size:1.4rem;font-weight:600;color:#222}
+ .card-content h1:hover{text-decoration:underline;color:#ff4747}
+ .card-content .posted{border-top:1px solid #dfdfdf;margin-top:10px;padding-top:4px;font-size:0.9rem;color:var(--red)}
+ .excerpt{margin-top:5px;font-size:0.83em;font-weight:400}
+
+ /* Search */
+ #search, #search-input{margin:0 auto;font-family:var(--fs-sans-serif);font-size:1rem;padding:5px 15px;text-align:center}
+ .search{margin:0 auto}
+ #results{margin-top:20px;font-family:var(--fs-serif);font-size:var(--font-scale)}
+ #results p + p{margin:0 0 0 20px;font-size:1.2rem}
+ #results ul, #results li{margin-top:20px;font-size:21px}
+ .fsearch{margin:0 auto;text-align:center;padding-top:15px}
+ input:focus{background-color:#daedf3}
+ input[type=text] {box-sizing:border-box;border:1px solid #555;outline:none}
+ input[type=submit] {font-size:1.1rem;letter-spacing:1px;text-align:center;color:var(--00);padding:6px 12px;margin:0 0 0 10px;background-color:#e7e7e7;border:1px solid #e7e7e7;border-radius:10px;transition-duration:0.3s}
+ input[type=submit]:hover{background-color:var(--ff);color:#ff4747}
+ .search-highlight{background-color:#ffe0e0;padding:0 2px;border-radius:3px}
+
+ .to-me-con{font-family:var(--fs-serif);font-size:1.072em}
+ .to-me-reply{font-family:var(--fs-serif);font-size:1.15rem;margin-top:2rem;padding-left:5px}
+
+ .hit-counter{font-size:0.7em;color:var(--66);text-align:center;margin-top:1em}
+ .like-container{margin:0.7rem 0;padding-left:5px;display:flex;justify-content:flex-start}
+ .like-button{display:inline-flex;align-items:center;cursor:pointer;gap:0.5rem;padding:0;background:transparent;border:none}
+ .heart-icon{width:18px;height:18px;color:var(--66)}
+ .heart-icon.filled{display:none;color:#ff5757}
+ .like-button.liked .heart-icon.unfilled{display:none}
+ .like-button.liked .heart-icon.filled{display:block}
+ .like-count{font-size:1rem;color:var(--66)}
+ .like-button.liked .like-count{color:#ff5757}
+
+ /* Tags */
+ .tags{display:block;align-items:center;font-size:1rem;color:var(--66);margin-top:2rem}
+ .tags a{margin-right:7px}
+ .tags-post{font-size:0.83em}
+ .tags-list{width:90%;margin:0 auto}
+ .tags-list ul{list-style-type: "#"}
+ .tags:not(:has(a)) .tag-label{display:none}
+ .tag-columns {column-count:3;column-gap:2rem;padding-left:0;list-style:none}
+ .tag-columns li {display:inline-block;width:100%;margin-bottom:0.5rem;padding:0.4rem 0.8rem;background:#f0f8ff;border-radius:3px;border:1px solid #d0e7ff;break-inside:avoid}
+ .tag-columns li:nth-child(3n+1) {background:#f0f8ff}
+ .tag-columns li:nth-child(3n+2) {background:#f5f0ff}
+ .tag-columns li:nth-child(3n+3) {background:#f0fff5}
+ @media (max-width: 520px) {
+ .tag-columns {column-count:2}
+ }
+
+ .gal-wrap{margin:0 auto;text-align:center}
+ .gal-cont{display:inline-block;margin-right:5px}
+ .gal-wrap .gal-cont p{text-align:center;font-family:var(--fs-sans-serif);font-size:15px;border-top:1px dotted var(--66);margin-top:20px}
+ .gal-cont img:hover{opacity:0.8;transform:scale(1.02)}
+
+ .isbn{font-family:var(--fs-sans-serif);font-size:0.9rem;color:var(--66);padding-top:10px}
+ .rating, .rate-txt{text-align:center;font-size:1.15rem;font-family:var(--fs-serif)}
+ .star-rating{display:flex;justify-content:center;gap:4px;margin:5px 0}
+ .star{width:24px;height:24px;background-color:#c2c7cc;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .587l3.668 7.568 8.332 1.151-6.064 5.828 1.48 8.279-7.416-3.967-7.417 3.967 1.481-8.279-6.064-5.828 8.332-1.151z'/%3E%3C/svg%3E");mask-size:contain}
+ .star-fill{width:24px;height:24px;background-color:#e87400;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .587l3.668 7.568 8.332 1.151-6.064 5.828 1.48 8.279-7.416-3.967-7.417 3.967 1.481-8.279-6.064-5.828 8.332-1.151z'/%3E%3C/svg%3E");mask-size:contain}
+
+ /* Syntax */
+ .chroma{color:#000;background-color:var(--fence)}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block}.chroma .hl{display:block;width:100%;background-color:#ffc}.chroma .lnt{margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .ln{margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .k{color:#fb660a;font-weight:700}.chroma .kc{color:#fb660a;font-weight:700}.chroma .kd{color:#fb660a;font-weight:700}.chroma .kn{color:#fb660a;font-weight:700}.chroma .kp{color:#fb660a}.chroma .kr{color:#fb660a;font-weight:700}.chroma .kt{color:#777;font-weight:700}.chroma .na{color:#ff0086;font-weight:700}.chroma .no{color:#0086d2}.chroma .nf{color:#ff0086;font-weight:700}.chroma .nt{color:#fb660a;font-weight:700}.chroma .nv{color:#fb660a}.chroma .s{color:#0086d2}.chroma .sa{color:#0086d2}.chroma .sb{color:#0086d2}.chroma .sc{color:#0086d2}.chroma .dl{color:#0086d2}.chroma .sd{color:#0086d2}.chroma .s2{color:#0086d2}.chroma .se{color:#0086d2}.chroma .sh{color:#0086d2}.chroma .si{color:#0086d2}.chroma .sx{color:#0086d2}.chroma .sr{color:#0086d2}.chroma .s1{color:#0086d2}.chroma .ss{color:#0086d2}.chroma .m{color:#0086f7;font-weight:700}.chroma .mb{color:#0086f7;font-weight:700}.chroma .mf{color:#0086f7;font-weight:700}.chroma .mh{color:#0086f7;font-weight:700}.chroma .mi{color:#0086f7;font-weight:700}.chroma .il{color:#0086f7;font-weight:700}.chroma .mo{color:#0086f7;font-weight:700}.chroma .c{color:#080;font-style:italic}.chroma .ch{color:#080;font-style:italic}.chroma .cm{color:#080;font-style:italic}.chroma .c1{color:#080;font-style:italic}.chroma .cs{color:#080;font-style:italic}.chroma .cp{color:#ff0007;font-weight:700;font-style:italic}.chroma .cpf{color:#ff0007;font-weight:700;font-style:italic}.chroma .gh{font-weight:700}.chroma .gu{font-weight:700}.chroma .w{color:#888}
+
+ .post-entry{margin-top:3rem}
+ .archive, .archive ul, .archive li{font-family:var(--fs-sans-serif)}
+ .archive h2::before, .archive h2::after{content:"";height:1px;background:currentColor;opacity:0.3;width:100px;flex-shrink:0}
+ .archive-list{list-style:none;padding-left:0;font-size:0.83em}
+ .archive-item{display:grid;grid-template-columns:1fr auto;align-items:end;margin-bottom:0.75rem;position:relative}
+ .archive-title{grid-column:1;min-width:0;position:relative}
+ .archive-title a{display:inline;background:var(--ff);position:relative;z-index:2;padding-right:0.5rem;overflow-wrap:anywhere;white-space:normal;text-decoration:none;color:inherit}
+ .archive-title a:hover{text-decoration:underline}
+ .archive-title::after{content:"";position:absolute;left:0;right:0;bottom:0.3em;border-bottom:2px dotted #999;z-index:1}
+ .archive-date{grid-column:2;white-space:nowrap;font-variant-numeric:tabular-nums;background:var(--ff);padding-left:0.5rem;position:relative;z-index:3}
+ .year-heading{display:flex;align-items:center;justify-content:center;padding:0.5rem 0;margin:0;font-size:24px;color:var(--red)}
+
+ /* FetchRSS */
+ #rss-feed-box{margin:0 7px}
+ #rss-feed-box ul{list-style-type:square;padding:0;font-size:0.85em;font-family:var(--fs-sans-serif)}
+ #rss-feed-box li{margin:0.6em 1.4em}
+ .source-label{font-size:0.8em;color:#47a10d;font-family:var(--fs-sans-serif)}
+ .date-label{font-size:0.8em;color:#999;font-style:italic;font-family:var(--fs-sans-serif)}
+
diff --git a/pa-py/themes/cybr/archive.html b/pa-py/themes/cybr/archive.html
new file mode 100644
index 0000000..efcace1
--- /dev/null
+++ b/pa-py/themes/cybr/archive.html
@@ -0,0 +1,19 @@
+ <main class="archive-page">
+ <hr class="limiter">
+ <div class="post-entry">
+ <div class="intro-header">
+ <div class="post-heading">
+ <h1>archive</h1>
+ </div>
+ </div>
+ <hr class="start-line">
+ <ul class="archive-list">
+ {% for post in posts %}
+ <li class="archive-item">
+ <span class="archive-title"><a href="{post.url}">{post.title}</a></span>
+ <span class="archive-date">{date|format:%d %b %Y}</span>
+ </li>
+ {% endfor %}
+ </ul>
+ </div>
+ </main>
diff --git a/pa-py/themes/cybr/footer.html b/pa-py/themes/cybr/footer.html
new file mode 100644
index 0000000..8a100b4
--- /dev/null
+++ b/pa-py/themes/cybr/footer.html
@@ -0,0 +1,23 @@
+ <footer>
+ <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="/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">© 2025 / All Rights Reserved</p>
+ <nav class="credits">
+ <a href="/" >Home</a> <a href="/about/" >About</a> <a href="/archive/" >Archive</a> <a href="/tags/" >Tags</a> 
+ </nav>
+ </div>
+ </div>
+
+ <div class="stats-wrap">
+ <p class="stats">Site generated by <a href="https://git.cybrkyd.com/cgi-git.cgi?p=page-with-py" target="_blank" rel="noopener">PaPy</a></p>
+ </div>
+
+
+ </footer>
+ <div> </div>
+
diff --git a/pa-py/themes/cybr/head.html b/pa-py/themes/cybr/head.html
new file mode 100644
index 0000000..282f88b
--- /dev/null
+++ b/pa-py/themes/cybr/head.html
@@ -0,0 +1,63 @@
+ <head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>{PAGE_TITLE}</title>
+ <meta name="description" content="{PAGE_DESC}">
+ <link rel="icon" href="/img/favicon.png" type="image/png">
+ <link rel="stylesheet" href="/css/main.css">
+
+ <!--
+
+ ██████ ██ ██ ██████ ██████ ██ ██ ██ ██ ██████
+ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
+ ██ ████ ██████ ██████ █████ ████ ██ ██
+ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
+ ██████ ██ ██████ ██ ██ ██ ██ ██ ██████
+
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ + +
+ + There is a portal beyond which lies +
+ + knowledge, treasure and vast power beyond +
+ + the reach of most. You already have the +
+ + key... it is right here. It will open up +
+ + the entire universe to you. Will you take +
+ + the first step of that journey? Will you +
+ + at least try? Have you found the 7th key? +
+ + +
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ --VII--
+ -->
+
+ <!-- Open Graph -->
+ <meta property="og:site_name" content="{SITE_TITLE}">
+ <meta property="og:url" content="{PAGE_URL}">
+ <meta property="og:title" content="{PAGE_TITLE}">
+ <meta property="og:description" content="{PAGE_DESC}">
+ <meta property="og:type" content="website">
+ <meta property="og:image" content="{PAGE_IMAGE}">
+ <meta property="og:locale" content="en_GB">
+
+ <!-- Twitter Card -->
+ <meta property="twitter:card" content="summary">
+ <meta property="twitter:url" content="{PAGE_URL}">
+ <meta property="twitter:title" content="{PAGE_TITLE}">
+ <meta property="twitter:description" content="{PAGE_DESC}">
+ <meta property="twitter:image" content="{PAGE_IMAGE}">
+
+ <meta name="robots" content="noarchive">
+
+ <!-- Microdata -->
+ <script type="application/ld+json">
+ {
+ "@context": "http://schema.org",
+ "@type": "{SCHEMA_TYPE}",
+ "name": "{PAGE_TITLE}",
+ "headline": "{PAGE_TITLE}",
+ "url": "{PAGE_URL}",
+ "description": "{PAGE_DESC}",
+ "image": "{PAGE_IMAGE}"
+ }
+ </script>
+ </head>
+
diff --git a/pa-py/themes/cybr/header.html b/pa-py/themes/cybr/header.html
new file mode 100644
index 0000000..afb414f
--- /dev/null
+++ b/pa-py/themes/cybr/header.html
@@ -0,0 +1,10 @@
+ <header>
+ <div class="logo-container">
+ <a href="/index.html"><img src="/img/logo.png" alt="logo" width="256"></a>
+ </div>
+ <nav>
+ <a href="/" >Home</a>
+ <a href="/about/" >About</a>
+ <a href="/archive/" >Archive</a>
+ </nav>
+ </header>
diff --git a/pa-py/themes/cybr/main.html b/pa-py/themes/cybr/main.html
new file mode 100644
index 0000000..2a63dcb
--- /dev/null
+++ b/pa-py/themes/cybr/main.html
@@ -0,0 +1,32 @@
+ <main class="list-page">
+ <hr class="limiter">
+ <div class="intro-header">
+ <div class="post-heading">
+ <h1>cybrkyd's blog</h1>
+ </div>
+ </div>
+ <hr class="start-line">
+ <div class="posts-list">
+ {% for post in posts %}
+ <div class="card-link">
+ <div class="card-inside">
+ <a href="{post.url}">
+ <div class="card-content">
+ <h1>{post.title}</h1>
+ <p class="excerpt">{post.description}</p>
+ <p class="posted">{date|format:%a, %d %b %Y %H:%M %Z}</p>
+ </div>
+ </a>
+ </div>
+ </div>
+ {% endfor %}
+ </div>
+ <nav aria-label="Page navigation">
+ <div class="pager">
+ {pagination}
+ </div>
+ </nav>
+ <div> </div>
+ <hr class="end-line">
+ </main>
+
diff --git a/pa-py/themes/cybr/page.html b/pa-py/themes/cybr/page.html
new file mode 100644
index 0000000..46cf5a6
--- /dev/null
+++ b/pa-py/themes/cybr/page.html
@@ -0,0 +1,20 @@
+ <main class="single-page">
+ <article class="blog-post">
+ <hr class="limiter">
+ <div class="intro-header">
+ <div class="post-heading">
+ <h1>{title}</h1>
+ </div>
+ {% for image in image_data %}
+ <img src="{image.src}" alt="{image.alt}" class="img-title" width="544" height="306" fetchpriority="high">
+ {% endfor %}
+ {% for caption in caption_data %}
+ <div class="article-image-caption"><span>{caption}</span></div>
+ {% endfor %}
+ </div>
+ <hr class="start-line">
+ {content}
+ <hr class="end-line">
+ </article>
+ </main>
+
diff --git a/pa-py/themes/cybr/single.html b/pa-py/themes/cybr/single.html
new file mode 100644
index 0000000..1966485
--- /dev/null
+++ b/pa-py/themes/cybr/single.html
@@ -0,0 +1,43 @@
+ <main class="single-page">
+ <article class="blog-post">
+ <hr class="limiter">
+ <div class="intro-header">
+ <div class="post-heading">
+ <h1>{title}</h1>
+ <div class="posted-blog">
+ <span class="tiny-font-pic">
+ <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill-rule="evenodd" fill="#1d90e9" role="img" aria-label="Analogue clock face"><path d="M12 0c6.623 0 12 5.377 12 12s-5.377 12-12 12-12-5.377-12-12 5.377-12 12-12zm0 1c6.071 0 11 4.929 11 11s-4.929 11-11 11-11-4.929-11-11 4.929-11 11-11zm0 11h6v1h-7v-9h1v8z"/></svg>
+ </span> {date|format:%a, %d %b %Y %H:%M %Z}</div>
+ </div>
+ {% for image in image_data %}
+ <img src="{image.src}" alt="{image.alt}" class="img-title" width="544" height="306" fetchpriority="high">
+ {% endfor %}
+ {% for caption in caption_data %}
+ <div class="article-image-caption"><span>{caption}</span></div>
+ {% endfor %}
+ </div>
+ <hr class="start-line">
+ {content}
+
+ <div class="tags">
+ <span class="tag-label">Tagged in:</span>
+ {% for tag in tags %}
+ <a href="/tags/{tag.url}/">#{tag.label}</a>
+ {% endfor %}
+ </div>
+
+ <hr class="end-line">
+
+ </article>
+
+ <nav aria-label="Post navigation">
+ <div class="post-pager">
+ {% for nav in nav_items %}
+ <span class="{nav.type}">
+ <a href="{nav.url}" title="{nav.title}" aria-label="{nav.type} post: {nav.title}">{nav.label}</a>
+ </span>
+ {% endfor %}
+ </div>
+ </nav>
+ </main>
+
diff --git a/pa-py/themes/cybr/tags.html b/pa-py/themes/cybr/tags.html
new file mode 100644
index 0000000..bc7fff9
--- /dev/null
+++ b/pa-py/themes/cybr/tags.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="tags-list">
+ <ul class="tag-columns">
+ {% for post in posts %}
+ <li><a href="{post.url}">{post.title}</a></li>
+ {% endfor %}
+ </ul>
+ </div>
+ <hr class="end-line">
+ </article>
+ </main>