isStatic() && !$url->notFound()) : ?>
title()); ?>
isStatic() && !$url->notFound()): ?>
date(); ?>
get('Reading time') . ': ' . $page->readingTime() ?>
isStatic() && !$url->notFound()) :
$bdSeriesTag = ''; $bdSeriesName = '';
foreach ($page->tags(true) as $bdTk => $bdTn) {
if (preg_match('/^series[-_]/i', $bdTk)) { $bdSeriesTag = $bdTk; $bdSeriesName = $bdTn; break; }
}
$bdSeriesPosts = array();
if ($bdSeriesTag) {
try {
global $pages;
if (isset($pages) && method_exists($pages, 'getList')) {
foreach ($pages->getList(1, 1000, true) as $bdSk) {
$bdSp = new Page($bdSk);
if (in_array($bdSeriesTag, array_keys($bdSp->tags(true)), true)) { $bdSeriesPosts[] = $bdSp; }
}
// Oldest first (Part 1 → N); when posts share a date, fall back to
// natural title order so "WIMH #1" precedes "WIMH #2".
usort($bdSeriesPosts, function ($a, $b) {
$d = strcmp((string) $a->getValue('date'), (string) $b->getValue('date'));
return $d !== 0 ? $d : strnatcasecmp($a->title(), $b->title());
});
}
} catch (\Throwable $e) { $bdSeriesPosts = array(); }
}
$bdSeriesLabel = trim(preg_replace('/^series\s*[:\-_]?\s*/i', '', blowfish_plain($bdSeriesName)));
?>
1) : ?>
) are untouched.
echo preg_replace(
'/
![]()
]*\bloading=)/i',
'
![]()
content()
);
?>
tags(true); $categoryKey = $page->categoryKey(); ?>
category()); ?>
$tagName) : ?>
isStatic() && !$url->notFound()) : ?>
permalink(true); $bdShareTitle = blowfish_plain($page->title()); ?>
get('Share'); ?>
X (Twitter)
Reddit
LinkedIn