diff options
author | Andrew Manning <tamanning@zoho.com> | 2016-06-30 21:50:38 -0400 |
---|---|---|
committer | Andrew Manning <tamanning@zoho.com> | 2016-06-30 21:50:38 -0400 |
commit | 7124c0aee5486aab74272c81ceb3e383b2e3a7f7 (patch) | |
tree | d556c7638dbfbc1deef6a2ff10c2105fa2c18dd7 | |
parent | 81da9f99e4ee111623a1ba302a6ab18e369756e9 (diff) | |
download | volse-hubzilla-7124c0aee5486aab74272c81ceb3e383b2e3a7f7.tar.gz volse-hubzilla-7124c0aee5486aab74272c81ceb3e383b2e3a7f7.tar.bz2 volse-hubzilla-7124c0aee5486aab74272c81ceb3e383b2e3a7f7.zip |
Replace homemade table of content generator with existing jQuery plugin. Now toc is linked to document headings.
-rw-r--r-- | Zotlabs/Module/Wiki.php | 6 | ||||
-rw-r--r-- | include/wiki.php | 3 | ||||
-rw-r--r-- | view/tpl/wiki.tpl | 2 |
3 files changed, 6 insertions, 5 deletions
diff --git a/Zotlabs/Module/Wiki.php b/Zotlabs/Module/Wiki.php index a5039fa23..f30884bfb 100644 --- a/Zotlabs/Module/Wiki.php +++ b/Zotlabs/Module/Wiki.php @@ -126,8 +126,7 @@ class Wiki extends \Zotlabs\Web\Controller { $content = ($p['content'] !== '' ? $p['content'] : '"# New page\n"'); // Render the Markdown-formatted page content in HTML require_once('library/markdown.php'); - $toc_content = wiki_generate_toc(json_decode($content)); - $html = purify_html(Markdown($toc_content)); + $html = wiki_generate_toc(purify_html(Markdown(json_decode($content)))); $renderedContent = wiki_convert_links($html,argv(0).'/'.argv(1).'/'.$wikiUrlName); $hide_editor = false; $showPageControls = $wiki_editor; @@ -200,8 +199,7 @@ class Wiki extends \Zotlabs\Web\Controller { $content = $_POST['content']; $resource_id = $_POST['resource_id']; require_once('library/markdown.php'); - $content = wiki_generate_toc($content); - $html = purify_html(Markdown($content)); + $html = wiki_generate_toc(purify_html(Markdown($content))); $w = wiki_get_wiki($resource_id); $wikiURL = argv(0).'/'.argv(1).'/'.$w['urlName']; $html = wiki_convert_links($html,$wikiURL); diff --git a/include/wiki.php b/include/wiki.php index 67757b0f5..424b2d9a0 100644 --- a/include/wiki.php +++ b/include/wiki.php @@ -498,7 +498,8 @@ function wiki_convert_links($s, $wikiURL) { function wiki_generate_toc($s) { if (strpos($s,'[toc]') !== false) { - $toc_md = wiki_toc($s); + //$toc_md = wiki_toc($s); // Generate Markdown-formatted list prior to HTML render + $toc_md = '<ul id="wiki-toc"></ul>'; // use the available jQuery plugin http://ndabas.github.io/toc/ $s = preg_replace("/\[toc\]/", $toc_md, $s, -1); } return $s; diff --git a/view/tpl/wiki.tpl b/view/tpl/wiki.tpl index 1d8570828..7617808f4 100644 --- a/view/tpl/wiki.tpl +++ b/view/tpl/wiki.tpl @@ -190,6 +190,7 @@ $(document).ready(function () { wiki_refresh_page_list(); + $("#wiki-toc").toc({content: "#wiki-preview", headings: "h1,h2,h3,h4"}); // Show Edit tab first. Otherwise the Ace editor does not load. $("#wiki-nav-tabs li:eq(1) a").tab('show'); }); @@ -203,6 +204,7 @@ $.post("wiki/{{$channel}}/preview", {content: editor.getValue(), resource_id: window.wiki_resource_id}, function (data) { if (data.success) { $('#wiki-preview').html(data.html); + $("#wiki-toc").toc({content: "#wiki-preview", headings: "h1,h2,h3,h4"}); } else { window.console.log('Error previewing page.'); } |