This commit is contained in:
spleenftw committed 2026-07-10 12:31:56 +02:00
1 parent 4c2ff4af61
commit 5384ae0cd1
7 files changed
+198 -11

No files matched your search

+17 -2
View File
@@ -261,5 +261,20 @@
?>
<link rel="stylesheet" type="text/css" href="<?php echo $styleHref; ?>">
<!-- Load Bludit Plugins: Site head -->
<?php Theme::plugins('siteHead'); ?>
<!-- Load Bludit Plugins: Site head.
The theme already emits a complete, coherent set of Open Graph / Twitter
Card / canonical tags above. Bludit's Open Graph & Twitter Cards plugins
emit their own (conflicting) set — e.g. a post image as og:image on the
homepage and multiple og:locale values — so their duplicates are stripped
here. Best fixed at the source by deactivating those plugins in the admin;
this filter just makes the markup correct either way. -->
<?php
ob_start();
Theme::plugins('siteHead');
$bdPluginHead = ob_get_clean();
// <meta property="og:…"> / <meta name="twitter:…"> / <meta property="article:…">
$bdPluginHead = preg_replace('/<meta\b[^>]*\b(?:property|name)=["\'](?:og:|twitter:|article:)[^"\']*["\'][^>]*>\s*/i', '', $bdPluginHead);
// duplicate <link rel="canonical">
$bdPluginHead = preg_replace('/<link\b[^>]*\brel=["\']canonical["\'][^>]*>\s*/i', '', $bdPluginHead);
echo $bdPluginHead;
?>
+20 -3
View File
@@ -69,8 +69,18 @@
</div>
</div>
<!-- Tags and Category -->
<?php $tagsList = $page->tags(true); $categoryKey = $page->categoryKey(); ?>
<!-- Excerpt (the page description, set in the admin's SEO tab) -->
<?php $bdExcerpt = blowfish_plain($page->description()); ?>
<?php if ($bdExcerpt !== '') : ?>
<p class="post-list-excerpt"><?php echo htmlspecialchars($bdExcerpt, ENT_QUOTES, 'UTF-8'); ?></p>
<?php endif ?>
<!-- Tags and Category — capped so the list stays scannable -->
<?php
$tagsList = $page->tags(true);
$categoryKey = $page->categoryKey();
$bdMaxTags = 5; // tags shown per post on the list; the rest collapse into "+N"
?>
<?php if (!empty($tagsList) || $categoryKey) : ?>
<div class="post-taxonomy">
<?php if ($categoryKey) : ?>
@@ -78,9 +88,16 @@
<?php echo blowfish_icon('folder'); ?><?php echo blowfish_text($page->category()); ?>
</a>
<?php endif ?>
<?php $bdTagCount = 0; $bdTagOverflow = 0; ?>
<?php foreach ($tagsList as $tagKey => $tagName) : ?>
<a class="taxonomy-badge" href="<?php echo DOMAIN_TAGS . $tagKey; ?>"><?php echo blowfish_icon('tag'); ?><?php echo blowfish_text($tagName); ?></a>
<?php if ($bdTagCount < $bdMaxTags) : $bdTagCount++; ?>
<a class="taxonomy-badge" href="<?php echo DOMAIN_TAGS . $tagKey; ?>"><?php echo blowfish_icon('tag'); ?><?php echo blowfish_text($tagName); ?></a>
<?php else : $bdTagOverflow++; ?>
<?php endif ?>
<?php endforeach ?>
<?php if ($bdTagOverflow > 0) : ?>
<a class="taxonomy-badge taxonomy-badge-more" href="<?php echo $page->permalink(); ?>" title="<?php echo $L->get('All tags'); ?>">+<?php echo $bdTagOverflow; ?></a>
<?php endif ?>
</div>
<?php endif ?>
+42
View File
@@ -144,6 +144,48 @@
</article>
<?php
// ---- Previous / next post navigation ----
// Chronological neighbours (Bludit's list is newest-first). Guarded like
// the related-posts block so an API difference degrades to nothing.
if (!$page->isStatic() && !$url->notFound()) {
$bdOlder = null; $bdNewer = null;
try {
global $pages;
if (isset($pages) && method_exists($pages, 'getList')) {
$bdNavKeys = array();
foreach ($pages->getList(1, 10000, true) as $bdNk) {
$bdNp = new Page($bdNk);
if (!$bdNp->isStatic()) { $bdNavKeys[] = $bdNp; }
}
foreach ($bdNavKeys as $bdNi => $bdNp) {
if ($bdNp->key() === $page->key()) {
if ($bdNi > 0) { $bdNewer = $bdNavKeys[$bdNi - 1]; }
if ($bdNi < count($bdNavKeys) - 1) { $bdOlder = $bdNavKeys[$bdNi + 1]; }
break;
}
}
}
} catch (\Throwable $e) { $bdOlder = null; $bdNewer = null; }
?>
<?php if ($bdOlder || $bdNewer) : ?>
<nav class="post-nav" aria-label="<?php echo $L->get('Post navigation'); ?>">
<?php if ($bdOlder) : ?>
<a class="post-nav-item post-nav-older" href="<?php echo $bdOlder->permalink(); ?>" rel="prev">
<span class="post-nav-label"><?php echo blowfish_icon('chevron-left'); ?><?php echo $L->get('Older post'); ?></span>
<span class="post-nav-title"><?php echo blowfish_text($bdOlder->title()); ?></span>
</a>
<?php else : ?><span class="post-nav-item post-nav-empty" aria-hidden="true"></span><?php endif ?>
<?php if ($bdNewer) : ?>
<a class="post-nav-item post-nav-newer" href="<?php echo $bdNewer->permalink(); ?>" rel="next">
<span class="post-nav-label"><?php echo $L->get('Newer post'); ?><?php echo blowfish_icon('chevron-right'); ?></span>
<span class="post-nav-title"><?php echo blowfish_text($bdNewer->title()); ?></span>
</a>
<?php else : ?><span class="post-nav-item post-nav-empty" aria-hidden="true"></span><?php endif ?>
</nav>
<?php endif ?>
<?php } ?>
<?php
// ---- Related posts ----
// Best-effort via Bludit's Pages API; wrapped so any API difference degrades