Преглед на файлове

Added Typicons support via "{{typcon>}}" syntax (thanks to @AlekSet on #11)

Giuseppe Di Terlizzi преди 9 години
родител
ревизия
bcbadc7c61
променени са 4 файла, в които са добавени 42 реда и са изтрити 11 реда
  1. 17 10
      action.php
  2. 2 0
      conf/default.php
  3. 1 1
      plugin.info.txt
  4. 22 0
      syntax/typcn.php

+ 17 - 10
action.php

@@ -23,12 +23,7 @@ class action_plugin_icons extends DokuWiki_Action_Plugin {
    * @param  Doku_Event_Handler  $controller
    */
   public function register(Doku_Event_Handler $controller) {
-
-    if ($this->getConf('loadFontAwesome')) {
-      $controller->register_hook('TPL_METAHEADER_OUTPUT', 'BEFORE', $this,
-                                 '_hookcss');
-    }
-
+    $controller->register_hook('TPL_METAHEADER_OUTPUT', 'BEFORE', $this, '_hookcss');
   }
 
   /**
@@ -38,10 +33,22 @@ class action_plugin_icons extends DokuWiki_Action_Plugin {
    */
   public function _hookcss(Doku_Event &$event, $param) {
 
-    $event->data['link'][] = array(
-      'type'    => 'text/css',
-      'rel'     => 'stylesheet',
-      'href'    => $this->getConf('fontAwesomeURL'));
+    $font_icons = array();
+
+    if ($this->getConf('loadFontAwesome')) {
+      $font_icons[] = $this->getConf('fontAwesomeURL');
+    }
+
+    if ($this->getConf('loadTypicon')) {
+      $font_icons[] = $this->getConf('typiconURL');
+    }
+
+    foreach ($font_icons as $font_icon) {
+      $event->data['link'][] = array(
+        'type'    => 'text/css',
+        'rel'     => 'stylesheet',
+        'href'    => $font_icon);
+    }
 
   }
 

+ 2 - 0
conf/default.php

@@ -9,6 +9,8 @@ $conf['defaultSize']     = '16';
 $conf['defaultPack']     = 'fa';
 $conf['fontAwesomeURL']  = '//maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css';
 $conf['loadFontAwesome'] = 1;
+$conf['typiconURL']      = '//cdn.rawgit.com/stephenhutchings/typicons.font/master/src/font/typicons.min.css';
+$conf['loadTypicon']     = 1;
 $conf['fugueURL']        = 'https://raw.githubusercontent.com/yusukekamiyamane/fugue-icons/master';
 $conf['oxygenURL']       = 'https://raw.githubusercontent.com/pasnox/oxygen-icons-png/master/oxygen';
 $conf['silkURL']         = 'http://icons.iconarchive.com/icons/famfamfam/silk/16';

+ 1 - 1
plugin.info.txt

@@ -1,7 +1,7 @@
 base icons
 author Giuseppe Di Terlizzi
 email giuseppe.diterlizzi@gmail.com
-date 2016-02-26
+date 2016-04-02
 name Icons Plugin
 desc Embed icons in Dokuwiki
 url http://www.dokuwiki.org/plugin:icons

+ 22 - 0
syntax/typcn.php

@@ -0,0 +1,22 @@
+<?php
+/**
+ * Plugin Icons: Typicons helper
+ *
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ * @author     Giuseppe Di Terlizzi <giuseppe.diterlizzi@gmail.com>
+ * @copyright  (C) 2015-2016, Giuseppe Di Terlizzi
+ */
+
+// must be run within Dokuwiki
+if(!defined('DOKU_INC')) die();
+
+require_once(dirname(__FILE__).'/icon.php');
+
+class syntax_plugin_icons_typcn extends syntax_plugin_icons_icon {
+
+  const IS_ICON      = false;
+  const IS_FONT_ICON = true;
+
+  protected $pattern = '{{typcn>.+?}}';
+
+}