function testGetPagesFromFolder()
 {
     $pages = DocumentationParser::get_pages_from_folder(BASE_PATH . '/sapphiredocs/tests/docs/en/');
     $this->assertContains('index', $pages->column('Filename'), 'Index');
     $this->assertContains('subfolder', $pages->column('Filename'), 'Foldername');
     $this->assertContains('test', $pages->column('Filename'), 'Filename');
     $this->assertNotContains('_images', $pages->column('Filename'), 'Ignored files');
 }
 /**
  * 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));
 }
 /**
  * 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;
 }
 /**
  * @param String $baselink 
  * @return String
  */
 function getHTML($baselink = null)
 {
     return DocumentationParser::parse($this, $baselink);
 }
 /**
  * Generate a list of breadcrumbs for the user. Based off the remaining params
  * in the url
  *
  * @return DataObjectSet
  */
 function getBreadcrumbs()
 {
     $pages = array_merge(array($this->ModuleName), $this->Remaining);
     $output = new DataObjectSet();
     // $output->push(new ArrayData(array(
     // 	'Title' => ($this->Version) ? $this->Version : _t('DocumentationViewer.DOCUMENTATION', 'Documentation'),
     // 	'Link' => $this->Link()
     // )));
     if ($pages) {
         $path = array();
         foreach ($pages as $i => $title) {
             if ($title) {
                 // Don't add module name, already present in Link()
                 if ($i > 0) {
                     $path[] = $title;
                 }
                 $output->push(new ArrayData(array('Title' => DocumentationParser::clean_page_name($title), 'Link' => $this->Link($path))));
             }
         }
     }
     return $output;
 }
 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;
 }