code: def get_slide_vars(self, slide_src, source=None):
          
          presenter_notes = None
  
          find = re.search(r'<h\d[^>]*>presenter notes</h\d>', slide_src,
                           re.DOTALL | re.UNICODE | re.IGNORECASE)
  
          if find:
              if self.presenter_notes:
                  presenter_notes = slide_src[find.end():].strip()
  
              slide_src = slide_src[:find.start()]
  
          find = re.search(r'(<h(\d+?).*?>(.+?)</h\d>)\s?(.+)?', slide_src,
                           re.DOTALL | re.UNICODE)
  
          if not find:
              header = level = title = None
              content = slide_src.strip()
          else:
              header = find.group(1)
              level = int(find.group(2))
              title = find.group(3)
              content = find.group(4).strip() if find.group(4) else find.group(4)
  
          slide_classes = []
  
          if header:
              header, _ = self.process_macros(header, source)
  
          if content:
              content, slide_classes = self.process_macros(content, source)
  
          source_dict = {}
  
          if source:
              source_dict = {'rel_path': source,
                             'abs_path': os.path.abspath(source)}
  
          if header or content:
              return {'header': header, 'title': title, 'level': level,
                      'content': content, 'classes': slide_classes,
                      'source': source_dict, 'presenter_notes': presenter_notes,
                      'math_output': self.math_output}
docs: Computes a single slide template vars from its html source code.
              Also extracts slide informations for the table of contents.