История коммитов

simba77
feat(news): page through comments without reloading the article
The discussion is a live list: its feed is a region the article controller returns as a fragment to XMLHttpRequest, without counting a view. The public site gets its own live-list script following the same protocol as the panel's. Comment actions are delegated so they work on swapped comments.
simba77
feat(news): open comment pages on the discussion
Pagination takes an optional fragment appended to every page URL. Comment pages of an article link to #article-comments, so a new page opens on the discussion instead of the top of the article.
simba77
docs: add a rule on button sizes
simba77
feat(theme): add the btn-xs button size
Comment actions of the news use btn-outline-secondary btn-xs; the delete button is btn-icon and only retunes its hover to the danger colour. The style guide shows the new size.
simba77
docs: add a rule on reusing bootstrap components
simba77
refactor(news): build list cards on bootstrap cards
Section and article cards use .card with modifiers that tune the card variables. The whole article card is clickable through a stretched title link; preview links, embeds and the comments link stay above it.
simba77
fix(news): align comment action button sizes
simba77
fix(news): refine selected reaction styling
simba77
fix(news): refine search focus and use an icon button
simba77
refactor(theme): build the public editor from the ckeditor5 package
Public forms load CKEditor 49 from npm through editor.js, lazily and only on pages with a [data-editor] field, instead of the prebuilt bundle in public/themes/default/assets/ckeditor5. components/editor.twig is a plain field without Vue, uploaded images are posted as attached_files[], and the guestbook replies through data-editor-reply. The editor tokens are shared with the admin panel, and .ck-content inherits the typography of the page.