v2.5.1: Admin theme refactor, Navigation plugin, user roles, guide restructure

- Reorganize admin into admin/theme/default/ (views + assets)
- Rename GuideNav to Navigation plugin (essential, protected)
- Plugin assets support (SCSS/CSS) loaded after theme CSS
- User roles: Admin, Content Manager, BI Manager, Site Admin
- Role-based access control (RBAC) for admin routes and sidebar
- Guide restructure: sub-topics in separate folders with sidebar nav
- Dynamic breadcrumb for homepage and subdirectories
- Fix theme path traversal (../../ -> ../) in admin.php
- Fix CodeMirror mode load order (xml -> css -> js -> htmlmixed -> php)
- Fix editor-toolbar.js null checks for plugin edit pages
- Layout select from theme.json with live frontmatter update
- Footer sticky at bottom of viewport (min-height: 100vh)
- Breadcrumb color fix (var(--nav-font) -> var(--header-bg))
- Remove language switcher from guide pages
- Update README.md and README.en.md
- Bump version to 2.5.1
This commit is contained in:
2026-08-10 15:36:29 +02:00
parent 7fc3847bbb
commit 3a55ea4db6
210 changed files with 11033 additions and 9140 deletions
+52
View File
@@ -0,0 +1,52 @@
.CodeMirror {
height: auto;
min-height: 500px;
border: 1px solid #dee2e6;
border-radius: 0.25rem;
font-size: 0.9rem;
font-family: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace;
}
.CodeMirror-scroll {
min-height: 500px;
}
.editor-toolbar {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 0.125rem;
padding: 0.375rem 0.5rem;
background: #f8f9fa;
border: 1px solid #dee2e6;
border-bottom: none;
border-radius: 0.25rem 0.25rem 0 0;
}
.editor-toolbar .vr {
height: 22px;
opacity: 0.3;
}
.editor-toolbar .btn {
line-height: 1;
}
.editor-wrapper {
border-radius: 0 0 0.25rem 0.25rem;
overflow: hidden;
}
.editor-wrapper .CodeMirror {
border-top: none;
border-radius: 0;
}
.card-media-item {
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
border: 1px solid #dee2e6;
}
.card-media-item:hover {
border-color: #0d6efd;
box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.15);
}