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

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


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

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 блоки, что позволяет выделять особо важные секции в прямоугольниках с настраиваемым стилем, в том числе со скруглёнными углами, Snazzy (разновидность онлайн-открыток с узорным обрамлением), заголовками, настраиваемой шириной (включая процентную). <!– не понятно –> Разметка «ДокуВики» разрешена и внутри блока - там, где все идет хорошо - и внутри заголовка, где следует использовать только текстовую разметку, ссылки, смайлы и тому подобное.

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

Заметки

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

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

Закругленные углы основаны на snazzy borders от Stu Nicholls из CSS Play, который, в свою очередь, был вдохновлён 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). Цвета применяются для того, чтобы изменять:
    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>. Как я могу это сделать? Заранее спасибо.

В настоящее время вы не можете, по крайней мере, не напрямую. Должна быть возможность использовать синтаксис include плагина внутри box'а. Включенная страница будет отображаться внутри box'а.

Note: It would be best to use my альтернативный include плагин поскольку он не пытается объединить включенную страницу в структуру раздела текущей страницы, что может дать неожиданные результаты. — Christopher Smith 2006-06-16 01:41
Это именно то, что я сделал, но я не знал о вашей «альтернативной» версии плагина include, поэтому я взломал исходную :)

Похоже, что слой для блока закрывает блок оглавления, если <box></box> в первом или двух абзацах (содержание, конечно, зависит).

Да. Я добавил это в баги. Я предполагаю, что исправление CSS требуется либо для TOC, либо для коробки. — Christopher Smith 2006-07-04 23:42

Я думаю, вы должны упомянуть, что плагин будет работать только в том случае, если в конфигурации «ДокуВики» включен параметр «Разрешить встроенный HTML» . Я просто потратил целую вечность, задаваясь вопросом, почему я не могу заставить его работать, пока не понял это. :-\madra 2006-08-05

Не требует включения «Разрешить встроенный HTML ». Однако при редактировании файлов конфигурации вики истечет срок действия всех кешей «ДокуВики», что вызовет регенерацию страниц и CSS . И то, и другое необходимо для появления box'ов. Как упоминалось выше, это известная ошибка, исправленная в release 2006-11-06 & и предыдущих выпусках-кандидатах.




<box 90% green round>
У меня небольшая проблема с коробками, и мне было интересно, может ли кто-нибудь мне помочь? Когда я помещаю рамку на страницу и пытаюсь поставить некоторый интервал для новых строк после рамки с обычной разметкой, кажется, что она отображается неправильно. Текст всегда отображается справа от поля, что бы я ни пытался.
Я также заметил, что на этом сайте, похоже, нет необходимости использовать типичную разметку для новой строки. Это почему?
</box>

Ящики, стилизованные влево или вправо, перемещаются. Очищенный элемент должен появиться после поля, чтобы не допустить появления следующего содержимого рядом с ним. Возможно, вам удастся что-то поработать с плагином div / span. Я не уверен, что вы имели в виду в своем последнем предложении. Вам нужно только использовать
для одиночного разрыва строки в абзаце или для добавления дополнительных разрывов строки между абзацами. — Christopher Smith 2006-08-15 09:33

Благодарим вас за обновление, Крис, но я не уверен, что вы имеете в виду под очищенным элементом? Значит, без плагина div / span нет способа решить проблему?

Вы также можете использовать clearfloat плагин (ищите его в plugins). Другие предлагали делать это через entities (к сожалению, я нигде не нашел такого предложения). Просто поставьте что-то вроде этого
~CL~    <br style="clear: both;" />

в conf/entities.conf и используйте ~CL~ после каждого соответствующего box'а. (Лучше использовать защиту от обновлений conf/entities.local.conf, и добавлять такие строки, как

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

Что насчет | до и после текста?


Спасибо за отличный плагин. Мне очень нравятся коробки :-) . У меня есть одно предложение / отчет об ошибке. Кажется, что текущая реализация ящиков не любит вложенные ящики. Например, хотелось бы иметь что-то подобное.

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

Если я это сделаю, я получу перекрывающиеся box'ы. Однако, если я это сделаю:

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

Тогда получается то, чего можно было ожидать. Скорее всего, моя работа дает совершенно неверный HTML- код, хотя Firefox показывает довольно хорошие результаты :-)


Пожалуйста, добавьте print.css. Мне нужно не очень много контента, просто div.box.left{float:left} так. В настоящее время серия изображений <box 20% left>…</box> выглядит довольно странно в режиме печати и занимает много листов без поплавка: left. — Viktor Söderqvist 2007-02-28 05:06

Добавлен — Christopher Smith 2008/11/11 06:26

Переключатель для очистки плавающих элементов будет хорошим вариантом, поскольку я обычно не предпочитаю обтекать поле текстом. Единственный раз, когда я разрешил перенос текста, - это когда мои поля находятся рядом с ToC. Я жестко запрограммировал некоторую очистку с плавающей запятой, поскольку я обычно не хочу, чтобы текст обтекал поля, однако это может испортить ToC Div. Следовательно, переключение было бы здорово.


:!: Это создает плохой XHTML, по-видимому, в div box_content отсутствует закрытие </p> FIXME

исправить?
143 $renderer->doc .= "</p></div>\n";
</p> was missing

Привет - Спасибо за отличный плагин. У меня проблемы с рамками и подписями при печати. Я скопировал plugins / box / style.css → plugins / box / print.css, и он работает, но когда я добавляю заголовок вверху, между верхней частью поля и заголовком вставляется дополнительная строка. Я использую шаблон монокниги.Щелкните, чтобы увидеть пример на моей вики-площадке. Буду очень признателен за любые предложения. —Tobias (5/10/2007)


Хороший плагин. Мне интересно, можно ли сделать так, чтобы заголовок работал как заголовок, где в него можно встроить ссылки?


Привет, у меня много ссылок. Я часто копирую и вставляю. Можно ли сохранить возврат каретки и избежать добавления вручную «\\» в конце каждой новой строки? Тогда как хороший плагин.


Я заметил, что когда я копирую код третьего поля http://wiki.jalakai.co.uk/dokuwiki/doku.php/test/boxes и вставляю сюда (или в мою «ДокуВики»), текстовое поле находится только на одном линия. Я не включаю подпись

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

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

На вашей тестовой странице текстовое поле состоит из 3 строк. Почему на вашей странице 1 строчка, а у вас - 3 строчки? Я копирую и вставляю точно такой же исходный код. На вашей странице сохраняется возврат каретки.
Как я могу вести себя так же? Так что я смогу скопировать и вставить, сохраняя CR.


Привет Крис, Очень красивые и полезные эффекты. Есть мысли о добавлении значка в строку заголовка?
См., например, http://www.headshift.com/
Я просто не понимаю, как они это сделали!
С уважением, Peter Chan 2007-10-02


Привет, я пытаюсь использовать коробки в последней версии «ДокуВики» (2006-06-26b), но, похоже, это не работает. Единственное поведение плагина, которое мне удалось определить, - это разметка в заголовках. Если я выделю заголовок жирным шрифтом, он отобразит звездочки. Если бы плагин просто нюхал, не сработала бы разметка? Почему это не сработает? Спасибо. Рик Рейнольдс 16 января 2008 г.

В настоящее время форматирование субтитров не поддерживается. Однако модифицированный плагин боксов, в котором используется немного другой синтаксис, позволяет форматировать подписи. См. Ссылки выше. — Christopher Smith 2008-03-03 17:46
Это верно, но box_mod не обновлен для поддержки DokuWiki 2008-05-05: небольшие ошибки макета, особенно когда на странице больше одного поля… По моему опыту, <box> работает гораздо более плавно. Gijs van Gemert

У меня это начало работать, когда я перешел на шаблон dokucms. С шаблоном по умолчанию у меня это не сработает. 2008-02-11


Можно ли добавить поддержку абсолютной (или минимальной) высоты ящиков? Я пробовал делать это сам, но моих знаний PHP и CSS недостаточно для реализации этого.

Да, теперь есть поддержка высоты. Проверьте мой модифицированный плагин: boxwh плагин

—- Есть ли шанс разрешить изменение цвета текста (поскольку черный цвет на темных цветах часто нечитаем)? Боб 4 апреля 2008 г.


Я заметил, что необходимо очистить кеш, чтобы можно было вставить инструкции CSS нового плагина :

  • Я последовал советам « ДокуВики» по caching (кешированию),
  • Я коснулся conf / local.php, отредактировал и сохранил …
  • Я выбрал встроенный HTML в форме конфигурации

тем не менее, в моем листе CSS нет инструкции CSS div.box , и поле не отображается должным образом. Наконец-то я обнаружил проблему с разрешением файла:

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

это нужно исправить в archive.tgz?


Спасибо за этот плагин. Я сделал небольшое изменение в трех строках в syntax.php, чтобы создать XHTML-совместимый документ. (Это просто некоторые пропущенные символы…)

(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";
  • Добавьте пробел между class='box_title' и {$this→_title_colours}
  • Добавьте пробел между class='box_content' и {$this→_content_colours}
  • Добавьте пробел между class='box_caption' и {$this→_title_colours}

ZebulonT – 2009-07-05 16:37


У меня новая версия dokuwiki (Муравьед). Плагин Box теперь помещает еще один </div> в конец поля и уничтожает все оставшиеся макеты и стили. Это ошибка плагина box или самой dokuwiki? Pletiplot – 2010-12-20


Пожалуйста, исправьте свой CSS .

Правило @CHARSET «UTF-8»; в вашем print.css недопустимо.

flam 2011/01/05 12:03


Можно ли добавить к нему кнопку закрытия, чтобы использовать ее как уведомление?


:!: Плагин Box не может правильно работать с плагином Include. Обычно Box хранит любой контент в формате div.box div.xbox div.box_content. Но Include вставки выпадают в div.box div.xbox. Возможно, это из-за неправильного состояния getType и / или getPType. — dr-yukon 2019-01-03 13:26


Базовый движок «Докувики» работает с изображениями только в пикселях. Этот плагин можно использовать как процентное увеличение. Добавьте

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

в /lib/plugins/box/style.css и опишите как <box center img 90%>{{your image}}</box> для увеличения на экране — dr-yukon 2020-09-06 14:37


ru/plugin/box.txt · Последнее изменение: 2020-11-04 23:51 — Dr-Yukon