Форум » Лаборатория WEB-мастера » Консультации по языку AML » Ответить

Консультации по языку AML

Alex_soldier: Что такое AML ? AML - язык, придуманный мной, для автоматического создания HTML-страничек на вашем компьютере. В большинстве своем, основная трудность в работе начинающего web-дизайнера связана с внесением одних и тех же поправок во множество страниц сайта. Чтобы не выполнять эти действия вручную, я создал данный теговый язык в дополнение к HTML и программу-редактор для генерации страничек по заданному шаблону. Таким образом, вы получаете большинство преимуществ серверных технологий: сборку из фрагментов, гибкую настройку содержимого, возможность быстро вносить исправления сразу во все страницы проекта. Освобождается более 90% времени, затрачиваемого ранее на монотонные ручные исправления! Единственно, все скомпилированные странички необходимо еще залить с вашего компьютера на сервер. Официальный сайт: http://www.alex-world.nm.ru/aml Скачать AML-редактор: http://www.alex-world.nm.ru/aml/down.htm Для кого предназначен AML ? Из собственного опыта я могу выделить по крайней мере 4 реальные категории его потенциальных пользователей. Во-первых, это обычные рядовые WEB-дизайнеры. Далеко не каждый сайтостроитель горит желанием становиться продвинутым WEB-программистом. Вместо того, чтобы потратить многие часы на изучение соответсвующего языка (например PHP), выявление непонятных ошибок и серверных сбоев, многие предпочтут уделить все внимание своему детищу, составлению качественного контента для него. Такова человеческая природа: часто цель остается недостижимой не из-за трудностей на пути, а из-за боязни самого пути, нежелания двигаться по нему. Хочется добиться всего простыми средствами, без лишних затрат. Моя разработка призвана помочь тем, кому нужен быстрый результат! Во-вторых, это многочисленная армия сведущих сайтовладельцев на бесплатном хостинге. Т.е. серверные технологии им знакомы, но хостинг накладывает ограничения технического характера, и менять его по каким-то причинам не планируется. Свои странички они делают вручную с помощью какого-либо редактора. Пока сайт небольшой, его достаточно просто администрировать: обновлять содержимое и корректировать дизайн. Но со временем он разрастается разделами, рубриками, темами. Чего стоит один лишь редизайн! Часто возникает необходимость добавить или удалить пункт из меню. В результате: сидим и тупо правим одно и тоже десятки раз. А не дай бог захочется переделать структуру документа. Это проще сразу повеситься! В таких случаях и выручают "движки" - своеобразные CMS. Но подобные блага цивилизации им просто недоступны. AML же является универсальным инструментом. Кто еще сможет предложить автоматически переверстать пару сотен страниц за 2-3 минуты? В-третьих, это контент-редакторы, которые лишь бегло знакомы с языком разметки. В силу профессиональных обязанностей, они постоянно занимаются подготовкой дайджестов, презентаций, выпусков журналов или рассылок. Секрет их успеха - в многократном использовании разработанного специалистами шаблона, наполнении его текстовой информацией. В этом случае все упирается в качественное разделение будущего продукта на оформление и содержание. Средства AML как раз позволяют выполнить это расслоение максимально наглядным образом. И в-четвертых, это, как ни странно звучит, писатели. Вот наш будущий классик загорелся очередным романом. Вот добрался уже до середины... Ах, какая неприятность - у главного героя получилось не слишком подходящее имя! Ой, а эту реликвию могут спутать с чем-то другим! Надо срочно все исправить! Не спорю, что MS Word позволяет творить чудеса в плане поиска и автозамены. Вот только наш Великий и Могучий вносит свои коррективы - падежи, склонения, числа... На одно имя собственное приходится делать около десятка замен. Еще хорошо, если имя не окажется частью какого-либо слова. Иначе удовольствие по вычитыванию исправленного текста обеспечено надолго! Язык AML позволяет делать вставки, которые после компиляции (сборки) заменяются на требуемые фрагменты текста. Так, употребляя вместо имени героя вставку с указанием падежа, в случае переименования потребуется всего-лишь изменить его один раз в самом начале! А механизм разбиения романы на главы, каждая из которых состоит из сцен? Можно сразу спроектировать структуру книги, постепенно наполнять ее текстом, корректируя в случае необходимости. Такой подход может ускорить создание шедевра раза в два! Что представляет собой AML ? Язык представляет собой гибрид HTML и PASCAL. В его основе лежит набор управляющих директив (своеобразных "тегов"), интерпретируемых и выполняемых AML-редактором на локальном компьютере пользователя. Пользователь устраняется из процесса обновления, экономя значительную часть своего времени. Таким образом, язык AML является универсальным средством создания шаблонов, гибких настраиваемых "движков", и возможно прототипом будущего простого языка создания CMS. В настоящее время самой надежной и проверенной версией является AML v.1.1 Благодаря ей я за последние годы реализовал несколько коммерческих и частных проектов, подготовил немало выпусков своих рассылок. Синтаксис AML v.1.1 [quote]Тег 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. Чтобы закомментировать тег, надо поставить в его начале две фигурные скобки {{[/quote] Более подробно типовые примеры использования языка разобраны здесь: http://www.alex-world.nm.ru/aml/primer.htm Я не могу разобраться! Что делать? Обращайтесь, я обязательно помогу каждому! Пишите на e-mail (alex_soldier(a)mail.ru) или создайте в этом разделе тему, указав в Названии адрес своего сайта, а в Пояснении - тематику. Я покажу, как лучше всего разбить страничку на фрагменты, а также предостерегу от некоторых "подводных камней"! Например: chili-land.nm.ru Моя персональная страничка

Ответов - 8

Berserker: Не часто нынче встретишь в сети энтузиастов, которые создают бесплатные рассылки, бесплатный софт и прочее. Я знаком с php. AML выглядет интересно. Обязательно попробую. Ждите комментариев.

Berserker: Оособо порадовали ссылки на скачивание.

Alex_soldier: Прошу прощения, после НГ на Mail.Ru все ссылки побились. Вот прямая: http://www.alex-world.nm.ru/aml/AML11.rar Хотя планирую обновить архив примеров в ближайшее время.


Berserker: Спасибо. После беглово осмотра пока есть лишь один комментарий. Всё-аки язык имхо можно было гибче сделать. В целом идеальны макросы, переменные, функции, циклы. Тогда под себя html можно вообще на новый уровень выводиить. Прога писалась на Делфи?

Berserker: Вижу, что на Делфи. 1) Когда жмёшь вызов справки или о программе, то ты подгружаешь текст в TMemo построчно, что довольно не красиво выходит (бегущие строки). лучше объявить отдельный объект TStringList, туда залить все строки, а потом присвоить значение Memo. В остальном всё работает как и должно было работать, хотя большой пользы не извлечь. Основной смысл, имхо, в команде класса include.

Alex_soldier: Ваша правда, главное зло для начинающих - именно отсутствие INCLUDE в HTML (поэтому так популярны фреймы). Второе зло - шаблон страницы, на котором менялись бы только титлы/заголовки/названия и основной текст. Версия AML 1.1 как раз нацелена на эти вопросы. Вообще, ей уже 4 года, интерфейс - остался аж от 1.0 Сейчас я проработал язык до 3.2 вперед и уже делаю AML 1.2 (интерфейс готов, учел USABILITY). Зная PHP, только от большой нужды может понадобится AML. В нем на первом месте стоит не гибкость, а простота. Именно поэтому позиционирую его как Язык Разметки, а не Язык Программирования. Но скоро и в нем появятся выражения, условия, циклы + потоки данных из файлов. Дипломники уже пишут серверную реализацию 1.2 на Perl (не знаю, получится ли ожидаемое). Ну а пока использую средство в своих проектах/рассылках - здорово экономит время. Делаю и коммерческие проекты. Изредка рекомендую знакомым. Но все может быть еще лучше, если все же реализую остальные задумки!

Berserker: Остаётся только пожелать успехов автору и поблагодарить за труды. А вот насчёт фреймов, тут не в этом соль. Ведь фрейм на то и фрейм, что его можно отобразить везде, в то время как страничка одна. А в Вашем случае происходит дублирование, что нужно, но не всегда. А какие платные проекты вы создаёте?

Alex_soldier: Спасибо за пожелание! Я не против фреймов, даже когда-то набросал статейку по этому поводу: http://alex-world.nm.ru/ie/school/3-08-05.htm Сам я отказался от фреймов по причине неудобства для пользователя сохранять всю страничку целиком со всеми файлами. Поэтому теперь генерю автономные законченные документы по шаблону. Конечно, здесь проигрыш в размере, но хостинг с большим запасом + вряд ли когда пользователь видит надпись "СЕРВЕР ПЕРЕГРУЖЕН". А платные проекты - делаю и продвигаю сайты клиентам. В принципе, ничего особнного. Если интересно, адреса могу сбросить в PM.



полная версия страницы