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.12 by root, Tue Mar 25 02:12:36 2008 UTC vs.
Revision 1.16 by root, Sun Mar 30 13:02:27 2008 UTC

104} 104}
105 105
106sub view_head1 { 106sub view_head1 {
107 push @result, [ $indent * 16, $level ]; 107 push @result, [ $indent * 16, $level ];
108 my $title = $_[1]->title->present ($_[0]); 108 my $title = $_[1]->title->present ($_[0]);
109 $result[-1][P_MARKUP] = "\n\n<span foreground='#ffff00' size='x-large'>$title</span>\n" if length $title; 109 $result[-1][P_MARKUP] = ::special h1 => $title if length $title;
110 $title = ::flatten $title; unshift @{ $result[-1][P_INDEX] }, $title if length $title; 110 $title = ::flatten $title;
111 unshift @{ $result[-1][P_INDEX] }, $title
112 if !$result[-1][P_INDEX];
111 local $level = $level + 1; 113 local $level = $level + 1;
112 $_[1]->content->present ($_[0]); 114 $_[1]->content->present ($_[0]);
113 () 115 ()
114}; 116};
115 117
116sub view_head2 { 118sub view_head2 {
117 push @result, [ $indent * 16, $level ]; 119 push @result, [ $indent * 16, $level ];
118 my $title = $_[1]->title->present ($_[0]); 120 my $title = $_[1]->title->present ($_[0]);
119 $result[-1][P_MARKUP] = "\n\n<span foreground='#ccccff' size='large'>$title</span>\n" if length $title; 121 $result[-1][P_MARKUP] = ::special h2 => $title if length $title;
120 $title = ::flatten $title; unshift @{ $result[-1][P_INDEX] }, $title if length $title; 122 $title = ::flatten $title;
123 unshift @{ $result[-1][P_INDEX] }, $title
124 if !$result[-1][P_INDEX];
121 local $level = $level + 1; 125 local $level = $level + 1;
122 $_[1]->content->present ($_[0]); 126 $_[1]->content->present ($_[0]);
123 () 127 ()
124}; 128};
125 129
126sub view_head3 { 130sub view_head3 {
127 push @result, [ $indent * 16, $level ]; 131 push @result, [ $indent * 16, $level ];
128 my $title = $_[1]->title->present ($_[0]); 132 my $title = $_[1]->title->present ($_[0]);
129 $result[-1][P_MARKUP] = "\n\n<span size='large'>$title</span>\n" if length $title; 133 $result[-1][P_MARKUP] = ::special h3 => $title if length $title;
130 $title = ::flatten $title; unshift @{ $result[-1][P_INDEX] }, $title if length $title; 134 $title = ::flatten $title;
135 unshift @{ $result[-1][P_INDEX] || [] }, $title
136 if !$result[-1][P_INDEX];
131 local $level = $level + 1; 137 local $level = $level + 1;
132 $_[1]->content->present ($_[0]); 138 $_[1]->content->present ($_[0]);
133 () 139 ()
134}; 140};
135 141
142 148
143sub view_item { 149sub view_item {
144 push @result, [ $indent * 8, $level ]; 150 push @result, [ $indent * 8, $level ];
145 my $title = $_[1]->title->present ($_[0]); 151 my $title = $_[1]->title->present ($_[0]);
146 $result[-1][P_MARKUP] = "$title\n" if length $title; 152 $result[-1][P_MARKUP] = "$title\n" if length $title;
147 $title = ::flatten $title; unshift @{ $result[-1][P_INDEX] }, $title if length $title; 153 $title = ::flatten $title;
154 unshift @{ $result[-1][P_INDEX] || [] }, $title
155 if !$result[-1][P_INDEX];
148 local $level = $level + 1; 156 local $level = $level + 1;
149 $_[1]->content->present ($_[0]); 157 $_[1]->content->present ($_[0]);
150 () 158 ()
151} 159}
152 160
196 push @{$wiki{lc $_}}, $node; 204 push @{$wiki{lc $_}}, $node;
197 } 205 }
198} 206}
199 207
200my $root; 208my $root;
201$root->[N_KW] = ["pod"]; 209$root->[N_KW] = ["Documents", "pod"];
210$root->[N_DOC] = [[0, 0, ::special link => "All Documents", "pod/*"]];
202 211
203for my $path (@ARGV) { 212for my $path (@ARGV) {
204 $path =~ /([^\/\\]+)\.pod$/ or die "$path: illegal pathname"; 213 $path =~ /([^\/\\]+)\.pod$/ or die "$path: illegal pathname";
205 my $base = $1; 214 my $base = $1;
206 my $pom = Pod::POM->new->parse_text (do { 215 my $pom = Pod::POM->new->parse_text (do {
218 $pod->[N_LEVEL] = 1; 227 $pod->[N_LEVEL] = 1;
219 $pod->[N_KW] = [$base]; 228 $pod->[N_KW] = [$base];
220 $pod->[N_DOC] = $para; 229 $pod->[N_DOC] = $para;
221 230
222 my @parent = ($pod); 231 my @parent = ($pod);
223 add_node $parent[-1];
224 232
225 for my $idx (0 .. $#$para) { 233 for my $idx (0 .. $#$para) {
226 my $par = $para->[$idx]; 234 my $par = $para->[$idx];
227 235
228 while ($parent[-1][N_LEVEL] >= $par->[P_LEVEL]) { 236 while ($parent[-1][N_LEVEL] >= $par->[P_LEVEL]) {
238 $node->[N_DOC] = $para; 246 $node->[N_DOC] = $para;
239 push @parent, $node; 247 push @parent, $node;
240 add_node $node; 248 add_node $node;
241 } 249 }
242 } 250 }
251
252 add_node $pod;
243} 253}
254
255add_node $root;
244 256
245Storable::nstore \%wiki, "docwiki.pst"; 257Storable::nstore \%wiki, "docwiki.pst";
246 258

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines