Browse Source

Fix TOC links href, no TOC in home

pull/2208/head
fabrixxm 5 years ago
parent
commit
f579b2af55
2 changed files with 27 additions and 23 deletions
  1. +1
    -0
      doc/api.md
  2. +26
    -23
      mod/help.php

+ 1
- 0
doc/api.md View File

@ -269,6 +269,7 @@ xml
</photo>
```
---
### friendica/photos/list
Returns a list of all photo resources of the logged in user.


+ 26
- 23
mod/help.php View File

@ -59,33 +59,36 @@ function help_content(&$a) {
$html = Markdown($text);
// create TOC
$lines = explode("\n", $html);
$toc="<style>aside ul {padding-left: 1em;}</style><h2>TOC</h2><ul id='toc'>";
$lastlevel=1;
$idnum = array(0,0,0,0,0,0,0);
foreach($lines as &$line){
if (substr($line,0,2)=="<h") {
$level = substr($line,2,1);
if ($level!="r") {
$level = intval($level);
if ($level<$lastlevel) {
for($k=$level;$k<$lastlevel; $k++) $toc.="</ul>";
for($k=$level+1;$k<count($idnum);$k++) $idnum[$k]=0;
if ($filename !== "Home") {
// create TOC but not for home
$lines = explode("\n", $html);
$toc="<style>aside ul {padding-left: 1em;}</style><h2>TOC</h2><ul id='toc'>";
$lastlevel=1;
$idnum = array(0,0,0,0,0,0,0);
foreach($lines as &$line){
if (substr($line,0,2)=="<h") {
$level = substr($line,2,1);
if ($level!="r") {
$level = intval($level);
if ($level<$lastlevel) {
for($k=$level;$k<$lastlevel; $k++) $toc.="</ul>";
for($k=$level+1;$k<count($idnum);$k++) $idnum[$k]=0;
}
if ($level>$lastlevel) $toc.="<ul>";
$idnum[$level]++;
$id = implode("_", array_slice($idnum,1,$level));
$href = $a->get_baseurl()."/help/{$filename}#{$id}";
$toc .= "<li><a href='{$href}'>".strip_tags($line)."</a></li>";
$line = "<a name='{$id}'></a>".$line;
$lastlevel = $level;
}
if ($level>$lastlevel) $toc.="<ul>";
$idnum[$level]++;
$id = implode("_", array_slice($idnum,1,$level));
$toc .= "<li><a href='#{$id}'>".strip_tags($line)."</a></li>";
$line = "<a name='{$id}'></a>".$line;
$lastlevel = $level;
}
}
}
for($k=1;$k<$lastlevel; $k++) $toc.="</ul>";
$html = implode("\n",$lines);
for($k=1;$k<$lastlevel; $k++) $toc.="</ul>";
$html = implode("\n",$lines);
$a->page['aside'] = $toc.$a->page['aside'];
$a->page['aside'] = $toc.$a->page['aside'];
}
$html = "
<style>


Loading…
Cancel
Save