major update
This commit is contained in:
@@ -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']));
|
||||
|
||||
@@ -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');
|
||||
|
||||
Reference in New Issue
Block a user