/**
  * @param FilePath $path
  * @param string   $content
  *
  * @return ParsedMarkdownDocument
  */
 public function parse(FilePath $path, $content)
 {
     $parser = new Parser();
     $markdownDocument = $parser->parse($content);
     $renderer = new RepositoryAwareHtmlRenderer($path, $this->repository);
     $html = $renderer->render($markdownDocument);
     $linkedPaths = $renderer->getLinkHandler()->getLinkedPaths();
     $title = $renderer->getHeaderHandler()->getTitle();
     $toc = $renderer->getHeaderHandler()->getToc();
     $result = new ParsedMarkdownDocument();
     $result->setSource($content);
     $result->setLinkedPaths($linkedPaths);
     $result->setTitle($title);
     $result->setToc($toc);
     $result->setHtml($html);
     return $result;
 }
 public function indexMarkdownDocument(FilePAth $path, ParsedMarkdownDocument $parsedMarkdownDocument)
 {
     $params = array('id' => $path->toAbsoluteUrlString(), 'index' => $this->index, 'type' => self::MARKDOWN_DOCUMENT_TYPE, 'body' => array('title' => $parsedMarkdownDocument->getTitle(), 'content' => $parsedMarkdownDocument->getSource(), 'linked_paths' => $parsedMarkdownDocument->getLinkedPaths()));
     return $this->client->index($params);
 }