Макросы (серверный язык программирования)

Сборка веб-страниц на стороне сервера производится при помощи макросов, внедряемых в них на этапе разработки системы. Таким образом подключаются стандартные блоки страниц, такие, как хедер, меню, футер и т. п. При помощи макросов на страницы добавляются также ссылки на загрузку 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 версии системы.