From 31bc79951811338ff8f2f351d4d331bd2b2f3a9a Mon Sep 17 00:00:00 2001 From: Marcin Kurczewski Date: Sun, 8 Dec 2013 12:12:45 +0100 Subject: [PATCH] Markdown: fixes related to
 blocks

---
 src/CustomMarkdown.php | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/src/CustomMarkdown.php b/src/CustomMarkdown.php
index 11e76253..d1f49229 100644
--- a/src/CustomMarkdown.php
+++ b/src/CustomMarkdown.php
@@ -74,6 +74,22 @@ class CustomMarkdown extends \Michelf\Markdown
 		return parent::_doAnchors_inline_callback($matches);
 	}
 
+	protected function _doCodeBlocks_callback($matches) {
+		$codeblock = $matches[1];
+
+		$codeblock = $this->outdent($codeblock);
+		$codeblock = htmlspecialchars($codeblock, ENT_NOQUOTES);
+
+		$codeblock = preg_replace('/\A\n+|\n+\z/', '', $codeblock);
+		$codeblock = preg_replace('/\n/', '
', $codeblock); + $codeblock = preg_replace('/\t/', '&tab;', $codeblock); + $codeblock = preg_replace('/ /', ' ', $codeblock); + + $codeblock = "
$codeblock\n
"; + return "\n\n".$this->hashBlock($codeblock)."\n\n"; + } + + protected function doHardBreaks($text) { return preg_replace_callback('/\n(?=[\[\]\(\)\w])/', [&$this, '_doHardBreaks_callback'], $text);