22 lines
1.9 KiB
Markdown
22 lines
1.9 KiB
Markdown
---
|
|
title: SummerCMS documentation
|
|
description: SummerCMS is a content management framework for Go, inspired by WinterCMS.
|
|
section: index
|
|
order: 0
|
|
---
|
|
# SummerCMS documentation
|
|
|
|
SummerCMS keeps what makes WinterCMS productive (plugins that extend each other, YAML-driven admin forms and lists, console scaffolding) and compiles an application into a single Go binary. The framework modules, the application's plugins, the embedded admin SPA and the console commands all ship as one executable.
|
|
|
|
Start with [Installation](setup/installation.md) to set up the toolchain and the `summer` CLI. If you know WinterCMS, read [Coming from WinterCMS](setup/coming-from-wintercms.md) for a map of its concepts to SummerCMS. Then follow [Porting a plugin](setup/porting-a-plugin.md), which moves a WinterCMS plugin to SummerCMS step by step. The API reference section has one page per framework module.
|
|
|
|
## Where to start
|
|
|
|
- [Setup](setup/introduction.md): what SummerCMS is, installation, configuration, the move from WinterCMS and a [plugin porting walkthrough](setup/porting-a-plugin.md).
|
|
- [Architecture](architecture/introduction.md): the single binary, Go modules, the application lifecycle, the request lifecycle and [performance and scaling](architecture/performance-and-scaling.md) compared with PHP-FPM.
|
|
- [Plugins](plugins/registration.md): registering a plugin, scheduling, extending other plugins and testing.
|
|
- [Backend](backend/admin-controllers.md): admin controllers, forms, lists, relations, users, settings and the admin SPA.
|
|
- [Database](database/models.md): models, migrations, queries, relations, casts, attachments and transactions.
|
|
- [Services](services/configuration.md): configuration, events, routing, authentication, mail, jobs, realtime, search and the other services, plus what SummerCMS does not provide for the frontend.
|
|
- [Console](console/introduction.md): the `summer` tool, the application binary's commands and writing your own.
|