ASWE — AoidSoft Web Engine(s), разработка компании Аэдсофт.
Используется технология SSI.
SSI (Server Side Includes — включения на стороне сервера) — несложный язык для динамической «сборки» веб-страниц на сервере из отдельных составных частей и выдачи клиенту полученного HTML-документа. В веб-сервере Apache реализован при помощи модуля mod_include
. Включённая в настройках по умолчанию веб-сервера возможность позволяет подключать HTML-файлы, поэтому для использования инструкций файл должен оканчиваться расширением:
.shtml
.stm
.shtm
Нужно установить:
apt install libcgi-session-perl
Для работы с Apache нужно добавить модули:
a2enmod cgi include service apache2 reload
/_test/include.shtml
Тест пройден:
Test: include virtual is worked
Тест не пройден:
Test: error -->
/_cgi-bin/test.cgi
Тест не пройден:
Perl is worked!
refs2pages.cgi
Загрузка ссылок на страницы из структуры папок
nn_name
, где nn — порядковый номер вложенной папки (ссылки) при отображении страницы.<TITLE>
.name.shtml
(или .htm, или html).Пример использования:
<!--#include virtual="/cgi-bin/refs2pages.cgi?pref=<ul>&post=</ul> &template=<li><a href='@@'>$$</a></li>&tree=1"-->
где:
pref
— префикс секции,post
— суффикс секции,tenplate
— шаблон строки ссылки,tree
— отображать все дерево (структуру) сайта (=1) или только текущий уровень (=0, по умолчанию =1),from
— отображать от папки /url/
, /
— от корня сайта, //
— от корня алиаса,@@
— место адреса ссылки,$$
— место текста ссылки.Движок 1/B
loadbanners.cgi
Загрузка ссылок на документы и коротких описаний или баннеров из структуры папок
В папке, где лежит shtml–страница со вставкой вызова «Движка B», ложатся файлы с именами вида yymmddnn_name.xxx
с описаниями подключаемых ссылок/баннеров, формат файла:
Definition1=Value1 Definition2=Value2 …
где
Definitioni
— макроопределение используемое в шаблоне, Valuei
— значение на которое будет заменено макроопределение. yymmdd
— может быть использовано как дата отключения баннера, nn
— порядковый номер при отображении ссылки/баннера,xxx
— тип файлов задаваемый ключом type
.Пример использования:
<!--#include virtual="/cgi-bin/loadbanners.cgi?pref=<ul>&post=</ul> &template=<li><a href='URL'><img src='FILE' title='TITLE'><br>TITLE</a></li>&expired=1"-->
где:
pref
— префикс секции,
post
— суффикс секции,
template
— шаблон отображения заголовка,
type
— тип (расширение) считываемых файлов (по умолчанию – «bnr»),
expired
— не отображать файлы с прошедшей датой (если = 1).
loadtexts.cgi
Загрузка текстов
В папке, где лежит shtml–страница со вставкой вызова «Движка 2» ложатся файлы с именем вида yymmddnn_name.txt
или yymmddnn_name.htm
, где
yy
— год, mm
— месяц, dd
— день размещения файла, nn
— порядковый номер за день, name
— имя файла. Файлы будут считываться, и вставляться в страницу в прямом порядке (в порядке возрастания даты и номера).Пример использования:
<!--#include virtual="/cgi-bin/loadtexts.cgi?pref=<div>&post=</div>"-->
где
pref
— префикс секции, post
— суффикс секции.Также возможно использование «Движка 3»:
<!--#include virtual="/cgi-bin/loadheaders.cgi?pref=<div>&post=</div>"-->
loadheaders.cgi
Загрузка заголовков
В папке, где лежит shtml–страница со вставкой вызова «Движка 3» ложатся файлы с именем вида yymmddnn_name.txt
или yymmddnn_name.htm
, где
yy
— год,mm
— месяц, dd
— день размещения файла,nn
— порядковый номер за день, name
— имя файла. Файлы будут считываться, и вставляться в страницу в указанном порядке (в порядке возрастания или убывания даты и номера).
Пример использования:
<!--#include virtual="/cgi-bin/loadheaders.cgi?pref=<ol>&post=</ol> &lines=2&template=<li value=**><a href='@@'>$$</a></li> &count=5&next=<a href='@@'>Дальше</a>&any=<a href='@@'>$$</a>%26nbsp;&back=1"-->
где:
pref
— префикс секции,post
— суффикс секции,lines
— сколько строчек из файла отображать (если не задано – все),count
— по сколько заголовков отображать на странице (если не задано – все),filemask
— regexp–маска имени файла, по умолчанию вида: YYMMDD_*.(htm|txt)
filepref
— префикс имени файла вида: filepreffilemask
template
— шаблон отображения заголовка (может быть не задан),next
— шаблон ссылки на следующую страницу (может быть не задан),preed
— шаблон ссылки на предыдущую страницу (может быть не задан),any
— шаблон ссылки на n–ную страницу (страницы нумеруются с 0, может быть не задан),current
— шаблон ссылки на текущую страницу (может быть не задан),back
— выводить в обратном порядке (если =1),ponly
— выводить только ссылки на страницы.В шаблонах можно использовать макроопределения:
@@
— адрес ссылки, $$
— текст заголовка (для «template») или номер страницы (для «next» и «any»), **
— порядковый номер.Может использоваться вместо «Движка 2».
Пример использование регулярного выражения в параметре filemask
Регулярное выражение для файлов, вида: NNNN_*.(htm|txt)
^\d{4}_.+\.(htm|txt)$
Его нужно преобразовать в escape–последовательность, получиться:
%5E%5Cd%7B4%7D_.%2B%5C.(htm%7Ctxt)%24
Пример готового вызова:
<!--#include virtual="/_cgi-bin/loadheaders.cgi?pref=<dir>&back=0 &filemask=%5E%5Cd%7B4%7D_.%2B%5C.(htm%7Ctxt)%24"-->
Скрипт вызова шаблона.
Пример исрльзования:
<!--#include virtual="/_cgi-bin/template.cgi" -->