| Следующая версия | Предыдущая версия |
| plugin:box [2025/04/19 16:41] – создано VladPolskiy | plugin:box [Дата неизвестна] (текущий) – удалено - внешнее изменение (Дата неизвестна) 127.0.0.1 |
|---|
| ====== Плагин Box ====== | |
| |
| ---- plugin ---- | |
| description: Выделение секций информации с помощью блоков с настраиваемым стилем | |
| author : Christopher Smith | |
| email : chris@jalakai.co.uk | |
| type : syntax | |
| lastupdate : 2016-02-17 | |
| compatible : Elenor of Tsort, 2008-05-05 - 2005-09-22, Rincewind, Anteater, Angua, Weatherwax, Binky, Hrun, Detritus, Greebo, Hogfather | |
| depends : | |
| conflicts : | |
| similar : note, wrap | |
| tags : style, boxes | |
| |
| downloadurl: https://github.com/Chris--S/dokuwiki-plugin-box/zipball/master | |
| bugtracker : https://github.com/Chris--S/dokuwiki-plugin-box/issues | |
| sourcerepo : https://github.com/Chris--S/dokuwiki-plugin-box | |
| donationurl: | |
| ---- | |
| |
| **Хотя этот плагин по-прежнему работает нормально, его функциональные возможности включены в плагин [[plugin:wrap|Wrap Plugin]].** | |
| |
| Этот плагин добавляет в [[wiki:DokuWiki]] блоки, что позволяет выделять особо важные секции в прямоугольниках с настраиваемым стилем, в том числе со скруглёнными углами, Snazzy (разновидность онлайн-открыток с узорным обрамлением), заголовками, настраиваемой шириной (включая процентную). <!-- не понятно --> Разметка «ДокуВики» разрешена и внутри блока - там, где все идет хорошо - и внутри заголовка, где следует использовать только текстовую разметку, ссылки, смайлы и тому подобное. | |
| |
| Наиболее часто используемый стиль, вероятно, имеет смысл установить в качестве базового. [[#style.css|Подробнее ниже]] | |
| |
| ==== Заметки ==== | |
| |
| * Мою версию этой страницы, которая может быть обновлена совсем недавно, можно найти [[http://wiki.jalakai.co.uk/dokuwiki/doku.php/tutorial/boxes|здесь]] | |
| * 24.09.2009 эта ссылка не работает :( | |
| * 28.10.2009 эта ссылка, кажется, теперь работает :-) | |
| * 13.12.2009 опять битая :( | |
| * 30.01.2010 Скопирован и вставлен ниже код в style.css и syntax.php (./plugins/box/ ..). Работает с последней версией Lemming. | |
| |
| ===== Благодарности ===== | |
| |
| Закругленные углы основаны на [[http://www.cssplay.co.uk/boxes/snazzy.html|snazzy borders]] от Stu Nicholls из [[http://www.cssplay.co.uk|CSS Play]], который, в свою очередь, был вдохновлён [[http://pro.html.it/esempio/nifty/|nifty corners]] от Alessandro Fulciniti. До развития CSS до 3 версии не было более практичного способа красивой стилизации. В настоящее время в GitHub имеются правки плагина, вводящие более простые CSS 3 - решения. | |
| <!-- проверено до сюда --> | |
| |
| ===== Синтаксис ===== | |
| |
| Простой box: | |
| |
| <box> содержимое </box> | |
| |
| Ещё несколько сложных box'ов: | |
| |
| <box 80% round orange|заголовок> Содержимое</box> | |
| <box 50% left blue>Содержимое</box|подпись> | |
| <box 60% round #f99 #fc9 #fcc #f60|заголовок>Содержимое</box|подпись> | |
| |
| Полный синтаксис: | |
| |
| ''**<box** //width// //classes// //colours// **|** текст заголовка**>** содержимое **</box>**'' | |
| |
| * //width// --- любое допустимое значение ширины | |
| * //classes// --- любое количество классов, которые используют стили в вашем шаблоне или собственную таблицу стилей плагина для определения внешнего вида коробки. Плагины коробки поставляются со следующими уже определенными классами: | |
| * //round// --- у коробки будут закругленные углы | |
| * //blue// --- синяя цветовая гамма | |
| * //red// --- красная цветовая гамма | |
| * //green// --- зеленая цветовая гамма | |
| * //orange// --- оранжевая цветовая гамма | |
| * //left// --- переместить поле влево на странице вики | |
| * //right// --- разместить поле прямо внутри вики-страницы | |
| Если классы не указаны, будут использоваться стили по умолчанию, то есть квадратные углы в цветовой схеме, основанной на цветовой схеме «ДокуВики» по умолчанию. | |
| * //colours// --- 1–4 цвета в шестнадцатеричном формате CSS или RGB, например: ''#F00 #fcab94 rgb(255,255,0)''. Цвета применяются для того, чтобы изменять: | |
| - фон содержимого | |
| - фон заголовка | |
| - внешний фон коробки | |
| - границы | |
| если указано менее четырех цветов, первый цвет используется для отсутствующих цветов. | |
| |
| * //текст заголовка// --- текст (включая разметку «ДокуВики»), отображаемый над содержимым поля, с отличным стилем. | |
| * //подпись// --- текст (без разметки), отображаемый под содержимым поля, с отличным стилем. | |
| |
| Открытие ''**<box ... >**'' включая заголовок, должно быть в одной строке. Содержимое box'ов может занимать столько строк, сколько необходимо. | |
| |
| |
| Посмотрите, как работает плагин [[http://wiki.jalakai.co.uk/dokuwiki/doku.php/test/boxes|здесь]]. На странице-образце показаны все стили, доступные в плагине. | |
| |
| |
| |
| ===== Конфигурация ===== | |
| |
| Плагин не имеет настроек конфигурации, хотя вы можете проверить цветовую схему по умолчанию в [[#style.css]] чтобы убедиться, что она подходит для вашей вики. | |
| |
| ===== Установка ===== | |
| Найдите и установите плагин с помощью [[plugin:extension|Extension Manager]]. | |
| |
| В качестве альтернативы см. [[:Plugins]] чтобы узнать, как установить плагины вручную. Чтобы установить плагин вручную, загрузите исходный код в папку плагина ''lib/plugins'' чтобы узнать, как установить плагины вручную. Чтобы установить плагин вручную, загрузите исходный код в папку плагина ''lib/plugins/box'', и установите плагин. | |
| |
| ==== Источники: ==== | |
| |
| * Текущее: [[http://dokuwiki.jalakai.co.uk/plugin-box.zip|zip format (6k)]], [[http://dokuwiki.jalakai.co.uk/plugin-box.tar .gz | формат tar.gz (5k)]] | |
| * Предыдущие версии «ДокуВики»: | |
| * для «ДокуВики» 2006-03-xx [[http://dokuwiki.jalakai.co.uk/plugin-box-2006-03-xx.zip|zip format (5k)]], [[http: // dokuwiki. jalakai.co.uk/plugin-box-2006-03-xx.tar.gz|tar.gz format (4k)]] ** ТРЕБУЕТСЯ [[#security fix 2]] ** | |
| * для «ДокуВики» 22 сентября 2005 г. [[http://dokuwiki.jalakai.co.uk/plugin-box.2005-11-25.zip|zip формат (4k)]], [[http: // dokuwiki. jalakai.co.uk/plugin-box.2005-11-25.tar.gz|tar.gz format (3k)]] ** ТРЕБУЕТСЯ [[#security fix]] ** | |
| |
| ===== Список изменений ===== | |
| |
| * 11.11.2008 --- Добавить print.css, изменить URL плагина + другие мелкие изменения | |
| * 2008-03-03 --- Исправление безопасности + добавлена поддержка указания цветов в синтаксисе поля | |
| * 2006-04-25 --- исправлена XSS-уязвимость | |
| * 2006-04-20 --- только обновление darcs | |
| * встроенная разметка обновлена с исправлениями DokuWiki для блока PType | |
| * исправления в описании синтаксиса | |
| * незначительные изменения стиля для высот линий | |
| * 2006-03-11 --- 2006-01-24 Патч применен к не-darcs пакету; | |
| * добавлена поддержка всех единиц длины CSS | |
| * стили добавлены для поддержки вложенности боксов | |
| * списки теперь можно включать в коробки | |
| * 24.01.2006 --- только обновление darcs (выпуск пакета состоится до следующего обновления «ДокуВики») | |
| * поддержка вложенности ящиков | |
| * стиль по умолчанию теперь использует подстановки CSS «ДокуВики» | |
| * 2005-11-25 --- Добавлен текст заголовка (отображается под содержимым основного окна). Добавлены левые и правые стили. | |
| * 2005-10-25 --- Исправлена ошибка, связанная с объединением абзацев в боксы (спасибо, Матиас). | |
| * 2005-10-17 --- Исправлена ошибка в некоторых установках PHP для Windows (спасибо Пабло). | |
| * 2005-10-12 --- Выпущено. | |
| |
| ===== Исправление безопасности ===== | |
| |
| Это исправление применимо только к тем, кто использует подключаемый модуль box'ов более старых версий с версиями «ДокуВики» до марта 2006 г. Те, кто использует «ДокуВики» от марта 2006 г. или более позднюю версию, должны обновить подключаемый модуль, используя приведенные выше списки [[#sources]]. | |
| |
| Также примените Исправление № 2, описанное ниже. | |
| |
| === Инструкции === | |
| |
| * найдите файл ''lib/plugins/box/syntax.php'' | |
| * откройте его для редактирования в текстовом редакторе | |
| * замените функцию _boxstyle($str) (около строки #150) приведенным ниже кодом.<code php> | |
| function _boxstyle($str) { | |
| if (!strlen($str)) return array(); | |
| |
| $styles = array(); | |
| |
| $tokens = preg_split('/\s+/', $str, 9); // limit is defensive | |
| foreach ($tokens as $token) { | |
| if (preg_match('/^\d*\.?\d+(%|px|em|ex|pt|cm|mm|pi|in)$/', $token)) { | |
| $styles['width'] = $token; | |
| continue; | |
| } | |
| |
| // restrict token (class names) characters to prevent any malicious data | |
| if (preg_match('/[^A-Za-z0-9_-]/',$token)) continue; | |
| $styles['class'] = (isset($styles['class']) ? $styles['class'].' ' : '').$token; | |
| } | |
| |
| return $styles; | |
| }</code> | |
| * сохраните файл | |
| |
| Этот скрип ограничивает символы, доступные для использования в именах любых настраиваемых стилей, буквенно-цифровыми символами, а также тире и подчеркиванием (например A-Z, a-z, 0-9, _ -). Он также обновляет определение ширины поля для поддержки любого допустимого значения длины CSS . Смотрите подробности в **синтаксисе**. | |
| |
| ===== Исправление безопасности 2 ===== | |
| Это исправление применяется ко всем версиям плагина до 3 марта 2008 г. Рекомендуется, чтобы пользователи плагина обновили DW и этот плагин до самых последних версий. Для тех, кто желает исправить уязвимость без обновления. | |
| |
| <code diff> | |
| case 'box_close' : | |
| $renderer->doc .= "</div>\n"; | |
| |
| if ($data) { | |
| - $renderer->doc .= "<p class='box_caption'>".$data."</p>\n"; | |
| + $renderer->doc .= "<p class='box_caption'>".$renderer->_xmlEntities($data)."</p>\n"; | |
| } | |
| $renderer->doc .= $this->_xhtml_boxclose(); | |
| break; | |
| </code> | |
| |
| Спасибо Энди Уэбберу из группы этического взлома Oracle за обнаружение этого недостатка. --- //[[chris@jalakai.co.uk|Christopher Smith]] 2008-03-03 17:46// | |
| |
| ===== Что нужно сделать ===== | |
| |
| |
| |
| |
| |
| ===== Ошибки ===== | |
| |
| * Боксы могут перекрывать оглавление вверху страницы. Требуется исправление CSS . | |
| |
| **Ошибка рендеринга в IE 6.0** - Запуск плагина box с шаблоном круглого box. Прокрутка (или, если поле достаточно велико, просто обновляется страница) иногда приводит к тому, что строки / блоки поля не обновляются, оставляя цвет фона на дисплее. Удалось воспроизвести проблему на домашней странице box'а «ДокуВики»[[http://wiki.jalakai.co.uk/dokuwiki/doku.php/tutorial/boxes|здесь]]. Плохая область кажется больше, если прямоугольник больше (в нем больше текста). --- //[[ja@vibtech.co.uk|Jonathan Alexander]] 2005-12-06 14:49// | |
| |
| >Нашел исправление, которое, кажется, работает для меня от [[http://www.communitymx.com/content/article.cfm?page=2&cid=C37E0|communitymx]] (спасибо Google) просто вставил код ниже под объявлением "div.box .box_content" в style.css выше. | |
| <code> | |
| /* Hides from IE5-mac \*/ | |
| * HTML .div.box.box_content {height: 1%;} | |
| /* End hide from IE5-mac */ | |
| </code> | |
| |
| |
| * **Отсутствуют </p>s (больше [[http://validator.w3.org|W3C-предупреждений]]):**<code> | |
| <box> | |
| foo | |
| |
| bar | |
| </box></code> приводит к этому HTML: <code> | |
| <div class='box_content'><p> foo | |
| <p> | |
| bar | |
| </p> | |
| </div> | |
| </code> как видите, одного </p> не хватает. --- //[[bernd@bzed.de|Bernd Zeimetz]] 2007-03-03 02:39 CET// \\ **Решение CET**: измените две строки в рендере функции (рядом с 'box_open'): <code php> | |
| --- syntax.php 2008-02-27 23:44:08.000000000 +0100 | |
| +++ syntax.php.new 2008-02-27 23:55:23.000000000 +0100 | |
| @@ -129,9 +129,9 @@ | |
| case 'box_open' : | |
| if ($this->title_mode) { | |
| $this->title_mode = false; | |
| - $renderer->doc .= "</p>\n<div class='box_content'><p>"; | |
| + $renderer->doc .= "</p>\n<div class='box_content'>"; | |
| } else { | |
| - $renderer->doc .= $this->_xhtml_boxopen($data)."<div class='box_content'><p>"; | |
| + $renderer->doc .= $this->_xhtml_boxopen($data)."<div class='box_content'>"; | |
| } | |
| break; | |
| |
| </code> строки, начинающиеся с "-" являются исходными строками, строки "+"- новыми. --- //[[stefan@kuchling.de|Stefan Kuchling]]// | |
| |
| Этот патч добавлен в последнюю версию плагина. Спасибо Бернд и Стефан за ваши усилия. --- //[[chris@jalakai.co.uk|Christopher Smith]] 2008-03-03 17:46// | |
| |
| ===== Подсказки ===== | |
| |
| ==== Альтернативный синтаксис и разрешающая разметка в подписях ==== | |
| |
| Отличный плагин! Я изменил свою копию и подумал, что другим может быть интересно. [[http://robmeerman.co.uk/coding/file_renamer|Смотреть пример]]. FIXME | |
| |
| Изменения: | |
| - Изменен синтаксис: ''**%%<<<%%** width classes | title ::: //content// ::: caption **%%>>>%%**'' | |
| - Разметка разрешена в подписях | |
| - Заголовок и подпись могут занимать несколько строк (т. е. несколько абзацев). | |
| - Ширина может быть указана в %, px, em или ex //(теперь включено в версию выпуска)// | |
| |
| Возможность разместить разметку в подписи хороша, когда вы хотите привлечь внимание к примечанию, скажем, об альтернативной версии какого-либо программного обеспечения - это выглядит очень хорошо, если в подписи есть ссылка для скачивания. | |
| |
| Он хорошо работает на моем сайте, и единственная проблема, с которой он, кажется, заключается в том, что я не могу вкладывать box'ы (не знаю почему). | |
| |
| Полный код см. в разделе: [[boxes_mod|Модифицированные Box'ы]] | |
| |
| --- //[[robert.meerman@gmail.com|Robert Meerman]] 2006/02/24 17:13// | |
| |
| > Привет, Роберт! Вы пробовали свой синтаксис с патчем вложенности, я кратко посмотрел на ваш код и не увидел ничего, что должно препятствовать вложению. Ура --- //[[chris@jalakai.co.uk|Christopher Smith]] 2006-02-24 19:26// | |
| |
| |
| ==== Backporting на 2005-07-13 ==== | |
| |
| Вот что я сделал для резервного копирования этого плагина в выпуск 2005-07-13. | |
| |
| * Добавьте style.css tв конец вашего шаблона ''design.css'' и ''print.css'': | |
| |
| $ cd .../lib/plugins/box | |
| $ cat style.css >> ../../tpl/template_name/design.css | |
| $ cat style.css >> ../../tpl/template_name/print.css | |
| |
| * Примените следующий патч: | |
| |
| <code> | |
| --- box-orig/syntax.php 2005-11-24 13:28:17.000000000 -0800 | |
| +++ box/syntax.php 2005-12-16 14:52:48.000000000 -0800 | |
| @@ -45,6 +45,19 @@ | |
| | |
| function getType(){ return 'container';} | |
| function getAllowedTypes() { return array('container','substition','protected','disabled','formatting','paragraphs'); } | |
| + | |
| + function syntax_plugin_box(){ | |
| + global $PARSER_MODES; | |
| + $this->allowedModes = array_merge( | |
| + $PARSER_MODES['container'], | |
| + $PARSER_MODES['substition'], | |
| + $PARSER_MODES['protected'], | |
| + $PARSER_MODES['disabled'], | |
| + $PARSER_MODES['formatting'], | |
| + $PARSER_MODES['paragraphs'] | |
| + ); | |
| + } | |
| + | |
| function getPType(){ return 'normal';} | |
| | |
| // must return a number lower than returned by native 'code' mode (200) | |
| @@ -54,9 +67,9 @@ | |
| * Connect pattern to lexer | |
| */ | |
| function connectTo($mode) { | |
| - $this->Lexer->addEntryPattern('<box>(?=.*?</box.*?>)',$mode,'plugin_box'); | |
| - $this->Lexer->addEntryPattern('<box\s[^\r\n\|]*?>(?=.*?</box.*?>)',$mode,'plugin_box'); | |
| - $this->Lexer->addEntryPattern('<box\s[^\r\n\|]*?\|(?=[^\r\n]*?>.*?</box.*?>)',$mode,'plugin_box'); | |
| + $this->Lexer->addEntryPattern('<box>(?=.*?\x3C/box.*?\x3E)',$mode,'plugin_box'); | |
| + $this->Lexer->addEntryPattern('<box\s[^\r\n\|]*?>(?=.*?\x3C/box.*?\x3E)',$mode,'plugin_box'); | |
| + $this->Lexer->addEntryPattern('<box\s[^\r\n\|]*?\|(?=[^\r\n]*?>.*?\x3C/box.*?\x3E)',$mode,'plugin_box'); | |
| } | |
| | |
| function postConnect() { | |
| @@ -182,4 +195,4 @@ | |
| | |
| } | |
| </code> | |
| |
| |
| |
| |
| ==== Более подробный CSS с дополнительными параметрами цвета ==== | |
| |
| Это очень удобный плагин! Я начал экспериментировать с CSS, чтобы сделать некоторые нестандартные вещи (я собираюсь использовать этот плагин в 3-4 установках «ДокуВики»), а именно, чтобы скрыть внутреннюю границу и пару других небольших настроек цвета. В итоге я получил кое-что, что, на мой взгляд, было бы более гибко изменять (отдельные определения для отдельных границ), больше прокомментировал (я попытался отметить некоторые разделы немного лучше) и, возможно, более дружественный к IE (я думаю, что исправил проблему с тем, что один из цветов фона не отображается в IE 6). | |
| |
| Я не эксперт в области CSS , поэтому не могу гарантировать, что сделал это на 100% эффективно, но он работает со всеми браузерами, которые поддерживает browsershots.org. | |
| |
| CSS можно увидеть здесь: http://wiki.ryanjacobs.name/public/tech/dokuwiki_box_plugin_css FIXME | |
| |
| Если кому-то интересно… Ура! --- //[[ryan.jake@gmail.com|Ryan Jacobs]]// | |
| |
| ==== Добавить поддержку экспорта ODT ==== | |
| |
| Это добавляет базовую поддержку [[plugin:odt|OpenOffice/ODT экспорт плагина]]; нет цветов; без выравнивания, без причудливого форматирования; но излучается основной контент. | |
| |
| <file> | |
| $ diff -u syntax.php.dist syntax.php | |
| --- syntax.php.dist 2009-06-22 06:45:22.000000000 +0100 | |
| +++ syntax.php 2009-06-24 12:55:14.000000000 +0100 | |
| @@ -157,6 +157,45 @@ | |
| } | |
| |
| return true; | |
| + } elseif($mode == 'odt'){ | |
| + switch ($instr) { | |
| + case 'title_open' : | |
| + $this->title_mode = true; | |
| + $renderer->table_open(1); | |
| + $renderer->tablerow_open(); | |
| + $renderer->tableheader_open(1, "left"); | |
| + break; | |
| + | |
| + case 'box_open' : | |
| + if ($this->title_mode) { | |
| + $this->title_mode = false; | |
| + $renderer->tableheader_close(); | |
| + $renderer->tablerow_close(); | |
| + $renderer->tablerow_open(); | |
| + $renderer->tablecell_open(); | |
| + } else { | |
| + $renderer->table_open(1); | |
| + $renderer->tablerow_open(); | |
| + $renderer->tablecell_open(); | |
| + } | |
| + break; | |
| + | |
| + case 'data' : | |
| + $renderer->doc .= $renderer->cdata($data); | |
| + break; | |
| + | |
| + case 'box_close' : | |
| + $renderer->tablecell_close(); | |
| + $renderer->tablerow_close(); | |
| + $renderer->table_close(); | |
| + if ($data) { | |
| + $renderer->p_open('legendcenter'); | |
| + $renderer->doc .= $renderer->cdata($data); | |
| + $renderer->p_close(); | |
| + } | |
| + break; | |
| + } | |
| + return true; | |
| } | |
| return false; | |
| } | |
| </file> | |
| |
| |
| ===== Обсуждение ===== | |
| |
| Спасибо за плагин. У меня вопрос, могу ли я что-то сделать, чтобы сохранить пустую строку в исходном тексте без использования синтаксиса '\\' или любого другого редактирования исходного текста? Спасибо и пока | |
| --- [[user>pronto|pronto]] //2014-07-30 11:31// | |
| |
| ---- | |
| |
| Спасибо за плагин, выглядит действительно здорово. Однако я хочу использовать его для выделения различного контента. Например, я хотел бы использовать <math>, чтобы выделить математику. Как мне изменить источник для синтаксического анализа другого класса CSS на <math>? | |
| > Вам нужно изменить базовый шаблон (в connectTo и postConnect) на математический из окна. Для каждого другого шаблона выхода вам понадобится другой плагин, поэтому необходимо изменить имя плагина и ссылки на него в connectTo и postConnect. Лучше всего использовать <box math>… </box>, <box somethingelse> ... </box> и настроить / добавить имена стилей так, чтобы соответствующие цвета и углы отображались для конкретного имени. --- //[[chris@jalakai.co.uk|Christopher Smith]] 2005-10-29 10:07// | |
| |
| ---- | |
| |
| Вместо того, чтобы использовать множество различных предопределенных стилей, как насчет использования синтаксиса, аналогичного цветовому плагину phpBB, и позволить пользователю точно определять свой выбор цветов? --- //[[webmaster@lajzar.co.uk|ta' Lajzar]] 2005-10-30 02:16// | |
| > Может быть. Я не хотел определять стили как цвета. Было бы лучше выбирать имена стилей семантически, например, ошибка, предупреждение, информация, синтаксис, формулы, предупреждение и т. д. Однако значение каждого стиля блока, вероятно, изменится от вики к вики, поэтому я дал им нейтральные, но информативные имена. Для всего этого я рассмотрю возможность добавления необязательного синтаксиса для тех, кто этого хочет. --- //[[chris@jalakai.co.uk|Christopher Smith]] 2005-10-30 10:39// | |
| >> Но если люди используют блоки на странице, то есть ''included'', они могут так же легко получить семантический контекст, и это сохраняет дополнительную гибкость свободно определяемых цветов для синтаксиса блока. --- //[[webmaster@lajzar.co.uk|ta' lajzar]] 2005-10-31 07:27// | |
| |
| В последнюю версию добавлена индивидуальная цветовая спецификация. --- //[[chris@jalakai.co.uk|Christopher Smith]] 2008-03-03 17:46// | |
| |
| ---- | |
| |
| Код, возвращаемый плагином, на самом деле не является стандартным XHTML, потому что все теги B пусты. Чтобы исправить это, вы должны написать & nbsp; во всех тегах b в строках <code php> | |
| $html .=" <b class='xtop'><b class='xb1'></b><b class='xb2'></b><b class='xb3'></b><b class='xb4'></b></b>\n"; | |
| //and | |
| $html .= " <b class='xbottom'><b class='xb4'></b><b class='xb3'></b><b class='xb2'></b><b class='xb1'></b></b>\n"; | |
| </code> | |
| > Насколько мне известно, стандарт xhtml не возражает против пустых элементов (см. [[http://www.w3.org/TR/xhtml1/#C_3]] и валидатор w3c не помечает их как ошибку или предупреждение. --- //[[chris@jalakai.co.uk|Christopher Smith]] 2005-10-31 15:17// | |
| |
| ---- | |
| |
| Плагин Box у меня не работает. Я выполняю новую установку «ДокуВики» 09.03.2006 без каких-либо других правок, плагинов или шаблонов. Плагин Box был установлен через менеджер плагинов. [[http://www.ssdonline.us/wiki/doku.php?id=wiki:playground]] --- //[[smouser@verizon.net|Scott Mouser]]// | |
| > Плагин работает, стили не подхватываются. Я добавил комментарий и несколько идей на страницу вашей игровой площадки. --- //[[chris@jalakai.co.uk|Christopher Smith]] 2006-03-24 01:22// | |
| >;;>Спасибо. Очистка кеша - это именно то, что нужно для работы. Я не видел этого где-либо еще. Я продолжу и отправлю отчет об ошибке, потому что вы правы, .css должен был быть восстановлен после установки плагина. --- //[[smouser@verizon.net|Scott Mouser]]// | |
| >>>В «ДокуВики» и диспетчер плагинов внесены исправления, позволяющие истечь срок хранения кеша и гарантировать, что новый CSS будет сгенерирован после установки любого плагина. --- //[[chris@jalakai.co.uk|Christopher Smith]] 2006-04-19 03:14// | |
| >>>><del>Может кто-нибудь опубликовать ЗДЕСЬ, как очистить кеш, потому что www.ssdonline.us похоже, не работает.</del> | |
| >>>>Я уже разобрался с этим, а для всех остальных используйте плагин **[[plugin:cacherevisionseraser|Cache and Revisions Eraser]]**! | |
| ---- | |
| |
| Этот плагин имеет **XSS-уязвимость**! | |
| |
| Попробуйте это в IE: | |
| <code> | |
| <box ' style="background-image:url(javascript:alert('bla'))"> | |
| XSS test | |
| </box> | |
| </code> | |
| Это исправление работает для меня (строки 160-168): | |
| <code> | |
| foreach ($tokens as $token) { | |
| if (preg_match('/^\d*\.?\d+(%|px|em|ex|pt|cm|mm|pi|in)$/', $token)) { | |
| $styles['width'] = $token; | |
| continue; | |
| } | |
| $token = trim(ereg_replace('[^a-zA-Z0-9_-]','',$token)); // <<-- this is new line | |
| $styles['class'] = (isset($styles['class']) ? $styles['class'].' ' : '').$token; | |
| } | |
| </code> | |
| |
| > Спасибо. Обновлены основные скрипты и источники плагинов. Также см.[[#Исправление безопасности]]. --- //[[chris@jalakai.co.uk|Christopher Smith]] 2006-04-25 18:17//. | |
| |
| ---- | |
| |
| Обновление плагина незаметно перезаписывает style.css. Есть ли решение с сохранением в локализованном style.css? Например, каталог локализации, который перекрывает любые свойства CSS ? Спасибо. --- //[[burt@cs.miami.edu|Burt Rosenberg]] 2006-05-22 02:56// | |
| > Как насчет [[devel:css|./conf/userstyle.css]]? Кажется, это работает. Теперь, чтобы выяснить макрос url () при обработке файла .css --- //[[burt@cs.miami.edu|Burt Rosenberg]] 2006-05-22 04:12// | |
| |
| ---- | |
| |
| Я хотел бы использовать ''===== Level 2 Headline ====='' внутри ''<box>...</box>''. Как я могу это сделать? Заранее спасибо. | |
| > В настоящее время вы не можете, по крайней мере, не напрямую. Должна быть возможность использовать синтаксис [[plugin:include|include плагина]] внутри box'а. Включенная страница будет отображаться внутри box'а. \\ \\ Note: It would be best to use my [[http://wiki.jalakai.co.uk/dokuwiki/doku.php/tutorials/include|альтернативный include плагин]] поскольку он не пытается объединить включенную страницу в структуру раздела текущей страницы, что может дать неожиданные результаты. --- //[[chris@jalakai.co.uk|Christopher Smith]] 2006-06-16 01:41// | |
| |
| >>Это именно то, что я сделал, но я не знал о вашей «альтернативной» версии плагина include, поэтому я взломал исходную :) | |
| |
| ---- | |
| |
| Похоже, что слой для блока закрывает блок оглавления, если ''%%<box></box>%%'' в первом или двух абзацах (содержание, конечно, зависит). | |
| |
| > Да. Я добавил это в баги. Я предполагаю, что исправление CSS требуется либо для TOC, либо для коробки. --- //[[chris@jalakai.co.uk|Christopher Smith]] 2006-07-04 23:42// | |
| |
| ---- | |
| |
| Я думаю, вы должны упомянуть, что плагин будет работать только в том случае, если в конфигурации «ДокуВики» включен параметр «Разрешить встроенный HTML» . Я просто потратил целую вечность, задаваясь вопросом, почему я не могу заставить его работать, пока не понял это. :-\ --- //[[xxxmadraxxx@gmail.com|madra]] 2006-08-05// | |
| > Не требует включения «Разрешить встроенный HTML ». Однако при редактировании файлов конфигурации вики истечет срок действия всех кешей «ДокуВики», что вызовет регенерацию страниц и CSS . И то, и другое необходимо для появления box'ов. Как упоминалось выше, это известная ошибка, исправленная в [[changes#release 2006-11-06]] & и предыдущих выпусках-кандидатах. | |
| \\ | |
| ---- | |
| \\ | |
| <box 90% green round> | |
| \\ | |
| У меня небольшая проблема с коробками, и мне было интересно, может ли кто-нибудь мне помочь? Когда я помещаю рамку на страницу и пытаюсь поставить некоторый интервал для новых строк после рамки с обычной разметкой, кажется, что она отображается неправильно. Текст всегда отображается справа от поля, что бы я ни пытался. | |
| \\ | |
| Я также заметил, что на этом сайте, похоже, нет необходимости использовать типичную разметку для новой строки. Это почему? | |
| \\ | |
| </box> | |
| |
| > Ящики, стилизованные влево или вправо, перемещаются. Очищенный элемент должен появиться после поля, чтобы не допустить появления следующего содержимого рядом с ним. Возможно, вам удастся что-то поработать с плагином div / span. Я не уверен, что вы имели в виду в своем последнем предложении. Вам нужно только использовать \\ для одиночного разрыва строки в абзаце или для добавления дополнительных разрывов строки между абзацами. --- //[[chris@jalakai.co.uk|Christopher Smith]] 2006-08-15 09:33// | |
| |
| Благодарим вас за обновление, Крис, но я не уверен, что вы имеете в виду под очищенным элементом? Значит, без плагина div / span нет способа решить проблему? | |
| |
| > Вы также можете использовать **clearfloat плагин** (ищите его в [[:plugins]]). Другие предлагали делать это через [[entities]] (к сожалению, я нигде не нашел такого предложения). Просто поставьте что-то вроде этого <code>~CL~ <br style="clear: both;" /></code> в ''conf/entities.conf'' и используйте ''~CL~'' после каждого соответствующего box'а. (Лучше использовать защиту от обновлений ''conf/entities.local.conf'', и добавлять такие строки, как | |
| <hr> <hr /> | |
| <br> <br /> | |
| <hrr> <hr style="clear:both" /> | |
| <brr> <br style="clear:both" /> | |
| --- [[user>Rainbow_Spike@derpy.ru|dr-yukon]] //2020-09-06 14:32//) | |
| |
| Что насчет | до и после текста? | |
| |
| ---- | |
| |
| Спасибо за отличный плагин. Мне очень нравятся коробки :-) . У меня есть одно предложение / отчет об ошибке. Кажется, что текущая реализация ящиков не любит вложенные ящики. Например, хотелось бы иметь что-то подобное. | |
| |
| <code wiki> | |
| <box round 840px> | |
| <box round 120px left>{{xvdm:module:apdf:2d-apdf-overview-1.jpg?100|}}</box| Initial Partition> | |
| <box round 120px left>{{xvdm:module:apdf:2d-apdf-overview-2.jpg?100|}}</box| 1st Iteration> | |
| <box round 120px left>{{xvdm:module:apdf:2d-apdf-overview-3.jpg?100|}}</box| 2nd Iteration> | |
| <box round 120px left>{{xvdm:module:apdf:2d-apdf-overview-4.jpg?100|}}</box| 3rd Iteration> | |
| <box round 120px left>{{xvdm:module:apdf:2d-apdf-overview-5.jpg?100|}}</box| 4th Iteration> | |
| <box round 120px left>{{xvdm:module:apdf:2d-apdf-overview-6.jpg?100|}}</box| 5th Iteration> | |
| </box| Creation of the APDF Tree> | |
| </code> | |
| |
| Если я это сделаю, я получу перекрывающиеся box'ы. Однако, если я это сделаю: | |
| |
| <code wiki> | |
| <box round 840px> | |
| <html> | |
| <table><tr><td></html> | |
| <box round 120px left>{{xvdm:module:apdf:2d-apdf-overview-1.jpg?100|}}</box| Initial Partition> | |
| <box round 120px left>{{xvdm:module:apdf:2d-apdf-overview-2.jpg?100|}}</box| 1st Iteration> | |
| <box round 120px left>{{xvdm:module:apdf:2d-apdf-overview-3.jpg?100|}}</box| 2nd Iteration> | |
| <box round 120px left>{{xvdm:module:apdf:2d-apdf-overview-4.jpg?100|}}</box| 3rd Iteration> | |
| <box round 120px left>{{xvdm:module:apdf:2d-apdf-overview-5.jpg?100|}}</box| 4th Iteration> | |
| <box round 120px left>{{xvdm:module:apdf:2d-apdf-overview-6.jpg?100|}}</box| 5th Iteration> | |
| <html></td></tr></table></html> | |
| </box| Creation of the APDF Tree> | |
| </code> | |
| |
| Тогда получается то, чего можно было ожидать. Скорее всего, моя работа дает совершенно неверный HTML- код, хотя Firefox показывает довольно хорошие результаты :-) | |
| |
| ---- | |
| |
| Пожалуйста, добавьте ''print.css''. Мне нужно не очень много контента, просто ''div.box.left{float:left}'' так. В настоящее время серия изображений ''<box 20% left>...</box>'' выглядит довольно странно в режиме печати и занимает много листов без поплавка: left. --- //[[gviktor@gmail.com|Viktor Söderqvist]] 2007-02-28 05:06// | |
| |
| > Добавлен --- //[[chris@jalakai.co.uk|Christopher Smith]] 2008/11/11 06:26// | |
| |
| ---- | |
| |
| Переключатель для очистки плавающих элементов будет хорошим вариантом, поскольку я обычно не предпочитаю обтекать поле текстом. Единственный раз, когда я разрешил перенос текста, - это когда мои поля находятся рядом с ToC. Я жестко запрограммировал некоторую очистку с плавающей запятой, поскольку я обычно не хочу, чтобы текст обтекал поля, однако это может испортить ToC Div. Следовательно, переключение было бы здорово. | |
| |
| ---- | |
| |
| :!: Это создает плохой XHTML, по-видимому, в div box_content отсутствует закрытие </p> FIXME\\ | |
| > исправить? <code>143 $renderer->doc .= "</p></div>\n"; | |
| </p> was missing | |
| </code> | |
| |
| ---- | |
| |
| Привет - Спасибо за отличный плагин. У меня проблемы с рамками и подписями при печати. Я скопировал plugins / box / style.css → plugins / box / print.css, и он работает, но когда я добавляю заголовок вверху, между верхней частью поля и заголовком вставляется дополнительная строка. Я использую шаблон монокниги.[[http://www.kabissa.org/wiki/doku.php?id=playground&rev=1178805954&mbdo=print|Щелкните, чтобы увидеть пример на моей вики-площадке]]. Буду очень признателен за любые предложения. ---//[[http://www.saidia.org|Tobias]] (5/10/2007)// | |
| |
| ---- | |
| |
| Хороший плагин. Мне интересно, можно ли сделать так, чтобы заголовок работал как заголовок, где в него можно встроить ссылки? | |
| ---- | |
| |
| Привет, у меня много ссылок. Я часто копирую и вставляю. Можно ли сохранить возврат каретки и избежать добавления вручную «\\» в конце каждой новой строки? | |
| Тогда как хороший плагин. | |
| |
| \\ | |
| Я заметил, что когда я копирую код третьего поля [[http://wiki.jalakai.co.uk/dokuwiki/doku.php/test/boxes]] и вставляю сюда (или в мою «ДокуВики»), текстовое поле находится только на одном линия. Я не включаю подпись \\ | |
| <code> | |
| <box green > this is | |
| also | |
| boxed | |
| </box|boxed & captioned> | |
| </code> | |
| e.g. **<box green > this is | |
| also | |
| boxed | |
| </box|boxed & captioned>** | |
| \\ \\ | |
| На вашей тестовой странице текстовое поле состоит из 3 строк. Почему на вашей странице 1 строчка, а у вас - 3 строчки? Я копирую и вставляю точно такой же исходный код. На вашей странице сохраняется возврат каретки. \\ | |
| Как я могу вести себя так же? Так что я смогу скопировать и вставить, сохраняя CR. | |
| |
| > Да. См. [[plugin:linebreak|Плагин разрыва строки]] --- //[[chris@jalakai.co.uk|Christopher Smith]] 2007-07-26 13:08// | |
| >> Также см. [[plugin:xbr|Рендеринг разрыва строки]] --- //[[chris@jalakai.co.uk|Christopher Smith]] 2008/11/11 06:26// | |
| |
| ---- | |
| |
| Привет Крис, Очень красивые и полезные эффекты. Есть мысли о добавлении значка в строку заголовка?\\ | |
| См., например, http://www.headshift.com/\\ | |
| Я просто не понимаю, как они это сделали!\\ | |
| С уважением, Peter Chan 2007-10-02 | |
| |
| ---- | |
| |
| Привет, я пытаюсь использовать коробки в последней версии «ДокуВики» (2006-06-26b), но, похоже, это не работает. Единственное поведение плагина, которое мне удалось определить, - это разметка в заголовках. Если я выделю заголовок жирным шрифтом, он отобразит звездочки. Если бы плагин просто нюхал, не сработала бы разметка? Почему это не сработает? Спасибо. Рик Рейнольдс 16 января 2008 г. | |
| |
| > В настоящее время форматирование субтитров не поддерживается. Однако модифицированный плагин боксов, в котором используется немного другой синтаксис, позволяет форматировать подписи. См. Ссылки выше. --- //[[chris@jalakai.co.uk|Christopher Smith]] 2008-03-03 17:46// | |
| >>Это верно, но box_mod не обновлен для поддержки DokuWiki 2008-05-05: небольшие ошибки макета, особенно когда на странице больше одного поля… По моему опыту, <box> работает гораздо более плавно. [[gijsh@sherpanet.nl|Gijs van Gemert]] | |
| |
| ---- | |
| |
| У меня это начало работать, когда я перешел на шаблон dokucms. С шаблоном по умолчанию у меня это не сработает. 2008-02-11 | |
| |
| ---- | |
| |
| Можно ли добавить поддержку абсолютной (или минимальной) высоты ящиков? Я пробовал делать это сам, но моих знаний PHP и CSS недостаточно для реализации этого. | |
| > Да, теперь есть поддержка высоты. Проверьте мой модифицированный плагин: [[plugin:boxwh|boxwh плагин]] | |
| ---- | |
| Есть ли шанс разрешить изменение цвета текста (поскольку черный цвет на темных цветах часто нечитаем)? Боб 4 апреля 2008 г. | |
| ---- | |
| Я заметил, что необходимо очистить кеш, чтобы можно было вставить инструкции CSS нового плагина : | |
| * Я последовал советам « ДокуВики» по [[:devel:caching]] (кешированию), | |
| * Я коснулся conf / local.php, отредактировал и сохранил ... | |
| * Я выбрал встроенный HTML в форме конфигурации | |
| |
| тем не менее, в моем листе CSS нет инструкции CSS div.box , и поле не отображается должным образом. Наконец-то я обнаружил проблему с разрешением файла: | |
| <code> | |
| ls -l box/style.css | |
| -rwx------ 1 box/style.css | |
| </code> | |
| это нужно исправить в archive.tgz? | |
| |
| ---- | |
| |
| Спасибо за этот плагин. | |
| Я сделал небольшое изменение в трех строках в syntax.php, чтобы создать XHTML-совместимый документ. (Это просто некоторые пропущенные символы…) | |
| <code php> | |
| (line 133) $renderer->doc .= $this->_xhtml_boxopen($data)."<p class='box_title' {$this->_title_colours}>"; | |
| ... | |
| (line 139) $renderer->doc .= "</p>\n<div class='box_content' {$this->_content_colours}>"; | |
| ... | |
| (line 153) $renderer->doc .= "<p class='box_caption' {$this->_title_colours}>".$renderer->_xmlEntities($data)."</p>\n"; | |
| </code> | |
| * Добавьте пробел между **class='box_title'** и **{$this->_title_colours}** | |
| * Добавьте пробел между **class='box_content'** и **{$this->_content_colours}** | |
| * Добавьте пробел между **class='box_caption'** и **{$this->_title_colours}** | |
| |
| //---[[http://www.cyclotronp.net|ZebulonT]] -- 2009-07-05 16:37// | |
| |
| ---- | |
| У меня новая версия dokuwiki (Муравьед). Плагин Box теперь помещает еще один </div> в конец поля и уничтожает все оставшиеся макеты и стили. Это ошибка плагина box или самой dokuwiki? | |
| //Pletiplot -- 2010-12-20// | |
| |
| |
| ---- | |
| |
| Пожалуйста, исправьте свой CSS . | |
| |
| Правило @CHARSET "UTF-8"; в вашем print.css недопустимо. | |
| |
| --- [[user>flam]] //2011/01/05 12:03// | |
| |
| ---- | |
| |
| Можно ли добавить к нему кнопку закрытия, чтобы использовать ее как уведомление? | |
| |
| ---- | |
| |
| :!: Плагин **Box** не может правильно работать с плагином **Include**. Обычно **Box** хранит любой контент в формате ''div.box div.xbox div.box_content''. Но **Include** вставки выпадают в ''div.box div.xbox''. Возможно, это из-за неправильного состояния //getType// и / или //getPType//. --- [[user>Rainbow_Spike@derpy.ru|dr-yukon]] //2019-01-03 13:26// | |
| |
| ---- | |
| |
| Базовый движок «Докувики» работает с изображениями только в пикселях. Этот плагин можно использовать как процентное увеличение. Добавьте <code>div.box.img > .xbox > .box_content > a > img { | |
| width: 100%; | |
| width: -moz-available; | |
| width: -webkit-fill-available; | |
| width: stretch; | |
| }</code> в ''/lib/plugins/box/style.css'' и опишите как ''<box center img 90%>%%{{%%your image}}</box>'' для увеличения на экране --- [[user>Rainbow_Spike@derpy.ru|dr-yukon]] //2020-09-06 14:37// | |
| |
| ---- | |