ВНИМАНИЕ
Урок для продвинутых пользователей.
Подразумевается, что вы знакомы с Html и Css и вас не пугает программный код. В идеале иметь хотя бы небольшие навыки программирования.
Для экспериментов обязательно иметь платный аккаунт (можно купить за 5$ на 2 месяца, если что).
Итак, слои.
Какие типы слоев существуют?
Core - родительский слой.
— i18nc - языковые слои.
— layout - слои стилей.
— — i18n - языковые слои для слоев стилей.
— — theme - темы.
— — user - слои настроек.
Описание
Core - родительский слой для всех прочих типов слоев. Недоступен для редактирования, но содержит массу полезной информации
Содержание слоя
Код слоя
— i18nc - языковые слои, так же недоступны для редактирования. Они применяются, когда вы в настройках оформления выбираете язык для надписей в своем журнале.
Пример слоя
— layout - слои стилей. Именно они отвечают за разметку страниц и возможности стилей из конкретных групп. Всего таких слоев 35, интерес представляют лишь некоторые из них, потому что часть дублируется, а большинство безнадежно устарело. Minimalism, Expressive, Flexible Squares - это именно слои стилей.
Примеры:
* Expressive
* Minimalism
— — i18n - языковые слои для слоёв стилей. Также применяются при выборе языка в настройках оформления.
— — theme - конкретные темы. Именно их вы выбираете в каталоге стилей.
Пример слоя
— — user - слой, в котором хранятся ваши настройки дизайна. Практически всё, что вы меняете вот тут сохраняется в этом слое.
При каждом изменении настроек этот слой перезаписывается, поэтому никогда не храните там то, что не хотите потерять.
Как пользоваться слоями?
Общий принцип такой: вы создаете новый слой, копируете в него отдельные функции или слой стилей целиком, затем подключаете свой слой к журналу.
Все полезные ссылки есть на странице Расширенные возможности оформления
Для того, чтобы увидеть как это работает, давайте попробуем создать слой и добавить с его помощью на страницу какой-нибудь текст.
1. Зайдите в Ваши слои, найдите внизу страницы форму и выберите значения как на картинке:

Нажмите Создать
Затем в таблице ваших слоев найдите такую строчку:

Цифра будет другой, но тип слоя будет theme и слой пока не имеет названия.
2. Нажмите Правка, чтобы перейти к редактированию. Откроется вот такой редактор кода (поля будут пустыми):

Увеличить
Свежесозданный слой в поле для кода содержит только две строчки кода:
layerinfo "type" = "theme";
layerinfo "name" = "";
Это объявление типа темы и её название.
Назовите как-нибудь свою тему, а затем ниже вставьте такой код:
Это фунция для вывода страницы в Expressive - Page::print ().
Нажмите Save & Compile - она наверху, над полем для редактирования.
В поле с результатами компиляции должно появиться собщение Compiled with no errors. (как у меня на скриншоте).
3. Теперь можно посмотреть что у нас получилось. Зайдите в каталог стилей и в левой колонке найдите пункт Собственные слои.
В этом разделе должен находиться ваш новый слой с именем, которое вы ему задали:

Вы можете отважно применить слой к журналу (внимание!!! ваше текущее оформление слетит!) либо нажмите на лупу, чтобы посмотреть, что получилось, не надевая слой на журнал.
Должно получиться вот так:

на скрине только верхняя часть страницы
Это дефолтная тема Expressive, голубая с цветком, и текст, который я вставила в функцию вывода страницы - Привет, мир! : )
Если верх вашего журнала выглядит как на скриншоте - значит у вас всё получилось!
А дальше?
Теперь вы можете сами создавать и редактировать слои.
Вам следует выбрать удобный способ работы с ними.
Я показала как можно не трогая основной слой стиля отредактировать только нужную функцию. Это удобно, код короткий и в нём только то, что нужно вам.
Но есть ограничения: в слое типа theme нельзя создавать свои настройки (property) и функции.
Если нужны все возможности слоя стиля - вам потребуется скопировать его код целиком и вставить его в слой типа layout (слой макета).
Плюсы - вам не нужно будет копировать функции по одной, в вашем распоряжении сразу будут все возможности слоя.
Минусы - очень длинный код.
Где брать код?
Самому написать слой конечно можно, но смысла особого нет : ) Проще и удобнее скопировать код уже имеющегося слоя и перекраивать его.
Список всех слоев можно найти на странице Общедоступные слои
Как отлаживаться?
Если в коде есть проблема, при компиляции в нижнем поле вывалится ошибка, и слой не скомпилируется.
На вашем журнале это никак не отразится - последние изменения не применятся к журналу, пока слой не будет исправлен и скомпилирован без ошибок.
В сообщении об ошибке будет указана строка с проблемой.
Что почитать?
На русском:
Какие виды слоёв в системе стилей S2?
Как мне создать новый стиль S2?
На английском:
S2 Manual
Содержание Core

Хозяйке на заметку
* Важно знать, что слои никак не затрагивают ваши записи - они лишь способ вывести их на страницу. Так что экспериментируйте сколько угодно - содержимое журнала не пострадает.
* Напоминаю, что вся приведённая информация рассчитана на достаточно продвинутых товарищей, которые не падают в обморок от простыней программного кода и могут хоть как-то в нём соориентироваться.
Пользуйтесь поиском по коду.
Community Info