> For the complete documentation index, see [llms.txt](https://docs.johncms.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.johncms.com/10.0/nachalo-raboty/struktura-failov-papok.md).

# Структура файлов/папок

JohnCMS имеет следующую структуру папок:

* config
* data
* modules
* public
* system
* themes

{% hint style="info" %}
Корнем сайта (document root) является папка **public**. Всё остальное лежит рядом с ней и по HTTP недоступно.
{% endhint %}

### public

Единственная папка, доступная из браузера. В ней лежат точка входа `index.php`, `favicon.ico`, `robots.txt`, генерируемые карты сайта `sitemap*.xml`, а также:

* **assets** — аватары (**avatars**), смайлы (**emoticons**) и некоторые системные скрипты (**modules**) для генерации картинок предпросмотра;
* **install** — веб-инсталлятор (см. ниже);
* **themes** — собранные стили, скрипты и картинки шаблонов (`public/themes/<шаблон>/assets`);
* **upload** — файлы модулей: загрузки, прикреплённые файлы форума, библиотека, альбомы, аватары и файлы личных сообщений.

{% hint style="info" %}
Подпапка **assets/modules** будет удалена в следующих версиях.
{% endhint %}

### config

В папке хранятся различные конфигурационные файлы необходимые для работы системы.\
Файл **routes.php** отвечает за настройку адресов страниц.\
Файл **constants.php** содержит константы необходимые для работы системы.\
В подпапке **autoload** хранятся файлы, которые автоматически загружаются системой. Работа с конфигурационными файлами подробно описана здесь: [Конфигурационные файлы](https://johncms.com/documentation/configs/).

### data

В папке data хранятся различные системные данные, такие как кэш и логи

### modules

Папка modules содержит все модули системы\
Подробно про структуру папки модуля будет описано отдельно.

### system

Папка system содержит все системные библиотеки\
В этой папке не рекомендуется ничего менять и добавлять в целях сохранения возможности простого обновления на следующие версии JohnCMS

### themes

Папка themes содержит исходники шаблонов сайта: `src` (исходные стили и скрипты) и `templates` (шаблоны страниц). Собранные стили, скрипты и картинки лежат отдельно — в `public/themes/<шаблон>/assets`, потому что их отдаёт браузеру веб-сервер.

В этой папке расположен шаблон **default** в папке с этим шаблоном **не рекомендуется ничего менять** для сохранения возможности простого обновления на следующие версии JohnCMS\
Для кастомизации шаблона создайте отдельную папку и скопируйте в неё содержимое папки default.\
Более подробно про работу с шаблонами читайте в соответствующем разделе документации
