Переработать guide.xsl для сайта
Убрать внешнее оформление страниц так, чтобы сгенерированный текст можно было хранить в нодах.
Тестовая страница здесь.
И вот еще одна посложнее: Составление документации для Gentoo Linux в формате GuideXML - самая свежая, еще не проверенная версия, взятая из bug-tracker'а gentoo.org. Заодно можно проверить. :)
»
- Для комментирования войдите или зарегистрируйтесь
Выложил. http://gentoo.ru/new/misc/guide.css
но там есть еще кое-какие конфликты:
1) класс .menu используется в дизайне сайта, поэтому я его пока закомментировал, т.к. меню расползлось по вертикали немного.
2) в классе .content закомментировал пока выравнивание по краям, т.к. этот класс также используется в меню - оно тут не в кассу.
В остальном все зашибись. :)
Насчет .menu и .content - поразмыслю на досуге. Просто когда я тестил css'ку, то почему-то не заметил, что они влияют на дизайн сайта :(.
Блин, с "содержанием" все равно лажа - какого-то фига подставляется URL http://gentoo.ru/new/ :( (к примеру, http://gentoo.ru/new/#doc_chap2) Метка для перехода по ссылке должна же подставляться к URL страницы!!! Не понимаю... Есть идеи?
Посмотри в заголовк страницы:
Походу, из-за этого косяк.. что делать, пока не знаю... надо подумать.
А если убрать эту директиву, что-нибудь изменится? Или она друпалу нужна?
Судя по всему, нужна. Сохранил страницу и убрал эту директиву - перестали загружаться картинки, css'ки и прочее.. Зато ссылки стали работать нормально.. Вообще странное поведение браузеров наблюдается: #bla-bla - это якорь на текущей странице, если перед ним ничего не идет. Но убеждать разработчиков, что они неправы - дело гиблое... хотя, может быть, в стандарте так написано - я не в курсе. :) У друпала много на этом завязано, похоже. Я, конечно, еще этот вопрос исследую, но пока будем ориентироваться на 2 варианта решения:
@anchor(doc_chap3)
=>http://gentoo.ru/new/node/190#doc_chap3
). Через одно место, конечно, но делать нечего. Особого проигрыша в производительности, я думаю, не будет, хоть и придется регулярные выражения использовать.Вообщем, с XSL-ем мы закончили, в CSS'ках осталось определиться с классами
.menu
и.content
(они вguide.css
нужны вообще? :)). И можно ставить задачу php-программистам, забубенить модуль для Drupal'а.P.S. Тоше уже медаль полагается или хотя бы пиво. Это по-любому. :))
Итак, я пошел по первому пути и сделал замену. Теперь код подготовки текста к выводу выглядит так:
Ссылки заработали. :)
Круто! :) Тока ещё как минимум две недоработки: надо убрать один из заголовков (а то сейчас на странице вставляются и "дружим xsl и drupal" и "Портежи-1. Устройство системы"), и в заголовок страницы название доки выводить (это и вообще нужно, и для поисковиков пригодится).
Насчет сss: .menu можно смело вырезать -- похоже оно юзалось для заготовки обрамления. А .content нужно оставить закомментированным - сейчас вроде все выглядит приятно :), потому что подошел drupal'овский .content, и пусть так и остается. Другие классы пришлось поправлять, из-за того, что выглядело все так себе, а здесь все вроде ок.
С PHP я знаком гораздо лучше, чем с XSL, (точнее, с XSL познакомился в процессе работы с guide.xsl :), то есть три недели назад) так что могу заняться и модулем. Тока сессия подступает, так что могу неожиданно сгинуть ;). Да и исходники друпаловские ещё в глаза не видел...
За пиво да медаль пасиб...:) Приятно кому-то помочь. В этом, наверное, и есть смысл комунити :) Гы!..
Этот issue, наверное, можно прикрыть. А то все "состояние: активен". Хоть что-нибудь в issue tracker'e должно быть "выполнено"!.. :)
На заголовки пока не смотрим, т.к. механизм вывода XML-файлов будет немного другим: скорее всего, файлы будут браться не из БД, а из файлов, вытащенных из CVS-репозитория.
Меня тут Святогор попросил разгрести переводы в bug tracker'е Gentoo.org, а потом мы вместе с ним будем решать, как это все организовать.
Задачу закрыл. Спасибо. :)
P.S. Насчет CSS'ок понял - исправим.
Ну так что? Как файл?
Извиняюсь - времени не было ответить. Я пару дней назад уже выложил твою версию файла. Теперь эта страница генерируется с его помощью. Надо решить что-то с кофликтами стилей.
А со стилями никаких проблем и нет. Там конфликтуют только три стиля, среди них - code, по-моему. А вот другая проблема - то что селектор содержания глючит - отсекает часть URL, связанную с нодами. Хотя, по всем канонам JavaScript'а, вроде не должен. Не знаю, что и делать...:(
На досуге переименую конфликтующие стили и составлю css'ку специально для использования с нашим guide.xsl'ем.
Я думаю, JavaScript'овый селектор можно заменить обычным списком ссылок - Аспирин сразу предложил, но мне было влом. :)
Родина тебя не забудет. :)
Файл отослал - подробности в письме :)
Какие делать названия css-классов? Оставлять исходные? Или, может, все переименовать, добавив какую-нибудь приставку?
И куда заливать итоговую xsl-ку?
XSL-ку можешь прислать по почте на
или
- мы выложим как промежуточный релиз.
С css я пока не разбирался. Вообще надо бы стили gentoo.org сравнить со стилями, которые у нас на сайте используются (drupal.css и style.css) и привести стили Drupal'а в соответствие с потребностями, которые возникают при выводе документации (например, как выводить скриншоты и листинги и т.п.).
Хорошо бы стиль оформления стндартный для Gentoo при этом сохранить.
А может лучше наоборот все стили, и, соответственно, названия классов, в документации сделать отличными от drupal'овских? По-моему, геморроя в будущем будет меньше :), если вдруг придется с drupal'а уйти, да и вообще.
Пожалуй, ты прав. Давай оставим названия стилей неизменными, но в любом случае надо проконтролировать, чтобы не было конфликтов стилей.
Мы можем сделать либо отдельный css-файл для вывода XML-контента, либо прописать стили прямо в стандартной css'ке.. первый вариант, конечно предпочтительнее, чтобы обновлять систему было проще.
Если никто ещё не взялся, могу занятся. Только за сроки не отвечаю (естественно, в разумных пределах) :), все-таки заняться могу только в свободное от всего (работа, учеба, etc...) время. И в тесном сотрудничестве с человеком, который знает, как все должно выглядеть в итоге в html'е (насколько я понял, этот человек - Ustas) :)
Вот здесь лежит уже немного переделанный guide.xsl. На его основе генерируется эта страница. :) То что идет после комментария с последовательностью знаков "#", возможно, не используется. Я точно сказать не могу, т.к. убрл из этого файла только то, что явно было не нужно.
Все что касается версий для печати и т.п. можно тоже убирать, т.к. у нас немного другой механизм будет для этого (или просто будем давать ссылку на gentoo.org для тех, кто хочет документ распечатать - разницы нет).
Генерирование html произваодит с помощью
xsltproc
. Исходные XML-файлы для экспериментов можно взять в CVS Gentoo.Пока для преобразования используется до боли простой скрипт:
Константу PATH_TO_FILES определи сам. Вот и все, что есть пока. Негусто, но половина дела сделана. Отладить xsl-файл можно, по крайней мере. :)
Ещё забыл спросить: после обработки, надеюсь, должен генериться просто кусок кода, вставляемый в основной html-документ? Или весь документ вместе с меню слева (Документация, Ресурсы etc.)?
Нужно только то, что будет вставляться в страницу, т.е. ее контент.
А меню, баннеры и прочее итак делается в исходном guide.xsl. Через него же генерируется версия для печати.. Короче, весь сайт сделан на XSLT, а контент хранится в XML-файлах.
У Drupal'а друго подход: данные хранятся в БД, за управление контентом, формирование страниц отвечает он сам. Поэтому нас интересует только преобразование XML-контента в тот вид, который нам нужен для вывода информации на странице.
А дизайн решили оставить gentoo.org'овский? Или другой? Может, такой, каким оформлена статья о мультимедийных клавишах (как я понял, это дизайн от phpBB). И ещё: где можно почитать про эту систему нодов (node), на которой, насколько я понял, построен drupal?
Дизайн - большой жирный вопрос пока. "Дизайн" gentoo.ru я сговнял на коленке за пол часа, подправив стандартную тему Drupal'а так, чтобы было похоже на Gentoo.org.. Ну и логотип вкорячил. но все все это не нравится, если честно. Над дизайном будем думать еще, а пока пусть стили пока gentoo.org'овские остаются - нас интересует функциональность, а потом уже будем думать о дизайне. Может кто-нибудь вызовется сделать дизайн или просто скинемся на дизайнера.
Про Drupal можно почитать на сайте drupal.org и на сайте русскоязычного сообщества Drupal.ru. Советую просто поставить и попробовать - там все понятно итак, а когда уже копать начнешь глубже читай документацию. Drupal, по-моему, даже в портежах есть. ;)
Не очень понятно, что конкретно надо сделать.
На gentoo.org этот guide.xsl полностью верстает дизайн сайта. Если я правльно понимаю, то в нашем случае эту роль играет друпал, а от xsltproc надо получить просто обычный html. Если это так, то IMHO проще переписать полностью guide.xsl с использованием стилей, котрые применяются у нас. Вобщем, возьмусь как только будет чуть более подробнее описана постановка задачи
А что тут непонятного? :) Их guide.xsl надо убрать все, что отвечает за добавление "обвязки" страницы: шапки, меню, баннеров, футера. Авторство и summary надо перенести в "плавающий" (floating) блок внутрь текста (чтобы текст его обтекал).
Ну и логическая структура текста должна преобразовываться в соответствии с тем, какие теги использует друпал при выводе обычных нодов.
Я подробно этот файл не изучал, но, по-моему, генерирование версии для печати делается через него же. Возможно, это получится использовать.