Журнал изменений

Журнал изменений

Фильтр и поиск

Всего: 1347 Доступных коммитов | Отфильтровано: 1347 Коммиты | Страница: 42 из 135
25.06.2026
Feature: responsive .sl-gallery component and .sl-img max-width
Автор: Eduard Laas | Дата: 18:31 25.06.2026

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:

  1. Images (templates/lite/assets/css/theme.css):
  • .sl-img: add max-width:100%; height:auto so parser/content images never overflow
  1. 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)
Fix: wrap [tabs] navigation and refine button hover/navi styling
Автор: Eduard Laas | Дата: 18:22 25.06.2026

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:

  1. 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
  1. 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
Fix: parse block-level [left/right/center/justify] across paragraphs
Автор: Eduard Laas | Дата: 18:22 25.06.2026

The alignment BB-tags were processed inline, after the Markdown block parser had already split the text into paragraphs, so a multi-paragraph [justify]...[/justify] never matched (open and close tags landed in different blocks) and the tags leaked into the output as literal text.

Core changes:

  1. 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
  1. 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
Docs: add alert component review labs
Автор: Eduard Laas | Дата: 15:56 25.06.2026

Self-contained demo pages used to review the .sl-alert component variants against the real design tokens before adoption.

Core changes:

  1. 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
Test: align suite with the current themes, .sl-alert markup and parser callouts
Автор: Eduard Laas | Дата: 15:56 25.06.2026

Update the bridge and validation tests to the actual theme set (only admin and lite remain) and the unified .sl-alert output.

Core changes:

  1. 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
  1. Parser fixtures (tests/Unit/ParserFixturesTest.php):
  • Mock getDecodedText(); add GFM callout cases mapping to .sl-alert tones
  1. 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
Chore: remove dead template files
Автор: Eduard Laas | Дата: 15:56 25.06.2026

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:

  1. 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
Refactor: consistent op=liste behavior across listing modules
Автор: Eduard Laas | Дата: 15:56 25.06.2026

Align the alphabetical listing (op=liste) across all eight modules that provide it: empty results now return a proper 404 page, the letter filter is case-insensitive, and the unreachable empty_alert is removed.

Core changes:

  1. Empty list -> 404 (modules/{faq,files,help,links,media,news,pages,shop}/index.php):
  • liste(): "if (!$rows) setError(404)" replaces the partial "num > 1" guard
    • Empty letter filter (e.g. let=w) now yields the branded 404 page like num=99
  1. Case-insensitive letter filter:
  • Both the result query and the pager count query use UCASE(title) LIKE BINARY UCASE(:let)
    • let=p and let=P (and Cyrillic) now match identically
    • Fixes result/pager parity (pager previously did not UCASE the title)
  1. Dead code removal:
  • Dropped the now-unreachable 'empty_alert' key from the liste() content-list call (empty result is caught by the 404 before the list renders)

Also folds a minor pre-existing spacing fix in the file upload note (_ADDFNOTE2).

Benefits:

  • Predictable 404 semantics for missing/empty listings
  • Letter filter works regardless of case; count and results stay consistent
Feature: branded static error page on the .sl-alert standard
Автор: Eduard Laas | Дата: 15:56 25.06.2026

Bring the self-contained 502/504 fallback page in line with the unified .sl-alert component and make its recovery links work even while the local server is down.

Core changes:

  1. Error markup (error.html):
  • Error text now uses .sl-alert sl-alert-warn with an inline SVG icon
    • Self-contained: no icon font or external CSS (page must render when PHP is down)
    • Solid exclamation-triangle icon, soft tinted box, accent left bar, subtle shake
  • Recovery links (brand, home, search) point to the always-up vendor site so they remain usable during an outage of the local server

Benefits:

  • Error page matches the rest of the system visually
  • Links stay functional when the user's server is unavailable
Feature: unified .sl-alert notification component across lite, admin and parser
Автор: Eduard Laas | Дата: 15:56 25.06.2026

Replace the divergent per-theme alert styles (.sl-warn/.sl-info and the admin-only .sl-callout-*) with a single .sl-alert component shared by both themes and the Markdown parser, add a 5-second flash auto-hide, and emit the favicon link for the admin area as well.

Core changes:

  1. Alert component (templates/lite/assets/css/theme.css, templates/admin/assets/css/theme.css):
  • One .sl-alert vocabulary with five tones (info, success, warn, error, accent)
    • Icon via ::before, tone-bound looping animation, prefers-reduced-motion guard
    • Identical class names in both themes; theme keeps its own visual style
  • Removed dead legacy alert CSS
    • Dropped admin .sl-callout-* and the legacy .sl-warn/.sl-info component
    • Dropped unused .sl-table-block
  1. Fragments (templates/lite|admin/fragments/alert.html, blockquote.html):
  • Alert fragment renders .sl-alert with type/is_warn fallback (contract preserved)
  • Blockquote GFM callouts render as .sl-alert sl-alert-<tone>
  1. Parser (core/classes/parser.php):
  • Map callout kind to semantic tone (NOTE->info, TIP->success, IMPORTANT->accent, WARNING->warn, CAUTION->error); styled fallback when no template engine
  1. Flash auto-hide (templates/admin/assets/js/alerts.js, core/helpers.php, core/system.php):
  • Timer reduced from 15s to 5s (JS default and data-sl-autohide callers)
  1. Branded head (core/system.php, favicon.ico):
  • setHead() now emits the favicon link for admin too (was frontend-only)
  • Added root favicon.ico generated from the theme favicon for legacy probes
  1. Editor plugin (plugins/editors/toastui/assets/slaed-upload.js):
  • Upload status messages use .sl-alert sl-alert-warn / -info

Benefits:

  • Single alert vocabulary reused everywhere, less duplicated CSS
  • Consistent alert/callout look and behavior across themes and content
  • Favicon served on every surface; no more /favicon.ico fallback miss

Breaking: .sl-callout-* classes removed (no external consumers).

24.06.2026
Fix: drop CDATA wrapper in error.html inline logo SVG
Автор: Eduard Laas | Дата: 22:17 24.06.2026

Remove the XML <![CDATA[ ]]> markers around the inlined logo's inner <style>. They are unnecessary in an HTML document (style content is already raw text) and were flagged by the HTML validator. The logo renders identically since the .fil* rules remain in the <style> block.

Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

Поделиться
QR-код

Предварительный просмотр