From b7c441b9c8eb29ef42816cfb22e610389551e53a Mon Sep 17 00:00:00 2001 From: Harry Fuecks Date: Tue, 5 Apr 2005 10:47:45 +0200 Subject: Mods for wiki syntax converters darcs-hash:20050405084745-56ad0-d350083b623653dcd7fc77cd527571c7af1e34dd.gz --- inc/parser/wiki.php | 315 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 315 insertions(+) create mode 100644 inc/parser/wiki.php (limited to 'inc/parser/wiki.php') diff --git a/inc/parser/wiki.php b/inc/parser/wiki.php new file mode 100644 index 000000000..d79be3a4a --- /dev/null +++ b/inc/parser/wiki.php @@ -0,0 +1,315 @@ +doc .= ob_get_contents(); + ob_end_clean(); + + } + + function header($text, $level) { + $levels = array( + 1=>'======', + 2=>'=====', + 3=>'====', + 4=>'===', + 5=>'==', + ); + + if ( isset($levels[$level]) ) { + $token = $levels[$level]; + } else { + $token = $levels[1]; + } + echo "\n{$token} "; + echo trim($text); + echo " {$token}\n"; + } + + function cdata($text) { + echo $text; + } + + function linebreak() { + echo '\\\\ '; + } + + function hr() { + echo "\n----\n"; + } + + function strong_open() { + echo '**'; + } + + function strong_close() { + echo '**'; + } + + function emphasis_open() { + echo '//'; + } + + function emphasis_close() { + echo '//'; + } + + function underline_open() { + echo '__'; + } + + function underline_close() { + echo '__'; + } + + function monospace_open() { + echo "''"; + } + + function monospace_close() { + echo "''"; + } + + function subscript_open() { + echo ''; + } + + function subscript_close() { + echo ''; + } + + function superscript_open() { + echo ''; + } + + function superscript_close() { + echo ''; + } + + function deleted_open() { + echo ''; + } + + function deleted_close() { + echo ''; + } + + function footnote_open() { + echo '(('; + } + + function footnote_close() { + echo '))'; + } + + function listu_open() { + $this->listMarker = '*'; + } + + function listo_open() { + $this->listMarker = '-'; + } + + /** + * @TODO Problem here with nested lists + */ + function listitem_open($level) { + echo str_repeat(' ', $level).$this->listMarker; + } + + function listitem_close() { + echo "\n"; + } + + function unformatted($text) { + echo '%%'.$text.'%%'; + } + + function php($text) { + echo "\n\n$text\n\n"; + } + + function html($text) { + echo "\n\n$text\n\n"; + } + + /** + * Indent? + */ + function preformatted($text) { + echo "\n\n$text\n\n"; + } + + function file($text) { + echo "\n\n$text\n\n"; + } + + /** + * Problem here with nested quotes + */ + function quote_open() { + echo '>'; + } + + function quote_close() { + echo "\n"; + } + + function code($text, $lang = NULL) { + if ( !$lang ) { + echo "\n\n$text\n\n"; + } else { + echo "\n\n$text\n\n"; + } + + } + + function acronym($acronym) { + echo $acronym; + } + + function smiley($smiley) { + echo $smiley; + } + + function wordblock($word) { + echo $word; + } + + function entity($entity) { + echo $entity; + } + + // 640x480 ($x=640, $y=480) + function multiplyentity($x, $y) { + echo "{$x}x{$y}"; + } + + function singlequoteopening() { + echo "'"; + } + + function singlequoteclosing() { + echo "'"; + } + + function doublequoteopening() { + echo '"'; + } + + function doublequoteclosing() { + echo '"'; + } + + // $link like 'SomePage' + function camelcaselink($link) { + echo $link; + } + + // $link like 'wikie:syntax', $title could be an array (media) + function internallink($link, $title = NULL) { + if ( $title ) { + echo '[['.$link.'|'.$title.']]'; + } else { + echo '[['.$link.']]'; + } + } + + // $link is full URL with scheme, $title could be an array (media) + function externallink($link, $title = NULL) { + if ( $title ) { + echo '[['.$link.'|'.$title.']]'; + } else { + echo '[['.$link.']]'; + } + } + + // $link is the original link - probably not much use + // $wikiName is an indentifier for the wiki + // $wikiUri is the URL fragment to append to some known URL + function interwikilink($link, $title = NULL, $wikiName, $wikiUri) { + if ( $title ) { + echo '[['.$link.'|'.$title.']]'; + } else { + echo '[['.$link.']]'; + } + } + + // Link to file on users OS, $title could be an array (media) + function filelink($link, $title = NULL) { + if ( $title ) { + echo '[['.$link.'|'.$title.']]'; + } else { + echo '[['.$link.']]'; + } + } + + // Link to a Windows share, , $title could be an array (media) + function windowssharelink($link, $title = NULL) { + if ( $title ) { + echo '[['.$link.'|'.$title.']]'; + } else { + echo '[['.$link.']]'; + } + } + + function email($address, $title = NULL) { + if ( $title ) { + echo '[['.$address.'|'.$title.']]'; + } else { + echo '[['.$address.']]'; + } + } + + // @TODO + function internalmedialink ( + $src,$title=NULL,$align=NULL,$width=NULL,$height=NULL,$cache=NULL + ) { + + } + + // @TODO + function externalmedialink( + $src,$title=NULL,$align=NULL,$width=NULL,$height=NULL,$cache=NULL + ) { + if ( $title ) { + echo '{{'.$src.'|'.$title.'}}'; + } else { + echo '{{'.$src.'}}'; + } + } + + function table_open($maxcols = NULL, $numrows = NULL){} + + function table_close(){} + + function tablerow_open(){} + + function tablerow_close(){} + + function tableheader_open($colspan = 1, $align = NULL){} + + function tableheader_close(){} + + function tablecell_open($colspan = 1, $align = NULL){} + + function tablecell_close(){} + +} + -- cgit v1.2.3