= С помощью чего создавался 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 статья Карилла Маслинского]