diff options
| -rw-r--r-- | config.yaml | 11 | ||||
| -rw-r--r-- | home.html | 362 | ||||
| -rwxr-xr-x | kite | bin | 14290747 -> 0 bytes | |||
| -rwxr-xr-x | kite-release | bin | 2781528 -> 0 bytes | |||
| -rw-r--r-- | kite-release.upx | bin | 412 -> 0 bytes | |||
| -rw-r--r-- | layout.html | 242 | ||||
| -rw-r--r-- | todos.txt | 5 |
7 files changed, 6 insertions, 614 deletions
diff --git a/config.yaml b/config.yaml index 98edbd2..f363450 100644 --- a/config.yaml +++ b/config.yaml @@ -1,5 +1,6 @@ -siteTitle: "himanshu.co" -authorName: "Himanshu Sardana" -authorRole: "Linux Enthusiast" -authorBio: "i use arch btw" -# defaultTheme: "modern-light" +siteTitle: "My Blog" +authorName: "Test" +authorRole: "Developer" +authorBio: "Test bio" +defaultTheme: "modern-light" +siteUrl: "https://example.com" diff --git a/home.html b/home.html deleted file mode 100644 index 0e963fe..0000000 --- a/home.html +++ /dev/null @@ -1,362 +0,0 @@ -<!doctype html> -<html lang="en"> - <head> - <meta charset="UTF-8" /> - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <title>{{ .SiteTitle }}</title> - <link rel="preconnect" href="https://fonts.googleapis.com" /> - <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> - <link - href="https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Geist:wght@300;400;500&family=Geist+Mono:wght@400;500&display=swap" - rel="stylesheet" - /> - <style> - :root { - --bg: #f9f8f6; - --surface: #ffffff; - --border: #e4e3df; - --text: #111110; - --text-2: #5c5b57; - --text-3: #a8a7a2; - --warm: #b85c38; - --serif: "Instrument Serif", Georgia, serif; - --sans: "Geist", system-ui, sans-serif; - --mono: "Geist Mono", ui-monospace, monospace; - --ease: cubic-bezier(0.16, 1, 0.3, 1); - } - - *, - *::before, - *::after { - box-sizing: border-box; - } - - html { - scroll-behavior: smooth; - } - - body { - margin: 0; - background: var(--bg); - color: var(--text); - font-family: var(--sans); - -webkit-font-smoothing: antialiased; - min-height: 100vh; - } - - /* ── Layout ── */ - .page { - max-width: 640px; - margin: 0 auto; - padding: 0 2rem; - } - - /* ── Nav ── */ - nav { - display: flex; - justify-content: flex-end; - align-items: center; - padding: 2rem 0 0; - gap: 2rem; - } - - nav a { - font-family: var(--mono); - font-size: 0.68rem; - letter-spacing: 0.08em; - text-transform: uppercase; - color: var(--text-3); - text-decoration: none; - transition: color 120ms ease; - } - - nav a:hover { - color: var(--text); - } - - /* ── Hero ── */ - .hero { - padding: 5rem 0 4rem; - border-bottom: 1px solid var(--border); - } - - .hero-name { - font-family: var(--serif); - font-size: clamp(2.8rem, 8vw, 4.5rem); - font-weight: 400; - line-height: 1.05; - letter-spacing: -0.01em; - margin: 0 0 1.2rem; - color: var(--text); - animation: fadeUp 0.7s var(--ease) both; - } - - .hero-name em { - font-style: italic; - color: var(--text-2); - } - - .hero-role { - font-family: var(--mono); - font-size: 0.7rem; - letter-spacing: 0.1em; - text-transform: uppercase; - color: var(--text-3); - margin: 0 0 1.4rem; - animation: fadeUp 0.7s 0.08s var(--ease) both; - } - - .hero-bio { - font-size: 0.975rem; - line-height: 1.8; - color: var(--text-2); - margin: 0; - max-width: 420px; - animation: fadeUp 0.7s 0.15s var(--ease) both; - } - - /* ── Writing section ── */ - .writing-header { - display: flex; - align-items: center; - gap: 1rem; - padding: 2.8rem 0 1.6rem; - } - - .writing-label { - font-family: var(--mono); - font-size: 0.64rem; - letter-spacing: 0.12em; - text-transform: uppercase; - color: var(--text-3); - white-space: nowrap; - } - - .writing-rule { - flex: 1; - height: 1px; - background: var(--border); - } - - /* ── Post list ── */ - .post-list { - margin: 0; - padding: 0; - list-style: none; - } - - .post-list li { - padding: 0; - margin: 0; - } - - .post-list li::before { - display: none; - } - - .post-item { - display: flex; - align-items: baseline; - gap: 1.5rem; - padding: 1rem 0; - text-decoration: none; - color: inherit; - border-bottom: 1px solid var(--border); - transition: opacity 140ms ease; - animation: fadeUp 0.5s var(--ease) both; - } - - .post-item:hover { - opacity: 0.55; - } - - .post-date { - font-family: var(--mono); - font-size: 0.63rem; - letter-spacing: 0.05em; - color: var(--text-3); - white-space: nowrap; - flex-shrink: 0; - padding-top: 0.1em; - min-width: 5.5rem; - } - - .post-right { - flex: 1; - min-width: 0; - } - - .post-title { - font-family: var(--serif); - font-size: 1.05rem; - font-weight: 400; - color: var(--text); - line-height: 1.45; - display: block; - } - - .post-tags { - display: flex; - gap: 0.3rem; - margin-top: 0.4rem; - flex-wrap: wrap; - } - - .pill { - display: inline-block; - font-family: var(--mono); - font-size: 0.58rem; - letter-spacing: 0.06em; - text-transform: uppercase; - padding: 0.15rem 0.45rem; - background: transparent; - border: 1px solid var(--border); - border-radius: 100px; - color: var(--text-3); - } - - /* ── Empty state ── */ - .empty { - font-family: var(--mono); - font-size: 0.72rem; - color: var(--text-3); - letter-spacing: 0.06em; - padding: 2.5rem 0; - } - - /* ── Footer ── */ - footer { - padding: 2.5rem 0 3rem; - display: flex; - justify-content: space-between; - align-items: center; - flex-wrap: wrap; - gap: 0.8rem; - font-family: var(--mono); - font-size: 0.65rem; - letter-spacing: 0.05em; - color: var(--text-3); - } - - footer a { - color: inherit; - text-decoration: underline; - text-underline-offset: 3px; - text-decoration-color: var(--border); - transition: color 120ms ease; - } - - footer a:hover { - color: var(--text); - } - - /* ── Animations ── */ - @keyframes fadeUp { - from { - opacity: 0; - transform: translateY(10px); - } - to { - opacity: 1; - transform: translateY(0); - } - } - - /* stagger post items */ - .post-item:nth-child(1) { - animation-delay: 0.2s; - } - .post-item:nth-child(2) { - animation-delay: 0.27s; - } - .post-item:nth-child(3) { - animation-delay: 0.34s; - } - .post-item:nth-child(4) { - animation-delay: 0.41s; - } - .post-item:nth-child(5) { - animation-delay: 0.48s; - } - .post-item:nth-child(6) { - animation-delay: 0.55s; - } - - /* ── Mobile ── */ - @media (max-width: 500px) { - .page { - padding: 0 1.4rem; - } - .hero { - padding: 3.5rem 0 3rem; - } - .post-item { - flex-direction: column; - gap: 0.2rem; - } - .post-date { - min-width: unset; - } - footer { - flex-direction: column; - } - } - - :focus-visible { - outline: 2px solid var(--text); - outline-offset: 3px; - border-radius: 2px; - } - </style> - </head> - <body> - <div class="page"> - <nav> - <a href="/about">About</a> - <a href="/feed.xml">RSS</a> - </nav> - - <header class="hero"> - <h1 class="hero-name">{{ .AuthorName }}</h1> - <p class="hero-role">{{ .AuthorRole }}</p> - <p class="hero-bio">{{ .AuthorBio }}</p> - </header> - - <main> - <div class="writing-header"> - <span class="writing-label">Writing</span> - <span class="writing-rule"></span> - </div> - - {{ if .Posts }} - <ul class="post-list"> - {{ range .Posts }} - <li> - <a class="post-item" href="/{{ .Slug }}/"> - <span class="post-right"> - <span class="post-title">{{ .Title }}</span> - {{ if .Tags }} - <span class="post-tags"> - {{ range .Tags }} - <span class="pill">{{ . }}</span> - {{ end }} - </span> - {{ end }} - </span> - <span class="post-date">{{ .Date }}</span> - </a> - </li> - {{ end }} - </ul> - {{ else }} - <p class="empty">No posts yet.</p> - {{ end }} - </main> - - <footer> - <span>© {{ .Year }} {{ .AuthorName }}</span> - <span>Built with <a href="#">kite</a></span> - </footer> - </div> - </body> -</html> Binary files differdiff --git a/kite-release b/kite-release Binary files differdeleted file mode 100755 index 2deca52..0000000 --- a/kite-release +++ /dev/null diff --git a/kite-release.upx b/kite-release.upx Binary files differdeleted file mode 100644 index 4898f35..0000000 --- a/kite-release.upx +++ /dev/null diff --git a/layout.html b/layout.html deleted file mode 100644 index 97bdb4b..0000000 --- a/layout.html +++ /dev/null @@ -1,242 +0,0 @@ -<!doctype html> -<html lang="en"> - <head> - <meta charset="UTF-8" /> - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="description" content="{{ .Title }}" /> - <title>{{ .Title }}</title> - <link rel="preconnect" href="https://fonts.googleapis.com" /> - <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> - <link - href="https://cdn.jsdelivr.net/npm/prismjs/themes/prism.css" - rel="stylesheet" - /> - <script src="https://cdn.jsdelivr.net/npm/prismjs/prism.js"></script> - <script src="https://cdn.jsdelivr.net/npm/prismjs/plugins/autoloader/prism-autoloader.min.js"></script> - <link rel="stylesheet" href="../style.css" /> - <style> - .toc { - position: static !important; - width: auto !important; - right: auto !important; - top: auto !important; - background: var(--bg-subtle) !important; - border: 1px solid var(--border) !important; - padding: 1.2rem 1.4rem !important; - margin: 0 0 3rem !important; - } - - .toc-title { - margin: 0 0 0.8rem !important; - font-size: 0.65rem !important; - line-height: 1 !important; - display: block; - } - - .toc ul { - display: block; - margin: 0; - padding: 0; - } - - .toc li { - display: block; - padding-left: 0 !important; - margin: 0.25rem 0 !important; - } - - .toc li::before { - display: none !important; - } - - .toc a.active { - color: var(--text); - font-weight: 500; - } - - .toc-toggle { - display: flex; - align-items: center; - gap: 0.5rem; - cursor: pointer; - background: none; - border: none; - padding: 0; - font-family: var(--mono); - font-size: 0.65rem; - letter-spacing: 0.1em; - text-transform: uppercase; - color: var(--text-muted); - margin-bottom: 0.8rem; - width: 100%; - text-align: left; - } - - .toc-toggle svg { - transition: transform 140ms ease; - flex-shrink: 0; - } - - .toc-toggle[aria-expanded="false"] svg { - transform: rotate(-90deg); - } - - .toc-body { - overflow: hidden; - transition: - max-height 240ms ease, - opacity 200ms ease; - max-height: 800px; - opacity: 1; - } - - .toc-body.collapsed { - max-height: 0; - opacity: 0; - } - - @media (max-width: 699px) { - .toc-title { - display: none; - } - .toc-toggle { - display: flex; - } - .toc-body { - } - } - - @media (min-width: 700px) { - .toc-toggle { - display: none; - } - .toc-title { - display: block; - } - .toc-body { - max-height: none !important; - opacity: 1 !important; - } - } - - @media (min-width: 1100px) { - .toc { - position: fixed !important; - top: 6rem !important; - left: max(2rem, calc((100vw - 680px) / 2 - 220px)) !important; - width: 200px !important; - background: transparent !important; - border: none !important; - padding: 0 !important; - margin: 0 !important; - } - - .toc-toggle { - display: none; - } - .toc-title { - display: block; - } - .toc-body { - max-height: none !important; - opacity: 1 !important; - } - - .toc-level-2 { - margin-left: 0.8rem !important; - } - .toc-level-3 { - margin-left: 1.4rem !important; - } - .toc-level-4 { - margin-left: 2rem !important; - } - } - </style> - </head> - <body> - <main class="article"> - <nav class="toc" aria-label="Table of contents"> - <button - class="toc-toggle" - aria-expanded="false" - aria-controls="toc-body" - > - <svg - width="10" - height="10" - viewBox="0 0 10 10" - fill="none" - aria-hidden="true" - > - <path - d="M2 3.5L5 6.5L8 3.5" - stroke="currentColor" - stroke-width="1.4" - stroke-linecap="round" - stroke-linejoin="round" - /> - </svg> - Contents - </button> - - <div class="toc-body collapsed" id="toc-body"> - <ul> - {{ range .TOC }} - <li class="toc-level-{{ .Level }}"> - <a href="#{{ .ID }}">{{ .Text }}</a> - </li> - {{ end }} - </ul> - </div> - </nav> - - <h1>{{ .Title }}</h1> - {{ .Content }} - </main> - - <script> - const toggle = document.querySelector(".toc-toggle"); - const body = document.getElementById("toc-body"); - - if (toggle && body) { - toggle.addEventListener("click", () => { - const expanded = toggle.getAttribute("aria-expanded") === "true"; - toggle.setAttribute("aria-expanded", String(!expanded)); - body.classList.toggle("collapsed", expanded); - }); - } - - const tocLinks = document.querySelectorAll(".toc a"); - - if (tocLinks.length > 0) { - const headingIDs = Array.from(tocLinks).map((a) => - decodeURIComponent(a.getAttribute("href").slice(1)), - ); - const headings = headingIDs - .map((id) => document.getElementById(id)) - .filter(Boolean); - - let current = null; - - const observer = new IntersectionObserver( - (entries) => { - entries.forEach((entry) => { - if (entry.isIntersecting) { - current = entry.target.id; - } - }); - - tocLinks.forEach((a) => { - const id = decodeURIComponent(a.getAttribute("href").slice(1)); - a.classList.toggle("active", id === current); - }); - }, - { rootMargin: "0px 0px -70% 0px", threshold: 0 }, - ); - - headings.forEach((h) => observer.observe(h)); - } - </script> - </body> -</html> diff --git a/todos.txt b/todos.txt deleted file mode 100644 index bed8ddb..0000000 --- a/todos.txt +++ /dev/null @@ -1,5 +0,0 @@ -REFACTORRRR - -cmd/ -> contains main.go files -internal/<abc> -> code that is not to be imported anywhere outside the internal dir -pkg/<abc> -> code that is supposed to be imported anywhere outside the internal dir |
