= С помощью чего создавался OpenLectory, или обзор ПО по вертикали =

== Сборка CD ==

Что такое LiveCD?
  * Файловая система с установленными туда пакетами ([wiki:FreeSource:ALTLinux/Dokumentacija/Hasher hasher])
  * Файл-образ этой ФС ([wiki:WikiPedia:SquashFS squashfs])
  * Загрузчик, способный найти и смонтировать файл с образом ФС ([http://syslinux.zytor.com isolinux])
  * Дополнительные настройки системы:
    * Монтирование каталогов на запись ([wiki:WikiPedia:UnionFS unionfs])
    * Пользователь по умолчанию, autologin, настройки пакетов и прочее
  * Наполнение

Пока слишком сложно, инструкции здесь: /BuildLiveCD.

== Пользовательский интерфейс ==
  * Командный интерпретатор: [http://www.gnu.org/software/bash Bourne Again Shell] (bash)
  * Графическая среда: [http://x.org/ XOrg]
  * Окновод: [wiki:RuWikiPedia:IceWM IceWM]
  * Иконки рабочего стола: [http://idesk.sourceforge.net iDesk]
  * Навигатор и просмотр слайдов: [http://www.mozilla-russia.org/products/firefox/ FireFox] с расширением [http://mozex.mozdev.org/development.html MozEx] для запуска примеров

== Слайды ==
Основной инстумент: [http://www.chrisarndt.de/en/software/pylize pylize], сценарий на Python, превращающий обычную HTML-страницу в набор HTML-слайдов, управляемых javascript-функциями

HTML-страница получается из текста в формате `m-k` (wiki-подобный синтаксис,используемый при написании [:Docs: документации ALT Linux] и учебника) с помощью ALDConvert и дополнительных преобразований (мелкие корректировки, HTML:-разметка, не поддерживаемая `m-k` и т. п.).

Подробности для программистов: [:-/Lectory/OLL/Makefile:]
=== Примеры в слайдах ===
MozEx позволяет обрабатывать HTML-ссылки (URL), в которых вместо `http://` стоит что угодно (например, `run://`).

Такой URL обрабатывается сценарием [:-/Lectory/OpenLectory/home/bin/demoscreen: demoscreen]:
  1. Если ещё не запущен, запускается [wiki:WikiPedia:GNU_Screen screen] и перемещается на рабочий стол «Work»
  1. Отображается рабочий стол «Work»
  1. Строка из `run://` отображается в строке состояния
  1. Имитируется «ввод с клавиатуры» преобразованной строки из `run://...`
TODO: `demoscreen` использует `icesh` для манипуляции рабочими столами, а надо бы `wmctrl`

== О программировании ==
Сборкой диска с лекциями и слайдов управляет [wiki:WikiPedia:GNU_make GNU Make], сценарии написаны на shell с применением [wiki:RuWikiPedia:Sed sed] и некоторых других утилит. Утилитв `demoscreen` также написана на shell.

ALDConvert, pylize и некоторые другие программы написаны на RuWikiPedia:Python
=== О Python ===
http://python.org

  * Свободный, кроссплатформенный
  * Можно программировать «как на паскале» + современная объектная модель
  * Интерпретатор с удобной командной строкой
  * Множество модулей
  * Чёткий синтаксис (см. «примеры»)

Ссылки: RuWikiPedia:Python [wiki:RuWikiPedia:Python_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC примеры программ], http://pydev.ru/links/, http://pythonbook.it-arts.ru/

Разработка: http://www.opennet.ru/opennews/art.shtml?num=8554

Модули: http://docs.python.org/modindex.html

== О Wiki ==
RuWikiPedia:wiki — гипертекстовая среда (обычно веб-сайт) для сбора и структурирования письменных сведений. Характеризуется такими признаками:

    * Возможность многократно править текст посредством самой вики-среды (сайта), без применения особых приспособлений на стороне редактора.
          * Особый язык разметки — так называемая вики-разметка, которая позволяет легко и быстро размечать в тексте структурные элементы и гиперссылки; форматировать и оформлять отдельные элементы.
    * Проявление изменений сразу после их внесения.
    * Разделение содержимого на именованные страницы.
    * Множество авторов. Некоторые вики могут править все посетители.
    * Учёт изменений (учёт версий) текста: возможность сравнения редакций и восстановления ранних.

Для создания вики-среды необходимо особое ПО — движок вики. Это частный вид систем управления сайтом, довольно простой в своём устройстве и функциональности, ибо почти все действия по структурированию и обработке содержимого делаются пользователями вручну
=== Про moinmoin ===

http://moinmoin.wikiwikiweb.de

  * Свободная и кроссплатформенная
  * Потому что написана на Python
  * Установить очень просто, но есть ещё более простой вариант со встроенным HTTP-сервером (не нужен Apache): http://moinmoin.wikiwikiweb.de/DesktopEdition
  * Фозможности: парсеры других форматов, ACL, макросы, темы, ...
  * Сборно-разборная: свои макросы, парсеры, модификация кода!

Организация информационного пространства с помощью CamelCase

wiki:HeapMain

[:-/pereslavl2007/maslinsky/abstract.html статья Карилла Маслинского]