Диазо (программное обеспечение)
![]() | В этой статье используются голые URL-адреса , которые неинформативны и уязвимы к порче ссылок . ( Август 2022 г. ) |
Разработчик(и) | Пол Эверитт, Лоуренс Роу и Мартин Аспели |
---|---|
Стабильная версия | 1.1.1
/ 21 марта 2015 г [ 1 ] |
Предварительный выпуск | e917d54922
/ 20 мая 2015 г [ 2 ] |
Операционная система | Кросс-платформенный |
Платформа | Питон |
Лицензия | Новый БСД |
Веб-сайт | диазо |
Diazo , ранее называвшийся xdv , представляет собой универсальный инструмент для создания тем веб-сайтов с открытым исходным кодом . Он написан на Python и генерирует XSLT . Diazo создает разделение между страницами темы (статический HTML) и правилами преобразования (собственный доменно-ориентированный язык Diazo , основанный на XML ), позволяя веб-дизайнерам работать над шаблонами в простом HTML, без знания XSLT или специальных кодов, связанных с шаблонами.
Diazo создает тематический сайт, используя определяемые пользователем правила для объединения стандартного контента динамического веб-сайта со статической темой HTML. Файл правил (обычно называемый rules.xml
) имеет директивы, которые, например, могут заменять содержимое узла HTML в теме содержимым узла в контенте.
Поддержка веб-сервера
[ редактировать ]Компилятор Diazo генерирует XSLT , который можно развернуть на любом прокси-сервере с процессором XSLT, например Apache (с использованием mod_transform), Varnish или WSGI .
WSGI также имеет более прямую поддержку Diazo: фильтр DiazoMiddleware компилирует и кэширует темы Diazo на лету.
Nginx имеет процессор XSLT, [ 3 ] но по состоянию на март 2012 года требуется, чтобы веб-сайт без темы (контент) использовал строгий XHTML. Однако строгое требование можно смягчить, если используется исправленная версия Nginx. [ 4 ] [ 5 ]
История и именование
[ редактировать ]Первоначально Diazo представлял собой переработку более раннего программного обеспечения под названием Deliverance. Там, где Deliverance обрабатывает преобразование HTML в Python, Diazo генерирует XSLT, который затем можно использовать для отсрочки фактического преобразования более быстрым механизмам XSLT.
Об изменении названия на Diazo (от xdv) было объявлено на конференции Plone в 2010 году. Основной мотивацией изменения названия было уменьшение двусмысленности, поскольку имя XDV использовалось обоими collective.xdv
( пакет тем, специфичный для Plone , теперь называемый plone.app.theming
) и автономными инструментами XDV (теперь называемыми Diazo). Также dv.xdvserver
был переименован в DiazoMiddleware.
Diazo основан на DVNG , прототипе версии xdv. Первоначально Diazo реализовала только часть функций в Deliverance, но теперь имеет аналогичные функции, хотя их язык конфигурации не полностью совместим. Diazo стал фактическим стандартом оформления тем в Plone 4 и включен в Plone 4.2 и более поздние версии.
Директивы
[ редактировать ]К основным директивам Диазо относятся: replace
(замените узел или атрибут в теме на узел из содержимого), before
и after
(вставьте узел до или после другого), drop
(удалить узел или атрибут), strip
(удалить тег, но не его дочерние узлы), merge
, и copy
.
Узел, дочерние элементы узла или атрибут можно выбрать с помощью селекторов XPath или селекторов CSS3. Селекторы CSS заменяются эквивалентными селекторами XPath на этапе предварительной обработки компилятора.
Расширенные функции включают в себя: условия на основе узлов или путей контента с группировкой и вложением; множественные, условные темы; изменение темы или контента на лету; встроенные директивы XSL; Изменения типа документа; Протокол XInclude.
Ссылки
[ редактировать ]- ^ «Diazo: Diazo реализует язык, подобный Deliverance, с использованием чистого XSLT-движка. С помощью Diazo вы «компилируете» свою тему и набор правил за один шаг, а затем используете сверхбыстрое/простое преобразование для каждого последующего запроса. Альтернативно, скомпилируйте свою тему во время разработки, проверьте его в системе контроля версий и не трогайте Diazo во время развертывания» .
- ^ «Плон/Диазо» . Гитхаб . 12 ноября 2021 г.
- ^ http://wiki.nginx.org/HttpXsltModule
- ^ nginx-xslt-html-parser , Лоуренс Роу
- ^ Nginx с поддержкой HTML xslt ( html-xslt в коде Google ), исправления Nginx 0.7.67 от 15 июня 2010 г.
Внешние ссылки
[ редактировать ]- Diazo.org - официальная домашняя страница