X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fhelp.php;h=72225692793d5206d412d9e2a671f63ded4ab762;hb=0c9cc29a51941eb572bf16fd5489d0947d47d033;hp=44edbf931861133e0b7a9a853ca4473f9b280ccb;hpb=a8072068047bc9c993333048ae09500717cbb6fb;p=friendica.git diff --git a/mod/help.php b/mod/help.php index 44edbf9318..7222569279 100644 --- a/mod/help.php +++ b/mod/help.php @@ -1,53 +1,6 @@ block_gamut += array( - "doBlockWarning" => 45, - ); - parent::MarkdownExtra_Parser(); - } - - function doBlockWarning($text) { - $text = preg_replace_callback('/ - ( # Wrap whole match in $1 - (?> - ^[ ]*![ ]? # "!" at the start of a line - .+\n # rest of the first line - (.+\n)* # subsequent consecutive lines - \n* # blanks - )+ - ) - /xm', array(&$this, '_doBlockWarning_callback'), $text); - - return $text; - } - - function _doBlockWarning_callback($matches) { - $bq = $matches[1]; - # trim one level of quoting - trim whitespace-only lines - $bq = preg_replace('/^[ ]*![ ]?|^[ ]+$/m', '', $bq); - $bq = $this->runBlockGamut($bq); # recurse - - $bq = preg_replace('/^/m', " ", $bq); - # These leading spaces cause problem with
content, - # so we need to fix that: -// $bq = preg_replace_callback('{(\s*.+?)}sx', array(&$this, '__doBlockWarning_callback2'), $bq); - - return "\n" . $this->hashBlock("\n$bq\n") . "\n\n"; - } - - function _doBlockWarning_callback2($matches) { - $pre = $matches[1]; - $pre = preg_replace('/^ /m', '', $pre); - return $pre; - } - -} - if (!function_exists('load_doc_file')) { function load_doc_file($s) { @@ -66,8 +19,7 @@ if (!function_exists('load_doc_file')) { } function help_content(&$a) { - - + nav_set_selected('help'); global $lang; @@ -75,12 +27,23 @@ function help_content(&$a) { $text = ''; if ($a->argc > 1) { - $text = load_doc_file('doc/' . $a->argv[1] . '.md'); - $a->page['title'] = t('Help:') . ' ' . str_replace('-', ' ', notags($a->argv[1])); + $path = ''; + // looping through the argv keys bigger than 0 to build + // a path relative to /help + for($x = 1; $x < argc(); $x ++) { + if(strlen($path)) + $path .= '/'; + $path .= argv($x); + } + $title = basename($path); + $filename = $path; + $text = load_doc_file('doc/' . $path . '.md'); + $a->page['title'] = t('Help:') . ' ' . str_replace('-', ' ', notags($title)); } $home = load_doc_file('doc/Home.md'); if (!$text) { $text = $home; + $filename = "Home"; $a->page['title'] = t('Help'); } else { $a->page['aside'] = Markdown($home); @@ -93,9 +56,47 @@ function help_content(&$a) { '$message' => t('Page not found.') )); } - + $html = Markdown($text); - $html = "".$html; + + if ($filename !== "Home") { + // create TOC but not for home + $lines = explode("\n", $html); + $toc="TOC