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