]> git.mxchange.org Git - friendica.git/commitdiff
add a switch to the Markdown parser for using hard line breaks (issue 3592)
authorTobias Diekershoff <tobias.diekershoff@gmx.net>
Wed, 9 Aug 2017 14:04:53 +0000 (16:04 +0200)
committerTobias Diekershoff <tobias.diekershoff@gmx.net>
Wed, 9 Aug 2017 14:04:53 +0000 (16:04 +0200)
library/markdown.php
mod/admin.php
mod/help.php

index 769bdb1219745fd68e338cc2de97f161c6477d48..61eb5951cff81375a47fc2f6fed4f871ccb38b30 100644 (file)
@@ -1,14 +1,39 @@
 <?php
+
+/**
+ * @file library/markdown.php
+ *
+ * @brief Parser for Markdown files
+ */
+
 require_once "library/php-markdown/Michelf/MarkdownExtra.inc.php";
 use \Michelf\MarkdownExtra;
 
-function Markdown($text) {
+/**
+ * @brief This function parses a text using php-markdown library to render Markdown syntax to HTML
+ *
+ * This function is using the php-markdown library by Michel Fortin to parse a 
+ * string ($text).It returns the rendered HTML code from that text. The optional 
+ * $hardbreak parameter is used to switch between inserting hard breaks after
+ * every linefeed, which is required for Diaspora compatibility, or not. The
+ * later is used for parsing documentation and README.md files.
+ *
+ * @param string $text
+ * @param boolean $hardbreak
+ * @returns string
+ */
+
+function Markdown($text, $hardbreak=true) {
        $a = get_app();
 
        $stamp1 = microtime(true);
 
        $MarkdownParser = new MarkdownExtra();
-       $MarkdownParser->hard_wrap = true;
+       if ($hardbreak) {
+               $MarkdownParser->hard_wrap = true;
+       } else {
+               $MarkdownParser->hard_wrap = false;
+       }
        $html = $MarkdownParser->transform($text);
 
        $a->save_timestamp($stamp1, "parser");
index e59baaa1d7197fbc3184a21574eaad6df77da9f7..90bc8c0fc5f151abab8ce72cae74fd5f06abfe1f 100644 (file)
@@ -1687,7 +1687,7 @@ function admin_page_plugins(App $a) {
                $readme=Null;
                if (is_file("addon/$plugin/README.md")) {
                        $readme = file_get_contents("addon/$plugin/README.md");
-                       $readme = Markdown($readme);
+                       $readme = Markdown($readme, false);
                } elseif (is_file("addon/$plugin/README")) {
                        $readme = "<pre>". file_get_contents("addon/$plugin/README") ."</pre>";
                }
@@ -1939,7 +1939,7 @@ function admin_page_themes(App $a) {
                $readme = Null;
                if (is_file("view/theme/$theme/README.md")) {
                        $readme = file_get_contents("view/theme/$theme/README.md");
-                       $readme = Markdown($readme);
+                       $readme = Markdown($readme, false);
                } elseif (is_file("view/theme/$theme/README")) {
                        $readme = "<pre>". file_get_contents("view/theme/$theme/README") ."</pre>";
                }
index 1d5c831ef45ba32dab6297d22fcac25e8d609207..95fe91c38bc89735e14ae29bf5d139025d949ede 100644 (file)
@@ -49,7 +49,7 @@ function help_content(App $a) {
                $filename = "Home";
                $a->page['title'] = t('Help');
        } else {
-               $a->page['aside'] = Markdown($home);
+               $a->page['aside'] = Markdown($home, false);
        }
 
        if (!strlen($text)) {
@@ -60,7 +60,7 @@ function help_content(App $a) {
                                ));
        }
 
-       $html = Markdown($text);
+       $html = Markdown($text, false);
 
        if ($filename !== "Home") {
                // create TOC but not for home