Журнал изменений
Remove the duplicate global "editor.admin" setting. The admin content editor is chosen per-admin (Administrators module); the main config keeps only the user editor. New or unset admins fall back to plain.
Core changes:
- Config form (admin/modules/config.php):
- Remove the admin content-editor select and its save handling
- Saved editor config now holds only user + code
- Default config (config/global.php):
- Remove editor.admin (readers fall back to 'plain' via ?? 'plain')
- Constants (admin/lang/*.php):
- Remove the now-unused _EDITORADMIN constant across all six locales (keep _EDITORUSER)
Benefits:
- No duplicated admin-editor setting; single source is the per-admin profile
- Cleaner config surface
Technical notes:
- editor.admin readers keep the
?? 'plain'fallback; no behavior change beyond default = plain - Generated config/local.php cache regenerates from global.php on next request
Increase the responsive .sl-gallery grid minimum column width from 180px to 250px for larger content download thumbnails.
Core changes:
- Theme (templates/lite/assets/css/theme.css):
- .sl-gallery grid-template-columns minmax 180px -> 250px
Add a dedicated "Редакторы содержимого" section to the config admin help describing the separate user/admin editor configs and how each editor stores and renders content.
Core changes:
- Config help (admin/info/config/ru.md):
- Explain separate editor.user / editor.admin configs and the per-admin override
- Table of content editors (plain, toastui, tinymce, ckeditor) with roles and storage format
- Describe processing model (escaping + parser vs trusted HTML) and [usehtml]/[usephp]
- Note that TOAST UI has Markdown and HTML WYSIWYG modes, both saving Markdown
- Clarify the code editor (CodeMirror) is separate, used for admin code/markup fields
- Align label references with the new "Редактор пользователя" / "Редактор администратора"
Technical notes:
- Only opening/standalone BB tokens are shown; the parser would consume complete BB pairs
Replace the concatenated _EDITOR.' user:' / _EDITOR.' admin:' field labels
in the config editor selectors with dedicated, fully localized constants for a
clearer admin UI.
Core changes:
- New constants (admin/lang/*.php):
- Add _EDITORUSER and _EDITORADMIN across all six locales (de, en, fr, pl, ru, uk)
- Config selectors (admin/modules/config.php):
- Use _EDITORUSER / _EDITORADMIN for the user/admin content-editor selects
Benefits:
- Cleaner, fully translatable labels instead of mixed RU/EN concatenation
- Consistent with the constant-based i18n approach
Technical notes:
- No behavior change beyond the visible label text
Restore the responsive content-image rules that were dropped: a thumbnail gallery component for content download lists and a width cap for parser images.
Core changes:
- Images (templates/lite/assets/css/theme.css):
- .sl-img: add max-width:100%; height:auto so parser/content images never overflow
- Gallery (templates/lite/assets/css/theme.css):
Add .sl-gallery (responsive auto-fill grid), .sl-gallery-thumb (fixed-ratio contain box) and .sl-gallery-dl (download button), all on design tokens
Benefits:
- Content images stay within the layout (no horizontal overflow)
- Clean sl- gallery component for content download lists (replaces legacy .ms- markup)
The [tabs] navigation kept an internal horizontal scrollbar on narrow widths; make the tab row wrap instead. Also adjusts neutral/link button colors and unifies the hover state.
Core changes:
- Tabs (templates/lite/assets/css/theme.css):
- .sl-tabs: drop overflow-x:auto and the scroll-container props
- .sl-tabs > ul: flex-wrap:wrap (was nowrap + width:max-content) so tabs wrap to new rows
- Buttons (templates/lite/assets/css/theme.css):
- .sl-but-navi/.sl-but-read use the neutral text color
- Unified hover (incl. navi/read): brand-link color, link hover border, opacity 0.8
Benefits:
- No stray horizontal scroll inside the tabs on small screens
- Consistent button hover behavior
The alignment BB-tags were processed inline, after the Markdown block parser had already split the text into paragraphs, so a multi-paragraph
...
Core changes:
- Parser (core/classes/parser.php):
Move [left/right/center/justify] handling to filterBbBlocks (block level), alongside [quote]/[hide], so the whole block is captured before paragraph splitting
- Inner content is re-parsed via filterNest(), wrapping each paragraph correctly
- Iterative while-loop to support nesting
- Remove the old inline alignment handler
- Tests (tests/Unit/ParserFixturesTest.php):
Add checkBbAlignBlockSpansParagraphs: multi-paragraph [justify] wraps each <p>, no literal tag remains; single-line [center] still works
Benefits:
- [justify]/[center]/etc. work across multiple paragraphs
- Alignment applied via a single text-align div, content fully parsed
Self-contained demo pages used to review the .sl-alert component variants against the real design tokens before adoption.
Core changes:
- Demo pages (demo/alerts-lab.html, demo/form-notices-lab.html, demo/admin-alerts-lab.html):
- Tone, style, animation, flash and chip variants for lite and admin
- Link the real base.css/theme.css and Bootstrap Icons; no production impact
Benefits:
- Visual reference for the alert component and its variants
Update the bridge and validation tests to the actual theme set (only admin and lite remain) and the unified .sl-alert output.
Core changes:
View/admin bridge tests (tests/Unit/ViewBridgeSmokeTest.php, AdminPageRenderFlowTest.php, AdminPreviewBridgeFlowTest.php, AdminSearchboxBridgeFlowTest.php, AdminLoginBridgeFlowTest.php):
- Retarget Template('default')/('simple') to the real themes ('lite'/'admin')
- Assert the new .sl-alert markup; admin auth uses the auth-form partial; searchbox uses sl-searchbox
- Parser fixtures (tests/Unit/ParserFixturesTest.php):
- Mock getDecodedText(); add GFM callout cases mapping to .sl-alert tones
- Template validation (tests/TemplateValidationTest.php):
- Cross-theme fragment sync discovers frontend themes dynamically and skips with a single theme
- Inline-style check allows dynamic style="...{{ }}..." and forbids only static inline styles
Benefits:
- Suite reflects the real theme set and component contract; full suite green
Drop template files with no references anywhere in the codebase, verified by a full-tree scan of getHtmlFrag/getHtmlPart/getHtmlPage calls, includes and extends.
Core changes:
- Unused templates removed:
- templates/lite/fragments/editor-file-row.html (editor builds rows in JS)
templates/lite/pages/preview.html, templates/admin/pages/preview.html (preview is rendered via the partials/preview.html partial, not a page)
- templates/lite/layouts/main.html (no page extends it; not used as a layout)
Benefits:
- Less template surface to maintain; no behavior change