initial COmmit: Add KB Antora Importer plugin files

This commit is contained in:
Sven Steinert
2026-05-12 14:37:09 +02:00
parent cf253c1367
commit 6abf6f9c3d
39 changed files with 2945 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
<?php
declare(strict_types=1);
namespace KbAntoraImporter\Frontend;
use KbAntoraImporter\Plugin;
final class BreadcrumbBuilder
{
public function build(array $parts): string
{
$base = trim((string) Plugin::settings()['docs_base_slug'], '/');
$items = [
sprintf('<a href="%s">%s</a>', esc_url(home_url('/' . $base . '/')), esc_html__('Docs', 'kb-antora-importer')),
];
$path = $base;
foreach ($parts as $label => $slug) {
if ('' === (string) $slug) {
$items[] = esc_html((string) $label);
continue;
}
$path .= '/' . trim((string) $slug, '/');
$items[] = sprintf('<a href="%s">%s</a>', esc_url(home_url('/' . $path . '/')), esc_html((string) $label));
}
return '<nav class="kb-breadcrumbs" aria-label="Breadcrumb">' . implode('<span>/</span>', $items) . '</nav>';
}
}