CMS 2.0 - Theme engine, logging, admin improvements

Major changes:
- New ThemeManager with Twig templating and SCSS compilation
- Dynamic themes system (themes/default, themes/demo)
- LogManager with SQLite storage and syslog forwarding
- RequestLogger with static helper methods
- Admin UI overhaul (Bootstrap 5, dark mode)
- Admin config page with logging and theme settings
- Admin logs page with filters and search
- Removed legacy Mustache templates
- Removed test plugin and theme
- Composer dependencies: Twig, scssphp, CommonMark, MaxMind GeoIP
This commit is contained in:
2026-08-08 18:02:14 +02:00
parent cc0e4c19c8
commit a1e5baacac
833 changed files with 108974 additions and 1386 deletions
+40
View File
@@ -0,0 +1,40 @@
<?php
namespace SourceSpan\Highlighter;
/**
* A single line of the source file being highlighted.
*
* @internal
*/
final class Line
{
/**
* All highlights that cover any portion of this line, in source span order.
*
* This is populated after the initial line is created.
*
* @var list<Highlight>
*/
public array $highlights = [];
/**
* The URL of the source file in which this line appears.
*
* For lines created from spans without an explicit URL, this is an opaque
* object that differs between lines that come from different spans.
*/
public readonly object $url;
/**
* @param int $number The O-based line number in the source file
*/
public function __construct(
public readonly string $text,
public readonly int $number,
object $url,
) {
$this->url = $url;
}
}