fixes for toc bbcode and bbcode wiki toc

This commit is contained in:
Mario Vavti 2016-12-04 12:51:23 +01:00
parent 792527d456
commit b12d4c03cb
5 changed files with 24 additions and 9 deletions

View File

@ -214,7 +214,7 @@ class Wiki extends \Zotlabs\Web\Controller {
$content = ($p['content'] !== '' ? $rawContent : '"# New page\n"');
// Render the Markdown-formatted page content in HTML
if($mimeType == 'text/bbcode') {
$renderedContent = bbcode($content);
$renderedContent = wiki_convert_links(bbcode($content),argv(0).'/'.argv(1).'/'.$wikiUrlName);
}
else {
require_once('library/markdown.php');
@ -314,7 +314,7 @@ class Wiki extends \Zotlabs\Web\Controller {
$mimeType = $w['mimeType'];
if($mimeType == 'text/bbcode') {
$html = bbcode($content);
$html = wiki_convert_links(bbcode($content),$wikiURL);
}
else {
require_once('library/markdown.php');

View File

@ -824,12 +824,14 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $cache = false)
$Text = preg_replace("(\[h6\](.*?)\[\/h6\])ism",'<h6>$1</h6>',$Text);
}
// Check for table of content without params
if (strpos($Text,'[toc]') !== false) {
$Text = preg_replace("/\[toc\]/ism",'<ul id="toc"></ul>',$Text);
while(strpos($Text,'[toc]') !== false) {
$toc_id = 'toc-' . random_string(10);
$Text = preg_replace("/\[toc\]/ism", '<strong>' . t('Contents:') . '</strong><ul id="' . $toc_id . '" class="toc" data-toc=".section-content-wrapper"></ul><script>$("#' . $toc_id . '").toc();</script>', $Text, 1);
}
// Check for table of content with params
if (strpos($Text,'[toc') !== false) {
$Text = preg_replace("/\[toc([^\]]+?)\]/ism",'<ul$1></ul>',$Text);
while(strpos($Text,'[toc') !== false) {
$toc_id = 'toc-' . random_string(10);
$Text = preg_replace("/\[toc([^\]]+?)\]/ism", '<strong>' . t('Contents:') . '</strong><ul id="' . $toc_id . '" class="toc"$1></ul><script>$("#' . $toc_id . '").toc();</script>', $Text, 1);
}
// Check for centered text
if (strpos($Text,'[/center]') !== false) {

View File

@ -336,6 +336,19 @@ a.wall-item-name-link {
/* bb-code */
/* prevent [toc] bbcode links to scroll the titles behind the navbar */
.section-content-wrapper h1,
.section-content-wrapper h2,
.section-content-wrapper h3,
.section-content-wrapper h4 {
padding-top: 60px;
margin-top: -40px;
}
.toc {
margin-top: 1em;
}
code {
font-family: Courier, monospace;
font-size: 1em;

View File

@ -1315,7 +1315,6 @@ $(document).ready(function() {
numbers : aStr['t17'],
};
$("#toc").toc();
});
function zFormError(elm,x) {

View File

@ -184,7 +184,9 @@
function (data) {
if (data.success) {
$('#wiki-preview').html(data.html);
{{if !$mimeType || $mimeType == 'text/markdown'}}
$("#wiki-toc").toc({content: "#wiki-preview", headings: "h1,h2,h3,h4"});
{{/if}}
$('#page-tools').hide();
} else {
window.console.log('Error previewing page.');
@ -418,13 +420,12 @@
$(document).ready(function () {
wiki_refresh_page_list();
$("#wiki-toc").toc({content: "#wiki-preview", headings: "h1,h2,h3,h4"});
// This seems obsolete
// Show Edit tab first. Otherwise the Ace editor does not load.
//$("#wiki-nav-tabs li:eq(1) a").tab('show');
{{if !$mimeType || $mimeType == 'text/markdown'}}
$("#wiki-toc").toc({content: "#wiki-preview", headings: "h1,h2,h3,h4"});
window.editor.on("input", function() {
if(window.editor.getSession().getUndoManager().isClean()) {
$('#save-page').addClass('disabled');