New style initial

This commit is contained in:
2026-06-28 20:18:03 -05:00
parent 9938f0f8ff
commit 677bf18e5b
45 changed files with 1454 additions and 667 deletions

View File

@@ -0,0 +1,51 @@
<div class="author">
{% if author %}
{% if author.profilePic %}
{% if author.url %}
<a href="{{ author.url }}">
{% endif %}
<img class="profilePic" src="{{ author.profilePic }}">
{% if author.url %}
</a>
{% endif %}
{% endif %}
<p>
{% if author.url %}
<a href="{{ author.url }}">
{% endif %}
{% if author.name %}
<span class="authorName">{{ author.name }}</span>
{% endif %}
{% if author.url %}
</a>
{% endif %}
{% if author.bio %}
<br>{{ author.bio }}
{% endif %}
</p>
{% else %}
{% if metadata.author.profilePic %}
{% if metadata.author.url %}
<a href="{{ metadata.author.url }}">
{% endif %}
<img class="profilePic" src="{{ metadata.author.profilePic }}">
{% if metadata.author.url %}
</a>
{% endif %}
{% endif %}
<p>
{% if metadata.author.url %}
<a href="{{ metadata.author.url }}">
{% endif %}
{% if metadata.author.name %}
<span class="authorName">{{ metadata.author.name }}</span>
{% endif %}
{% if metadata.author.url %}
</a>
{% endif %}
{% if metadata.author.bio %}
<br>{{ metadata.author.bio }}
{% endif %}
{% endif %}
</p>
</div>

View File

@@ -1,22 +1,25 @@
<footer>
<p>{% if metadata.copyrightNotice %}<span class="copyright-notice">{{ metadata.copyrightNotice }}</span>{% endif %}
{% if metadata.webrings %}<br>
{% for webring in metadata.webrings %}
<span class="webring">
{% if webring.previousURL %}<a href="{{ webring.previousURL }}">←</a>{% endif %}
{% if webring.ringURL %}<a href="{{ webring.ringURL }}">{{ webring.name }}</a>{% endif %}
{% if webring.nextURL %}<a href="{{ webring.nextURL }}">→</a>{% endif %}
</span>
{% endfor %}
{% endif %}
<span class="webring"><a href="/search/">Search</a></span>
<span class="webring"><a href="/sitemap/">Sitemap</a></span>
</p>
<div id="buttonsAndStuffContainer">
<a href="https://notbyai.fyi/">
<img src="/img/written-by-human-not-by-ai-white.svg" alt="Written by humans, not by AI.">
</a>
{% include "settings/siteSettings.njk" %}
<div class="footerContainer">
<p>
{% if metadata.copyrightNotice %}
<span class="copyright-notice">{{ metadata.copyrightNotice }}</span>
{% endif %}
<br>Made by humans, not AI.
<div class="webringsContainer">
{% if metadata.webrings %}{% for webring in metadata.webrings %}
<span class="webring">
{% if webring.previousURL %}<a href="{{ webring.previousURL }}">←</a>{% endif %}
{% if webring.ringURL %}<a href="{{ webring.ringURL }}">{{ webring.name }}</a>{% endif %}
{% if webring.nextURL %}<a href="{{ webring.nextURL }}">→</a>{% endif %}
</span><br>
{% endfor %}{% endif %}
</div>
<div class="linksContainer">
{% if metadata.footerLinks %}{% for link in metadata.footerLinks %}
<a {% if link.onClick %} onCLick="{{ link.onClick }}"{% endif %} href="{{ link.linkURL }}">{{ link.linkDisplay }}</a>
{% endfor %}{% endif %}
</div>
</p>
</div>
</footer>
{% include "settings/siteSettings.njk" %}

View File

@@ -1,12 +1,4 @@
<a href="#skip" class="visually-hidden">Skip to main content</a>
<header>
<a
href="/"
class="home-link">
<img
class="logo"
src="{% if metadata.holidayLogo %}{{ metadata.holidayLogo }}{% else %}{{ metadata.logo }}{% endif %}"
alt="{{ metadata.title }}">
</a>
{% if not hideNav %}{% include "nav.njk" %}{% endif %}
</header>

View File

@@ -13,18 +13,9 @@
{% if tags and tags.includes('galleryImage') %}
<link rel="stylesheet" type="text/css" href="/css/gallery-images.css" />
{% endif %}
{% if tags and tags.includes('metadata') %}
<link rel="stylesheet" type="text/css" href="/css/metadata.css" />
{% endif %}
{% if tags and tags.includes('navigator') %}
<link rel="stylesheet" type="text/css" href="/css/navigator.css" />
{% endif %}
{% if tags and tags.includes('profilePic') %}
<link rel="stylesheet" type="text/css" href="/css/profile-pic.css" />
{% endif %}
{% if tags and tags.includes('postList') %}
<link rel="stylesheet" type="text/css" href="/css/post-list.css" />
{% endif %}
{% if tags and tags.includes('tagList') %}
<link rel="stylesheet" type="text/css" href="/css/tags.css" />
{% endif %}
@@ -86,8 +77,8 @@
</section>
{% endif %}
</main>
{% include "birb.njk" %}
{% include "footer.njk" %}
{% include "birb.njk" %}
{% include "weather.njk" %}
{% include "wooMode.njk" %}
{% include "settings/settingsConfig.njk" %}

View File

@@ -8,7 +8,7 @@ layout: layouts/linksPage.njk
<div class="socialLinks">
{% for link in metadata.socialLinks %}
<a class="link-button u-url" {% if link.customAttribute %} {{ link.customAttribute | safe }} {% endif %} href="{{ link.linkURL }}">
<button type="button"><img src="{{ link.iconURL }}" />{{ link.linkDisplay }}</button>
<button type="button">{{ link.iconSVG | safe }}{{ link.linkDisplay }}</button>
</a>
{% endfor %}
</div>

View File

@@ -2,44 +2,39 @@
layout: layouts/base.njk
---
<article class="post" data-pagefind-body>
<h1>{{ title | markdownify | safe}}</h1>
{% include "mastodonComments.njk" %}
{% if not hideMetadata %}
<div class="post-metadata">
{% if author %}
{% if author.profilePic %}
<img class="profilePic" src="{{ author.profilePic }}">
{% endif %}
<div class="post-metadata-copy">
<p>{% if author.url %}<a href="{{ author.url }}">{% endif %}
{% if author.name %}By {{ author.name }}{% endif %}{% if author.url %}</a>&nbsp;•&nbsp;{% endif %}<time datetime="{{ page.date | htmlDateString }}">{{ page.date | niceDate }}</time>&nbsp;•&nbsp;{{ content | emojiReadTime }}</p>
{% else %}
{% if metadata.author.profilePic %}
<img class="profilePic" src="{{ metadata.author.profilePic }}">
{% endif %}
<div class="post-metadata-copy">
<p>{% if metadata.author.url %}<a href="{{ metadata.author.url }}">{% endif %}
{% if metadata.author.name %}By {{ metadata.author.name }}{% endif %}{% if metadata.author.url %}</a>&nbsp;•&nbsp;{% endif %}<time datetime="{{ page.date | htmlDateString }}">{{ page.date | niceDate }}</time>{% if tags and not tags.includes('quiz') %}&nbsp;•&nbsp;{{ content | emojiReadTime }}{% endif %}</p>
{% endif %}
<ul>
{%- for tag in tags | filterTagList %}
{%- set tagUrl %}/tags/{{ tag | slugify }}/{% endset %}
<li>
<a
href="{{ tagUrl }}"
class="post-tag">
{{ tag }}&nbsp;
</a>
</li>
{%- endfor %}
</ul>
<div class="hero-container">
<div class="hero">
<p class="post-taglist">
{%- for tag in tags | filterTagList %}
{%- set tagUrl %}/tags/{{ tag | slugify }}/{% endset %}
<a href="{{ tagUrl }}">#{{ tag }}&nbsp;</a>
{%- endfor %}
</p>
<h1>{{ title | markdownify | safe}}</h1>
{% if synopsis %}
<p class="post-synopsis">
{{ synopsis | markdownify | safe}}
</p>
{% endif %}
{% if tags and tags.includes('quiz') %}
<p class="post-synopsis">
{{ content | markdownify | safe}}
</p>
{% endif %}
{% if not tags.includes('quiz') %}
{% if imageURL %}
<a href="{{ imageURL }}"><img class="post-image" src="{{ imageURL }}" alt="{{ imageAlt }}"></a>
{% endif %}
<p class="post-time-author">
<time datetime="{{ page.date | htmlDateString }}">{{ page.date | niceDate }}</time><br>
By <a href="{% if author %}{{ author.url }}{% else %}{{ metadata.author.url }}{% endif %}">{% if author %}{{ author.name }}{% else %}{{ metadata.author.name }}{% endif %}</a></p>
{% endif %}
</div>
</div>
</div>
{% endif %}
{{ content | safe }}
{% if tags and not tags.includes('quiz') %}{{ content | safe }}{% endif %}
</article>
{% if tags and not tags.includes('quiz') %}
{% include "articleAuthor.njk" %}
{% include "mastodonComments.njk" %}
{% endif %}
{% include "issoCommenting.njk" %}

View File

@@ -3,6 +3,12 @@ layout: layouts/post.njk
structuredData: none
---
{{ content | safe }}
{% if imageURL %}
<a href="{{ imageURL }}"><img class="post-image" src="{{ imageURL }}" alt="{{ imageAlt }}"></a>
{% endif %}
<p class="post-time-author">
<time datetime="{{ page.date | htmlDateString }}">{{ page.date | niceDate }}</time><br>
By <a href="{% if author %}{{ author.url }}{% else %}{{ metadata.author.url }}{% endif %}">{% if author %}{{ author.name }}{% else %}{{ metadata.author.name }}{% endif %}</a></p>
<section class="quiz">
<form onsubmit="handleQuizSubmit(); return false">
{% for question in questions %}

View File

@@ -2,7 +2,15 @@
<div class="continue-discussion">
<a class="link-button" href="https://{{ metadata.mastodonHost }}/@{{ metadata.mastodonUser }}/{{ mastodon_id }}">
<button type="button">
<img src="/img/mastodon.svg">
<svg
viewBox="0 0 1536 1792"
xmlns="http://www.w3.org/2000/svg">
<path
d="M1503.302 1111.386c-22.579 116.159-202.224 243.284-408.55 267.921-107.588 12.837-213.519 24.636-326.476 19.455-184.728-8.463-330.494-44.092-330.494-44.092 0 17.983 1.11 35.106 3.328 51.12 24.015 182.308 180.772 193.228 329.261 198.32 149.872 5.127 283.321-36.951 283.321-36.951l6.157 135.491s-104.827 56.293-291.574 66.646c-102.974 5.66-230.836-2.59-379.759-42.009C65.529 1641.797 10.219 1297.502 1.482 948.17-1.11 844.449.485 746.646.49 664.847.5 307.631 234.539 202.924 234.539 202.924c118.011-54.199 320.512-76.99 531.033-78.71h5.173c210.52 1.721 413.152 24.511 531.157 78.71 0 0 234.04 104.706 234.04 461.923 0 0 2.935 263.556-32.64 446.539zm-243.429-418.827c0-88.4-21.711-159.35-67.71-210.618-46.63-51.972-107.687-78.613-183.47-78.613-87.699 0-154.104 33.703-198.002 101.121L768 576l-42.683-71.55c-43.907-67.42-110.313-101.124-198.003-101.124-75.792 0-136.849 26.642-183.47 78.614-45.21 51.973-67.718 122.219-67.718 210.618v432.53h171.359V705.273c0-88.498 37.234-133.415 111.713-133.415 82.35 0 123.63 53.283 123.63 158.646v229.788h170.35V730.505c0-105.363 41.272-158.646 123.62-158.646 74.478 0 111.715 44.917 111.715 133.415v419.816h171.358V692.56z"
id="path1"
style="fill-opacity:1" />
</svg>
Discuss on Mastodon &#187;
</button>
</a>

View File

@@ -1,10 +1,24 @@
<nav>
<h2 class="visually-hidden">Top level navigation menu</h2>
<ul class="nav">
{%- for entry in collections.all | eleventyNavigation %}
<li class="nav-item" {% if entry.url == page.url %} aria-current="page" data-currentpage="true"{% endif %}><a href="{{ entry.url }}">{{ entry.title }}</a></li>
{%- endfor %}
<li class="subscribe nav-item"><a href="/feed/feed.xml">{% include "rssLogo.njk" %}Feed</a>
</li>
</ul>
<div class="nav-elements-grid-container">
<div class="nav-elements-container">
<h2 class="visually-hidden">Top level navigation menu</h2>
<a
href="/"
class="home-link">
<svg class="logo" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 8.467 8.467"><path d="M23.248 20.452v6.444c0 1.12.902 2.023 2.023 2.023h4.421c1.12 0 2.023-.902 2.023-2.023v-4.421c0-1.12-.902-2.023-2.023-2.023h-6.444m1.516 1.924q.102.007.255.013a8 8 0 0 0 .848-.013l2.39 3.18V23.32q0-.313-.039-.478a.36.36 0 0 0-.165-.243q-.128-.076-.402-.095v-.128a18 18 0 0 0 .676.02 8 8 0 0 0 .567-.02v.128a.65.65 0 0 0-.312.095.36.36 0 0 0-.147.23 2.3 2.3 0 0 0-.032.44v3.638a1.712 1.712 0 0 0-.268 0l-2.734-3.715v2.753q0 .306.039.478.037.165.166.242.134.07.401.096v.127a3 3 0 0 0-.312-.013 11 11 0 0 0-.676 0q-.153 0-.255.013v-.127a.7.7 0 0 0 .312-.096.34.34 0 0 0 .141-.23q.038-.159.038-.44v-2.943q0-.236-.038-.344a.21.21 0 0 0-.14-.153.9.9 0 0 0-.313-.051zm5.092 3.671a.5.5 0 0 1 .357.128q.14.127.14.337t-.14.338a.5.5 0 0 1-.357.127.52.52 0 0 1-.363-.127.45.45 0 0 1-.134-.338q0-.21.134-.337a.52.52 0 0 1 .363-.128" style="fill-opacity:1;" transform="translate(-23.248 -20.452)"/></svg>
</a>
{% if tags and tags.includes('posts') and not tags.includes('quiz') and not hideBlogTitleFromHeader%}
<a class="blog-name" href="/blog">
{{ metadata.blogName }}
</a>
{% endif %}
<ul class="nav">
{%- for entry in collections.all | eleventyNavigation %}
<li class="nav-item" {% if entry.url == page.url %} aria-current="page" data-currentpage="true"{% endif %}><a href="{{ entry.url }}">{{ entry.title }}</a></li>
{%- endfor %}
<li class="subscribe nav-item"><a href="/feed/feed.xml">{% include "rssLogo.njk" %}Feed</a>
</li>
</ul>
</div>
</div>
</nav>

View File

@@ -2,7 +2,7 @@
{% for link in metadata.navigatorLinks %}
<div class="navigatorItem">
<a href="{{ link.linkURL }}">
<img alt="" src="{{ link.iconURL }}">
{{ link.iconSVG | safe }}
<p>{{ link.linkDisplay }}</p>
</a>
</div>

View File

@@ -1,12 +1,14 @@
{% set numPages = pagination.pages | length %}
{% if pagination.pageNumber > 0 %}
<a href="/{{ paginationRootDir }}/{% if pagination.pageNumber > 1%}page-{{ pagination.pageNumber }}/{% endif %}">
<button type="button">← Previous</button>
</a>
{% endif %}
<span class=buttonContainer>
{% if pagination.pageNumber > 0 %}
<a href="/{{ paginationRootDir }}/{% if pagination.pageNumber > 1%}page-{{ pagination.pageNumber }}/{% endif %}">
<button type="button">← Previous</button>
</a>
{% endif %}
{% if pagination.pageNumber < numPages - 1 %}
<a href="/{{ paginationRootDir }}/page-{{ pagination.pageNumber + 2 }}/">
<button type="button">{% if pagination.pageNumber == 0%}More{% else %}Next{% endif %} →</button>
</a>
{% endif %}
{% if pagination.pageNumber < numPages - 1 %}
<a href="/{{ paginationRootDir }}/page-{{ pagination.pageNumber + 2 }}/">
<button type="button">{% if pagination.pageNumber == 0%}Next{% else %}Next{% endif %} →</button>
</a>
{% endif %}
</span>

View File

@@ -1,17 +1,8 @@
<section class="postlist{% if postListTypeMicroblog %} microblogList{% endif %}">
{% if postlistHeaderText %}<h2>{{ postlistHeaderText }}</h2>{% endif %}
{% if postlistHeaderText %}<h2 class="postlist-header">{{ postlistHeaderText }}</h2>{% endif %}
<div class="postlist-item-container">
{% for post in postslist %}
<article class="postlist-item{% if post.url == url %} postlist-item-active{% endif %}">
{% if not postListTypeMicroblog %}
<a href="{{ post.url }}" class="postlist-link">
<div class="post-image-container">
<img class="post-image" {% if post.data.imageURL %} src="{{ post.data.imageURL }}" alt="{{ post.data.imageAlt }}" {% else %} src="{{ metadata.defaultPostImageURL }}" alt="{{ metadata.defaultPostImageAlt }}"{% endif %}>
</div>
</a>
{% endif %}
<div class="post-copy">
{% if not postListTypeMicroblog %}
<a href="{{ post.url }}" class="postlist-link">
@@ -23,6 +14,13 @@
</a>
{% endif %}
{% if post.data.synopsis %}
<p>{{ post.data.synopsis | markdownify | safe }}</p>
{% endif %}
{% if not post.data.synopsis and post.data.description %}
<p>{{ post.data.description | markdownify | safe }}</p>
{% endif %}
<div class="post-metadata">
<div class="post-metadata-copy">
<p>
@@ -32,30 +30,25 @@
<a href="{{ post.data.author.url }}">
{% endif %}
{% if post.data.author.name %}
By {{ post.data.author.name }}
{{ post.data.author.name }}
{% endif %}
{% if post.data.author.url %}</a>&nbsp;•&nbsp;
{% endif %}
{% else %}<a href="{{ metadata.author.url }}">By {{ metadata.author.name }}</a>&nbsp;•&nbsp;
{% else %}<a href="{{ metadata.author.url }}">{{ metadata.author.name }}</a>&nbsp;•&nbsp;
{% endif %}
{% endif %}
<time datetime="{{ post.date | htmlDateString }}">{{ post.date | niceDate }}{% if post.data.time %}—{{ post.data.time }}{% endif %}</time>
</p>
<ul>
{%- for tag in post.data.tags | filterTagList %}
{%- set tagUrl %}/tags/{{ tag | slugify }}/{% endset %}
<li>
<a
href="{{ tagUrl }}"
class="post-tag">
{{ tag }}&nbsp;
</a>
</li>
{%- endfor %}
</ul>
</div>
</div>
</div>
{% if not postListTypeMicroblog %}
<a href="{{ post.url }}" class="postlist-link">
<div class="post-image-container">
<img class="post-image" {% if post.data.imageURL %} src="{{ post.data.imageURL }}" alt="{{ post.data.imageAlt }}" {% else %} src="{{ metadata.defaultPostImageURL }}" alt="{{ metadata.defaultPostImageAlt }}"{% endif %}>
</div>
</a>
{% endif %}
</article>
<hr>
{% endfor %}

View File

@@ -1,5 +1,4 @@
<div id="siteSettingsContainer">
<button onclick="siteSettings.showModal();">Site Settings</button>
<dialog id="siteSettings">
<h2>Site Settings</h2>
{% include "settings/controllers/birbController.njk" %}

View File

@@ -7,28 +7,27 @@
<span class="microblog-emoji">{{ status.data.emoji }}</span>
<div class="microblog-status-copy">
<p>
<span class="status-metadata">
{% if metadata.author.url %}
<a href="{{ metadata.author.url }}">
<p>
<span class="status-metadata">
{% if metadata.author.url %}
<a href="{{ metadata.author.url }}">
{% endif %}
{% if metadata.author.name %}
{{ metadata.author.name }}
{% endif %}
{% if metadata.author.url %}
</a>
{% endif %}
• {{ status.date | niceDate }}<br />
</span>
{% if status.data.comment %}
{{ status.data.comment | markdownify | safe }}<br />
{% endif %}
{% if metadata.author.name %}
{{ metadata.author.name }}
{% endif %}
{% if metadata.author.url %}
</a><br />
{% endif %}
</span>
{{ status.data.comment | markdownify | safe }}<br />
<span class="status-metadata">
{{ status.date | niceDate }}
</span>
</p>
</p>
</div>
</div>
</article>
{% endfor %}