/** * It highlights the given code using the given programming language syntax * and decorates the result with the Twig template associated with the * code fragments. * * @param string $code The source code to highlight and decorate * @param string $language The programming language associated with the code * @param Application $app The application object needed to highlight and decorate * * @return string The resulting code after the highlight and rendering process */ public function highlightAndDecorateCode($code, $language, Application $app) { if ($app->edition('highlight_code')) { // highlight code if the edition wants to $code = $app->highlight($code, $language); } else { // escape code to show it instead of interpreting it // yaml-style comments could be interpreted as Markdown headings // replace any starting # character by its HTML entity (#) $code = '<pre>' . preg_replace('/^# (.*)/', "# \$1", htmlspecialchars($code)) . '</pre>'; } $code = $app->render('code.twig', array('item' => array('content' => $code, 'language' => $language, 'number' => '', 'slug' => ''))); return $code; }
public function testTwoSidedPrintedBookIncludeBlankPages() { $app = new Application(); $app['publishing.book.config'] = $this->getBookConfig(true); $app['publishing.edition'] = 'print'; $bookCss = $app->render('@theme/style.css.twig'); $this->assertContains(".item {\n page-break-before: right;", $bookCss, "Two-sided books include blank pages when needed."); }