--- deliantra/Deliantra-Client/bin/pod2wiki 2006/08/13 02:43:23 1.1 +++ deliantra/Deliantra-Client/bin/pod2wiki 2006/08/13 18:48:57 1.3 @@ -12,6 +12,10 @@ our $indent; our $level; +my $MA_BEG = "\x{fcd0}"; +my $MA_SEP = "\x{fcd1}"; +my $MA_END = "\x{fcd2}"; + sub asxml($) { local $_ = $_[0]; @@ -56,12 +60,11 @@ sub view_seq_link { my (undef, $link) = @_; - # TODO: - # http://... - # ref - # pod/ref - - "" . (::asxml $_[1]) . ""; + if ($link =~ /http:/) { + "" . (::asxml $link) . "" + } else { + "${MA_BEG}link${MA_SEP}$link$MA_END" + } } sub view_item { @@ -70,8 +73,8 @@ level => $level, }; my $title = $_[1]->title->present ($_[0]); - $result[-1]{markup} = "$title\n\n"; - unshift @{ $result[-1]{index} }, ::flatten $title; + $result[-1]{markup} = "$title\n\n" if length $title; + $title = ::flatten $title; unshift @{ $result[-1]{index} }, $title if length $title; local $level = $level + 1; $_[1]->content->present ($_[0]); () @@ -101,8 +104,8 @@ level => $level, }; my $title = $_[1]->title->present ($_[0]); - $result[-1]{markup} = "\n\n$title\n"; - unshift @{ $result[-1]{index} }, ::flatten $title; + $result[-1]{markup} = "\n\n$title\n" if length $title; + $title = ::flatten $title; unshift @{ $result[-1]{index} }, $title if length $title; local $level = $level + 1; $_[1]->content->present ($_[0]); () @@ -114,8 +117,8 @@ level => $level, }; my $title = $_[1]->title->present ($_[0]); - $result[-1]{markup} = "\n\n$title\n"; - unshift @{ $result[-1]{index} }, ::flatten $title; + $result[-1]{markup} = "\n\n$title\n" if length $title; + $title = ::flatten $title; unshift @{ $result[-1]{index} }, $title if length $title; local $level = $level + 1; $_[1]->content->present ($_[0]); () @@ -127,8 +130,8 @@ level => $level, }; my $title = $_[1]->title->present ($_[0]); - $result[-1]{markup} = "\n\n$title\n"; - unshift @{ $result[-1]{index} }, ::flatten $title; + $result[-1]{markup} = "\n\n$title\n" if length $title; + $title = ::flatten $title; unshift @{ $result[-1]{index} }, $title if length $title; local $level = $level + 1; $_[1]->content->present ($_[0]); () @@ -146,8 +149,7 @@ push @result, { indent => $indent * 16, level => $level, - markup => "\x{fffc}", - widget => [["CFPlus::UI::Image" => path => "pod/" . $_[1]->text]], + markup => "${MA_BEG}image${MA_SEP}pod/" . $_->text . $MA_END, }; } () @@ -164,13 +166,13 @@ sub as_paragraphs($) { my ($pom) = @_; - local @result = ( { } ); local $indent = 0; local $level = 1; + local @result = ( { } ); $pom->present ("AsParagraphs"); - [grep exists $_->{markup}, @result] + [grep $_->{index} || exists $_->{markup}, @result] } #############################################################################