Макросы (серверный язык программирования)
Сборка веб-страниц на стороне сервера производится при помощи макросов, внедряемых в них на этапе разработки системы. Таким образом подключаются стандартные блоки страниц, такие, как хедер, меню, футер и т. п. При помощи макросов на страницы добавляются также ссылки на загрузку CSS и JS файлов.
Механизм работы макросов прост: когда серверный движок встречает макрос в теле отдаваемой страницы, то он вместо макроса вставляет тот или иной, заранее определённый код, что позволяет как угодно манипулировать сборкой страниц.
Базовый префикс макросов
% (0x25) — базовый префикс макросов. Макрос состоит из двух символов — базового префикса и специального символа.
Список макросов в текущей версии системы
- %& (0x26) — подключение ссылок на загружаемые файлы. В одиночном режиме автоматически генерируются ссылки на файлы, хранящиеся на microSD карте памяти, а в тандемном режиме — на файлы, находящиеся на сервере MajorDoMo
- %# (0x23) — подключение файла scripts.js, в котором содержатся все основные JavaScript функции. В одиночном режиме содержимое файла вставляется в тело страницы, а в тандемном режиме — игнорируется
- %1 (0x31) — подключение файла хедера
_header.htm
и хедеров тем - %2 (0x32) — подключение файла dash-панели
_dash.htm
и панелей тем - %3 (0x33) — подключение файла меню
_menu.htm
и меню тем - %4 (0x34) — подключение файла футера
_footer.htm
и футеров тем - %@ (0x40) — подключение файла JavaScript функций
sample2.js
в одиночном режиме - %+ (0x2B) — подключение файла JavaScript функций
sample2.js
в тандемном режиме - %! (0x21) — Вставка SELF_IP в передаваемый файл
Внимание! В функции markersWorks() содержится недоработка, приводящая (редко) к блокировке работы макроса. Если у вас не работает макрос, то достаточно просто поставить несколько пробелов перед ним. Программисты, желающие помочь проекту, могут доработать эту функцию и устранить эту проблему.
Обратите внимание. Система Arduino Mega Server непрерывно развивается и в код проекта постоянно вносятся изменения и улучшения, поэтому, описание и документация может не соответствовать вашей конкретной версии системы. Последняя правка этой страницы относится к 0.14 версии системы.