16a8ce132SJames Collins<?php 26a8ce132SJames Collins/** 36a8ce132SJames Collins * Mikio Syntax Plugin: Nav 46a8ce132SJames Collins * 56a8ce132SJames Collins * @link http://github.com/nomadjimbob/mikioplugin 66a8ce132SJames Collins * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) 76a8ce132SJames Collins * @author James Collins <james.collins@outlook.com.au> 86a8ce132SJames Collins */ 96a8ce132SJames Collinsif (!defined('DOKU_INC')) { die(); 106a8ce132SJames Collins} 116a8ce132SJames Collinsif (!defined('DOKU_PLUGIN')) { define('DOKU_PLUGIN', DOKU_INC.'lib/plugins/'); 126a8ce132SJames Collins} 13*3a0ad8d3SJames Collinsrequire_once __DIR__.'/core.php'; 146a8ce132SJames Collins 156a8ce132SJames Collinsclass syntax_plugin_mikioplugin_nav extends syntax_plugin_mikioplugin_core 166a8ce132SJames Collins{ 176a8ce132SJames Collins public $tag = 'nav'; 186a8ce132SJames Collins public $hasEndTag = true; 196a8ce132SJames Collins public $options = array( 206a8ce132SJames Collins 'icon' => array('type' => 'text', 'default' => ''), 216a8ce132SJames Collins 'title' => array('type' => 'text', 'default' => ''), 226a8ce132SJames Collins ); 236a8ce132SJames Collins 246a8ce132SJames Collins public function __construct() 256a8ce132SJames Collins { 2630633783SJames Collins $this->addCommonOptions('text-color height width'); 276a8ce132SJames Collins } 286a8ce132SJames Collins 296a8ce132SJames Collins public function getAllowedTypes() 306a8ce132SJames Collins { 316a8ce132SJames Collins return array('container'); 326a8ce132SJames Collins } 336a8ce132SJames Collins 346a8ce132SJames Collins public function render_lexer_enter(Doku_Renderer $renderer, $data) 356a8ce132SJames Collins { 366a8ce132SJames Collins $classes = $this->buildClass($data, array('overlay', 'horizontal')); 378127a956SJames Collins $styles = $this->buildStyle(array('height' => $data['height'] ?? '', 'width' => $data['width'] ?? ''), true); 386a8ce132SJames Collins 396a8ce132SJames Collins $renderer->doc .= '<div class="' . $this->elemClass . ' ' . $this->classPrefix . 'nav' . $classes . '"' . $styles . '>'; 406a8ce132SJames Collins 416a8ce132SJames Collins if($data['title'] != '' || $data['icon'] != '') { 426a8ce132SJames Collins $renderer->doc .= '<div class="' . $this->classPrefix . 'nav-title">'; 438127a956SJames Collins if(!empty($data['icon'])) { 446a8ce132SJames Collins $renderer->doc .= '<div class="' . $this->classPrefix . 'nav-icon">'; 456a8ce132SJames Collins $this->syntaxRender($renderer, 'icon', '', array_flip(explode(' ', $data['icon'])), MIKIO_LEXER_SPECIAL); 466a8ce132SJames Collins $renderer->doc .= '</div>'; 476a8ce132SJames Collins } 486a8ce132SJames Collins $renderer->doc .= $data['title'] . '</div>'; 496a8ce132SJames Collins } 506a8ce132SJames Collins } 516a8ce132SJames Collins 526a8ce132SJames Collins public function render_lexer_exit(Doku_Renderer $renderer, $data) 536a8ce132SJames Collins { 546a8ce132SJames Collins $renderer->doc .= '</div>'; 556a8ce132SJames Collins } 566a8ce132SJames Collins} 576a8ce132SJames Collins?>