1ab45ba71SJames Collins<?php 29cff245bSJames Collins 3ab45ba71SJames Collins/** 4a8eebd82SJames Collins * DokuWiki Mikio Template Icons 5ab45ba71SJames Collins * 6ab45ba71SJames Collins * @link http://dokuwiki.org/template:mikio 7ab45ba71SJames Collins * @author James Collins <james.collins@outlook.com.au> 8ab45ba71SJames Collins * @license GPLv2 (http://www.gnu.org/licenses/gpl-2.0.html) 9ab45ba71SJames Collins */ 109cff245bSJames Collins 11ab45ba71SJames Collinsglobal $MIKIO_ICONS; 12ab45ba71SJames Collins 13ab45ba71SJames Collins 14ab45ba71SJames Collins/* 15ab45ba71SJames Collins You can add custom icon libraries into this file and use them 16ab45ba71SJames Collins with the theme. 17ab45ba71SJames Collins 18ab45ba71SJames Collins - Copy the CSS and FONT files into its own folder inside the 19ab45ba71SJames Collins icons folder 20ab45ba71SJames Collins 21ab45ba71SJames Collins - Add an array to the $MIKIO_ICONS array with the following keys: 22ab45ba71SJames Collins 23ab45ba71SJames Collins name this is the name used to identify the icon in the 24ab45ba71SJames Collins <icon> tag 25ab45ba71SJames Collins css the CSS file to load. If your icon collection has 26ab45ba71SJames Collins subtypes (like FontAwesome 5), you can create 27ab45ba71SJames Collins multiple entries with the same CSS file. The theme 28ab45ba71SJames Collins will prevent duplicate loadings of CSS files. You can 29ab45ba71SJames Collins also use CDN paths 30ab45ba71SJames Collins insert what to insert in place of the icon tag. Use $1 to 31ab45ba71SJames Collins tell the theme where to insert the icon-type specified 32ab45ba71SJames Collins by the page content 33ab45ba71SJames Collins 34ab45ba71SJames Collins The icon tag use can use on the DokuWiki page is: 35ab45ba71SJames Collins 36ab45ba71SJames Collins <icon name icon-type[ extra]> 37ab45ba71SJames Collins 38ab45ba71SJames Collins If no name is specified in the tag, the theme will use the first 39ab45ba71SJames Collins entry in $MIKIO_ICONS 40ab45ba71SJames Collins 41ab45ba71SJames Collins If a name is not found in the $MIKIO_ICONS array, the tag is 42ab45ba71SJames Collins removed from the output 43ab45ba71SJames Collins 44ab45ba71SJames Collins If you are using a SVG library, you can also use the extra parameters 45ab45ba71SJames Collins of the icon tag. Each parameter (seperated by space) can be put 46ab45ba71SJames Collins into the insert key as $2 - $9 47ab45ba71SJames Collins 48ab45ba71SJames Collins If you include a key named as the parameter, if that parameter is 49ab45ba71SJames Collins not defined in the icon tag, then this will be used as the 50ab45ba71SJames Collins default value 51ab45ba71SJames Collins 52ab45ba71SJames Collins An example below is the twbs svg icon library. The extra parameter 53ab45ba71SJames Collins is used to define the svg fill color. You can use $0 for the URI 54ab45ba71SJames Collins path to the icons folder (defined by the dir key) 55ab45ba71SJames Collins*/ 56ab45ba71SJames Collins 57*da3ecdbeSJames Collins/* Avoid conflicts with the Mikio Syntax Plugin */ 58*da3ecdbeSJames Collinsif (plugin_load('action', 'mikioplugin') !== null) { 59*da3ecdbeSJames Collins return; 60*da3ecdbeSJames Collins} 61*da3ecdbeSJames Collins 62ab45ba71SJames Collins/* Font Awesome 4 */ 63ab45ba71SJames Collins$MIKIO_ICONS[] = ['name' => 'fa', 'css' => 'fontawesome/css/all.min.css', 'insert' => '<i class="fa fa-$1"></i>']; 64ab45ba71SJames Collins 65ab45ba71SJames Collins/* Font Awesome 4 - CDN */ 669cff245bSJames Collins/* $MIKIO_ICONS[] = ['name' => 'fa', 679cff245bSJames Collins 'css' => 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css', 689cff245bSJames Collins 'insert' => '<i class="fa fa-$1"></i>']; */ 69ab45ba71SJames Collins 70ab45ba71SJames Collins/* Font Awesome 5 */ 71ab45ba71SJames Collins/* $fa5 = 'fontawesome5/css/all.min.css'; */ 72ab45ba71SJames Collins/* $MIKIO_ICONS[] = ['name' => 'fas', 'css' => $fa5, 'insert' => '<i class="fas fa-$1"></i>']; */ 73ab45ba71SJames Collins/* $MIKIO_ICONS[] = ['name' => 'far', 'css' => $fa5, 'insert' => '<i class="far fa-$1"></i>']; */ 74ab45ba71SJames Collins/* $MIKIO_ICONS[] = ['name' => 'fal', 'css' => $fa5, 'insert' => '<i class="fal fa-$1"></i>']; */ 75ab45ba71SJames Collins/* $MIKIO_ICONS[] = ['name' => 'fab', 'css' => $fa5, 'insert' => '<i class="fab fa-$1"></i>']; */ 76ab45ba71SJames Collins 77ab45ba71SJames Collins/* Font Awesome 5 - CDN */ 78ab45ba71SJames Collins/* $fa5 = 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.1/css/all.min.css'; */ 79ab45ba71SJames Collins/* $MIKIO_ICONS[] = ['name' => 'fas', 'css' => $fa5, 'insert' => '<i class="fas fa-$1"></i>']; */ 80ab45ba71SJames Collins/* $MIKIO_ICONS[] = ['name' => 'far', 'css' => $fa5, 'insert' => '<i class="far fa-$1"></i>']; */ 81ab45ba71SJames Collins/* $MIKIO_ICONS[] = ['name' => 'fal', 'css' => $fa5, 'insert' => '<i class="fal fa-$1"></i>']; */ 82ab45ba71SJames Collins/* $MIKIO_ICONS[] = ['name' => 'fab', 'css' => $fa5, 'insert' => '<i class="fab fa-$1"></i>']; */ 83ab45ba71SJames Collins 84ab45ba71SJames Collins/* Elusive 2 */ 859cff245bSJames Collins/* $MIKIO_ICONS[] = ['name' => 'el', 869cff245bSJames Collins 'css' => 'elusive/css/elusive-icons.min.css', 879cff245bSJames Collins 'insert' => '<i class="el el-$1"></i>']; */ 88ab45ba71SJames Collins 89ab45ba71SJames Collins/* Elusive 2 - CDN */ 909cff245bSJames Collins/* $MIKIO_ICONS[] = ['name' => 'el', 919cff245bSJames Collins 'css' => '//maxcdn.bootstrapcdn.com/elusive-icons/2.0.0/css/elusive-icons.min.css', 929cff245bSJames Collins 'insert' => '<i class="el el-$1"></i>']; */ 93ab45ba71SJames Collins 94ab45ba71SJames Collins/* TWBS - https://github.com/twbs/icons/releases */ 95ab45ba71SJames Collins/* $MIKIO_ICONS[] = [ 96ab45ba71SJames Collins 'name' => 'bi', 97ab45ba71SJames Collins 'dir' => 'bootstrap-icons', 98ab45ba71SJames Collins 'css' => 'bootstrap-icons/bi.css', 999cff245bSJames Collins 'insert' => '<span class="bi-icon" 1009cff245bSJames Collins style="background-color:$2; mask-image:url($0svg/$1.svg); -webkit-mask-image:url($0svg/$1.svg);"></span>', 101ab45ba71SJames Collins '$2' => 'black', 102ab45ba71SJames Collins]; */ 103