Mastak HyperBricks использует
компонентно-ориентированный подход к веб-дизайну. В каждом сайте можно выделить
множество типовых блоков, таких как кнопки, заголовки, банеры и т.п. Как
правило, сайт состоит из большого количества однотипных блоков, но типов этих
боков немного. И если вы, например, решили оформить ваши заголовки по-другому,
то обычно вам приходится искать во всех страничках эти заголовки и руками
изменять их код. Гораздо проще описать шаблон заголовка и передавать ему нужные
параметры (текст заголовка, например). Тогда чтобы изменить все заголовки нужно
только подправить код шаблона. В версии 2.0 появилась возможность выбора скинов
для сайта. Скин описывает шаблоны применяемые для оформления различных частей
сайта и при использовании такого подхода дизайн сайта можно вообще менять одним
кликом мыши. Подробнее о скинах
Помимо того некоторый текст может встречаться в нескольких местах вашего
сайта (например, оглавление). Если вы захотите добавить новый пункт в оглавление
вашего сайта, то вам придется искать все места, в которых отображается
оглавление и добавлять в каждом месте этот пункт. Гораздо удобнее вынести
оглавление в отдельный текст, а там, где оно должно присутствовать, указать, что
оглавление нужно брать из отдельного текста. Mastak HyperBricks предлагает вам
именно такой способ создания своих сайтов.
Проект сайта хранится в двух файлах. Описание структуры и
дизайна сайта хранится в файле с расширением *.siteprj. Содержательная часть
сайта(т.е. текст, который будет меняться на ваших страничках) сохраняется в
файлах с расширением *.sitetext. Такой подход дает вам возможность быстро
изменить содержание вашего сайта не затрагивая дизайн, или наоборот. Таким
образом, вы легко можете иметь две версии сайта, например, англоязычную и
русскоязычную в виде одного файла проекта и двух файлов содержания.
Проект представляет собой список блоков. Каждому блоку
сопоставляется один из шаблонов. Вы можете использовать как поставляемые с
программой шаблоны, так шаблоны собственной разработки. Шаблон представляет
собой произвольный HTML-код со специальными тегами, которые описывают свойства
шаблона. В описании шаблона указываются его аргументы, вместо которых в блоках
(связанных с этим шаблоном) будут подставлены конкретные значения. В качестве
значений могут быть произвольный текст, ссылка на абзац или файл, вложенный
список блоков.
При генерации проекта для каждого блока самого верхнего уровня
создается соответствующий файл с таким же именем как и имя блока(имя
может включать подкаталоги).
Начиная с версии 2.0 вы можете не назначать блоку ни
один из шаблонов. В этом случае вы можете редактировать текст блока как обычный
html-текст, за одним исключением. В тексте вы можете вставлять шаблоны и ссылки
на абзацы. такой режим особенно удобен для редактирования уже существующих
сайтов с помощью этой программы. На первом этапе после импортирования сайта
у вас будут блоки содержащие обычный html-текст. Постепенно вы будете выделять
повторяющиеся куски в шаблоны, а на их место вставлять ссылки. Аналогично текст
вы будете выделять в абзацы. Ничто не запрещает вам работать с программой только
в таком режиме. Это очень похоже на работу препроцессора. Подробнее о синтаксисе
Если блоку назначен шаблон, то он будет строится по его описанию. Шаблон
состоит из шапки, в которой описаны его свойства и тела. Тело шаблона
представляет собой произвольный html-текст, в котором в определенных местах
находятся маркеры. Вместо маркеров при построении блока будут поставлены
значения его свойств.
В качестве значения свойства можно ввести любую строку.
Никаких ограничений не налагается. Главное, чтобы она подходила по смыслу. К
примеру, бессмысленно вводить текст рассказа в свойство задающее цвет или
размер. Такие большие тексты как в приведенном выше примере лучше оформлять в
виде абзацев, а для свойства указывать ссылки на них. Абзац - это текст имеющий
свое имя, по которому его можно однозначно найти.
В тексте значения свойства также как и в нешаблонных блоках
могут встречаться ссылки на абзацы и шаблоны.
Часто в шаблонах могут использоваться большие
куски html-кода в качестве значения свойства. Эти куски могут также
строиться по определенным шаблонам. Поэтому в качестве значения свойства можно
указывать вложенный список блоков. В этом случае результат всех вложенных блоков
будет объединяться в порядке следования блоков и результат будет значением
свойства.
|