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