Здесь находится документация (какую смог написать) по тем action и macro, которыми я как-либо занимался. В случае, если авторство плагина не моё, оно указывается отдельно.

Макросы

ExtractInfo

Обёртка вокруг [[Include(SomePageName, , from="^==[ ]*" + header + "[ ]*==$", to="^----$")]]. Сответственно, включает в страницу, где есть макрос, куски страницы SourcePageName, ограниченные заголовками второго уровня с указанными названиями и горизонтальной чертой. Данный макрос используют макросы LicenseInfo и FormatInfo (с изменённым значением по умолчанию параметра Source).

Использование

[[ExtractInfo(Header1)]]

  • Вставит текст между "== Header1 ==" и ---- из страницы по умолчанию (.)

[[ExtractInfo(Header1,Header2)]]

  • Вставит текст между "== Header1 ==" и ----, а также между "== Header2 ==" и ---- из страницы по умолчанию (.)

[[ExtractInfo(Header1,Header2,Source=PageName)]]

  • Вставит текст между "== Header1 ==" и ----, а также между "== Header2 ==" и ---- из указанной страницы (PageName)

Пример

[[ExtractInfo(PDF,ODT,Source=PspoMaterials/FormatInfo)]]

Файлы PDF можно просмотреть при помощи программы evince (gnome), kpdf (KDE), zathura или xpdf.

Файлы в формате ODT можно просмотреть при помощи OpenOffice.org Writer, AbiWord или KOffice (KDE).

[[ExtractInfo(GFDL,Source=PspoMaterials/LicenseInfo)]]

TODO

  • Переписать ограничители как параметры со значениями по умолчанию

FormatInfo

Макрос для вставки информации о формате.

Использование

[[FormatInfo(Format1,Format2,...)]]

  • Добавит информацию о форматах Format1, Format2 и так далее из страницы по умолчанию (../FormatInfo)

[[FormatInfo(Format1,Format2,...,Source=PspoMaterials/LicenseInfo)]]

  • Добавит информацию о лицензиях Format1, Format2 и так далее из указанной страницы (PspoMaterials/FormatInfo)

Пример:

[[FormatInfo(PDF,ODT,Source=PspoMaterials/FormatInfo)]]

Файлы PDF можно просмотреть при помощи программы evince (gnome), kpdf (KDE), zathura или xpdf.

Файлы в формате ODT можно просмотреть при помощи OpenOffice.org Writer, AbiWord или KOffice (KDE).

LicenseInfo

Макрос для вставки информации о лицензии.

Использование

[[LicenseInfo(License1,License2,...)]]

  • Добавит информацию о лицензиях License1, License2 и так далее из страницы по умолчанию (../LicenseInfo)

[[LicenseInfo(License1,License2,...,Source=PspoMaterials/LicenseInfo)]]

  • Добавит информацию о лицензиях License1, License2 и так далее из указанной страницы (PspoMaterials/LicenseInfo)

Пример:

[[LicenseInfo(GFDL,CC-BY-SA,Source=PspoMaterials/LicenseInfo)]]

CreateMaterialPassport

Вставляет форму для генерации нового паспорта материала.

Использование

[[CreateMaterialPassport()]]

  • Вставляет форму, у которой не заполнены поля без значений по умолчанию

[[CreateMaterialPassport(),Option1=Value1,Option2=Value2,...]]

  • Вставляет форму, у которой изменены параметры по умолчанию.

Параметры

Параметр

Тип

Значение по умолчанию

Описание

Name

Имя страницы

отсутствует

Имя новой страницы паспорта материала

Title

строка

отсутствует

Название материала

OriginalTitle

строка

отсутствует

Оригинальное название материала

Base

Имя страницы

PspoMaterials

Базовая страница для паспорта

Author

строка

отсутствует

Автор материала

License

строка

отсутствует

Лицензия материала

LicenseBase

Имя страницы

../LicenseInfo

Страница с информацией о лицензиях

Format

строка

отсутствует

Формат материала

FormatBase

Имя страницы

../FormatInfo

Страница с информацией о форматах

URL

строка

отсутствует

Ссылка на источник

Template

Имя страницы

MaterialPassportTemplate

Шаблон для создания паспорта материала

NameLabel

строка

"Имя страинцы"

Надпись для поля с именем новой страницы

TitleLabel

строка

"Название"

Надпись для поля с названием материала

OriginalTitleLabel

строка

"Оригинальное название"

Надпись для поля с оригинальным названием материала

BaseLabel

строка

"Базовая страница"

Надпись для поля с базовой страницей для паспорта

AuthorLabel

строка

"Автор"

Надпись для поля с автором материала

LicenseLabel

строка

"Лицензия"

Надпись для поля с лицензией материала

LicenseBaseLabel

строка

"Страница описания лицензий"

Надпись для поля со страницей с информацией о лицензиях

FormatLabel

строка

"Формат"

Надпись для поля с форматом материала

FormatBaseLabel

строка

"Страница описания форматов"

Надпись для поля со страницей с информацией о форматах

URLLabel

строка

"Источник"

Надпись для поля со ссылкой на источник

TemplateLabel

строка

"Шаблон"

Надпись для поля с шаблоном для создания паспорта материала

SubmitLabel

строка

"Создать паспорт материала"

Надпись на кнопке отсылки формы

ShowSetFields

флаг

отсутствует

Если данный параметр задан, то отображаются все поля, у которых заданы значения

EditSetFields

флаг

отсутствует

Если задан данный параметр и ShowSetFields, то поля, у которых заданы значения, доступны для редактирования

По умолчанию, отображаются только те поля, у которых отсутствуют значения по умолчанию.

Для задания в параметрах нескольких форматов или лицензиях используйте ";" вместо ",".

Поведение

При нажатии на кнопку сздания материала вызывается action CreateMaterialPassport с указанными в фрме параметрами. Список передаваемых параметров: Name, Title, OriginalTitle, Base, Author, License, LicenseBase, Format, FormatBase, URL, Template.

Примеры

[[CreateMaterialPassport()]]

Имя страницы:
Название:
Оригинальное название:
Автор:
Лицензия:
Формат:
Источник:
Аннотация:
 

[[CreateMaterialPassport(Author=RMS, License=GFDL;CC-BY-SA,  SubmitLabel=Создать документ за авторством Столлмана)]]

Имя страницы:
Название:
Оригинальное название:
Формат:
Источник:
Аннотация:
 

[[CreateMaterialPassport(Author=RMS, License=GFDL;CC-BY-SA, SubmitLabel=Создать документ за авторством Столлмана, ShowSetFields=true)]]

Имя страницы:
Название:
Оригинальное название:
Автор:RMS
Лицензия:GFDL,CC-BY-SA
Формат:
Источник:
Базовая страница:PspoMaterials
Страница описания лицензий:../LicenseInfo
Страница описания форматов:../FormatInfo
Шаблон:MaterialPassportTemplate
Аннотация:
Перезаписать:False
 

[[CreateMaterialPassport(Author=RMS, License=GFDL;CC-BY-SA, SubmitLabel=Создать документ за авторством Столлмана, ShowSetFields=true, EditSetFields=true)]]

Имя страницы:
Название:
Оригинальное название:
Автор:
Лицензия:
Формат:
Источник:
Базовая страница:
Страница описания лицензий:
Страница описания форматов:
Шаблон:
Аннотация:
Перезаписать:
 

MaterialFiles

Макрос для управления файлами материала. Использует действие ../../Actions/MaterialFiles для управления файлов.

Параметры

Параметром без значения является имя (Name) материала, для которого генерируется макрос. Если оно не указано, то макрос генерируется для текущей страницы.

Параметр

Тип

Значение по умолчанию

Описание

base

Имя страницы

PspoMaterials

Базовая страница для страницы паспорта материала

Использование

Макрос генерирует дерево файлов материала с кнопками для выполнение действий, на которые имеются права.

Макрос генерирует ссылку на паспорт материала.

Параметры

Параметр

Тип

Значение по умолчанию

Описание

Base

Имя страницы

PspoMaterials

Базовая страница для страницы паспорта материала

FilePath

http-адрес

/static

Базовый путь к файлам материалов

Format

Строка

"auto"

Класс материала. Возможные значения: auto, MpguLecture, CmcLecture, Lecture, Presentation, AltDoc, Illustration, WikipediaArticle, RFC, LinuxBook, Book, HowTo, Kde, SchoolServer, Generic. При использовании значения auto включается мозг, который (на данный момент, последовательным применением захардкоденных регэкспов к имени страницы) определяет, какой формат использовать. Не путать с форматом материала. Если параметр Icon пустой, то ссылка на иконку генерируется как <IconPrefix><Format><IconSuffix>

Icon

http-адрес

""

Путь к иконке, используемой в ссылке. В случае, если путь пустой, используются параметры IconPrefix и IconSuffix

IconPrefix

http-адрес

/static/__icons/material_

Префикс пути к иконке, используемой в ссылке. Используется при пустом значении параметра Icon

IconSuffix

http-адрес

".png"

Суффикс пути к иконке, используемой в ссылке. Используется при пустом значении параметра Icon

Text

Строка

title

Что используется в качестве текста ссылки. Возможные варианты: name, title, origtitle

Direct

Флаг

False

Если равен True, генерируется ссылка непосредственно файлы материала, иначе на страницу паспорта

DirectBrain

Флаг

True

Только если включена опция Direct: если равен True, делается попытка найти индексную страницу (или единственный файл в директории), иначе генерируется ссылка на директорию.

DirectPath

Строка

None

Только если включена опция Direct: пусть до конкретного файла в материале.

DirectPathDesc

Строка

none

Только если включена опция Direct: комментарий для конкретного файла в материале.

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

Код

Результат

Описание

<<PassportLink(RFC_1855)>>

 RFC 1855: Netiquette Guidelines

Генерируется ссылка на паспорт материала RFC_1855.

<<PassportLink(RFC_1855,Text=name)>>

 RFC_1855

Генерируется ссылка на паспорт материала RFC_1855, в качестве текста используется имя материала.

<<PassportLink(AltDocs_backup,Direct=True)>>

 Резервное копирование информации

Генерируется ссылка на файлы материала AltDocs_backup. В данном случае должна сгенерироваться ссылка на индексный файл, так как он наличествует в директории.

<<PassportLink(AltDocs_backup,Direct=True,DirectBrain=False)>>

 Резервное копирование информации

Генерируется ссылка на файлы материала AltDocs_backup. В данном случае должна сгенерироваться ссылка на директорию, так как принудительно отлючена опция DirectBrain.

<<PassportLink(RFC_1855,Direct=True)>>

 RFC 1855: Netiquette Guidelines

Генерируется ссылка на файлы материала RFC_1855. Не смотря на опцию DirectBrain, включенную по умолчанию, ссылка генерируется на директорию, так как индексный файл не найден.

<<PassportLink(RFC_1855,Format=Lecture)>>

 RFC 1855: Netiquette Guidelines

Генерируется ссылка на паспорт материала RFC_1855, формат задан принудительно.

<<PassportLink(AltDocs_linuxnovice,Direct=True,DirectPath=ch02s11.html)>>

 Linux и UNIX: Руководство начинающего пользователя

Генерируется ссылка на файл ch02s11.html материала AltDocs_linuxnovice.

<<PassportLink(AltDocs_linuxnovice,Direct=True,DirectPath=ch02s11.html,DirectPathDesc=Emacs для начинающих)>>

 Linux и UNIX: Руководство начинающего пользователя: Emacs для начинающих

Генерируется ссылка на файл ch02s11.html материала AltDocs_linuxnovice с описанием «Emacs для начинающих».

Действия

CreateMaterialPassport

Создание паспорта материала с указанными именем, названием, авторством, лицензией и форматом.

Параметры

Параметры аналогичны используемым в макросе CreateMaterialPassport.

Параметр

Тип

Значение по умолчанию

Описание

Name

Имя страницы

отсутствует

Имя новой страницы паспорта материала

Title

строка

отсутствует

Название материала

OriginalTitle

строка

отсутствует

Оригинальное название материала

Base

Имя страницы

PspoMaterials

Базовая страница для паспорта

Author

строка

отсутствует

Автор материала

License

строка

отсутствует

Лицензия материала

LicenseBase

Имя страницы

../LicenseInfo

Страница с информацией о лицензиях

Format

строка

отсутствует

Формат материала

FormatBase

Имя страницы

../FormatInfo

Страница с информацией о форматах

URL

строка

отсутствует

Ссылка на источник

Template

Имя страницы

MaterialPassportTemplate

Шаблон для создания паспорта материала

Поведение

  • При выполнении макроса создаётся страница с именем Base/Name с использованием шаблона Template, после чего выполняется попытка заполнить шаблон переданными в качестве параметров значениями Title, OriginalTitle, Author, License, Format, URL

  • В случае, если страница уже существует, будет выдано предупреждение и осуществлён переход на реферрер
  • В случае, если задано пустое имя, будет выдано предупреждение и осуществлён переход на реферрер

Использование

Обычно используется не напрямую, а макросом CreateMaterialPassport.

?action=CreateMaterialPassport&Name=MaterialName

  • Создаёт страницу с указанным именем и незаполненным шаблоном по умолчанию (MaterialPassportTemplate).

?action=CreateMaterialPassport&Name=MaterialName&Title=Material%20Title&OriginalTitle=Original%20Material%20Title&Author=Author%20Name&License=Licenses,List&Format=Format,List&URL=http%27%3a%3aexample.org%3a

  • Создаёт страницу с указанными названием, заголовком, названием материала, автором, лицензией, форматом и источником.

MaterialFiles

Управление файлами материала. Обычно используется совместно с макросом MaterialFiles.

Формат вызова и поведение

Поведение action зависит в первую очередь от параметров subaction, который указывает действие, которое необходимо произвести, и path, который указывает путь к объекту (в формате ИмяМатериала/путь/к/файлу), над котором необходимо произвести действие. В зависимости от действия, могут требоваться дополнительные параметры, для задания которых генерируется соответствующая форма. Далее рассмотрены возможные параметры subaction, их семантика и используемые дополнительные параметры.

  • subaction=view --- просмотр файла

    • Дополнительные параметры: отсутствуют

    • Поведение: возвращает файл как он есть

  • subaction=move --- перемещение файла

    • Дополнительные параметры:

      • to=destination --- целевая директория
    • Поведение: В случае отсутствия параметра to выводится дерево каталогов материала, в котором находится объект. В случае, если параметр to указан, то происходит перемещение объекта в указанную директорию

  • subaction=delete --- удаление файла

    • Дополнительные параметры: отсутствуют

    • Поведение: удаление указанного файла или директории

  • subaction=upload --- закачивание файла

    • Дополнительные параметры:

      • file --- содержимое файла
    • Поведение: Если параметр file не передан, то будет отбражена форма выбора файла для загрузки. Если параметр file передан, то производится загрузка файла в директорию path

  • subaction=pack --- архивирование файла или директории

    • Дополнительные параметры: отсутствуют

    • Поведение: Архивирование указанного файла или директории командой tar cjf. В случае, если действие производится над материалом, то архивируются все файлы материала

  • subaction=unpack --- распаковка архивов tar.bz2

    • Дополнительные параметры: отсутствуют

    • Поведение: Выполняет команду tar xjf над указанным файлом

  • subaction=mkdir --- создание поддиректории

    • Дополнительные параметры:

      • name=dirname --- имя создаваемой поддиректории
    • Поведение: в случае, если параметр name не передан, отображается форма указания имени поддиректории. Если параметр name указан, то создаётся поддиректория с именем name в директории path

В случае, еслид действие выполнить не возможно по каким-либо причинам, выводится соответствующая диагностика. Возможные виды причин:

  • Путь не существует
  • Путь не является директорией
  • Произошла ошибка во время выполнения операции
  • Нет прав для выполнения операции

Права доступа

Для управления файлами используются права доступа read и write страницы паспорта материала. Право доступа read даёт возможность выполнять subaction=view. Право доступа write даёт возможность выполнять действия move, delete, upload, pack, unpack, mkdir. В случае, если права на запрашиваемое действие отсутствуют, выводится предупреждение и присходит переход на реферрер.

PassportGenerator

Action для массовой генерации паспортов материалов по дереву wiki-страниц.

Параметры

Параметр

Тип

Значение по умолчанию

Описание

Base

Имя страницы

PspoClasses

Базовая страница для дерева wiki-страниц, для кторых генерируется паспорт

MinDepth

число

2

Минимальная глубина вложения wiki-страниц (относительно базы), для которых необходимо генерировать паспорт

MaxDepth

число

2

Максимальная глубина вложения wiki-страниц (относительно базы), для которых необходимо генерировать паспорт

Overwrite

bool (True/False)

False

Перезаписывать ли имеющиеся страницы в процессе генерации новых

Поведение

  • Ищутся все подстраницы страницы, указанной в параметре Base
  • Для каждой из найденных страниц, прошедших тест глубины, создаётся паспорт
    • Имя страницы паспорта --- название wiki-страницы с заменёнными "/" на "_"
    • Название и оригинальное название страницы берутся из первого найденного в странице заголовка
    • Автор --- Георгий Курячий

    • Лицензия --- GFDL
    • Формат --- wiki (это включает мозг у action CreateMaterialPassport)

    • URL --- wiki-ссылка
    • Аннотация --- если в wiki-странице есть текст, ограниченный маркерами ##Begin abstract## и ##End abstract##, то ставится инклюд его (<<Include(%s,,from="##Begin abstract##",to="##End abstract##")>>), в противном случае пишется, что краткое писание не найдено

    • Если страница паспорта уже существует
  • Список страниц, для которых сгенерирован паспорт (и их глубина) выводятся как результат работы action

Использование

На данный момент данный action используется для следующих целей:

PageContentsReplace

Изменение содержимого дерева страниц.

Параметры

Параметр

Тип

Значение по умолчанию

Описание

Base

Имя страницы

PspoClasses

Корень модифицируемого дерева

MinDepth

число

1

Минимальная глубина модифицируемых страниц относительно корня

MaxDepth

число

1

Максимальная глубина модифицируемых страниц относительно корня

From

строка

отсутствует

Что заменять (python regex)

To

строка

отсутствует

На что заменять

Perform

флаг

False

Скрипт действительно применяется, только если данный флаг установлен в True

Поведение

  • Action находит страницы, соответствующие запросу 'title:regex:"^' + Base + r'(/.+)?$"', выбирает среди них те, которые находятся на нужной глубине и применяет к ним замену (re.sub(From, To, page_body))

  • Action не работает для пустого regex From
  • Action не работает, если MinDpeth > MaxDepth

eSyr/WikiHack (последним исправлял пользователь localhost 2008-07-03 21:38:37)