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

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


wiki:plugin:parserarray

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
wiki:plugin:parserarray [2025/01/17 14:27] – [CamelCase для «ДокуВики»] vladpolskiywiki:plugin:parserarray [2025/01/17 14:46] (текущий) vladpolskiy
Строка 1: Строка 1:
-======CamelCase для «ДокуВики»====== +======Parserarray для «ДокуВики»====== 
-{{:wiki:plugin:dwplugin.png?70 |}} Замена синтаксиса DokuWiki CamelCase, использует «_» для разделения слов в названиях страниц.+{{:wiki:plugin:dwplugin.png?70 |}} Экспортирует массив инструкций парсера для текущей страницы.
  
-Этот плагин был разработан Кристофер Смит+Этот плагин был разработан Håkan Sandell
-  * **Релиз:** 2005-09-19.  +  * **Релиз:** 2010-11-07.  
-  * **Правка:** 2008-08-13.  +  * **Правка:** 2011-01-04.  
-  * **Репозиторий:**http://dokuwiki.jalakai.co.uk/plugin-camelcase.tar.gz +  * **Репозиторий:**https://github.com/HakanS/dokuwiki-plugin-parserarray/ 
-  * **Совместимость с «Докувики»:** 2005-09-19+ +  * **Совместимость с «Докувики»:** 2010-11-07  
 + 
 +Этот плагин экспорта является инструментом разработки и полезен только для понимания[[wiki:devel:parser|парсера]] DokuWiki.
  
 =====Совместимость===== =====Совместимость=====
Строка 20: Строка 22:
  
 =====Примеры/Использование===== =====Примеры/Использование=====
-Этот плагин заменяет текущие обработчики DokuWiki для разметки CamelCase. Он создаст ссылку на страницу с подчеркиваниями между словами CamelCase. 
- 
-например 
- 
-<code php index.php> 
-CamelCase => camel_case 
-</code> 
- 
-Стандартное поведение DokuWiki заключается в создании ссылки на страницу с CamelCase, преобразованным в нижний регистр (например, camelcase). Это может привести к снижению читаемости названий страниц. Альтернативой является установка параметра конфигурации [[wiki:config:useheading|useheading]] в вашем **conf/local.php** файле. 
- 
-=====Синтаксис===== 
- 
-[[wiki:syntax|как описано в синтаксисе DokuWiki]] 
- 
-=====Подробности===== 
-====PHP-источник==== 
- 
-**''lib/plugins/camelcase/syntax.php''** 
- 
-<code php> 
-<?php 
-/** 
- * CamelCase Plugin: replaces DokuWiki's own code syntax 
-  
- * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html) 
- * @author     Christopher Smith <chris@jalakai.co.uk>   
- */ 
- 
-if(!defined('DOKU_INC')) die(); 
- 
-/** 
- * All DokuWiki plugins to extend the parser/rendering mechanism 
- * need to inherit from this class 
- */ 
-class  syntax_plugin_camelcase extends DokuWiki_Syntax_Plugin { 
- 
-     
-    /** 
-     * return some info 
-     */ 
-    function getInfo(){ 
-      return array( 
-        'author' => 'Christopher Smith', 
-        'email'  => 'chris@jalakai.co.uk', 
-        'date'   => '2008-08-13', 
-        'name'   => 'Camel Case', 
-        'desc'   => 'Override default DokuWiki CamelCase syntax', 
-        'url'    => 'http://www.dokuwiki.org/plugin:camelcase', 
-      ); 
-    } 
- 
-    /** 
-     * Syntax Type 
-     * 
-     * Needs to return one of the mode types defined in $PARSER_MODES in parser.php 
-     */ 
-    function getType(){ 
-        return('substition'); 
-    } 
-     
-    function connectTo($mode) { 
-        $this->Lexer->addSpecialPattern( 
-                '\b[A-Z]+[a-z]+[A-Z][A-Za-z]*\b',$mode,'plugin_camelcase' 
-            ); 
-    } 
-     
-    function getSort() { 
-        return 275;   // needs to be lower than 290 
-    } 
  
-    /** +Этот плагин экспортирует/показывает массив инструкций парсера для текущей страницы. Полезно для техкто хочет понятькак работает парсер DokuWikiи читает [[wiki:devel:parser|]].
-     * Handler to prepare matched data for the rendering process +
-     */ +
-    function handle($match$state$posDoku_Handler $handler){ +
-     +
-        preg_match_all('/[A-Z][^A-Z]*/u',$match, $matches); +
-        $link = implode('_',$matches[0]); +
-        return array($link, $match); +
-    }+
  
-    /** +Используется ''do=export_parserarray'' для отображения массива парсера.
-     * Handles the actual output creation. +
-     */ +
-    function render($format, Doku_Renderer $renderer, $data) { +
-      $renderer->internallink($data[0],$data[1]);  +
-    } +
-     +
-+
-//Setup VIM: ex: et ts=4 enc=utf-8 : +
-</code>+
  
 =====Файл для загрузки===== =====Файл для загрузки=====
-{{ :wiki:plugin:plugin-camelcase.tar.gz |plugin-camelcase.tar.gz}}+{{ :wiki:plugin:hakans-dokuwiki-plugin-parserarray-aae492c.zip |plugin-parserarray.zip}}
  
 =====Лицензия===== =====Лицензия=====
-  * **Author:** [[chris@jalakai.co.uk|Christopher Smith]]+  * **Author:** [[sandell.hakan@gmail.com|Håkan Sandell]]
   * **License:** [[http://www.opensource.org/licenses/gpl-license.php|GNU GPL v2]]   * **License:** [[http://www.opensource.org/licenses/gpl-license.php|GNU GPL v2]]
   * **Donate:** [[https://www.paypal.com/xclick/business=tjgrant%40tatewake.com&item_name=Citations%20for%20DokuWiki%20Donation&no_shipping=1&no_note=1&tax=0&currency_code=USD&lc=US|Click here.]]   * **Donate:** [[https://www.paypal.com/xclick/business=tjgrant%40tatewake.com&item_name=Citations%20for%20DokuWiki%20Donation&no_shipping=1&no_note=1&tax=0&currency_code=USD&lc=US|Click here.]]
-Это не обязательно, но, пожалуйста, рассмотрите возможность ссылки на [[https://www.dokuwiki.org/plugin:camelcase|эту страницу]] с вашего сайта, если вам нравится этот продукт.+Это не обязательно, но, пожалуйста, рассмотрите возможность ссылки на [[https://www.dokuwiki.org/plugin:parserarray|эту страницу]] с вашего сайта, если вам нравится этот продукт. 
 +  * downloadurl: https://github.com/HakanS/dokuwiki-plugin-parserarray/zipball/master 
 +  * bugtracker : https://github.com/HakanS/dokuwiki-plugin-parserarray/issues 
 +  * sourcerepo : https://github.com/HakanS/dokuwiki-plugin-parserarray/
wiki/plugin/parserarray.1737113242.txt.gz · Последнее изменение: 2025/01/17 14:27 — vladpolskiy