Чеклист или методика создания шаблона
01-02-2017Reading time ~ 5 min.Блог 10085
Это даже не чеклист в привычном понимании, а обобщенные пункты, позволяющие выполнить «быстрый старт». К этой методике я подходил много лет, возможно кому-то она тоже будет интересна.
Для начала необходимо дать ряд пояснений, чтобы был понятен основной базис этой методики и вы могли её адаптировать под свои нужды и особенности системы (не обязательно MaxSite CMS).
В первую очередь отмечу нелинейный подход к выполнению задач. Фрилансер-вебмастер, как правило, одновременно выполняет функции дизайнера, верстальщика и программиста (пусть и в несложных формах). Так вот задачи следует разбивать по их (внутреннему) «специалисту».
Например пункт «Настроить первый компонент ШАПКИ» подразумевает, что вначале следует «включить» дизайнера, который придумает (нарисует, скопипастит и т.п.) этот блок шапки. Вторым в очередь включается верстальщик, который сверстает HTML-код. Третий в очереди — программист, который выполнит php-кодирование.
Такое разделение позволяет вебмастеру выполнять однотипные задачи. Сложно одновременно думать о дизайне и программировании. Проще будет в начале продумать дизайн, а уже после думать о программировании. В зависимости от сложности шаблона, будет и разное время, выделяемое для каждого «специалиста». Скажем, если я использую какой-то готовый дизайн шаблона, то время на своего «дизайнера» будет минимальным. Или если какой-то блок не требует программирования, то и программиста не включаем. И наоборот. Сложная задача потребует больше времени: час, два или даже сутки.
Хотя, если задача сложная, то лучше её разбить на подзадачи по нескольку часов.
И хотя в чеклисте это будет всего один пункт, но для его выполнения могут быть затребованы разные «специалисты». Более того, в начале можно пройтись по всем пунктам одним специалистом, потом вторым и т.д. Это отличается от «классического» варианта, где задача (пункт) должен быть выполнить несмотря ни на что.
Следующий важный момент — использование шаблона-каркаса и заготовок. Это позволяет значительно упростить задачу, сместив её выполнение со сложной разработки до copy/paste с мелкими правками. Шаблон-каркас достаточно скопировать в новый каталог, внести минимальные правки (без программирования) и он сразу же начинает работать.
В каркасе должен быть минимально-достаточный набор файлов. Не нужно загромождать шаблон кучей кода, который «вдруг пригодится». Вместо этого, код, который где-то уже использовался и может быть скопирован, лучше разместить отдельно, чтобы его можно было найти и использовать. Оптимально — это сделать отдельные каталоги с разбивкой по готовым шаблонам, куда скопировать нужные файлы. Например это могут быть sass/less/css-стили, type_foreach, custom или type-файлы.
Шаблон-каркас должен быть всегда в актуальном состоянии. После отработки нового шаблона, следует перенести интересные файлы (которые «вдруг пригодится») в каталог каркаса.
Здесь возникает интересный вопрос: нужно ли обновлять старые шаблоны? Скажем есть каркас. На его основе был сделан шаблон №1. По окончании работ каркас был обновлён и на его основе был создан шаблон №2. После опять каркас улучшен и был сделан шаблон №3, в котором были существенные улучшения, которые можно было бы применить к шаблонам №1 и №2. Нужно ли их исправлять?
Мой ответ — нет, только по требованию. Если это сайт клиента, то вебмастер или сам клиент может инициировать обновление шаблона на новую версию. Единственное исключение: ошибки или пока работа не сдана, шаблон следует держать в самом актуальном состоянии. Возможен вариант, когда работы по обновлению шаблонов/сайта привязаны к выходу новых версий MaxSite CMS. Клиенту может быть интересен шаблон, максимально поддерживающий последние возможности системы.
Порядок выполнения работ строится по нескольким базовым принципам.
Первый — самое необходимое, без которого шаблон не будет работать, будет работать с ошибками или эта часть может иметь важное влияние на остальные части шаблона. Например указание основного шрифта будет иметь решающее значение на все остальные блоки сайта. Или выбор компонентов шаблона, без которых он не имеет смысла.
Второй — направление работ сверху вниз. То есть в начале делается шапка, после основная часть, после подвал. Это правило нужно только для одного: иметь возможность точно и быстро ответить на вопрос «Что делать дальше?».
Третий — самое простое в первую очередь. Сложные задачи отодвигаем в конец. Если настройка меню займёт много времени, то лучше сделать подвал, который потребует лишь создать файл и вставить в него готовый код.
Четвёртый принцип — нелинейность задач. Если столкнулись с трудностью, то вместо того, чтобы впустую с ней биться, лучше переключиться на другую задачу. Незавершенность задачи — это нормально. Одновременно может быть открыто 3..5 задач, которые требуют работы. Выбираем те, которые больше по-душе. Более того, я, например, держу в работе сразу несколько шаблонов с разными (включая мелкие) задачами. Если вы пользуетесь техникой Pomodoro, то поставьте таймер на 5 минут и зарабатывайте помидорки в ускоренном варианте. :-)
ЧЕКЛИСТ НА СОЗДАНИЕ НОВОГО ШАБЛОНА ================================== - скопировать начальный шаблон-каркас в новый каталог - в info.php поменять данные - зайти в админ-панель и отметить шаблон в Theme switch - на самом сайте переключиться на шаблон - в sass-компилятор добавить sass-каталог для компиляции - задать основной шрифт шаблона в sass-файле main/_base.scss - определить основную main-сетку шаблона (нужен ли общий контейнер или всё раздельно) - выставить цвет ссылок по-умолчанию - выставить всю типографику [text-demo] * определить и настроить компоненты ШАПКИ - прописать компоненты в custom/my-template.php - настроить первый компонент ШАПКИ - настроить второй компонент ШАПКИ (если есть) - настроить третий компонент ШАПКИ (если есть) - настроить четвертый компонент ШАПКИ (если есть) | компонент menu (основное) настраивается в последнюю очередь - настроить адаптивность ШАПКИ * определить и настроить компоненты ПОДВАЛА - прописать компоненты в custom/my-template.php - настроить первый компонент ПОДВАЛА - настроить второй компонент ПОДВАЛА (если есть) - настроить третий компонент ПОДВАЛА (если есть) - настроить адаптивность ПОДВАЛА - настроить основную модульную сетку (main.php) (пропорции content и sidebar) - настроить вывод (info-top-файлы) одиночной записи (тип page) - настроить вывод Записей по теме - настроить вывод комментариев - настроить вывод сайдбара и виджетов - настроить вывод пагинации - настроить вывод по-дефолту full-записей (рубрики) - настроить вывод главной (unit) - проверить работу остальных main-шаблонов - прочие работы по шаблону (индивидуально, отдельным списком) - сделать screenshot.webp - оформить readme.txt - перенести нужные изменения в шаблон-каркас для будущих шаблонов
Отлично расписали!