ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra-Client/bin/pod2wiki
(Generate patch)

Comparing deliantra/Deliantra-Client/bin/pod2wiki (file contents):
Revision 1.1 by root, Sun Aug 13 02:43:23 2006 UTC vs.
Revision 1.4 by root, Sun Aug 13 19:47:06 2006 UTC

9use Pod::POM; 9use Pod::POM;
10 10
11our @result; 11our @result;
12our $indent; 12our $indent;
13our $level; 13our $level;
14
15my $MA_BEG = "\x{fcd0}";
16my $MA_SEP = "\x{fcd1}";
17my $MA_END = "\x{fcd2}";
14 18
15sub asxml($) { 19sub asxml($) {
16 local $_ = $_[0]; 20 local $_ = $_[0];
17 21
18 s/&/&/g; 22 s/&/&/g;
54} 58}
55 59
56sub view_seq_link { 60sub view_seq_link {
57 my (undef, $link) = @_; 61 my (undef, $link) = @_;
58 62
59 # TODO: 63 my $text = $link =~ s/^(.*)\|// ? $1 : $link;
60 # http://...
61 # ref
62 # pod/ref
63 64
65 if ($link =~ /http:/) {
64 "<u>" . (::asxml $_[1]) . "</u>"; 66 "<u>" . (::asxml $link) . "</u>"
67 } else {
68 "${MA_BEG}link$MA_SEP$text$MA_SEP$link$MA_END"
69 }
65} 70}
66 71
67sub view_item { 72sub view_item {
68 push @result, { 73 push @result, {
69 indent => $indent * 8, 74 indent => $indent * 8,
70 level => $level, 75 level => $level,
71 }; 76 };
72 my $title = $_[1]->title->present ($_[0]); 77 my $title = $_[1]->title->present ($_[0]);
73 $result[-1]{markup} = "$title\n\n"; 78 $result[-1]{markup} = "$title\n\n" if length $title;
74 unshift @{ $result[-1]{index} }, ::flatten $title; 79 $title = ::flatten $title; unshift @{ $result[-1]{index} }, $title if length $title;
75 local $level = $level + 1; 80 local $level = $level + 1;
76 $_[1]->content->present ($_[0]); 81 $_[1]->content->present ($_[0]);
77 () 82 ()
78} 83}
79 84
99 push @result, { 104 push @result, {
100 indent => $indent * 16, 105 indent => $indent * 16,
101 level => $level, 106 level => $level,
102 }; 107 };
103 my $title = $_[1]->title->present ($_[0]); 108 my $title = $_[1]->title->present ($_[0]);
104 $result[-1]{markup} = "\n\n<span foreground='#ffff00' size='x-large'>$title</span>\n"; 109 $result[-1]{markup} = "\n\n<span foreground='#ffff00' size='x-large'>$title</span>\n" if length $title;
105 unshift @{ $result[-1]{index} }, ::flatten $title; 110 $title = ::flatten $title; unshift @{ $result[-1]{index} }, $title if length $title;
106 local $level = $level + 1; 111 local $level = $level + 1;
107 $_[1]->content->present ($_[0]); 112 $_[1]->content->present ($_[0]);
108 () 113 ()
109}; 114};
110 115
112 push @result, { 117 push @result, {
113 indent => $indent * 16, 118 indent => $indent * 16,
114 level => $level, 119 level => $level,
115 }; 120 };
116 my $title = $_[1]->title->present ($_[0]); 121 my $title = $_[1]->title->present ($_[0]);
117 $result[-1]{markup} = "\n\n<span foreground='#ccccff' size='large'>$title</span>\n"; 122 $result[-1]{markup} = "\n\n<span foreground='#ccccff' size='large'>$title</span>\n" if length $title;
118 unshift @{ $result[-1]{index} }, ::flatten $title; 123 $title = ::flatten $title; unshift @{ $result[-1]{index} }, $title if length $title;
119 local $level = $level + 1; 124 local $level = $level + 1;
120 $_[1]->content->present ($_[0]); 125 $_[1]->content->present ($_[0]);
121 () 126 ()
122}; 127};
123 128
125 push @result, { 130 push @result, {
126 indent => $indent * 16, 131 indent => $indent * 16,
127 level => $level, 132 level => $level,
128 }; 133 };
129 my $title = $_[1]->title->present ($_[0]); 134 my $title = $_[1]->title->present ($_[0]);
130 $result[-1]{markup} = "\n\n<span size='large'>$title</span>\n"; 135 $result[-1]{markup} = "\n\n<span size='large'>$title</span>\n" if length $title;
131 unshift @{ $result[-1]{index} }, ::flatten $title; 136 $title = ::flatten $title; unshift @{ $result[-1]{index} }, $title if length $title;
132 local $level = $level + 1; 137 local $level = $level + 1;
133 $_[1]->content->present ($_[0]); 138 $_[1]->content->present ($_[0]);
134 () 139 ()
135}; 140};
136 141
144sub view_for { 149sub view_for {
145 if ($_[1]->format eq "image") { 150 if ($_[1]->format eq "image") {
146 push @result, { 151 push @result, {
147 indent => $indent * 16, 152 indent => $indent * 16,
148 level => $level, 153 level => $level,
149 markup => "\x{fffc}", 154 markup => "${MA_BEG}image${MA_SEP}pod/" . $_->text . $MA_END,
150 widget => [["CFPlus::UI::Image" => path => "pod/" . $_[1]->text]],
151 }; 155 };
152 } 156 }
153 () 157 ()
154} 158}
155 159
162############################################################################# 166#############################################################################
163 167
164sub as_paragraphs($) { 168sub as_paragraphs($) {
165 my ($pom) = @_; 169 my ($pom) = @_;
166 170
167 local @result = ( { } );
168 local $indent = 0; 171 local $indent = 0;
169 local $level = 1; 172 local $level = 1;
173 local @result = ( { } );
170 174
171 $pom->present ("AsParagraphs"); 175 $pom->present ("AsParagraphs");
172 176
173 [grep exists $_->{markup}, @result] 177 [grep $_->{index} || exists $_->{markup}, @result]
174} 178}
175 179
176############################################################################# 180#############################################################################
177 181
178my %wiki; 182my %wiki;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines