Files
ak 263b98b218 Initial baseline: LaraBlog core with plugin commerce surface.
Captures the current working tree after theme slots, ArticleAccess, and the payment / paid-content plugins so subsequent work has a reviewable git history.
2026-08-12 01:15:38 +08:00

30 lines
607 B
PHP

<?php
declare(strict_types=1);
namespace App\Domain\Blog;
final class ContentFormat
{
public const HTML = 'html';
public const MARKDOWN = 'markdown';
public static function all(): array
{
return [self::HTML, self::MARKDOWN];
}
public static function isValid(string $format): bool
{
return in_array($format, self::all(), true);
}
public static function normalize(?string $format, string $fallback = self::HTML): string
{
$format = strtolower(trim((string) $format));
return self::isValid($format) ? $format : $fallback;
}
}