class_docstr: A reader for markdown corpora whose documents are divided into
  categories based on their file identifiers.
  
  Based on nltk.corpus.reader.plaintext.CategorizedPlaintextCorpusReader:
  https://www.nltk.org/_modules/nltk/corpus/reader/api.html#CategorizedCorpusReader
class_docstr_tok: ["A","reader","for","markdown","corpora","whose","documents","are","divided","into","categories","based","on","their","file","identifiers",".","Based","on","nltk.corpus.reader.plaintext.CategorizedPlaintextCorpusReader",":","https",":","\/\/www.nltk.org\/_modules\/nltk\/corpus\/reader\/api.html","#","CategorizedCorpusReader"]
code: def section_reader(self, stream):
      section_blocks, block = list(), list()
      for t in self.parser.parse(stream.read()):
          if t.level == 0 and t.type == "heading_open":
              if not block:
                  block.append(t)
              else:
                  section_blocks.append(block)
                  block = [t]
          elif block:
              block.append(t)
      if block:
          section_blocks.append(block)
      return [
          MarkdownSection(
              block[1].content,
              block[0].markup.count("#"),
              self.parser.renderer.render(
                  block, self.parser.options, env=None
              ),
          )
          for block in section_blocks
      ]
  
imports: from collections import namedtuple
  from functools import partial, wraps
  from nltk.corpus.reader.api import CategorizedCorpusReader
  from nltk.corpus.reader.plaintext import PlaintextCorpusReader
  from nltk.corpus.reader.util import concat, read_blankline_block
  from nltk.tokenize import blankline_tokenize, sent_tokenize, word_tokenize
label_desc: Use image node_id 21 for calling the CategorizedMarkdownCorpusReader obj's underlying member method code with example usage: obj.section_reader(stream) and returns: unknown