С помощью чего создавался OpenLectory, или обзор ПО по вертикали
Сборка CD
Что такое LiveCD?
Файловая система с установленными туда пакетами (hasher)
Файл-образ этой ФС (squashfs)
Загрузчик, способный найти и смонтировать файл с образом ФС (isolinux)
- Дополнительные настройки системы:
Монтирование каталогов на запись (unionfs)
- Пользователь по умолчанию, autologin, настройки пакетов и прочее
- Наполнение
Пока слишком сложно, инструкции здесь: /BuildLiveCD.
Пользовательский интерфейс
Командный интерпретатор: Bourne Again Shell (bash)
Графическая среда: XOrg
Окновод: IceWM
Иконки рабочего стола: iDesk
Навигатор и просмотр слайдов: FireFox с расширением MozEx для запуска примеров
Слайды
Основной инстумент: pylize, сценарий на Python, превращающий обычную HTML-страницу в набор HTML-слайдов, управляемых javascript-функциями
HTML-страница получается из текста в формате m-k (wiki-подобный синтаксис,используемый при написании документации ALT Linux и учебника) с помощью ALDConvert и дополнительных преобразований (мелкие корректировки, HTML:-разметка, не поддерживаемая m-k и т. п.).
Подробности для программистов: -/Lectory/OLL/Makefile
Примеры в слайдах
MozEx позволяет обрабатывать HTML-ссылки (URL), в которых вместо http:// стоит что угодно (например, run://).
Такой URL обрабатывается сценарием demoscreen:
Если ещё не запущен, запускается screen и перемещается на рабочий стол «Work»
- Отображается рабочий стол «Work»
Строка из run:// отображается в строке состояния
Имитируется «ввод с клавиатуры» преобразованной строки из run://...
TODO: demoscreen использует icesh для манипуляции рабочими столами, а надо бы wmctrl
О программировании
Сборкой диска с лекциями и слайдов управляет GNU Make, сценарии написаны на shell с применением sed и некоторых других утилит. Утилитв demoscreen также написана на shell.
ALDConvert, pylize и некоторые другие программы написаны на Python
О Python
- Свободный, кроссплатформенный
- Можно программировать «как на паскале» + современная объектная модель
- Интерпретатор с удобной командной строкой
- Множество модулей
- Чёткий синтаксис (см. «примеры»)
Ссылки: Python примеры программ, 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
wiki — гипертекстовая среда (обычно веб-сайт) для сбора и структурирования письменных сведений. Характеризуется такими признаками:
- Возможность многократно править текст посредством самой вики-среды (сайта), без применения особых приспособлений на стороне редактора.
- Особый язык разметки — так называемая вики-разметка, которая позволяет легко и быстро размечать в тексте структурные элементы и гиперссылки; форматировать и оформлять отдельные элементы.
- Проявление изменений сразу после их внесения.
- Разделение содержимого на именованные страницы.
- Множество авторов. Некоторые вики могут править все посетители.
- Учёт изменений (учёт версий) текста: возможность сравнения редакций и восстановления ранних.
Для создания вики-среды необходимо особое ПО — движок вики. Это частный вид систем управления сайтом, довольно простой в своём устройстве и функциональности, ибо почти все действия по структурированию и обработке содержимого делаются пользователями вручну
Про moinmoin
http://moinmoin.wikiwikiweb.de
- Свободная и кроссплатформенная
- Потому что написана на Python
Установить очень просто, но есть ещё более простой вариант со встроенным HTTP-сервером (не нужен Apache): http://moinmoin.wikiwikiweb.de/DesktopEdition
- Фозможности: парсеры других форматов, ACL, макросы, темы, ...
- Сборно-разборная: свои макросы, парсеры, модификация кода!
Организация информационного пространства с помощью CamelCase
-/pereslavl2007/maslinsky/abstract.html статья Карилла Маслинского