Learn about DokuWiki
Advanced Use
Corporate Use
Our Community
Follow us on Facebook, Twitter and other social networks.
Learn about DokuWiki
Advanced Use
Corporate Use
Our Community
Follow us on Facebook, Twitter and other social networks.
Don't create the link “back to top” for header level 1. Create link “back to top” before each title.
The example is written for DokuWiki 2008-05-05 and will not fit directly into recent versions.
Top Example
[[|Top]] # Links to top of page
In inc\parser\xhtml.php change the function header by this one :
(line 134)
function header($text, $level, $pos) { $hid = $this->_headerToLink($text,true); //only add items within configured levels $this->toc_additem($hid, $text, $level); // write the header $this->doc .= DOKU_LF; if($level > 1){ $this->doc .= html_topbtn2(); } $this->doc .='<h'.$level.'><a name="'.$hid.'" id="'.$hid.'">'; $this->doc .= $this->_xmlEntities($text); $this->doc .= "</a></h$level>".DOKU_LF; }
then : create the function “html_topbtn2” under “html_btn” in “inc\html.php”
(line 165)
function html_topbtn2(){ global $lang; $ret = ''; $ret = '<a href="#dokuwiki__top" onclick="window.scrollTo(0, 0)" title="'.$lang['btn_top'].'" >'. $lang['btn_top'].' </a>'; return $ret; }
--- html.php-orig 2008-07-06 04:28:06.241410000 +0200 +++ html.php 2008-07-06 04:40:15.171058000 +0200 @@ -94,6 +94,7 @@ $secedit = ''; $secedit .= '<div class="secedit">'; + $secedit .= html_topbtn(); $secedit .= html_btn('secedit',$ID,'', array('do' => 'edit', 'lines' => "$section", @@ -115,12 +116,17 @@ $text = preg_replace_callback('#<!-- SECTION "(.*?)" \[(\d+-\d*)\] -->#', 'html_secedit_button', $text); }else{ - $text = preg_replace('#<!-- SECTION "(.*?)" \[(\d+-\d*)\] -->#','',$text); + $text = preg_replace_callback('#<!-- SECTION "(.*?)" \[(\d+-\d*)\] -->#','html_topbtn_div',$text); } return $text; } +function html_topbtn_div () +{ + return '<div class="secedit">'.html_topbtn().'</div>'; +} + /** * Just the back to top button (in its own form) *
Somewhere else i also rewrite:
$lang['btn_top'] = '['.$lang['btn_top'].']';
I use this with the monobook template, looks nice.
6.7.2008 Peter
Would be good to know what path you refer here. I did not find the right file or section or the file changed heavily in the meantime.
2011-02-18 Taggic
Isn't this essentially superseded by the Up Arrow plugin? — Luis Machuca Bezzaza 2009/09/21 19:37
No, adding this code automatically generates a back_to_top link before headers <h2>, <h3>, etc. All except for <h1>.
John 2009/11/4