/**
  * Parse a file and return the parsed HTML version.
  *
  * @param string $baselink 
  *
  * @return string
  */
 public function getHTML()
 {
     $html = DocumentationParser::parse($this, $this->entity->Link());
     return $html;
 }
 /**
  * Parse a file (with a lang and a version).
  *
  * @param String $baselink 
  *
  * @return String
  */
 function getHTML($version, $lang = 'en')
 {
     return DocumentationParser::parse($this, $this->entity->getRelativeLink($version, $lang));
 }
 /**
  * @param String $baselink 
  * @return String
  */
 function getHTML($baselink = null)
 {
     return DocumentationParser::parse($this, $baselink);
 }
 /**
  * Return the content for the page. If its an actual documentation page then
  * display the content from the page, otherwise display the contents from
  * the index.md file if its a folder
  *
  * @return HTMLText
  */
 function getContent()
 {
     if ($page = $this->getPage()) {
         // Remove last portion of path (filename), we want a link to the folder base
         $html = DocumentationParser::parse($page, $this->Link(array_slice($this->Remaining, -1, -1)));
         return DBField::create("HTMLText", $html);
     }
     return false;
 }
 function testRewritingRelativeLinksToFiles()
 {
     $folder = '/sapphiredocs/tests/docs-parser/';
     $page = new DocumentationPage();
     $page->setRelativePath('file-download.md');
     $page->setEntity(new DocumentationEntity('parser', '2.4', BASE_PATH . $folder));
     $parsed = DocumentationParser::parse($page, $folder);
     $this->assertContains(Controller::join_links($folder, '/en/_images/external_link.png'), $parsed);
     $this->assertContains(Controller::join_links($folder, '/en/_images/test.tar.gz'), $parsed);
 }
 public function testRewritingRelativeLinksToFiles()
 {
     $parsed = DocumentationParser::parse($this->filePage);
     $this->assertContains(DOCSVIEWER_DIR . '/tests/docs-parser/en/_images/external_link.png', $parsed);
     $this->assertContains(DOCSVIEWER_DIR . '/tests/docs-parser/en/_images/test.tar.gz', $parsed);
 }
 /**
  * Generate a list of entities which have been registered and which can 
  * be documented. 
  *
  * @return DataObject
  */
 function getEntities($version = false, $lang = false)
 {
     $entities = DocumentationService::get_registered_entities($version, $lang);
     $output = new DataObjectSet();
     $currentEntity = $this->getEntity();
     if ($entities) {
         foreach ($entities as $entity) {
             $mode = $entity === $currentEntity ? 'current' : 'link';
             $folder = $entity->getFolder();
             $link = $this->Link(array(), $folder, false, $lang);
             $content = false;
             if ($page = $entity->getIndexPage($version, $lang)) {
                 $content = DBField::create('HTMLText', DocumentationParser::parse($page, $link));
             }
             $output->push(new ArrayData(array('Title' => $entity->getTitle(), 'Link' => $link, 'LinkingMode' => $mode, 'Content' => $content)));
         }
     }
     return $output;
 }