diff --git a/conf/default.php b/conf/default.php index 108f53a..9f1418e 100755 --- a/conf/default.php +++ b/conf/default.php @@ -4,13 +4,5 @@ * */ -$conf['logo'] = 'wiki:logo.png'; -$conf['mobile_logo'] = 'images/fav/favicon-32x32.png'; +$conf['sidebar_sections'] = 'h1,h2,h3,h4,h5'; -$conf['logo_spacer'] = 'logo_spacer.png'; - -$conf['discussionPage'] = 'discussion:@ID@'; -$conf['userPage'] = 'user:@USER@:'; -$conf['user_ns'] = 'user'; -$conf['hideTools'] = 0; -$conf['tasks_page'] = 'dashboard'; diff --git a/conf/metadata.php b/conf/metadata.php index f0f0808..274f7c5 100755 --- a/conf/metadata.php +++ b/conf/metadata.php @@ -1,14 +1,11 @@ array( + 'h1', + 'h1,h2', + 'h1,h2,h3,h4,h5', + 'li.level1 > .li', + ), + ); diff --git a/css/area_main-sidebar-nav.less b/css/area_main-sidebar-nav.less index 681dd4d..b7e9984 100755 --- a/css/area_main-sidebar-nav.less +++ b/css/area_main-sidebar-nav.less @@ -31,6 +31,11 @@ > div { color: @ini_text_webframe; } + + &.toggler { + list-style: none; + margin-left: 0; + } } } diff --git a/js/sidebar.js b/js/sidebar.js index c7d1104..66f1015 100644 --- a/js/sidebar.js +++ b/js/sidebar.js @@ -57,7 +57,7 @@ jQuery(function () { var $main = $nav.find('nav.nav-main'); if (!$main.length) return; - var ELEMENT = 'h1,h2,h3,h4,h5'; // FIXME move to config + var ELEMENT = JSINFO.template.sprintdoc.sidebar_toggle_elements; var $elements = $main.find(ELEMENT); $elements.each(function () { var $me = jQuery(this), @@ -98,6 +98,10 @@ jQuery(function () { // replace element with toggler $me.replaceWith($toggler); + + if ($toggler.parent('li').length) { + $toggler.parent('li').addClass('toggler'); + } }); }, diff --git a/lang/de/settings.php b/lang/de/settings.php index e6430be..3b4981c 100755 --- a/lang/de/settings.php +++ b/lang/de/settings.php @@ -4,7 +4,3 @@ * */ -$lang['discussionPage'] = 'Diskussion-Seite (leer lassen, um Funktion zu deaktivieren)'; -$lang['userPage'] = 'Benutzer seite (leer lassen, um Funktion zu deaktivieren)'; -$lang['hideTools'] = 'Tools abschalten, wenn der Benutzer nicht angemeldet ist?'; -$lang['user_ns'] = 'Ort an dem Nutzerseiten gespeichert werden'; diff --git a/lang/en/settings.php b/lang/en/settings.php index 4e9d810..ebd2e4f 100755 --- a/lang/en/settings.php +++ b/lang/en/settings.php @@ -4,7 +4,8 @@ * */ -$lang['discussionPage'] = 'Discussion page (leave empty to disable discussions)'; -$lang['userPage'] = 'User page (leave empty to disable user pages)'; -$lang['hideTools'] = 'Hide tools when not logged in?'; -$lang['user_ns'] = 'Where to store user pages.'; +$lang['sidebar_sections'] = 'Auto-toggle the sidebar into sections on these elements:'; +$lang['sidebar_sections_o_h1'] = '1st order headings'; +$lang['sidebar_sections_o_h1,h2'] = '1st and 2nd order headings'; +$lang['sidebar_sections_o_h1,h2,h3,h4,h5'] = 'All headings'; +$lang['sidebar_sections_o_li.level1 > .li'] = 'Top-level list items'; diff --git a/main.php b/main.php index ee84e6e..f4d2ee8 100755 --- a/main.php +++ b/main.php @@ -14,6 +14,12 @@ use dokuwiki\template\sprintdoc\Template; if (!defined('DOKU_INC')) die(); /* must be run from within DokuWiki */ header('X-UA-Compatible: IE=edge,chrome=1'); +global $JSINFO; +if (empty($JSINFO['template'])) { + $JSINFO['template'] = array(); +} +$JSINFO['template']['sprintdoc'] = array('sidebar_toggle_elements' => tpl_getConf('sidebar_sections')); + $showTools = !tpl_getConf('hideTools') || ( tpl_getConf('hideTools') && !empty($_SERVER['REMOTE_USER']) ); $showSidebar = true; /* */ ?>