Основное изменение данной версии AML-редактора коснулось мультифайловой обработки, т.к. компилировать каждый файл вручную попрежнему весьма накладно.
Набор тегов не претерпел каких-либо изменений, все те же 4 директивы. Но уже в следующей версии планируются кардинальные изменения!
Список поддерживаемых тегов:
Тег EXEC - задает параметры компиляции
Атрибут TARGET - указывает имя конечного файла (*.htm)
Атрибут TITLE - просто комментарий к данному тегу (рекомендую)
Образец:
{exec target="news/index.html" title="Архив новостей"}
Тег USE - вставка указанного файла в текущую позицию
Атрибут SRC - указывает имя включаемого файла
Атрибут TITLE - просто комментарий к данному тегу (рекомендую)
Образец:
{use src="head.txt" title="Стандартное начало страницы"}
Тег VAR - использование переменной
Атрибут NAME - задает имя переменной (пока только цифры от 0 до 9)
Атрибут VALUE - присваиваемое значение (почти любая строка символов)
Атрибут ACTION - действие (пока только WRITE - напечатать значение)
Атрибут TITLE - просто комментарий к данному тегу (рекомендую)
Образец 1:
{var name="0" value="Главная" title="Присвоить значение"}
Образец 2:
{var name="0" action="write" title="Напечатать значение в этом месте"}
Тег COMMENT - строка-коммментарий (позже будет задействован для разметки блоков кода)
Атрибут TITLE - комментарий к текущей позиции файла
Образец:
{comment title="Линия границы раздела"}
Правила синтаксиса:
1. Значение атрибутов обязательно заключаются в двойные кавычки
2. Ключевые слова пишутся только маленькими буквами (см. образцы)
3. Неслужебная информация из проектного файла компилируется в HTML без изменений
4. Порядок перечисления атрибутов в теге - свободный
5. Чтобы закомментировать тег, надо поставить в его начале две фигурные скобки {{
В AML 1.1 сохранились все достоинства и большая часть недостаткой версии языка 1.0, но также добавились и новые факторы.
Плюсы:
- Поддерживает много файлов в 1 проекте
Этот недостаток я исправил первым. На тот момент мой сайт содержал около 400 HTML-страничек, так что о компиляции каждой вручную не могло быть и речи!
- Включение файла в проект копированием вызова
Стало проще "штамповать" исходники - просто скопировать группу директив сборки предыдущего файла, и изменить значения отдельных переменных + названия файлов, конечно же.
- Версия многократно опробована и проверена
За последние годы было реализовано более десятка проектов, в том числе и коммерческих. Данное средство оказалось на редкость полезным и съэкомило мне несколько недель работы!
- найдены обходные пути решения некоторых проблем
В частности, меню с выбором текущего пункта все же удалось реализовать в обход условной конструкции (через задание стиля). Также проводились эксперименты по ступенчатой генерации HTML-файлов с целью преодолеть ограничение в 10 переменных.
Минусы:
- Существенное увеличение времени компиляции
К сожалению просмотр мультифайлового проекта реализован по старому алгоритму, так что компиляция все же занимает некотороео время. Конечно, это секунды, но и от них я планирую избавиться, оптимизировав метод просмотра проекта.
- Громоздкость вызова включаемого файла
Обратная сторона универсальности - громоздкость. Создавая универсальный шаблон, приходится выносить во вне довольно много переменных. В результате каждый генерируемый файл требует в проекте наличия группы из нескольких строк (директив).
- Все вставки хранятся в отдельных файлах
Вставки сильно упрощают жизнь! Расчленяем страничку на части: сюда идет меню, сюда - блок аносов, сюда - новости, ... К сожалению, количество задействованных файлов растет прямо пропорционально. Чтобы не запутаться в них, нужно придерживаться каких-либо правил их группировки.
|