Revision history for MindWikiTOC


Revision [19189]

Last edited on 2008-01-28 00:14:43 by NilsLindenberg [Modified links pointing to docs server]

No Differences

Revision [16948]

Edited on 2007-05-31 23:27:30 by NilsLindenberg [Reverted]
Additions:
$mind->toc_stack[$level]++;
for ($i = 1; $i <= $level; $i++) $label .= "-".(integer)$mind->toc_stack[$i];
if ($toc_box && $max = count($this->toc)) {
foreach ($this->toc_box as $index => $toc) {
if ($toc["format"] == "mindmap") {
$result = $this->Action("mindmap ".$this->Link($toc["tag"], "outline.mm"))."\n"; // params
$text = str_replace("{{toc ".$index."}}", $result, $text);
continue;
}
if ($toc["tag"] && $toc["tag"] != $this->tag) {
// not yet implemented
continue;
} else $outline = $this->toc[$this->tag];
// get part of the toc to be shown and prepare formatting
for ($i = $start = $toc["start"], $end = 1; ++$i <= $max; $end++) {
if ($outline[$i][0] < $toc["startlevel"]) { $start++; continue; }
if($outline[$i][0] < $outline[$start][0]) break;
$level[$outline[$i][0]] = true;
}
$slice = array_slice($outline, $start, $end);
// assign formatting specs to the found levels
$token = strtok($toc["format"], " ");
for ($i =1; $i <= 4; $i++) {
if ($level[$i]) {
switch ($token) {
case "indent": $opener = "<div class='indent'>"; $closer = "</div>"; $item = "<br />"; break;
case "bullet": $opener = "<ul>"; $closer = "</ul>"; $item = "<li>"; break;
case "num": $opener = "<ol>"; $closer = "</ol>"; $item = "<li>"; break;
case "alpha": $opener = "<ol type='A'>"; $closer = "</ol>"; $item = "<li>"; break;
case "roman": $opener = "<ol type='I'>"; $closer = "</ol>"; $item = "<li>"; break;
case "loweralpha": $opener = "<ol type='a'>"; $closer = "</ol>"; $item = "<li>"; break;
case "lowerroman": $opener = "<ol type='i'>"; $closer = "</ol>"; $item = "<li>"; break;
}
$level[$i] = $array($opener, $closer, $item);
$token = strtok(" ");
}
}
// and build the toc
$act_level = 0; $toc_stack = array();
$result = "<div class='tocheader'>".$toc["title"]."</div>";
foreach ($outline as $line) {
if ($line[0] <= $toc["levels"] ) {
$item = $level[$line[0]][3];
if ($line[0] > $act_level) {
for ($i = $act_level; $i <= $line[0]; $i++) {
if ($level[$i]) {
$result .= $level[$i][0]."\n";
$toc_stack[] = $level[$i][1];
}
}
$act_level = $line[0]
} else if ($line[0] < $act_level) {
for ($i = $act_level; $i >= $line[0]; $i--) if ($level[$i]) $result .= array_pop($toc_stack)."\n";
$act_level = $line[0];
}
$result .= $item.$line[1].($item == "<li>" ? "</li>" : "")."\n";
}
}
$text = str_replace("{{toc ".$index."}}", $result, $text);
}
?>
%%
----
CategoryDevelopmentActions
Deletions:
$mind->toc_stack[$level] ;
for ($i = 1; $i <= $level; $i ) $label .= "-".(integer)$mind->toc_stack[$i];
if ($toc_box


Revision [16747]

Edited on 2007-05-31 10:43:55 by LkvR20 [Reverted]
Additions:
$mind->toc_stack[$level] ;
for ($i = 1; $i <= $level; $i ) $label .= "-".(integer)$mind->toc_stack[$i];
if ($toc_box
Deletions:
$mind->toc_stack[$level]++;
for ($i = 1; $i <= $level; $i++) $label .= "-".(integer)$mind->toc_stack[$i];
if ($toc_box && $max = count($this->toc)) {
foreach ($this->toc_box as $index => $toc) {
if ($toc["format"] == "mindmap") {
$result = $this->Action("mindmap ".$this->Link($toc["tag"], "outline.mm"))."\n"; // params
$text = str_replace("{{toc ".$index."}}", $result, $text);
continue;
}
if ($toc["tag"] && $toc["tag"] != $this->tag) {
// not yet implemented
continue;
} else $outline = $this->toc[$this->tag];
// get part of the toc to be shown and prepare formatting
for ($i = $start = $toc["start"], $end = 1; ++$i <= $max; $end++) {
if ($outline[$i][0] < $toc["startlevel"]) { $start++; continue; }
if($outline[$i][0] < $outline[$start][0]) break;
$level[$outline[$i][0]] = true;
}
$slice = array_slice($outline, $start, $end);
// assign formatting specs to the found levels
$token = strtok($toc["format"], " ");
for ($i =1; $i <= 4; $i++) {
if ($level[$i]) {
switch ($token) {
case "indent": $opener = "<div class='indent'>"; $closer = "</div>"; $item = "<br />"; break;
case "bullet": $opener = "<ul>"; $closer = "</ul>"; $item = "<li>"; break;
case "num": $opener = "<ol>"; $closer = "</ol>"; $item = "<li>"; break;
case "alpha": $opener = "<ol type='A'>"; $closer = "</ol>"; $item = "<li>"; break;
case "roman": $opener = "<ol type='I'>"; $closer = "</ol>"; $item = "<li>"; break;
case "loweralpha": $opener = "<ol type='a'>"; $closer = "</ol>"; $item = "<li>"; break;
case "lowerroman": $opener = "<ol type='i'>"; $closer = "</ol>"; $item = "<li>"; break;
}
$level[$i] = $array($opener, $closer, $item);
$token = strtok(" ");
}
}
// and build the toc
$act_level = 0; $toc_stack = array();
$result = "<div class='tocheader'>".$toc["title"]."</div>";
foreach ($outline as $line) {
if ($line[0] <= $toc["levels"] ) {
$item = $level[$line[0]][3];
if ($line[0] > $act_level) {
for ($i = $act_level; $i <= $line[0]; $i++) {
if ($level[$i]) {
$result .= $level[$i][0]."\n";
$toc_stack[] = $level[$i][1];
}
}
$act_level = $line[0]
} else if ($line[0] < $act_level) {
for ($i = $act_level; $i >= $line[0]; $i--) if ($level[$i]) $result .= array_pop($toc_stack)."\n";
$act_level = $line[0];
}
$result .= $item.$line[1].($item == "<li>" ? "</li>" : "")."\n";
}
}
$text = str_replace("{{toc ".$index."}}", $result, $text);
}
?>
%%
----
CategoryDevelopmentActions


Revision [11156]

Edited on 2005-09-22 22:11:19 by NilsLindenberg [code-layout of toc.php, long-tag for php]
Additions:
%%(php;1)
<?php
?>
%%


Revision [9758]

Edited on 2005-07-04 20:35:18 by DarTar [mirror]
Additions:
----
CategoryDevelopmentActions


Revision [9756]

The oldest known version of this page was created on 2005-07-04 20:23:00 by DarTar [mirror]
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki