DokuWiki

It's better when it's simple

Инструменты пользователя

Инструменты сайта


ru:plugin:box

Это старая версия документа!


Плагин Box

Совместим с «Докувики»

  • 2024-02-06 "Kaos" неизвестно
  • 2023-04-04 "Jack Jackrum" неизвестно
  • 2022-07-31 "Igor" неизвестно
  • 2020-07-29 "Hogfather" да

plugin Выделите особо важные части своей вики в выделенных рамках.

Последнее обновление:
2016-02-17
Предоставляет
Syntax
Репозиторий
исходный код
Конфликтует с
box2, boxes_mod, boxwh, workflow

This extension is not in the 'plugin' or 'template' namespace and is therefore ignored.

Похож на alertbox, block, bootnote, boxes_mod, boxwh, class, note, nowiki, wrap

Теги: boxes, style

Нужен для autoincludeindex

Хотя этот плагин по-прежнему работает нормально, его функциональные возможности включены в плагин Wrap Plugin.

Этот плагин добавляет рамки в DokuWiki, позволяя вам выделять особо важные части вашей вики в выделенных прямоугольниках. Плагин позволяет создавать обычные квадратные коробки, коробки snazzyTM с закругленными углами, коробки с заголовками и коробки различной ширины. Разметка «ДокуВики» разрешена внутри поля - там, где все идет хорошо - и внутри заголовка, где следует использовать только текстовую разметку, ссылки, смайлы и тому подобное.

Вероятно, имеет смысл установить стиль блока, который вы будете чаще всего использовать, в качестве блока по умолчанию. Подробнее см. Style.css

Заметки

* Мою версию этой страницы, которая может быть обновлена совсем недавно, можно найти здесь

  • 24.09.2009 эта ссылка не работает :(
  • 28.10.2009 эта ссылка, кажется, теперь работает :-)
  • 13.12.2009 опять битая :(
  • 30.01.2010 Скопирован и вставлен ниже код в style.css и syntax.php (./plugins/box/ ..). Работает с последней версией Lemming.

Благодарность

Закругленные углы основаны на snazzy границы от Stu Nicholls из CSS Play который, в свою очередь, был вдохновлён работой Alessandro Fulciniti's nifty углы.

Синтаксис

Простой 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). Цвета применяются для того, чтобы изменять:
    1. фон содержимого
    2. фон заголовка
    3. внешний фон коробки
    4. границы

если указано менее четырех цветов, первый цвет используется для отсутствующих цветов.

  • текст заголовка — текст (включая разметку «ДокуВики»), отображаемый над содержимым поля, с отличным стилем.
  • подпись — текст (без разметки), отображаемый под содержимым поля, с отличным стилем.

Открытие <box … > включая заголовок, должно быть в одной строке. Содержимое box'ов может занимать столько строк, сколько необходимо.

Посмотрите, как работает плагин здесь. На странице-образце показаны все стили, доступные в плагине.

Конфигурация

Плагин не имеет настроек конфигурации, хотя вы можете проверить цветовую схему по умолчанию в style.css чтобы убедиться, что она подходит для вашей вики.

Установка

Найдите и установите плагин с помощью Extension Manager.

В качестве альтернативы см. Plugins чтобы узнать, как установить плагины вручную. Чтобы установить плагин вручную, загрузите исходный код в папку плагина lib/plugins чтобы узнать, как установить плагины вручную. Чтобы установить плагин вручную, загрузите исходный код в папку плагина lib/plugins/box, и установите плагин.

Источники:

Список изменений

  • 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) приведенным ниже кодом.
        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;
        }
  • сохраните файл

Этот скрип ограничивает символы, доступные для использования в именах любых настраиваемых стилей, буквенно-цифровыми символами, а также тире и подчеркиванием (например A-Z, a-z, 0-9, _ -). Он также обновляет определение ширины поля для поддержки любого допустимого значения длины CSS . Смотрите подробности в синтаксисе.

Исправление безопасности 2

Это исправление применяется ко всем версиям плагина до 3 марта 2008 г. Рекомендуется, чтобы пользователи плагина обновили DW и этот плагин до самых последних версий. Для тех, кто желает исправить уязвимость без обновления.

          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;

Спасибо Энди Уэбберу из группы этического взлома Oracle за обнаружение этого недостатка. — Christopher Smith 2008-03-03 17:46

Что нужно сделать

Ошибки

  • Боксы могут перекрывать оглавление вверху страницы. Требуется исправление CSS .

Ошибка рендеринга в IE 6.0 - Запуск плагина box с шаблоном круглого box. Прокрутка (или, если поле достаточно велико, просто обновляется страница) иногда приводит к тому, что строки / блоки поля не обновляются, оставляя цвет фона на дисплее. Удалось воспроизвести проблему на домашней странице box'а «ДокуВики»здесь. Плохая область кажется больше, если прямоугольник больше (в нем больше текста). — Jonathan Alexander 2005-12-06 14:49

Нашел исправление, которое, кажется, работает для меня от communitymx (спасибо Google) просто вставил код ниже под объявлением «div.box .box_content» в style.css выше.
/* Hides from IE5-mac \*/
* HTML .div.box.box_content {height: 1%;}
/* End hide from IE5-mac */
  • Отсутствуют </p>s (больше W3C-предупреждений):
    <box>
    foo
    
    bar
    </box>

    приводит к этому HTML:

    <div class='box_content'><p> foo
    <p>
    bar 
    </p>
    </div>

    как видите, одного </p> не хватает. — Bernd Zeimetz 2007-03-03 02:39 CET
    Решение CET: измените две строки в рендере функции (рядом с 'box_open'):

    --- 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;

    строки, начинающиеся с «-» являются исходными строками, строки «+»- новыми. — Stefan Kuchling

Этот патч добавлен в последнюю версию плагина. Спасибо Бернд и Стефан за ваши усилия. — Christopher Smith 2008-03-03 17:46

Подсказки

Альтернативный синтаксис и разрешающая разметка в подписях

Отличный плагин! Я изменил свою копию и подумал, что другим может быть интересно. Смотреть пример. FIXME

Изменения:

  1. Изменен синтаксис: <<< width classes | title ::: content ::: caption >>>
  2. Разметка разрешена в подписях
  3. Заголовок и подпись могут занимать несколько строк (т. е. несколько абзацев).
  4. Ширина может быть указана в %, px, em или ex (теперь включено в версию выпуска)

Возможность разместить разметку в подписи хороша, когда вы хотите привлечь внимание к примечанию, скажем, об альтернативной версии какого-либо программного обеспечения - это выглядит очень хорошо, если в подписи есть ссылка для скачивания.

Он хорошо работает на моем сайте, и единственная проблема, с которой он, кажется, заключается в том, что я не могу вкладывать box'ы (не знаю почему).

Полный код см. в разделе: Модифицированные Box'ы

Robert Meerman 2006/02/24 17:13

Привет, Роберт! Вы пробовали свой синтаксис с патчем вложенности, я кратко посмотрел на ваш код и не увидел ничего, что должно препятствовать вложению. Ура — 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
  • Примените следующий патч:
--- 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 @@
     
 }

Более подробный CSS с дополнительными параметрами цвета

Это очень удобный плагин! Я начал экспериментировать с CSS, чтобы сделать некоторые нестандартные вещи (я собираюсь использовать этот плагин в 3-4 установках «ДокуВики»), а именно, чтобы скрыть внутреннюю границу и пару других небольших настроек цвета. В итоге я получил кое-что, что, на мой взгляд, было бы более гибко изменять (отдельные определения для отдельных границ), больше прокомментировал (я попытался отметить некоторые разделы немного лучше) и, возможно, более дружественный к IE (я думаю, что исправил проблему с тем, что один из цветов фона не отображается в IE 6).

Я не эксперт в области CSS , поэтому не могу гарантировать, что сделал это на 100% эффективно, но он работает со всеми браузерами, которые поддерживает browsershots.org.

CSS можно увидеть здесь: http://wiki.ryanjacobs.name/public/tech/dokuwiki_box_plugin_css FIXME

Если кому-то интересно… Ура! — Ryan Jacobs

Добавить поддержку экспорта ODT

Это добавляет базовую поддержку OpenOffice/ODT экспорт плагина; нет цветов; без выравнивания, без причудливого форматирования; но излучается основной контент.

$ 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;
     } 

Обсуждение

Спасибо за плагин. У меня вопрос, могу ли я что-то сделать, чтобы сохранить пустую строку в исходном тексте без использования синтаксиса '\\' или любого другого редактирования исходного текста? Спасибо и пока — pronto 2014-07-30 11:31


Спасибо за плагин, выглядит действительно здорово. Однако я хочу использовать его для выделения различного контента. Например, я хотел бы использовать <math>, чтобы выделить математику. Как мне изменить источник для синтаксического анализа другого класса CSS на <math>?

Вам нужно изменить базовый шаблон (в connectTo и postConnect) на математический из окна. Для каждого другого шаблона выхода вам понадобится другой плагин, поэтому необходимо изменить имя плагина и ссылки на него в connectTo и postConnect. Лучше всего использовать <box math>… </box>, <box somethingelse> … </box> и настроить / добавить имена стилей так, чтобы соответствующие цвета и углы отображались для конкретного имени. — Christopher Smith 2005-10-29 10:07

Вместо того, чтобы использовать множество различных предопределенных стилей, как насчет использования синтаксиса, аналогичного цветовому плагину phpBB, и позволить пользователю точно определять свой выбор цветов? — ta' Lajzar 2005-10-30 02:16

Может быть. Я не хотел определять стили как цвета. Было бы лучше выбирать имена стилей семантически, например, ошибка, предупреждение, информация, синтаксис, формулы, предупреждение и т. д. Однако значение каждого стиля блока, вероятно, изменится от вики к вики, поэтому я дал им нейтральные, но информативные имена. Для всего этого я рассмотрю возможность добавления необязательного синтаксиса для тех, кто этого хочет. — Christopher Smith 2005-10-30 10:39
Но если люди используют блоки на странице, то есть included, они могут так же легко получить семантический контекст, и это сохраняет дополнительную гибкость свободно определяемых цветов для синтаксиса блока. — ta' lajzar 2005-10-31 07:27

В последнюю версию добавлена ​​индивидуальная цветовая спецификация. — Christopher Smith 2008-03-03 17:46


Код, возвращаемый плагином, на самом деле не является стандартным XHTML, потому что все теги B пусты. Чтобы исправить это, вы должны написать & nbsp; во всех тегах b в строках

$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";
Насколько мне известно, стандарт xhtml не возражает против пустых элементов (см. http://www.w3.org/TR/xhtml1/#C_3 и валидатор w3c не помечает их как ошибку или предупреждение. — Christopher Smith 2005-10-31 15:17

Плагин Box у меня не работает. Я выполняю новую установку «ДокуВики» 09.03.2006 без каких-либо других правок, плагинов или шаблонов. Плагин Box был установлен через менеджер плагинов. http://www.ssdonline.us/wiki/doku.php?id=wiki:playgroundScott Mouser

Плагин работает, стили не подхватываются. Я добавил комментарий и несколько идей на страницу вашей игровой площадки. — Christopher Smith 2006-03-24 01:22
;;>Спасибо. Очистка кеша - это именно то, что нужно для работы. Я не видел этого где-либо еще. Я продолжу и отправлю отчет об ошибке, потому что вы правы, .css должен был быть восстановлен после установки плагина. — Scott Mouser
В «ДокуВики» и диспетчер плагинов внесены исправления, позволяющие истечь срок хранения кеша и гарантировать, что новый CSS будет сгенерирован после установки любого плагина. — Christopher Smith 2006-04-19 03:14
Может кто-нибудь опубликовать ЗДЕСЬ, как очистить кеш, потому что www.ssdonline.us похоже, не работает.
Я уже разобрался с этим, а для всех остальных используйте плагин Cache and Revisions Eraser!

—-

Этот плагин имеет XSS-уязвимость!

Попробуйте это в IE:

<box ' style="background-image:url(javascript:alert('bla'))">
  XSS test
</box>

Это исправление работает для меня (строки 160-168):

      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;
      }
Спасибо. Обновлены основные скрипты и источники плагинов. Также см.Исправление безопасности. — Christopher Smith 2006-04-25 18:17.

Обновление плагина незаметно перезаписывает style.css. Есть ли решение с сохранением в локализованном style.css? Например, каталог локализации, который перекрывает любые свойства CSS ? Спасибо. — Burt Rosenberg 2006-05-22 02:56

Как насчет ./conf/userstyle.css? Кажется, это работает. Теперь, чтобы выяснить макрос url () при обработке файла .css — Burt Rosenberg 2006-05-22 04:12

Я хотел бы использовать ===== Level 2 Headline ===== внутри <box>…</box>. How can I do that? Thank you in advance.

At present you can't, at least not directly. It should be possible to use the include plugin syntax within a box. The included page will then display inside the box.

Note: It would be best to use my alternate include plugin as it doesn't try to merge the included page into the current page's section structure - which could give unexpected results. — Christopher Smith 2006-06-16 01:41
That's exactly what I did but I didn't know about your «alternate» version of the include plugin so I hacked the original one:)

Looks like the layer for the box obscures the TOC box if a <box></box> is placed in the first paragraph or two (content depending of course).

Yes. I have added it to bugs. I would guess a CSS fix is required either to TOC or box. — Christopher Smith 2006-07-04 23:42

I think you should mention that the plugin will only work if you have ‘Allow embedded HTML’ turned on in DokuWiki's config. I just spent ages wondering why I couldn't get it to work, until I realised this. :-\madra 2006-08-05

It doesn't require «allow embedded HTML» turned on. However, editing your wiki configuration files will have expired all DokuWiki's caches forcing regeneration of pages and CSS. Both of which are required for boxes to appear. As mentioned above, its a known bug fixed in release 2006-11-06 & preceding release candidates.




<box 90% green round>
I have a small issue with boxes and I was wondering if someone could help me perhaps? When I put a box on a page and try to put some spacing for new lines after the box with the usual markup it doesn't seem to display correctly. The text always appears to the right of the box no matter what I try.
I also noticed that on this site that there seems to be no need to use the typical markup for a new line. Why is that?
</box>

Boxes styled left or right are floated. A cleared element will need to appear after the box to stop subsequent content floating next to it. You maybe able to work something with the div/span plugin. I'm not sure what you mean your last sentence. You only need to use \\ for a single line break in a paragraph or to add extra line breaks between paragraphs. — Christopher Smith 2006-08-15 09:33

Cheers for the update Chris but I'm not sure what you mean by a cleared element? So without the div/span plugin there is no way to resolve the issue?

You could also use the clearfloat plugin (search for it on plugins). Others suggested doing it via entities (unfortunately I haven't found the suggestion anywhere). Just put something like this
~CL~    <br style="clear: both;" />

into conf/entities.conf and use ~CL~ after each relevant box. (Better to use update-proof conf/entities.local.conf, and add strings like

<hr> <hr /> <br> <br /> <hrr> <hr style=«clear:both» /> <brr> <br style=«clear:both» /> — dr-yukon 2020-09-06 14:32)

What about a | before and after the text?


Thanks for the great plugin. I really enjoy the boxes :-) I have one suggestion/bug report. It seems that the current implementation of boxes do not like nested boxes. For example, I'd like to have something like this.

  <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>

If I do that I get overlapping boxes. However, If I do:

<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>

Then it produces something what one would expect. Most probably my work around produces a completely incorrect HTML code, thought Firefox shows quite nice results :-)


Please add a print.css. I needs not very much content, just div.box.left{float:left} and such. Currently, a series of <box 20% left>…</box> looks pretty weird in print mode – and takes up many papers – without a float:left. — Viktor Söderqvist 2007-02-28 05:06

Added — Christopher Smith 2008/11/11 06:26

A toggle to clear the floats would make a nice option as I normally do not prefer text to wrap around the box. The only time I let the text wrap is when my boxes are near the ToC. I hard coded some float clearing since I generally do not want text wrapping around the boxes, however, that can mess with the ToC Div. Hence a toggle would be great.


:!: This creates bad XHTML, apparently there are missing closing </p> in the box_content divs. FIXME

fix?
143 $renderer->doc .= "</p></div>\n";
</p> was missing

Hi - Thanks for a terrific plugin. I am having problems with boxes and captions when printing. I copied the plugins/box/style.css → plugins/box/print.css and it works, but when I include a caption at the top an extra line is inserted between the box top and the caption. I'm using the monobook template. Click to see an example in my wiki playground. Would be most grateful for any suggestions. —Tobias (5/10/2007)


Nice plugin. I'm wondering if it is possible to have the caption work like the title, where links can be embedded in it?


Hi, I have a lot of citation. I often copy and paste. Is it to possible to keep carriage return and avoid to add manually «\\» at the end of each new lines ?
Whereas good plugin.

I noticed when I copy the code of the third box of http://wiki.jalakai.co.uk/dokuwiki/doku.php/test/boxes and paste here (or on my DokuWiki), the text box is on only one line. I don't include the caption

<box green > this is
also 
boxed
</box|boxed & captioned>

e.g. <box green > this is also boxed </box|boxed & captioned>

On your test page, the text box is on 3 lines. Why 1 line, me and you 3 lines on your page ? I copy and paste exactly the same source code. In your page, the carriage return is kept.
How can I have the same behavior ? So I will able to copy and paste keeping CR.

Yes. See the linebreak pluginChristopher Smith 2007-07-26 13:08
Also see the linebreak rendererChristopher Smith 2008/11/11 06:26

Hi Chris, Very nice and useful effects. Any thoughts about adding an icon on the title bar ?
See for example http://www.headshift.com/
I just don't understand how they did that!
Cheers, Peter Chan 2007-10-02


Hi – I am trying to use boxes in the latest DokuWiki (2006-06-26b)but it doesn't seem to want to work. The only plug-in behavior that I've been able to identify is with markup in captions. If I bold the caption it displays the asterisks. If the plugin was just whiffing, wouldn't the markup work? Why would this not work? Thanks. Rick Reynolds 2008-01-16

Formatting isn't currently supported in captions. However the modified boxes plugin, which uses a slightly different syntax does allow formatting in captions. See links above. — Christopher Smith 2008-03-03 17:46
That is right, but box_mod is not updated to support DokuWiki 2008-05-05: little layout errors, especially when there are more than one boxes on the page… In my experience <box> works far more smoothly. Gijs van Gemert

It started working for me when I changed to the dokucms template. With the default template it won't work for me. 2008-02-11


Is it possible to add support for absolute (or minimum) height for the boxes? I've tried doing it myself, but both my knowledge of PHP and CSS is insufficient to implement this.

Yes, there is a height support now. Check my modified plugin: boxwh plugin

—- Any chance of allowing the text colour to be altered (as black on dark colours is often unreadable)? Bob 4-Apr-08


I noticed it was necessary to purge cache to allow new plugin's CSS instructions to be inserted:

  • I followed DokuWiki caching advices,
  • I touched conf/local.php, edited and saved it …
  • I selected 'embedded HTML' in config form

still, no div.box CSS instruction in my CSS sheet, and box wont display properly. I finally found a file permission issue:

ls -l box/style.css
-rwx------ 1  box/style.css

should that be fixed in archive.tgz ?


Thanks for this plugin.
I made a little change on 3 lines in syntax.php to produce an XHTML compliant document. (It is just some space missing characters…)

(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";
  • Add a space character between class='box_title' and {$this→_title_colours}
  • Add a space character between class='box_content' and {$this→_content_colours}
  • Add a space character between class='box_caption' and {$this→_title_colours}

ZebulonT – 2009-07-05 16:37


I have new dokuwiki version (Anteater). Box plugin now puts one </div> more on the end of a box and kills all remaining layout and styles. Is it a bug of box plugin or dokuwiki itself? Pletiplot – 2010-12-20


Please correct your CSS.

The rule @CHARSET «UTF-8»; in your print.css is not valid.

flam 2011/01/05 12:03


Can we add a close button to it, so We can use it as notice?


:!: Box plugin not able to work correctly with Include plugin. Commonly Box hold any content in div.box div.xbox div.box_content. But Include insertions drop down into div.box div.xbox. Maybe it's due to incorrect state of getType or/and getPType. — dr-yukon 2019-01-03 13:26


Basic Dokuwiki engine works with images only through pixel widths. This plugin can be used as the percent zoomer. Add

div.box.img > .xbox > .box_content > a > img {
	width: 100%;
	width: -moz-available;
	width: -webkit-fill-available;
	width: stretch;
}

in /lib/plugins/box/style.css and syntax it as <box center img 90%>{{your image}}</box> for inscreen zooming — dr-yukon 2020-09-06 14:37


ru/plugin/box.1603390248.txt.gz · Последнее изменение: 2020-10-22 20:10 — Xenus2020

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki