xref: /template/mikio/icons/icons.php (revision da3ecdbefd12dfd4d9e10c20cdcdcee1a867a124)
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