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;
+ }
+ }
}
/**