Содержание

ASWE

ASWE — AoidSoft Web Engine(s), разработка компании Аэдсофт.

Используется технология SSI.

SSI (Server Side Includes — включения на стороне сервера) — несложный язык для динамической «сборки» веб-страниц на сервере из отдельных составных частей и выдачи клиенту полученного HTML-документа. В веб-сервере Apache реализован при помощи модуля mod_include. Включённая в настройках по умолчанию веб-сервера возможность позволяет подключать HTML-файлы, поэтому для использования инструкций файл должен оканчиваться расширением:

Проект на GitHub

Настройка

Нужно установить:

apt install libcgi-session-perl

Apache

Для работы с Apache нужно добавить модули:

a2enmod cgi include
service apache2 reload

Тесты

include

/_test/include.shtml

Тест пройден:

Test: include virtual is worked

Тест не пройден:

Test: error -->

Perl

/_cgi-bin/test.cgi

Тест не пройден:

Perl is worked!

Документация

Движок 0

refs2pages.cgi

Загрузка ссылок на страницы из структуры папок

  1. В папку помещается shtml–страница со вставкой вызова «Движка 0».
  2. В папке создаются вложенные папки вида nn_name, где nn — порядковый номер вложенной папки (ссылки) при отображении страницы.
  3. Имя ссылки по умолчанию — имя вложенной папки, но может быть заменено, если в отображаемой странице определён тэг <TITLE>.
  4. Страница, вызываемая по ссылке, лежит в вложенной папке и имеет имя name.shtml (или .htm, или html).

Пример использования:

<!--#include virtual="/cgi-bin/refs2pages.cgi?pref=<ul>&post=</ul>
&template=<li><a href='@@'>$$</a></li>&tree=1"-->

где:

Движок 1

Движок 1/B

loadbanners.cgi

Загрузка ссылок на документы и коротких описаний или баннеров из структуры папок

В папке, где лежит shtml–страница со вставкой вызова «Движка B», ложатся файлы с именами вида yymmddnn_name.xxx с описаниями подключаемых ссылок/баннеров, формат файла:

Definition1=Value1
Definition2=Value2
…

где

Пример использования:

<!--#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).

Движок 2

loadtexts.cgi

Загрузка текстов

В папке, где лежит shtml–страница со вставкой вызова «Движка 2» ложатся файлы с именем вида yymmddnn_name.txt или yymmddnn_name.htm, где

Пример использования:

<!--#include virtual="/cgi-bin/loadtexts.cgi?pref=<div>&post=</div>"-->

где

Также возможно использование «Движка 3»:

<!--#include virtual="/cgi-bin/loadheaders.cgi?pref=<div>&post=</div>"-->

Движок 3

loadheaders.cgi

Загрузка заголовков

В папке, где лежит shtml–страница со вставкой вызова «Движка 3» ложатся файлы с именем вида yymmddnn_name.txt или yymmddnn_name.htm, где

Файлы будут считываться, и вставляться в страницу в указанном порядке (в порядке возрастания или убывания даты и номера).

Пример использования:

<!--#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"-->

где:

В шаблонах можно использовать макроопределения:

Может использоваться вместо «Движка 2».

filemask

Пример использование регулярного выражения в параметре 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"-->

template.cgi

Скрипт вызова шаблона.

Пример исрльзования:

index.shtml
<!--#include virtual="/_cgi-bin/template.cgi" -->

Пример структуры

FIXME

Пример структуры

Пример структуры

html
index.shtml использует движок 0
01_about
about.shtml использует движок 2
07042001_text1.txt
07042002_text2.txt
02_life
life.shtml использует движок 0
01_release
release.shtml использует движок 3
07042001_a1.htm
07042002_a2.htm
07042003_a3.htm
02_smi
smi.shtml использует движок 3 и движок 1
07052801_banner1.bnr
07052802_banner2.bnr
07042001_s1.htm
07042002_s2.htm
07042003_s3.htm
b1.gif
b2.jpg
03_events
events.shtml использует движок 3
07042001_e1.txt
07042002_e2.txt
07042003_e3.txt

Ссылки

SSI