wiki:plugin:note
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
wiki:plugin:note [2025/01/13 15:28] – [Файл для загрузки] vladpolskiy | wiki:plugin:note [2025/02/08 19:29] (текущий) – vladpolskiy | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ======Note для «ДокуВики»====== | + | ======Note для «ДокуВики»====== |
- | {{:wiki:plugin:dwplugin.png? | + | ---- plugin |
+ | description: Этот плагин позволяет вам создавать на страницах | ||
+ | author | ||
+ | email : contrib@anael.eu | ||
+ | type : syntax | ||
+ | lastupdate : 2024-04-15 | ||
+ | compatible : Hogfather, Igor, Jack Jackrum, Kaos | ||
+ | depends | ||
+ | conflicts | ||
+ | similar | ||
+ | tags : boxes, icons, toolbar | ||
- | + | downloadurl: https:// | |
- | * **Релиз:** 2024-04-15. | + | bugtracker |
- | * **Репозиторий:**https:// | + | sourcerepo |
- | * **Совместимость с «Докувики»:** 06.02.2024 «Каос» | + | donationurl : |
- | + | ||
- | =====Совместимость===== | + | screenshot_img : https:// |
- | * 2024-02-06 " | + | ---- |
- | * 2023-04-04 "Jack Jackrum" | + | |
- | * 2022-07-31 " | + | |
- | * 2020-07-29 " | + | |
===Примечания=== | ===Примечания=== | ||
Строка 46: | Строка 53: | ||
</ | </ | ||
{{: | {{: | ||
+ | \\ | ||
Вы можете использовать ключевые слова примечаний importantи warning. tipИли некоторые французские синонимы: | Вы можете использовать ключевые слова примечаний importantи warning. tipИли некоторые французские синонимы: | ||
===== Ограничения ===== | ===== Ограничения ===== | ||
Строка 65: | Строка 73: | ||
</ | </ | ||
+ | =====Модификация===== | ||
+ | Основной файл внешнего вида плагина, | ||
+ | Отредактированно: | ||
+ | * Количество заметок увеличенно до 9 шт. | ||
+ | * Убраны иконки. | ||
+ | * Добавленна цветовая полоса слева. | ||
+ | * Уменьшино скругление углов. | ||
+ | * Увеличена ширена на длину страницы. | ||
+ | <code php style.php> | ||
+ | .plugin_note { | ||
+ | margin: 2em auto; / | ||
+ | max-width: 100%; /* Максимальная ширина страницы в процентах */ | ||
+ | min-height: 10px; /* Минимальная высота */ | ||
+ | text-align: justify; / | ||
+ | vertical-align: | ||
+ | border-collapse: | ||
+ | padding: 12px 17px 12px 27px; / | ||
+ | / | ||
+ | background-repeat: | ||
+ | Устанавливает одно фоновое изображение)*/ | ||
+ | -moz-border-radius: | ||
+ | -khtml-border-radius: | ||
+ | border-radius: | ||
+ | color: black; | ||
+ | overflow: hidden; | ||
+ | } | ||
+ | |||
+ | .plugin_note .li { | ||
+ | color: black !important; | ||
+ | } | ||
+ | |||
+ | .noteclassic { | ||
+ | / | ||
+ | / | ||
+ | background: linear-gradient( | ||
+ | to right, | ||
+ | #708090 0%, | ||
+ | #708090 1%, | ||
+ | #dcdcdc 1%, | ||
+ | #dcdcdc 100% | ||
+ | ); | ||
+ | |||
+ | } | ||
+ | |||
+ | .noteblue { | ||
+ | / | ||
+ | / | ||
+ | background: linear-gradient( | ||
+ | to right, | ||
+ | blue 0%, | ||
+ | blue 1%, | ||
+ | #eeeeff 1%, | ||
+ | #eeeeff 100% | ||
+ | ); | ||
+ | } | ||
+ | |||
+ | .noteyellow { | ||
+ | / | ||
+ | / | ||
+ | background: linear-gradient( | ||
+ | to right, | ||
+ | #ffff00 0%, | ||
+ | #ffff00 1%, | ||
+ | #ffffcc 1%, | ||
+ | #ffffcc 100% | ||
+ | ); | ||
+ | } | ||
+ | |||
+ | .notegreen { | ||
+ | / | ||
+ | / | ||
+ | background: linear-gradient( | ||
+ | to right, | ||
+ | #008000 0%, | ||
+ | #008000 1%, | ||
+ | #ddffdd 1%, | ||
+ | #ddffdd 100% | ||
+ | ); | ||
+ | } | ||
+ | |||
+ | .notered { | ||
+ | / | ||
+ | / | ||
+ | background: linear-gradient( | ||
+ | to right, | ||
+ | #ff0000 0%, | ||
+ | #ff0000 1%, | ||
+ | #ffdddd 1%, | ||
+ | #ffdddd 100% | ||
+ | ); | ||
+ | } | ||
+ | |||
+ | .noteorange { | ||
+ | / | ||
+ | / | ||
+ | background: linear-gradient( | ||
+ | to right, | ||
+ | #ff8c00 0%, | ||
+ | #ff8c00 1%, | ||
+ | #ffe2bd 1%, | ||
+ | #ffe2bd 100% | ||
+ | ); | ||
+ | } | ||
+ | |||
+ | .notepurple { | ||
+ | / | ||
+ | / | ||
+ | background: linear-gradient( | ||
+ | to right, | ||
+ | #800080 0%, | ||
+ | #800080 1%, | ||
+ | #ebc7eb 1%, | ||
+ | #ebc7eb 100% | ||
+ | ); | ||
+ | } | ||
+ | |||
+ | .notebrown { | ||
+ | / | ||
+ | / | ||
+ | background: linear-gradient( | ||
+ | to right, | ||
+ | #805c38 0%, | ||
+ | #805c38 1%, | ||
+ | #f0d698 1%, | ||
+ | #f0d698 100% | ||
+ | ); | ||
+ | } | ||
+ | |||
+ | .noteblack { | ||
+ | / | ||
+ | / | ||
+ | background: linear-gradient( | ||
+ | to right, | ||
+ | black 0%, | ||
+ | black 1%, | ||
+ | #d3d3d3 1%, | ||
+ | #d3d3d3 100% | ||
+ | ); | ||
+ | } | ||
+ | |||
+ | |||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | Основной файл меню выбора заметок | ||
+ | Отредактированно: | ||
+ | * Количество кнопок заметок увеличенно до 9 шт. | ||
+ | * Заменены иконки кнопок по цветовой схеме. | ||
+ | |||
+ | <code php action.php> | ||
+ | <?php | ||
+ | /** | ||
+ | * @license | ||
+ | */ | ||
+ | |||
+ | class action_plugin_note extends DokuWiki_Action_Plugin | ||
+ | { | ||
+ | |||
+ | /** | ||
+ | * register the eventhandlers | ||
+ | * | ||
+ | * @author Andreas Gohr < | ||
+ | */ | ||
+ | function register(Doku_Event_Handler $controller) | ||
+ | { | ||
+ | $controller-> | ||
+ | } | ||
+ | |||
+ | function handle_toolbar(& | ||
+ | { | ||
+ | $event-> | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | array( | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | array( | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | array( | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | array( | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | array( | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | array( | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | array( | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | array( | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | array( | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | ) | ||
+ | ); | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | {{: | ||
+ | |||
+ | Основной файл исполняемого кода, это syntax.php. | ||
+ | Отредактированно (стр.40-50): | ||
+ | * Количество заметок увеличенно до 9 шт. | ||
+ | * Заменены названия заметок по цветовой схеме. | ||
+ | |||
+ | <code php syntax.php> | ||
+ | <?php | ||
+ | /** | ||
+ | * Add Note capability to dokuwiki | ||
+ | * | ||
+ | * < | ||
+ | * <note classic> | ||
+ | * <note important> | ||
+ | * <note warning> | ||
+ | * <note tip>This is a tip</ | ||
+ | * | ||
+ | * by Olivier Cortès < | ||
+ | * under the terms of the GNU GPL v2. | ||
+ | * | ||
+ | * Originaly derived from the work of : | ||
+ | * Stephane Chamberland < | ||
+ | * Carl-Christian Salvesen < | ||
+ | * | ||
+ | * Contributions by Eric Hameleers <alien [at] slackware [dot] com> : | ||
+ | | ||
+ | | ||
+ | | ||
+ | * | ||
+ | * Contributed by Christopher Smith <chris [at] jalakai [dot] co [dot] uk> | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | * | ||
+ | * Contributed by Aurélien Bompard < | ||
+ | | ||
+ | * | ||
+ | * @license | ||
+ | * @author | ||
+ | */ | ||
+ | |||
+ | class syntax_plugin_note extends DokuWiki_Syntax_Plugin | ||
+ | { | ||
+ | |||
+ | protected $notes = array( | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ); | ||
+ | |||
+ | protected $default = ' | ||
+ | |||
+ | function getType() | ||
+ | { | ||
+ | return ' | ||
+ | } | ||
+ | |||
+ | function getPType() | ||
+ | { | ||
+ | return ' | ||
+ | } | ||
+ | |||
+ | function getAllowedTypes() | ||
+ | { | ||
+ | return array(' | ||
+ | } | ||
+ | |||
+ | function getSort() | ||
+ | { | ||
+ | return 195; | ||
+ | } | ||
+ | |||
+ | // override default accepts() method to allow nesting | ||
+ | // - ie, to get the plugin accepts its own entry syntax | ||
+ | function accepts($mode) | ||
+ | { | ||
+ | if ($mode == substr(get_class($this), | ||
+ | return true; | ||
+ | } | ||
+ | return parent:: | ||
+ | } | ||
+ | |||
+ | function connectTo($mode) | ||
+ | { | ||
+ | $this-> | ||
+ | } | ||
+ | |||
+ | function postConnect() | ||
+ | { | ||
+ | $this-> | ||
+ | } | ||
+ | |||
+ | function handle($match, | ||
+ | { | ||
+ | switch ($state) { | ||
+ | case DOKU_LEXER_ENTER: | ||
+ | $note = strtolower(trim(substr($match, | ||
+ | |||
+ | foreach ($this-> | ||
+ | if (in_array($note, | ||
+ | return array($state, | ||
+ | } | ||
+ | } | ||
+ | return array($state, | ||
+ | |||
+ | case DOKU_LEXER_UNMATCHED: | ||
+ | return array($state, | ||
+ | |||
+ | default: | ||
+ | return array($state, | ||
+ | } | ||
+ | } | ||
+ | |||
+ | function render($format, | ||
+ | { | ||
+ | if ($format == ' | ||
+ | list($state, | ||
+ | |||
+ | switch ($state) { | ||
+ | case DOKU_LEXER_ENTER : | ||
+ | $renderer-> | ||
+ | break; | ||
+ | |||
+ | case DOKU_LEXER_UNMATCHED : | ||
+ | $renderer-> | ||
+ | break; | ||
+ | |||
+ | case DOKU_LEXER_EXIT : | ||
+ | $renderer-> | ||
+ | break; | ||
+ | } | ||
+ | return true; | ||
+ | } elseif ($format == ' | ||
+ | list($state, | ||
+ | |||
+ | $this-> | ||
+ | return true; | ||
+ | } | ||
+ | |||
+ | // unsupported $mode | ||
+ | return false; | ||
+ | } | ||
+ | |||
+ | protected function render_odt($renderer, | ||
+ | { | ||
+ | static $first = true; | ||
+ | static $new; | ||
+ | |||
+ | if ($first == true) { | ||
+ | $new = method_exists($renderer, | ||
+ | $first = false; | ||
+ | } | ||
+ | |||
+ | if (!$new) { | ||
+ | // Render with older ODT plugin version. | ||
+ | $this-> | ||
+ | } else { | ||
+ | // Render with newer ODT plugin version. | ||
+ | $this-> | ||
+ | } | ||
+ | } | ||
+ | |||
+ | protected function render_odt_old($renderer, | ||
+ | { | ||
+ | switch ($state) { | ||
+ | case DOKU_LEXER_ENTER: | ||
+ | $type = substr($data, | ||
+ | if ($type == ' | ||
+ | // The icon for classic notes is named note.png | ||
+ | $type = ' | ||
+ | } | ||
+ | $colors = array(' | ||
+ | |||
+ | // Content | ||
+ | $properties = array(); | ||
+ | $properties [' | ||
+ | $properties [' | ||
+ | $properties [' | ||
+ | $renderer-> | ||
+ | |||
+ | $properties = array(); | ||
+ | $properties [' | ||
+ | $renderer-> | ||
+ | |||
+ | $properties = array(); | ||
+ | $properties [' | ||
+ | $renderer-> | ||
+ | |||
+ | $renderer-> | ||
+ | |||
+ | $properties = array(); | ||
+ | $properties [' | ||
+ | $properties [' | ||
+ | $properties [' | ||
+ | $properties [' | ||
+ | $properties [' | ||
+ | $renderer-> | ||
+ | |||
+ | $src = DOKU_PLUGIN . ' | ||
+ | $renderer-> | ||
+ | |||
+ | $renderer-> | ||
+ | |||
+ | $properties = array(); | ||
+ | $properties [' | ||
+ | $properties [' | ||
+ | $properties [' | ||
+ | $properties [' | ||
+ | $renderer-> | ||
+ | break; | ||
+ | |||
+ | case DOKU_LEXER_UNMATCHED : | ||
+ | $renderer-> | ||
+ | break; | ||
+ | |||
+ | case DOKU_LEXER_EXIT : | ||
+ | $renderer-> | ||
+ | $renderer-> | ||
+ | $renderer-> | ||
+ | $renderer-> | ||
+ | break; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * ODT rendering for new versions of the ODT plugin. | ||
+ | * | ||
+ | * @param $renderer the renderer to use | ||
+ | * @param $state | ||
+ | * @param $data data from handle() | ||
+ | * @author LarsDW223 | ||
+ | */ | ||
+ | protected function render_odt_new($renderer, | ||
+ | { | ||
+ | switch ($state) { | ||
+ | case DOKU_LEXER_ENTER: | ||
+ | $css_properties = array(); | ||
+ | |||
+ | // Get CSS properties for ODT export. | ||
+ | $renderer-> | ||
+ | |||
+ | // Create Content | ||
+ | // (We only use the CSS parameters that are meaningful for creating the ODT table) | ||
+ | $properties = array(); | ||
+ | $properties [' | ||
+ | $properties [' | ||
+ | $properties [' | ||
+ | $renderer-> | ||
+ | |||
+ | $properties = array(); | ||
+ | $properties [' | ||
+ | $renderer-> | ||
+ | |||
+ | $properties = array(); | ||
+ | $properties [' | ||
+ | $renderer-> | ||
+ | |||
+ | $renderer-> | ||
+ | |||
+ | $properties = array(); | ||
+ | $properties [' | ||
+ | $properties [' | ||
+ | $properties [' | ||
+ | $properties [' | ||
+ | $properties [' | ||
+ | $renderer-> | ||
+ | |||
+ | if ($css_properties [' | ||
+ | $renderer-> | ||
+ | } | ||
+ | |||
+ | $renderer-> | ||
+ | |||
+ | $properties = array(); | ||
+ | $properties [' | ||
+ | $properties [' | ||
+ | $properties [' | ||
+ | $properties [' | ||
+ | $properties [' | ||
+ | $renderer-> | ||
+ | break; | ||
+ | |||
+ | case DOKU_LEXER_UNMATCHED : | ||
+ | $renderer-> | ||
+ | break; | ||
+ | |||
+ | case DOKU_LEXER_EXIT : | ||
+ | $renderer-> | ||
+ | $renderer-> | ||
+ | $renderer-> | ||
+ | $renderer-> | ||
+ | break; | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | Основной файл перевода, | ||
+ | Отредактированно : | ||
+ | * Файл " | ||
+ | * Файл " | ||
+ | * Файл " | ||
+ | * Количество заметок увеличенно до 9 шт. | ||
+ | * Заменены названия заметок по цветовой схеме. | ||
+ | |||
+ | <code php lang.php> | ||
+ | <?php | ||
+ | /** | ||
+ | * English language file | ||
+ | */ | ||
+ | |||
+ | $lang[' | ||
+ | |||
+ | $lang[' | ||
+ | $lang[' | ||
+ | $lang[' | ||
+ | $lang[' | ||
+ | $lang[' | ||
+ | $lang[' | ||
+ | $lang[' | ||
+ | $lang[' | ||
+ | $lang[' | ||
+ | </ | ||
+ | <code php lang.php> | ||
+ | <?php | ||
+ | /** | ||
+ | * Russian language file | ||
+ | */ | ||
+ | |||
+ | $lang[' | ||
+ | |||
+ | $lang[' | ||
+ | $lang[' | ||
+ | $lang[' | ||
+ | $lang[' | ||
+ | $lang[' | ||
+ | $lang[' | ||
+ | $lang[' | ||
+ | $lang[' | ||
+ | $lang[' | ||
+ | </ | ||
+ | Пример № 1 отображения ссылок отредактированного плагина в русской локализации | ||
+ | <note blue> | ||
+ | С CSS у вас есть полный контроль над полями. Существуют свойства для установки полей для каждой стороны элемента (сверху, | ||
+ | <note yellow> | ||
+ | С CSS у вас есть полный контроль над полями. Существуют свойства для установки полей для каждой стороны элемента (сверху, | ||
+ | <note green> | ||
+ | С CSS у вас есть полный контроль над полями. Существуют свойства для установки полей для каждой стороны элемента (сверху, | ||
+ | <note red> | ||
+ | С CSS у вас есть полный контроль над полями. Существуют свойства для установки полей для каждой стороны элемента (сверху, | ||
+ | <note orange> | ||
+ | С CSS у вас есть полный контроль над полями. Существуют свойства для установки полей для каждой стороны элемента (сверху, | ||
+ | <note purple> | ||
+ | С CSS у вас есть полный контроль над полями. Существуют свойства для установки полей для каждой стороны элемента (сверху, | ||
+ | <note brown> | ||
+ | С CSS у вас есть полный контроль над полями. Существуют свойства для установки полей для каждой стороны элемента (сверху, | ||
+ | <note black> | ||
+ | С CSS у вас есть полный контроль над полями. Существуют свойства для установки полей для каждой стороны элемента (сверху, | ||
+ | Пример № 2 отображения ссылок отредактированного плагина в русской локализации | ||
+ | <note green> | ||
+ | <note orange> | ||
+ | < | ||
+ | С CSS у вас есть полный контроль над полями. Существуют свойства для установки полей для каждой стороны элемента (сверху, | ||
+ | Пример № 3 отображения ссылок отредактированного плагина в английской локализации | ||
+ | {{: | ||
+ | <note yellow> | ||
+ | <note orange> | ||
+ | <note black> | ||
+ | Ссылка на {{: | ||
=====Обновление===== | =====Обновление===== | ||
Для обновления удалите исходную папку lib/ | Для обновления удалите исходную папку lib/ | ||
=====Файл для загрузки===== | =====Файл для загрузки===== | ||
- | {{ : | + | * {{ : |
- | {{ : | + | |
=====Лицензия===== | =====Лицензия===== | ||
* **Author:** [[contrib@anael.eu|Anael Mobilia]] | * **Author:** [[contrib@anael.eu|Anael Mobilia]] |
wiki/plugin/note.1736771313.txt.gz · Последнее изменение: — vladpolskiy