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:
+24
-11
@@ -30,20 +30,28 @@
|
||||
<link rel="author" href="{{ author_website }}">
|
||||
<link rel="me" href="{{ author_git }}">
|
||||
|
||||
<!-- Favicon and PWA -->
|
||||
<link rel="icon" type="image/svg+xml" href="/assets/favicon.svg">
|
||||
<!-- Favicon -->
|
||||
<link rel="icon" href="{{ theme_base_url }}/assets/img/favicon.ico" sizes="any">
|
||||
<link rel="icon" type="image/svg+xml" href="{{ theme_base_url }}/assets/img/favicon.svg">
|
||||
<link rel="apple-touch-icon" href="{{ theme_base_url }}/assets/img/favicon.svg">
|
||||
<link rel="manifest" href="/manifest.json">
|
||||
<meta name="theme-color" content="{{ theme_config.header_color|default('#0a369d') }}">
|
||||
|
||||
<!-- Styles -->
|
||||
<link href="/assets/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="/assets/css/bootstrap-icons.css" rel="stylesheet">
|
||||
<link href="/assets/css/style.css" rel="stylesheet">
|
||||
<link href="/assets/css/mobile.css" rel="stylesheet">
|
||||
<!-- Theme CSS -->
|
||||
{% for cssFile in theme_css_files %}
|
||||
<link href="{{ cssFile }}" rel="stylesheet">
|
||||
{% endfor %}
|
||||
|
||||
<!-- Compiled theme CSS (if SCSS was used) -->
|
||||
{% if theme_css_url %}
|
||||
<link href="{{ theme_css_url }}" rel="stylesheet">
|
||||
{% endif %}
|
||||
|
||||
<!-- Plugin CSS (loaded after theme so theme can override) -->
|
||||
{% for cssUrl in plugin_css_urls|default([]) %}
|
||||
<link href="{{ cssUrl }}" rel="stylesheet">
|
||||
{% endfor %}
|
||||
|
||||
<!-- Accessibility styles -->
|
||||
<style>
|
||||
.skip-link {
|
||||
@@ -86,11 +94,12 @@
|
||||
|
||||
<!-- Dynamic theme styles -->
|
||||
<style>
|
||||
html, body {
|
||||
height: 100%;
|
||||
html {
|
||||
min-height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
@@ -127,8 +136,12 @@
|
||||
{% include 'partials/footer.twig' %}
|
||||
</footer>
|
||||
|
||||
<script src="/assets/js/bootstrap.bundle.min.js"></script>
|
||||
<script src="/assets/js/app.js"></script>
|
||||
<!-- Theme JS -->
|
||||
{% for jsFile in theme_js_files %}
|
||||
<script src="{{ jsFile }}"></script>
|
||||
{% endfor %}
|
||||
|
||||
<!-- Theme-specific JS -->
|
||||
{% if theme_js_url %}
|
||||
<script src="{{ theme_js_url }}"></script>
|
||||
{% endif %}
|
||||
|
||||
Reference in New Issue
Block a user