diff options
author | andi <andi@splitbrain.org> | 2005-05-04 21:22:03 +0200 |
---|---|---|
committer | andi <andi@splitbrain.org> | 2005-05-04 21:22:03 +0200 |
commit | 0b7c14c22e9810803e87a882cd9b3597b27fe74f (patch) | |
tree | 43dde0f97781012af5f9d0d7eb8c263ff6a9a28a /inc/parser | |
parent | 0339c8721982fc3a843306c03cd8882e6aebc863 (diff) | |
download | rpg-0b7c14c22e9810803e87a882cd9b3597b27fe74f.tar.gz rpg-0b7c14c22e9810803e87a882cd9b3597b27fe74f.tar.bz2 |
local links added #297
darcs-hash:20050504192203-9977f-004cc04b0753fc5d36d4515519c54039e73e77de.gz
Diffstat (limited to 'inc/parser')
-rw-r--r-- | inc/parser/handler.php | 14 | ||||
-rw-r--r-- | inc/parser/parser.php | 2 | ||||
-rw-r--r-- | inc/parser/xhtml.php | 13 |
3 files changed, 24 insertions, 5 deletions
diff --git a/inc/parser/handler.php b/inc/parser/handler.php index ce0fb5d4c..e1ded183a 100644 --- a/inc/parser/handler.php +++ b/inc/parser/handler.php @@ -364,6 +364,7 @@ class Doku_Handler { // If the title is an image, convert it to an array containing the image details $link[1] = Doku_Handler_Parse_Media($link[1]); } + $link[0] = trim($link[0]); //decide which kind of link it is @@ -375,7 +376,7 @@ class Doku_Handler { array($link[0],$link[1],strtolower($interwiki[0]),$interwiki[1]), $pos ); - }elseif ( preg_match('/\\\\\\\\[\w.:?\-;,]+?\\\\/u',$link[0]) ) { + }elseif ( preg_match('/^\\\\\\\\[\w.:?\-;,]+?\\\\/u',$link[0]) ) { // Windows Share $this->_addCall( 'windowssharelink', @@ -396,6 +397,13 @@ class Doku_Handler { array($link[0],$link[1]), $pos ); + }elseif ( preg_match('!^#.+!',$link[0]) ){ + // local link + $this->_addCall( + 'locallink', + array(substr($link[0],1),$link[1]), + $pos + ); }else{ // internal link $this->_addCall( @@ -1156,7 +1164,7 @@ class Doku_Handler_Section { /** * Handler for paragraphs * - * @author Harry Fuecks <harryf@gmail.com> + * @author Harry Fuecks <hfuecks@gmail.com> */ class Doku_Handler_Block { @@ -1228,7 +1236,7 @@ class Doku_Handler_Block { /** * Processes the whole instruction stack to open and close paragraphs * - * @author Harry Fuecks <harryf@gmail.com> + * @author Harry Fuecks <hfuecks@gmail.com> * @author Andreas Gohr <andi@splitbrain.org> * @todo This thing is really messy and should be rewritten */ diff --git a/inc/parser/parser.php b/inc/parser/parser.php index 7de715b95..9896b8799 100644 --- a/inc/parser/parser.php +++ b/inc/parser/parser.php @@ -94,7 +94,7 @@ class Doku_Parser { * the Parser could be serialized to a file once * all modes are registered * - * @author Harry Fuecks <harryf@gmail.com> + * @author Harry Fuecks <hfuecks@gmail.com> */ class Doku_Parser_Mode { diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php index 5b5716a3f..ffacabc7b 100644 --- a/inc/parser/xhtml.php +++ b/inc/parser/xhtml.php @@ -416,6 +416,17 @@ class Doku_Renderer_xhtml extends Doku_Renderer { $this->internallink($link,$link); } + + function locallink($hash, $name = NULL){ + global $ID; + $name = $this->_getLinkTitle($name, $hash, $isImage); + $hash = $this->_headerToLink($hash); + $title = $ID.' ↵'; + $this->doc .= '<a href="#'.$hash.'" title="'.$title.'" class="wikilink1">'; + $this->doc .= $name; + $this->doc .= '</a>'; + } + /** * Render an internal Wiki Link * @@ -935,7 +946,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer { /** * Construct a title and handle images in titles * - * @author Harry Fuecks <harryf@gmail.com> + * @author Harry Fuecks <hfuecks@gmail.com> */ function _getLinkTitle($title, $default, & $isImage, $id=NULL) { global $conf; |