mirror of
https://github.com/andwati/andwati.com.git
synced 2026-11-14 04:45:13 +00:00
redesign site as "case file" theme
- new paper/ink palette with single red accent, replacing catppuccin - self-hosted IBM Plex Serif (display) + Source Serif 4 (body), drop Outfit - rebuilt homepage masthead, numbered post index, navbar with active states - switch syntax highlighting + utterances to gruvbox, synced via postMessage - remove terminal/404 easter egg chrome, clean up remaining inline styles - fix stray syntax.css link causing a 404
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
{% if config.extra.enable_comments and config.extra.utterances_repo and page %}
|
||||
{% if page.extra.comments is not defined or page.extra.comments %}
|
||||
<div class="comments" id="comments" style="margin-top: 4rem;">
|
||||
<div class="comments" id="comments"
|
||||
data-utterances-theme-dark="{{ config.extra.utterances_theme | default(value="github-dark") }}"
|
||||
data-utterances-theme-light="{{ config.extra.utterances_theme_light | default(value="github-light") }}">
|
||||
<script src="https://utteranc.es/client.js"
|
||||
repo="{{ config.extra.utterances_repo }}"
|
||||
issue-term="pathname"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<header class="site-header">
|
||||
<nav class="nav-container">
|
||||
<a href="{{ get_url(path="") }}" class="brand-link">
|
||||
<span class="brand-text">{{ config.title | default(value="pwna4profit") }}</span>
|
||||
<span class="brand-text">{{ config.title }}</span>
|
||||
</a>
|
||||
|
||||
<div class="nav-right">
|
||||
@@ -9,7 +9,9 @@
|
||||
<div id="nav-links" class="nav-links">
|
||||
{% if config.extra.menu %}
|
||||
{% for item in config.extra.menu %}
|
||||
<a href="{{ get_url(path=item.url) }}" class="nav-item">{{ item.name }}</a>
|
||||
{% set current = current_path | default(value="") %}
|
||||
{% set is_active = item.match and current is starting_with(item.match) %}
|
||||
<a href="{{ get_url(path=item.url) }}" class="nav-item{% if is_active %} is-active{% endif %}"{% if is_active %} aria-current="page"{% endif %}>{{ item.name }}</a>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
@@ -1,69 +1,37 @@
|
||||
<article
|
||||
class="feed-item"
|
||||
style="border-bottom: 1px dashed var(--border-color); padding-bottom: 2rem"
|
||||
>
|
||||
<h2 class="item-title" style="font-size: 1.25rem; margin-bottom: 0.5rem; font-weight: 600">
|
||||
<a href="{{ page.permalink }}">{{ page.title }}</a>
|
||||
</h2>
|
||||
<article class="feed-item card hover-scale">
|
||||
<span class="item-index">{% if loop.index < 10 %}0{{ loop.index }}{% else %}{{ loop.index }}{% endif %}</span>
|
||||
|
||||
<div
|
||||
class="item-meta"
|
||||
style="
|
||||
font-size: 0.85rem;
|
||||
color: var(--text-muted);
|
||||
margin-bottom: 1rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.25rem;
|
||||
"
|
||||
>
|
||||
<span>{{ page.date | date(format="%Y-%m-%d") }}</span>
|
||||
{% if page.reading_time %}
|
||||
<span style="opacity: 0.5;">·</span>
|
||||
<span>{{ page.reading_time }} min read</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="item-body">
|
||||
<h2 class="item-title">
|
||||
<a href="{{ page.permalink }}">{{ page.title }}</a>
|
||||
</h2>
|
||||
|
||||
<div
|
||||
class="item-snippet"
|
||||
style="font-size: 0.95rem; color: var(--text-color); margin-bottom: 1rem; opacity: 0.9"
|
||||
>
|
||||
{% if page.description %}
|
||||
<p style="margin: 0">{{ page.description }}</p>
|
||||
{% else %}
|
||||
<p style="margin: 0">{{ page.content | striptags | truncate(length=120) | safe }}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="item-meta">
|
||||
<span>{{ page.date | date(format="%Y-%m-%d") }}</span>
|
||||
{% if page.reading_time %}
|
||||
<span class="item-meta-sep">·</span>
|
||||
<span>{{ page.reading_time }} min read</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="item-footer"
|
||||
style="display: flex; justify-content: space-between; align-items: center; font-size: 0.85rem"
|
||||
>
|
||||
<a href="{{ page.permalink }}" style="color: var(--accent-color)">Read more...</a>
|
||||
<div class="item-snippet">
|
||||
{% if page.description %}
|
||||
<p>{{ page.description }}</p>
|
||||
{% else %}
|
||||
<p>{{ page.content | striptags | truncate(length=120) | safe }}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% if page.taxonomies.tags %}
|
||||
<div
|
||||
class="item-tags"
|
||||
style="display: flex; align-items: center; gap: 0.5rem; color: var(--text-muted)"
|
||||
>
|
||||
<svg
|
||||
viewBox="0 0 24 24"
|
||||
width="14"
|
||||
height="14"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
fill="none"
|
||||
>
|
||||
<path
|
||||
d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"
|
||||
></path>
|
||||
<line x1="7" y1="7" x2="7.01" y2="7"></line>
|
||||
</svg>
|
||||
<span>
|
||||
{% for tag in page.taxonomies.tags %} {{ tag }}{% if not loop.last %}, {% endif %} {% endfor
|
||||
%}
|
||||
</span>
|
||||
<div class="item-footer">
|
||||
<a href="{{ page.permalink }}" class="item-readmore">Read more<span class="readmore-arrow">→</span></a>
|
||||
|
||||
{% if page.taxonomies.tags %}
|
||||
<div class="item-tags">
|
||||
{% for tag in page.taxonomies.tags %}
|
||||
<a href="{{ get_taxonomy_url(kind="tags", name=tag) }}" class="tag">{{ tag }}</a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</article>
|
||||
|
||||
@@ -1,45 +1,16 @@
|
||||
{% if config.extra.show_profile %}
|
||||
<div class="profile-section" style="display: flex; flex-direction: column; align-items: center; justify-content: center; margin-bottom: 4rem; text-align: center;">
|
||||
{% if config.extra.avatar_url %}
|
||||
<div class="avatar" style="width: 100px; height: 100px; border-radius: 50%; overflow: hidden; margin-bottom: 1rem; background-color: #1a1a1a; display: flex; align-items: center; justify-content: center;">
|
||||
<img src="{{ config.extra.avatar_url }}" alt="Avatar" loading="lazy" decoding="async" style="width: 100%; height: 100%; object-fit: cover;" onerror="this.src='data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 24 24\' fill=\'none\' stroke=\'%23f9fafb\' stroke-width=\'2\' stroke-linecap=\'round\' stroke-linejoin=\'round\'><path d=\'M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\'></path><circle cx=\'12\' cy=\'7\' r=\'4\'></circle></svg>'"/>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if config.extra.profile_subtitle %}
|
||||
<p class="profile-subtitle" style="color: var(--text-muted); font-size: 1rem; margin-bottom: 1rem;">{{ config.extra.profile_subtitle }}</p>
|
||||
{% endif %}
|
||||
|
||||
<div class="social-links" style="display: flex; gap: 1rem; color: var(--text-muted);">
|
||||
{% if config.extra.github_url %}
|
||||
<a href="{{ config.extra.github_url }}" style="color: inherit;" class="hover-scale" aria-label="GitHub">
|
||||
<svg viewBox="0 0 24 24" width="20" height="20" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"></path></svg>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if config.extra.twitter_url %}
|
||||
<a href="{{ config.extra.twitter_url }}" style="color: inherit;" class="hover-scale" aria-label="Twitter">
|
||||
<svg viewBox="0 0 24 24" width="20" height="20" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z"></path></svg>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if config.extra.youtube_url %}
|
||||
<a href="{{ config.extra.youtube_url }}" style="color: inherit;" class="hover-scale" aria-label="YouTube">
|
||||
<svg viewBox="0 0 24 24" width="20" height="20" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.42a2.78 2.78 0 0 0-1.94 2C1 8.13 1 12 1 12s0 3.87.46 5.58a2.78 2.78 0 0 0 1.94 2C5.12 20 12 20 12 20s6.88 0 8.6-.42a2.78 2.78 0 0 0 1.94-2C23 15.87 23 12 23 12s0-3.87-.46-5.58z"></path><polygon points="9.75 15.02 15.5 12 9.75 8.98 9.75 15.02"></polygon></svg>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if config.extra.linkedin_url %}
|
||||
<a href="{{ config.extra.linkedin_url }}" style="color: inherit;" class="hover-scale" aria-label="LinkedIn">
|
||||
<svg viewBox="0 0 24 24" width="20" height="20" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path><rect x="2" y="9" width="4" height="12"></rect><circle cx="4" cy="4" r="2"></circle></svg>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if config.extra.email %}
|
||||
<a href="mailto:{{ config.extra.email }}" style="color: inherit;" class="hover-scale" aria-label="Email">
|
||||
<svg viewBox="0 0 24 24" width="20" height="20" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"></path><polyline points="22,6 12,13 2,6"></polyline></svg>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if config.extra.show_rss_link %}
|
||||
<a href="{{ get_url(path="rss.xml") }}" style="color: inherit;" class="hover-scale" aria-label="RSS">
|
||||
<svg viewBox="0 0 24 24" width="20" height="20" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M4 11a9 9 0 0 1 9 9"></path><path d="M4 4a16 16 0 0 1 16 16"></path><circle cx="5" cy="19" r="1"></circle></svg>
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="masthead">
|
||||
<p class="masthead-kicker">{{ config.extra.author | default(value="andwati") }}{% if config.extra.profile_subtitle %} — {{ config.extra.profile_subtitle }}{% endif %}</p>
|
||||
<h1 class="hero-title masthead-title">{{ config.title }}</h1>
|
||||
<p class="hero-subtitle">{{ config.description }}</p>
|
||||
|
||||
<div class="masthead-links">
|
||||
{% if config.extra.github_url %}<a href="{{ config.extra.github_url }}" target="_blank" rel="noopener noreferrer">GitHub</a>{% endif %}
|
||||
{% if config.extra.twitter_url %}<a href="{{ config.extra.twitter_url }}" target="_blank" rel="noopener noreferrer">Twitter</a>{% endif %}
|
||||
{% if config.extra.youtube_url %}<a href="{{ config.extra.youtube_url }}" target="_blank" rel="noopener noreferrer">YouTube</a>{% endif %}
|
||||
{% if config.extra.linkedin_url %}<a href="{{ config.extra.linkedin_url }}" target="_blank" rel="noopener noreferrer">LinkedIn</a>{% endif %}
|
||||
{% if config.extra.email %}<a href="mailto:{{ config.extra.email }}">Email</a>{% endif %}
|
||||
{% if config.extra.show_rss_link %}<a href="{{ get_url(path="rss.xml") }}">RSS</a>{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
Reference in New Issue
Block a user