major update

This commit is contained in:
2026-03-04 15:56:58 +01:00
parent 16759a2732
commit 8f4dd5840d
478 changed files with 24313 additions and 8201 deletions

View File

@@ -3,12 +3,11 @@
use MintyPHP\Buffer;
use MintyPHP\Http\Request;
use MintyPHP\Router;
use MintyPHP\Service\Access\PermissionService;
use MintyPHP\Service\Docs\DocsCatalogService;
use MintyPHP\Support\Guard;
Guard::requireLogin();
Guard::requirePermission(PermissionService::DOCS_VIEW);
Guard::requireAbility(\MintyPHP\Service\Access\OperationsAuthorizationPolicy::ABILITY_ADMIN_DOCS_VIEW);
$docGroups = DocsCatalogService::docGroups();
$allDocs = DocsCatalogService::allDocs();
@@ -16,10 +15,11 @@ if ($allDocs === []) {
Router::redirect('error/not_found?url=' . urlencode(Request::pathWithQuery()));
return;
}
$defaultSlug = DocsCatalogService::defaultSlug();
$slug = trim((string) ($slug ?? ''));
if ($slug === '') {
Router::redirect('admin/docs/' . DocsCatalogService::defaultSlug());
Router::redirect('admin/docs/' . $defaultSlug);
return;
}
@@ -35,23 +35,23 @@ if ($rawMarkdown === null) {
}
$prepared = DocsCatalogService::prepareRenderedDocument($rawMarkdown, [1, 2, 3]);
$renderedHtml = (string) ($prepared['html'] ?? '');
$renderedHtml = (string) $prepared['html'];
$tocItems = [];
foreach (($prepared['headings'] ?? []) as $heading) {
$level = (int) ($heading['level'] ?? 0);
foreach ($prepared['headings'] as $heading) {
$level = (int) $heading['level'];
if (!in_array($level, [2, 3], true)) {
continue;
}
$tocItems[] = [
'level' => $level,
'text' => (string) ($heading['text'] ?? ''),
'anchor' => (string) ($heading['anchor'] ?? ''),
'text' => (string) $heading['text'],
'anchor' => (string) $heading['anchor'],
];
}
$currentSlug = $slug;
$currentTitle = (string) ($allDocs[$slug] ?? $slug);
$currentTitle = (string) $allDocs[$slug];
Buffer::set('title', $currentTitle . ' - ' . t('Documentation'));
Buffer::set('style_groups', json_encode(['docs']));

View File

@@ -6,6 +6,7 @@
* @var array<string, array<string, string>> $docGroups Grouped doc navigation
* @var string $currentSlug Active slug
* @var string $currentTitle Active doc title
* @var string $defaultSlug Default docs slug from catalog order
*/
?>
@@ -46,7 +47,7 @@
<?php
$breadcrumbs = [
['label' => t('Home'), 'path' => 'admin'],
['label' => t('Documentation'), 'path' => 'admin/docs/erste-schritte'],
['label' => t('Documentation'), 'path' => 'admin/docs/' . $defaultSlug],
['label' => $currentTitle],
];
require templatePath('partials/app-breadcrumb.phtml');