* * based on cloud.php. Build a list of tags ordered by their counts. */ // must be run within Dokuwiki if(!defined('DOKU_INC')) die(); /** * Class syntax_plugin_dataau_taglist */ class syntax_plugin_dataau_taglist extends syntax_plugin_dataau_cloud { /** * Connect pattern to lexer */ function connectTo($mode) { $this->Lexer->addSpecialPattern('----+ *datataglist(?: [ a-zA-Z0-9_]*)?-+\n.*?\n----+', $mode, 'plugin_dataau_taglist'); } protected $before_item = ''; protected $before_val = '
  • '; protected $after_val = '
  • '; /** * Create a weighted tag distribution * * @param &$tags array The tags to weight ( tag => count) * @param $min int The lowest count of a single tag * @param $max int The highest count of a single tag * @param $levels int The number of levels you want. A 5 gives levels 0 to 4. */ protected function _cloud_weight(&$tags, $min, $max, $levels) { parent::_cloud_weight($tags, $min, $max, $levels); // sort by values. Key is name of the single tag, value the count arsort($tags); } }