Ejemplo n.º 1
0
 /**
  * Show a documentation.
  *
  * @param  object  $listener
  * @param  string  $version
  * @param  string  $filename
  *
  * @return mixed
  */
 public function show($listener, $version, $filename = 'index')
 {
     $version = (string) Arr::get($this->config->get('project.documentation.aliases'), $version, $version);
     $path = $this->getDocumentationPath($version);
     try {
         list($toc, $document) = $this->loader->getDocumentation($path, $filename);
     } catch (FileNotFoundException $e) {
         return $listener->documentationNotFound($e, $version);
     }
     $redirect = $document->get('see');
     if (!is_null($redirect)) {
         $redirect = $this->parseContent($redirect, $version);
         !Str::startsWith($redirect, 'http') && ($redirect = handles("app::{$redirect}"));
         return $listener->redirect($redirect);
     }
     return $listener->showDocumentation($version, $toc, $document);
 }