/** * Generate the API documentation using the markdown and include files * * @param $folder * @return false|null */ public function generate($folder) { $source_dir = $folder . '/source'; if (!is_dir($source_dir)) { return false; } $parser = new Parser(); $document = $parser->parse(file_get_contents($source_dir . '/index.md')); $frontmatter = $document->getYAML(); $html = $document->getContent(); $renderer = new BladeRenderer([__DIR__ . '/../resources/views'], ['cache_path' => $source_dir . '/_tmp']); // Parse and include optional include markdown files if (isset($frontmatter['includes'])) { foreach ($frontmatter['includes'] as $include) { if (file_exists($include_file = $source_dir . '/includes/_' . $include . '.md')) { $document = $parser->parse(file_get_contents($include_file)); $html .= $document->getContent(); } } } $output = $renderer->render('index', ['page' => $frontmatter, 'content' => $html]); file_put_contents($folder . '/index.html', $output); // Copy assets rcopy($source_dir . '/assets/images/', $folder . '/images'); rcopy($source_dir . '/assets/stylus/fonts/', $folder . '/css/fonts'); }
protected function View($template, $data = array()) { $paths = array(); foreach ($this->application->GetActivePluginReflections() as $reflection) { $dir = dirname($reflection->getFileName()) . '/views'; if (is_dir($dir)) { $paths[] = dirname($reflection->getFileName()) . '/views'; } } $renderer = new BladeRenderer($paths, array('cache_path' => APP_ROOT . 'cache/blade')); return $renderer->render($template, $data); }
/** * Method to test getCompiler(). * * @return void * * @covers Windwalker\Renderer\BladeRenderer::getCompiler */ public function testGetCompiler() { $this->assertInstanceOf('Illuminate\\View\\Engines\\CompilerEngine', $this->instance->getCompiler()); }