Web-редакторы для Linux

Преамбула

Зачем нужны web-редакторы? Нетрудно сказать. Для того, чтобы делать web-страницы. Зачем нужны последние — тема отдельного разговора. А как их делать — пару слов сказать стоит.
Делать web-страницы можно двумя способами: напрямую писать html-код и проектировать страницу, так сказать визуально. Второй способ — легче, первый - лучше (и на круг — проще). Соответственно, все web-редакторы делятся на две категории — WISIWIG-редакторы и HTML-редакторы. Существуют и промежуточные варианты. И лучшие представители обеих категорий имеют в своем арсенале как визуальные средства, так и возможность прямого редактирования кода.
Всякого рода web-редакторов под Windows — великое множество. И изрядная их часть — бесплатна или условно-бесплатна. А как обстоит дело для Linux? Одним их первых моих занятий по приобщении к этой системе стало исследование вопроса о web-инструментарии.
Из общих соображений мне казалось, что такового должно быть — немеряно. Однако внимательное изучение Linuxberglinux.freeware.ru и аналогичных сайтов вносит существенные коррективы.
Перво-наперво оказалось, что изрядная часть средств, перечисленных в соответствующих разделах — это всякого рода html-расширения для обычных текстовых редакторов, типа vi или emacs. Разумеется, в текстовом редакторе можно делать web-страницы. Некоторые даже полагают Notepad лучшим web-редактором всех времен и народов. Но, по моему, они лукавят. Ведь и доски можно ножом строгать. Однако лучше это делать рубанком…
А собственно web-редакторов нашлось чуть больше десятка. И половина из них показалась мне из описаний (весьма лапидарных, так что, возможно, я и ошибаюсь) слишком примитивными. В результате в сухом остатке оказались: WISIWIG-редакторы Amaya и Bulldozer, и html-редакторы — asWedit, Bluefish, Erwin, KDreamsite и WebMaker. Был еще, правда, CoffeCup — Linux-вариант известного web-редактора под Windows. Но это - программа коммерческая, доступная в виде тридцатидневной trial-версии. Почему, ради сохранения чистой совести, она и не рассматривалась.
Несколько слов о том, на чем проводились эксперименты: Celeron/400 Mhz под Socket 370, системная плата Abit BM6, память 128 мегабайт (PC-100, 8 ns, вроде бы Micron), видеокарта ASUS 3800 (Riva TNT2) с 16 мегабайтами SDRAM, винчестер Western Digital 8,4 GB (прочее железо — несущественно). Операционная система - Linux Mandrake 6.0/RE, ядро 2.2.9, язык при инсталляции — русский (русификатор Kkb). Графическая среда — KDE 1.1.1 со всеми потребными библиотеками. Как-то это могло повлиять на результаты, хотя — не думаю.
Для начала я попробовал поглядеть, что такое

WISIWIG-редакторы под Linux

В простейшем варианте таковые представлены Netscape Communicator со своим Composer'ом. Однако мне он не нравился в версии для Windows. И в версии для Linux — тоже не внушил симпатий. Причин — две: неудобство редактирования кода (чтобы получить к нему доступ, требуется подключить внешний редактор, иначе на код можно только любоваться) и стремление переиначить введенные руками тэги.
Для особо ленивых (или наоборот, любящих китайскую работу) есть возможность в качестве web-редактора использовать текстовый процессор StarWriter из комплекта StarOffice. Конечно, то довольно комфортная среда для работы, кое в чем поудобнее MS Office и прочих офисных наборов для Windows. Однако с русскими буквами в html-формате он работает не лучшим образом, превращая их в четырехзначные коды. Что, правда, можно преодолеть, как описано на сайте http://isd.anet.donetsk.us/~lein/StarOffice.html. Однако генерируемый StarWriter html-код все равно остается неудобочитаемым из-за изобилия отсебятины типа тэгов <font>…</font> в произвольных позициях, вплоть до середины слова. В общем, точно так же, как в html-документах, экспортированных из MS Word 97.
Специализированные WISIWIG-редакторы для Web я не очень люблю — уж больно они любят улучшать введенный руками код, а то и пороть откровенную отсебятину (вспомните, сколько неудобопонятного кода пишет FrontPage 97). Бывают, конечно, и исключения (Dreamweaver, например, или AOLPress), да и те - не без греха. Однако в ряде случаев их использование бывает полезным — для быстрого создания прототипа страницы. И для полноты картины следовало с ними ознакомиться. Первой в списке была

Amaya

Я скачал ее с Linuxberg в виде бинарного архива tar.gz. Установка его проблем не вызвала, он благополучно распаковался куда надо и запустился из командной строки терминала. На первый взгляд Amaya производила приятное впечатление (рис. 1): инструментальная панель современного вида, наличие встроенного браузера, как в AOLPress'е, переключение с режима редактора в режим браузера и т.д.
ошные разочарования. Во первых, Amaya сразу же начала находить у меня ошибочные теги (в меру своего разумения, соответствующего спецификации html чуть ли не второй версии). И до исправления ошибок категорически отказывался переключаться в режим редактора. Для пробы последовал мудрым советам, после чего получил доступ к редактору. Тут последовало второе разочарование: я не нашел никакого способа доступа к html-коду. Без чего web-редактора, будь он хоть трижды wisiwig, не приемлю: знаем мы, какие они умные… И, наконец, моя борьба за русские буквы оказалась безуспешной. На запуск с параметром, скажем, -fn fixed Amaya плевать хотела, а поиск какого-либо другого способа русификации (если он существует) требовал неоправданных, как мне показалось, затрат сил и времени. И с Amaya я благополучно распростился, перейдя к пункту второму и последнему -

Bulldozer

Его я тоже взял с Linuxberg в виде tar-архива. При установке он задавал мне какие-то вопросы о местоположении каталогов, после чего оказался в отдельном подкаталоге в /usr/bin. И при запуске для начала сообщил о невозможности воспользоваться help'ом по причине неправильного его расположения. Правда, тут же давался совет, как сделать это расположение правильным.
Я этого делать не стал по двум причинам. Первая — на команду dozer -fn fixed он не прореагировал никак — русских букв как не было, так и не стало. И второе — мою титульную страничку Linux-раздела он перекорежил так, как это можно видеть на рисунке 2. Смею заверить, в тот момент картинка с Сигурдом Драконоборцем в любом браузере (и линуксовом, и виндовом) находилась на своем месте. Разбираться, в чем дело, я не стал, Просто вычеркнув Бульдозера из списков живых (на моем компьютере). Да и название не больно эстетичное…
На этом тема WISIWIG-редакторов была почти исчерпана. Можно было заняться

HTML-редакторами

Их них первым по алфавиту был

asWedit

Отзыв о нем — как о редакторе класса HomeSite. Он существовал на Linuxberg'е в виде tar-архива. Однако, сходив на домашнюю страницу, обнаружил службу поиска rpm-пакетов, где благополучно нашел его в этом виде (для меня пока более простом в обращении). Поэтому установка его сложностей не вызвала. К тому же он прекрасно встроился в меню KDE. Хотя запускался и из командной строки терминала.
Выглядел asWedit действительно положе на HomeSite, но уж больно лохматых версий (рис. 3). И сразу же взялся исправлять мой код: на рисунке — внизу окна его гнусные предложения (в данном случае он был прав, но по существу — глубоко ошибался); правда, есть возможность их проигнорировать, но тогда asWedit не успокоится при следующей загрузке документа. Проблема русских букв решалась запуском из командной строки с параметром -fn(на рисунке — вверху на втором плане). Однако при этом терялась возможность настройки экранных шрифтов в окне редактирования кода: при переходе на средний или крупный шрифт буквы русскими быть переставали, а получившийся шрифт по умолчанию я различал, только царапая очками монитор.
Можно было, конечно, поэкспериментировать со шрифтами, но неясно — стоило ли. Никаких особых достоинств я в asWedit'е не обнаружил: ну редактор как редактор, имя им - легион на любом сайте бесплатного софта. Так что, сделав заметку на всякий случай, я перешел к следующей букве алфавита.

Bluefish

Это — типичный html-редактор класса free- и shareware. Не из лучших, но и не худших. Особенно, учитывая его статус альфа-версии. Имеет три линейки кнопок (рис. 4) — главную и две — с html-тэгами. Кроме того, есть и четвертая, пустая - редактируемая.
Не поддерживает расцветку тэгов, не имеет никаких настроек. Надеюсь — пока. Но зато нормально работает с русскими буквами. Вот, пожалуй, и все. На сегодняшний день. Впрочем, нет. Для альфа-версии — работает очень прилично (правда, не знаю, насколько понятие альфа-версии применимо к Линукс-софту).

Erwin

Это редактор, доступный в виде rpm-пакета, отличается предельной простотой (рис. 5): три пункта меню (не считая help), дублируемые одной из двух инструментальных линеек. Вторая же — предназначена для ввода трех групп тэгов - основных тэгов html, тэгов форматирования и таблиц и списков. Не подсвечивает тэги, никаких настроек нет даже в зачатке.
Ввод русских букв возможен только при раскладке клавиатуры, именуемой хакерской. Впрочем, за невозможностью настроить экранный шрифты, буквы эти русскими все равно не являются. Чем и определяется невозможность (да и ненужность) использования этого редактора.

KDreamsite

Он позиционируется как легкий в использовании html-редактор. Виденная мной версия имела номер один, но в README определялась как ранняя альфа. Что, как будет видно дальше, более чем соответствует действительности.
И так, KDreamSite. Доступен только в исходных текстах, его можно скачать со странички автора, а также, например, с Linuxberg. Представляет собой упакованный tar-архив размером около полумегабайта. Требования для установки — наличие компилятора C++, Perl, программ make, autoconf и automake, библиотеки QT1.44 и, естественно, KDE (все это подробно перечислено в файле README).
Помимо этого, в файле INSTALL имеется вполне достаточная инструкция по компиляции и установке программы. Каковые, при наличие всех потребных библиотек и инструментов, находящихся в положенных местах (определяемых файлом Makefile) никаких трудностей не вызывают. Если же все потребное хозяйство находится не по адресу - требуется запускать инсталляционные скрипты со всяческими параметрами (или править Makefile — не знаю, что проще).
По завершении установки исполняемый бинарный файл (kdreamsite), согласно документации, должен находиться по адресу /usr/local/bin. У меня же он обнаружился непосредственно в /usr/bin. Откуда и был благополучно запущен. Посредством командной строки, но можно — и из меню KDE.
Внешне KDreamsite (рис. 6) весьма напоминает описанный ниже WebMaker. После запуска программы можно видеть окно, состоящее из двух панелей. В левой — дерево каталогов (по умолчанию — начиная с корневого), в правой — html-файл. сразу после запуска он — безымянный и пустой, нет даже тэга! DOCTYPE — одного из обязательных, согласно спецификации html.
Из этой позиции можно открыть любой имеющийся html- или текстовый файл или создать новый (никаких даже минимальных шаблонов для этого не имеется). Все открытые или созданные файлы отображаются закладками ниже инструментальной панели. Разумеется, можно и закрыть файл. Интересно (хотя на самом деле — не очень), что закрытие созданного при запуске пустого файла автоматически вызывает закрытие всей программы. Не зависимо от того, сколько непустых файлов в этот момент открыто. И если эти файлы были изменены — не следует ни предупреждения об этом, ни предложения их сохранить. И все изменения оказываются потерянными.
Попытка открыть html-файл с русским содержимым приводит к появлению абракадабры, поскольку по умолчанию установлен шрифт без кириллицы. Правда, шрифт и все его атрибуты (размер, начертание, цвет, для кириллицы — кодировку) можно изменить через пункт меню Options - Editor Defaults. Однако сохранить эти установки нельзя — при перезапуске программы все возвращается на круги своя.
Инструментальная панель содержит несколько кнопок для выполнения минимальных действий (создание, открытие и сохранение документа, Undo и Redo, вырезание, копирование и вставка). Панель не редактируется, возможности подключения дополнительных панелей — нет.
Что еще можно сделать посредством KDreamsite? Стандартный набор манипуляций, как то:
  • изменение атрибутов текста (выделение, курсив, подчеркивание) и параграфа (выравнивание влево и вправо, центрирование, выключка);
  • вставка ограниченного набора основных тэгов (гиперссылка, якорь, рисунок, электронный адрес, горизонтальная линия, дата/время); при этом автоматически вставляются только сами тэгов, а их атрибуты надо вводить вручную;
  • имеется также пункт вставки метатэгов, но в текущей версии он заблокирован;
  • предусмотрена (почему-то в пункте меню Edit) также возможность редактирования тэгов, но она пока не реализована;
  • судя по наличию пункта меню View (заблокирован), можно догадываться, что предполагается просмотр во внешнем браузере.
Вот, пожалуй, и все, что мы имеем на сегодняшний день. Правда, есть еще нереализованный пункт меню под названием Project, не очень типичный для бесплатных web-редакторов. Но о содержании его можно только гадать.
Вывод: в современном своем виде KDreamsite для всамделишней работы не пригоден. Однако прошу это не считать в упрек. Ведь мы имеем дело с очень ранней альфа-версией (вероятно, правильнее было бы нумеровать ее не 1.0, а как-нибудь вроде 0.хх). А заложенные (хотя и нереализованные) опции позволяют предполагать, что со временем KDreamsite станет функциональным аналогом бесплатный web-редакторов среднего класса. Если же функции управления проектом включат в себя что-нибудь помимо создания и сохранения такового — не исключено, что он окажется среди лучших.
И так, до сего момента положение с web-редакторами для Linux оставляло желать лучшего. В списке, вместе с последним пунктом, оставалась и последняя надежда —

WebMaker

Тем более основательная, что написан он нашим соотечественником Алексеем Децем. Сходив на его страницу, я обнаружил там, кроме линуксберговского tar'а и непременных исходников, кучу rpm'ом, откомпилированных для 5-го RedHat'а, его же при Pentium'е и для 6-го RedHat'а. На всякий случай скачал их все, из жадности. Один из этих вариантов и был благополучно инсталлирован. И даже встроился в KDE (что тоже понятно, поскольку WebMaker под него и заточен).
В результате мои усилия были наконец вознаграждены. Я получил инструмент, внешне и функционально сходный с моей любимой Arachnophilia для Windows. Можно видеть (рис. 7) те же выводимые или скрываемые линейки пиктограмм (правда, одновременно — не более трех), сгруппированные по типам операций, те же закладки для открытых файлов. Есть возможность вводить тэги щелчком на пиктограмме или из меню (разумеется — и вручную).
Среди инструментов — возможность автоматического создания таблиц с произвольным количеством строк и колонок, форм, списков и кнопок. Есть возможность импорта текстовых файлов (в том числе и в cp-1251) и файлов Word. И нет — хоть малейших проблем с русским языком (все-таки хорошо, что не все еще говорят на американском, как сказал бы Выбегалло, диалекте).
Набор настроек также сходен с Arachnophilia. Можно изменить шрифт, цвет основных групп тэгов (но не фона), подключить внешний браузер для просмотра (как будто бы только одни). Имеется большой (и редактируемый) набор горячих клавиш для основных манипуляций. Что позволяет использовать WebMaker просто для набора русских текстов — редкий виндовый html-редактор дает такую возможность. В большинстве их них, понимающих русский язык, при переводе строки раскладка клавиатуры автоматически меняется на латинскую. Что создает понятный напряг. Удобно организована вставка ссылок и картинок: пути к файлам можно выбрать или задать вручную, одновременно установив все нужные атрибуты (target для ссылок, alt и всякие space для картинок и т.д.). Поиск и замена позволяют проводить эту операцию более чем с одной строкой (тоже не каждый день встретишь). К сожалению, нет возможности замены в нескольких файлах одновременно (скажем, изменить body bkcolor).
И вообще, средства управления проектом - почти отсутствуют. Единственно, что можно — это создать все файлы сайта по одному шаблону. Поскольку последний представляет собой простой html-файл, создание собственных шаблонов сложности не представляет. Однако по этой же причине автоматическое изменение файлов при модификации исходного шаблона - невозможно. Нет также инструмента для проверки целостности ссылок. Однако не будем забывать, что в бесплатных редакторах для Windows средства управления проектом отсутствуют или находятся в зачаточном состоянии. В той же Arachnophilia возможность проверки ссылок появилась только в одной из последних версий. А редакторы, таковые имеющие — давно уже не бесплатны (как HomeSite или HTMLTools).
В общем и целом, WebMaker мне понравился. Не только по сравнению с виденными редакторами под Linux (которые я после этого со спокойной душой истребил), но относительно развитых бесплатных web-редакторов для Windosw. Кое в чем он послабее Arachnophilia, кое в чем — поудобнее. Конечно, создать с его помощью огромный коммерческий сайт — затруднительно. Однако перед нами версия 0.8.5. А сколько значащих цифр потребовалось той же Arachnophilia (тоже творение индивидуала, Пауля Лютуса), чтобы дойти до современного состояния? В результате я записал WebMaker в свой арсенал.
После чего можно, наконец,

Подвести итоги.

Проведенный обзор был написан с претензией на полноту. Однако за истекшее время появилось еще несколько web-инструментов, с которыми я ознакомиться не успел. Это
  • Galway (последняя версия — 0.33) — Ариэля Риоса (Ariel Rios)
  • KWebDev (v0.4.1) Эрика Банкера (Eric Banker)
  • screem Дэвида Найта (David A Knight)
Однако все они представляют собой достаточно ранние альфа-версии и вряд ли могут существенно изменить приведенные ниже выводы.
В целом сегодняшнее положение с web-редакторами под Linux я удовлетворительным бы не назвал. WISIWIG-редакторов, пригодных для практического использования в наших условиях (при необходимости работы с кириллицей) — просто нет. Не то, чтобы они так уж необходимы — просто их наличие или отсутствие отражает общий уровень развития web-технологий на данной платформе.
Однако и классические html-редакторы под Linux развиты явно недостаточно. Хорошо задуманным Bluefish или KDreamsite — еще расти и расти до уровня бесплатных html-редакторов под Windows, Erwin — на мой взгляд, откровенно слаб, ну а asWedit явно не рассчитывался на работу с кириллицей.
Таким образом, на данный момент времени практически единственным web-редактором, пригодным для практического использования, является WebMaker. Однако и он имеет резервы для совершенствования: неразвитость средств управления проектом затрудняет его использование для построения большого и сложно структурированного контент-сайта.
Хочется, однако, надеяться, что все сказанное — не более, чем временные трудности. И не пройдет и … (боюсь загадывать точный срок), как в нашем распоряжении будут мощные html-редакторы со встроенными средствами визуального проектирования, подобно HomeSite, и полнофункциональные WISIWIG-редакторы с возможностью эффективного редактирования html-кода, сходные с Macromedia Dreamweaver.