1e874628fSMatthias Schulte<?php 2e874628fSMatthias Schulte/** 3e874628fSMatthias Schulte * Description plugin 4e874628fSMatthias Schulte * 5e874628fSMatthias Schulte * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) 6*917d5640Slupo49 * @author Matthias Schulte <dokuwiki@lupo49.de> 7e874628fSMatthias Schulte */ 8e874628fSMatthias Schulte 9e874628fSMatthias Schulte// must be run within Dokuwiki 10e874628fSMatthias Schulteif(!defined('DOKU_INC')) die(); 11e874628fSMatthias Schulte 12e874628fSMatthias Schulteif (!defined('DOKU_LF')) define('DOKU_LF', "\n"); 13e874628fSMatthias Schulteif (!defined('DOKU_TAB')) define('DOKU_TAB', "\t"); 14e874628fSMatthias Schulteif (!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); 15e874628fSMatthias Schulte 16e874628fSMatthias Schulterequire_once(DOKU_PLUGIN.'syntax.php'); 17e874628fSMatthias Schulte 18e874628fSMatthias Schulteclass syntax_plugin_description extends DokuWiki_Syntax_Plugin { 19e874628fSMatthias Schulte 20e874628fSMatthias Schulte function getType() { return 'substition'; } 21e874628fSMatthias Schulte function getPType() { return 'block'; } 22e874628fSMatthias Schulte function getSort() { return 98; } 23e874628fSMatthias Schulte 24e874628fSMatthias Schulte function connectTo($mode) { 25e874628fSMatthias Schulte $this->Lexer->addSpecialPattern('\{\{description>.+?\}\}', $mode, 'plugin_description'); 26e874628fSMatthias Schulte } 27e874628fSMatthias Schulte 28e874628fSMatthias Schulte function handle($match, $state, $pos, &$handler) { 29e874628fSMatthias Schulte $match = substr($match, 14, -2); // strip markup 30e874628fSMatthias Schulte $match = hsc($match); 31e874628fSMatthias Schulte 32e874628fSMatthias Schulte return array($match); 33e874628fSMatthias Schulte } 34e874628fSMatthias Schulte 35e874628fSMatthias Schulte function render($mode, &$renderer, $data) { 36e874628fSMatthias Schulte global $conf; 37e874628fSMatthias Schulte global $ID; 38e874628fSMatthias Schulte $description = $data[0]; 39e874628fSMatthias Schulte if(empty($description)) return false; 40e874628fSMatthias Schulte 41af8734d9SMatthias Schulte if ($mode == 'metadata') { 42*917d5640Slupo49 $renderer->meta['plugin_description']['keywords'] = $description; 43e874628fSMatthias Schulte return true; 44e874628fSMatthias Schulte } 45e874628fSMatthias Schulte return false; 46e874628fSMatthias Schulte } 47e874628fSMatthias Schulte} 48e874628fSMatthias Schulte 49e874628fSMatthias Schulte// vim:ts=4:sw=4:et: 50