From 84fad22f4cb7f81a7b2b36e49f88fc792c130712 Mon Sep 17 00:00:00 2001 From: Labyricorn Date: Wed, 12 Aug 2026 07:19:27 -0700 Subject: [PATCH] Refine homepage project discovery --- assets/static/style.css | 28 +++++++++++++++++++--------- content/contents.lr | 7 +++---- templates/base.html | 2 +- templates/home.html | 39 ++++++++++++++++++++++++++++----------- 4 files changed, 51 insertions(+), 25 deletions(-) diff --git a/assets/static/style.css b/assets/static/style.css index a2093d3..51a4084 100644 --- a/assets/static/style.css +++ b/assets/static/style.css @@ -31,14 +31,14 @@ a:hover, a:focus-visible { color: var(--teal); } .header-meta { display: flex; justify-content: space-between; padding: 0 0 22px; color: var(--dim); font-size: 10px; } .socials { display: flex; flex-wrap: wrap; gap: 20px; color: var(--muted); text-transform: none; letter-spacing: .04em; } -.hero { border-bottom: 1px solid var(--rule); padding: 60px 0 55px; } +.hero { border-bottom: 1px solid var(--rule); padding: 54px 0 48px; } .hero.compact { padding-block: 58px; } .eyebrow { margin: 0 0 18px; color: var(--magenta); font-size: 11px; } .eyebrow::before { content: "— "; } h1, h2 { font-family: var(--serif); } -h1 { max-width: 650px; margin: 0; font-size: clamp(30px, 4vw, 45px); font-style: italic; line-height: 1.25; } +h1 { max-width: 880px; margin: 0; font-size: clamp(30px, 4vw, 45px); font-style: italic; line-height: 1.25; } .entry-hero h1 { font-style: normal; } -.dek { max-width: 650px; margin-top: 18px; color: var(--muted); } +.dek { max-width: 700px; margin-top: 18px; color: var(--muted); } .dek p { margin: 0; } .activity-section { min-height: 370px; padding: 48px 0 72px; } @@ -53,7 +53,7 @@ h1 { max-width: 650px; margin: 0; font-size: clamp(30px, 4vw, 45px); font-style: .accent-blog::before { border-color: var(--violet); } .accent-article::before { border-color: var(--magenta); } .entry-meta { display: flex; align-items: center; gap: 16px; color: var(--muted); font-size: 10px; } -.label { border: 1px solid currentColor; padding: 2px 8px; color: var(--teal); } +.label { border: 1px solid currentColor; padding: 2px 8px; color: var(--teal); text-transform: uppercase; } .accent-blog .label { color: var(--violet); } .accent-article .label { color: var(--magenta); } .timeline-entry h2, .entry-card h2 { margin: 10px 0 5px; font-size: 21px; line-height: 1.3; } @@ -77,11 +77,20 @@ h1 { max-width: 650px; margin: 0; font-size: clamp(30px, 4vw, 45px); font-style: .activity-more-button:focus-visible { border-color: var(--teal); color: var(--teal); } .activity-more-button:disabled { cursor: default; opacity: .55; } -.featured-project-list { border-bottom: 1px solid var(--rule); } -.featured-project { padding: 22px 0 24px; } -.featured-project + .featured-project { border-top: 1px solid rgba(39,48,57,.65); } -.featured-project h2 { margin: 10px 0 5px; font-size: 21px; line-height: 1.3; } -.featured-project p { margin: 0 0 10px; color: var(--muted); font-size: 14px; line-height: 1.55; } +.featured-project-list { display: grid; gap: 14px; } +.featured-project-card { border: 1px solid var(--rule); border-top-color: var(--teal); background: var(--panel); padding: 22px; } +.featured-project-meta { display: flex; align-items: center; justify-content: space-between; gap: 14px; color: var(--muted); font: 10px var(--mono); letter-spacing: .12em; } +.featured-project-card h2 { margin: 15px 0 7px; font-size: 25px; line-height: 1.2; } +.featured-project-card > p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; } +.featured-project-technologies { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 17px; } +.featured-project-technologies span { border: 1px solid rgba(81,182,165,.55); padding: 3px 6px; color: var(--teal); font: 500 9px var(--mono); letter-spacing: .08em; text-transform: uppercase; } +.featured-project-latest { display: grid; gap: 7px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--rule); } +.featured-project-latest > span { color: var(--dim); font: 500 9px var(--mono); letter-spacing: .12em; text-transform: uppercase; } +.featured-project-latest a { color: var(--ink); font: 14px/1.45 var(--serif); } +.featured-project-latest time { color: var(--teal); font: 500 9px var(--mono); letter-spacing: .07em; } +.featured-project-actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 21px; } +.featured-project-actions a { color: var(--magenta); font: 500 10px var(--mono); letter-spacing: .1em; text-transform: uppercase; } +.featured-project-actions a:first-child { color: var(--teal); } .featured-projects-empty { margin: 0; padding: 24px 0; color: var(--muted); } .featured-projects-link { display: inline-block; margin-top: 22px; color: var(--teal); font: 500 10px var(--mono); letter-spacing: .12em; text-transform: uppercase; } @@ -312,6 +321,7 @@ h1 { max-width: 650px; margin: 0; font-size: clamp(30px, 4vw, 45px); font-style: .hero, .hero.compact { padding-block: 44px; } h1 { font-size: 30px; } .homepage-discovery-grid { grid-template-columns: 1fr; gap: 48px; } + .featured-project-card { padding: 20px; } .card-grid { grid-template-columns: 1fr; } .tag-directory { grid-template-columns: 1fr; } .tag-filter { padding-block: 18px; } diff --git a/content/contents.lr b/content/contents.lr index 9df2315..9681acf 100644 --- a/content/contents.lr +++ b/content/contents.lr @@ -4,9 +4,8 @@ title: Home --- eyebrow: The Chronicle --- -summary: A living record of what's shipping, what's written, and what's quietly under construction. +summary: Things built. Lessons learned. Work still in progress. --- body: -Every entry is maintained in Git and published through a repeatable static build. -Commit it, deploy it, and it appears. - +A running record of projects, experiments, technical writing, and the occasional +idea that refused to stay hypothetical. diff --git a/templates/base.html b/templates/base.html index 931b5b0..5432ed9 100644 --- a/templates/base.html +++ b/templates/base.html @@ -9,7 +9,7 @@ - + diff --git a/templates/home.html b/templates/home.html index 660af69..09efb0e 100644 --- a/templates/home.html +++ b/templates/home.html @@ -21,14 +21,12 @@ {% if entries.append(item) %}{% endif %} {% endfor %} {% endfor %} - {% for project in site.query('/projects') %} - {% if project._model == 'project' %} - {% set devlog = site.get(project.path ~ '/devlog') %} - {% if devlog %} - {% for entry in devlog.children %} - {% if entries.append(entry) %}{% endif %} - {% endfor %} - {% endif %} + {% for project in site.query('/projects').filter(F._model == 'project') %} + {% set devlog = site.get(project.path ~ '/devlog') %} + {% if devlog %} + {% for entry in devlog.children %} + {% if entries.append(entry) %}{% endif %} + {% endfor %} {% endif %} {% endfor %} {% for item in entries|sort(attribute='date', reverse=true) %} @@ -56,14 +54,33 @@