Инструменты пользователя

Инструменты сайта


aswe:aswe

ASWE

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

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

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

  • .shtml
  • .stm
  • .shtm

Проект на 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"-->

где:

  • pref — префикс секции,
  • post — суффикс секции,
  • tenplate — шаблон строки ссылки,
  • tree — отображать все дерево (структуру) сайта (=1) или только текущий уровень (=0, по умолчанию =1),
  • from — отображать от папки
    • /url/, / — от корня сайта,
    • // — от корня алиаса,
  • @@ — место адреса ссылки,
  • $$ — место текста ссылки.

Движок 1

Движок 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).

Движок 2

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

Движок 3

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

Пример использование регулярного выражения в параметре filemask

Регулярное выражение для файлов, вида: NNNN_*.(htm|txt)

  • 0000_Index.htm
  • 0001_Item1.htm
  • 0002_Item2.htm
  • 0002_ItemN.htm
^\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

Ссылки

aswe/aswe.txt · Последние изменения: 2021-10-22 12:06 — GreyWolf