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

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


Боковая панель

ru:plugin:box

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


Плагин Box

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

  • 2020-07-29 "Hogfather" да
  • 2018-04-22 "Greebo" да
  • 2017-02-19 "Frusterick Manners" неизвестно
  • 2016-06-26 "Elenor Of Tsort" да

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

This patch has been added to the latest plugin version. Thanks Bernd and Stefan for your efforts. — Christopher Smith 2008-03-03 17:46

Tips

Alternate Syntax & Allowing markup in captions

Great plugin! I've modified my copy and thought others might be interested. See example. FIXME

Changes:

  1. Syntax changed: <<< width classes | title ::: content ::: caption >>>
  2. Markup allowed in captions
  3. Title and caption may be over multiple lines (i.e. multiple paragraphs)
  4. Width may be specified in %, px, em or ex (now included in release version)

Being able to place markup in the caption is nice for when you want to draw attention to a note about, say, an alternative version of some software — it looks really nice having the download link in the caption.

It works well on my site, and the only problem it seems to have is that I can't nest boxes (not sure why).

For complete code please see: Modifed Boxes

Robert Meerman 2006/02/24 17:13

Hi Robert, Have you tried your syntax with the nesting patch, I briefly looked at your code and didn't see anything that should prevent nesting. Cheers — Christopher Smith 2006-02-24 19:26

Backporting to 2005-07-13

Here's what I did to backport this box plugin to the 2005-07-13 release.

  • Add style.css to the end of your template's design.css and print.css:
$ cd .../lib/plugins/box
$ cat style.css >> ../../tpl/template_name/design.css
$ cat style.css >> ../../tpl/template_name/print.css
  • Apply the following patch:
--- 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 @@
     
 }

More Verbose CSS with More Color Options

This is a very handy plugin! I started to play with the CSS to do some custom things (I'm going to use this plugin in 3-4 DokuWiki installations), namely to hide the inner border and a couple other small color tweaks. I ended up with something that I think it a bit more flexible to modify (separate definitions for separate borders), commented more (I tried to note some of the sections a bit better), and possibly more IE friendly (I think I fixed a problem with one of the background colors not displaying in IE 6).

I'm no expert when it comes to CSS, so I can't guarantee I've done this 100% efficiently, but it holds up with every browser browsershots.org supports.

The CSS can be see here: http://wiki.ryanjacobs.name/public/tech/dokuwiki_box_plugin_css FIXME

In case anyone is interested… Cheers! — Ryan Jacobs

Add support for ODT export

This adds very basic support for the OpenOffice/ODT export plugin; no colours; no alignment, no fancy formatting; but basic content is emitted.

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

Discussion

Thanks for the plugin. My question is if there is something I can do to preserve a blank line in the raw text without using the '\\ ' syntax or by any other edit of the raw text? Thx & Bye

pronto 2014-07-30 11:31


Thanks, for the plugin, it looks really great. However I want to use it to highlight different content. For example I'd like to use <math> to highlight math. How would I have to modify the source to parse a different CSS class to <math>?

You need to change the base pattern (in connectTo and postConnect) to math from box. For each different exit pattern you need another plugin, so the plugin name needs to be changed and the references to it in connectTo and postConnect. A better approach maybe to use <box math> … </box>, <box somethingelse> … </box> and adjust/add style names so the appropriate colours and corners show for the particular name. — Christopher Smith 2005-10-29 10:07

Rather than using lots of different predefined styles, how about using a syntax similar to the phpBB colour plugin, and allow the user to define their choice of colours exactly? — ta' Lajzar 2005-10-30 02:16

Maybe. I didn't want to define styles as colours. It would be better to choose style names semantically, e.g. error, warning, information, syntax, formulae, alert, etc. However the meaning of each box style is likely to change from wiki to wiki, so I gave them neutral but descriptive names. For all that, I'll look at adding an optional syntax for those that want it. — Christopher Smith 2005-10-30 10:39
But if people use boxes in a page that is included, they can then have the semantic context just as easily, and this retains the extra flexibility of freely defined colours for the box syntax. — ta' lajzar 2005-10-31 07:27

Individual colour specification has been added to the latest release. — Christopher Smith 2008-03-03 17:46


The code return by the plugin is not really standard XHTML, it's because all B tags are empty. In order to correct that, you must write &nbsp; in all b tag in lines

$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";
To my knowledge the xhtml standard does't mind empty elements (refer http://www.w3.org/TR/xhtml1/#C_3 and the w3c validator doesn't flag them either as an error or a warning. — Christopher Smith 2005-10-31 15:17

Box plugin doesn't work for me. I'm running a fresh install of DokuWiki 2006-03-09 with no other edits, plugins, or templates installed. Box plugin was installed via the plugin manager. http://www.ssdonline.us/wiki/doku.php?id=wiki:playgroundScott Mouser

Plugin is working, styles aren't being picked up. I've added a comment and some ideas on your playground page. — Christopher Smith 2006-03-24 01:22
;;>Thank you. Clearing the cache is exactly what was needed to get things working. I didn't see that mentioned anywhere else. I will go ahead and file a bug report, because you are right, the .css should have been regenerated after the plugin install. — Scott Mouser
DokuWiki and plugin manager have been patched to expire the cache and ensure a new CSS will be generated after any plugin is installed. — Christopher Smith 2006-04-19 03:14
Can someone post HERE how to clear the cache, because www.ssdonline.us seems to be down.
I already sorted it out, and for everybody else, use the Cache and Revisions Eraser plugin!

—-

This plugin has XSS vulnerability!

Try this in IE:

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

This fix works for me (lines 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;
      }
Thanks Main script and plugin sources updated. Also see security fix. — Christopher Smith 2006-04-25 18:17.

Update of plugin silently overwrites style.css. Is there a solution preservingin localized style.css? E.g., a localization directory which overlays any CSS properties? Thanks. — Burt Rosenberg 2006-05-22 02:56

How about ./conf/userstyle.css? That seems to work. Now, to figure out url() macro in .css file processing — Burt Rosenberg 2006-05-22 04:12

I'd like to use ===== Level 2 Headline ===== inside of the <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.1603389124.txt.gz · Последнее изменение: 2020-10-22 19:52 — Xenus2020