code: def read(self, source_path):
          
  
          with pelican_open(source_path) as text:
              parts = text.split('----', 1)
              if len(parts) == 2:
                  headerlines = parts[0].splitlines()
                  headerpairs = map(lambda l: l.split(':', 1), headerlines)
                  headerdict = {pair[0]: pair[1].strip()
                                for pair in headerpairs
                                if len(pair) == 2}
                  metadata = self._parse_metadata(headerdict)
                  content = textile(parts[1])
              else:
                  metadata = {}
                  content = textile(text)
  
          return content, metadata
docs: Parse content and metadata of textile files.