Разработчикам
Архитектура
Руководство разработчика PageCharm
Из каких пакетов состоит PageCharm и где проходят границы ответственности.
Пакеты
PageCharm содержит ядро, маршрутизацию, рендеринг и базовые сервисы. PageCharm.Ui добавляет русскоязычную админку. EF Core-пакеты отвечают за хранение моделей, storage-пакеты — за файлы и бэкапы.
Модули
Модуль реализует IPageCharmModule и может создавать блоки, шаблоны, поля, представления, настройки и стартовый контент. Именно так построен этот sample.
Публичный сайт
Контент разрешается по URL, затем выбранное Razor-представление получает PageCharmPageModel. Если у шаблона нет представления, публичный URL вернет 404, но такой контент можно использовать как данные.
Пример
public sealed class MySiteModule : IPageCharmModule
{
public string Id => "my-site";
public Version Version => new(1, 0, 0);
public Task SeedAsync(IPageCharmModuleSeedContext context, CancellationToken token)
{
// Создайте блоки, шаблоны, поля и стартовый контент.
return Task.CompletedTask;
}
}
Граница
PageCharm не диктует дизайн публичного сайта. Он хранит структуру и данные, а HTML/CSS/Razor остаются в вашем приложении.