diff --git a/meta/AggregationCloud.php b/meta/AggregationCloud.php index 8919b807..dd6ef7c6 100644 --- a/meta/AggregationCloud.php +++ b/meta/AggregationCloud.php @@ -88,7 +88,15 @@ public function render() { protected function startScope() { // wrapping div if($this->mode != 'xhtml') return; - $this->renderer->doc .= "
"; + $params = [ + 'class' => 'structcloud', + ]; + if($this->data['displaycolumns'] > 0) { + $params['class'] .= ' columnDisplay'; + $params['style'] .= 'column-count: ' . $this->data['displaycolumns'] . ';'; + } + $attributes = buildAttributes($params); + $this->renderer->doc .= "
"; } /** diff --git a/meta/ConfigParser.php b/meta/ConfigParser.php index fce8a24d..b2802b97 100644 --- a/meta/ConfigParser.php +++ b/meta/ConfigParser.php @@ -37,6 +37,7 @@ public function __construct($lines) { 'schemas' => array(), 'sort' => array(), 'csv' => true, + 'displaycolumns' => 0, ); // parse info foreach($lines as $line) { @@ -114,6 +115,9 @@ public function __construct($lines) { case 'page': $this->config['target'] = cleanID($val); break; + case 'displaycolumns': + $this->config['displaycolumns'] = abs((int) $val); + break; default: $data = array('config' => &$this->config, 'key' => $key, 'val' => $val); $ev = new \Doku_Event('PLUGIN_STRUCT_CONFIGPARSER_UNKNOWNKEY', $data); diff --git a/style.less b/style.less index c5fd1b6a..b8490443 100644 --- a/style.less +++ b/style.less @@ -341,6 +341,12 @@ form.struct_newschema { box-shadow: 1px 1px 5px 1px rgba(0, 0, 0, 0.5) } } + + &.columnDisplay { + li { + float: none; + } + } } /**