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:
@@ -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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user