From e3a24861f53db7293b2b17f05d5821871b85b2f6 Mon Sep 17 00:00:00 2001
From: Christopher Smith <chris@jalakai.co.uk>
Date: Mon, 1 Dec 2014 17:02:56 +0000
Subject: [PATCH] Update inbuilt renderers for node/leaf state in listitem_open
 - includes, xhtml renderer adding 'node' class to <li> when it contains  
 child list(s)

---
 inc/parser/metadata.php | 3 ++-
 inc/parser/renderer.php | 3 ++-
 inc/parser/xhtml.php    | 6 ++++--
 3 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/inc/parser/metadata.php b/inc/parser/metadata.php
index 25bf3fe3d..313b70df5 100644
--- a/inc/parser/metadata.php
+++ b/inc/parser/metadata.php
@@ -251,8 +251,9 @@ class Doku_Renderer_metadata extends Doku_Renderer {
      * Open a list item
      *
      * @param int $level the nesting level
+     * @param bool $node true when a node; false when a leaf
      */
-    function listitem_open($level) {
+    function listitem_open($level,$node=false) {
         $this->cdata(str_repeat(DOKU_TAB, $level).'* ');
     }
 
diff --git a/inc/parser/renderer.php b/inc/parser/renderer.php
index 09294539e..668b617d1 100644
--- a/inc/parser/renderer.php
+++ b/inc/parser/renderer.php
@@ -343,8 +343,9 @@ class Doku_Renderer extends DokuWiki_Plugin {
      * Open a list item
      *
      * @param int $level the nesting level
+     * @param bool $node true when a node; false when a leaf
      */
-    function listitem_open($level) {
+    function listitem_open($level,$node=false) {
     }
 
     /**
diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php
index 3a2e49155..b73e3a881 100644
--- a/inc/parser/xhtml.php
+++ b/inc/parser/xhtml.php
@@ -456,9 +456,11 @@ class Doku_Renderer_xhtml extends Doku_Renderer {
      * Open a list item
      *
      * @param int $level the nesting level
+     * @param bool $node true when a node; false when a leaf
      */
-    function listitem_open($level) {
-        $this->doc .= '<li class="level'.$level.'">';
+    function listitem_open($level, $node=false) {
+        $branching = $node ? ' node' : '';
+        $this->doc .= '<li class="level'.$level.$branching.'">';
     }
 
     /**
-- 
GitLab