1 | #! perl |
1 | #! perl |
2 | |
2 | |
|
|
3 | # convert given .pod files to wiki style |
|
|
4 | |
|
|
5 | # base path of arch tree, only used for new arch graphics |
|
|
6 | my $ARCH = "/root/devel/cvs/cf.schmorp.de/arch"; |
|
|
7 | |
|
|
8 | use strict; |
|
|
9 | |
3 | use Storable; |
10 | use Storable; |
4 | |
|
|
5 | # convert given .pod files to wiki style |
|
|
6 | |
|
|
7 | use strict; |
|
|
8 | |
|
|
9 | use Pod::POM; |
11 | use Pod::POM; |
10 | |
12 | |
11 | our @result; |
13 | our @result; |
12 | our $indent; |
14 | our $indent; |
13 | our $level; |
15 | our $level; |
… | |
… | |
33 | s/^\s+//; |
35 | s/^\s+//; |
34 | s/\s+$//; |
36 | s/\s+$//; |
35 | s/\s+/ /g; |
37 | s/\s+/ /g; |
36 | |
38 | |
37 | $_ |
39 | $_ |
|
|
40 | } |
|
|
41 | |
|
|
42 | sub special { |
|
|
43 | $MA_BEG . (join $MA_SEP, @_) . $MA_END |
38 | } |
44 | } |
39 | |
45 | |
40 | package AsParagraphs; |
46 | package AsParagraphs; |
41 | |
47 | |
42 | use strict; |
48 | use strict; |
… | |
… | |
62 | |
68 | |
63 | my $text = $link =~ s/^(.*)\|// ? $1 : $link; |
69 | my $text = $link =~ s/^(.*)\|// ? $1 : $link; |
64 | |
70 | |
65 | if ($link =~ /http:/) { |
71 | if ($link =~ /http:/) { |
66 | "<u>" . (::asxml $link) . "</u>" |
72 | "<u>" . (::asxml $link) . "</u>" |
|
|
73 | } elsif ($link =~ /^\$ARCH\/(.+)$/) { |
|
|
74 | my $path = $1; |
|
|
75 | (my $base = $path) =~ s/.*\///; |
|
|
76 | -f "$ARCH/$path" && system "rsync -av -c \Q$ARCH/$path\E \Qresources/arch/$base"; |
|
|
77 | ::special image => "arch/$base", 1; |
67 | } else { |
78 | } else { |
68 | "${MA_BEG}link$MA_SEP$text$MA_SEP$link$MA_END" |
79 | ::special link => $text, $link |
69 | } |
80 | } |
70 | } |
81 | } |
71 | |
82 | |
72 | sub view_item { |
83 | sub view_item { |
73 | push @result, { |
84 | push @result, { |
… | |
… | |
149 | sub view_for { |
160 | sub view_for { |
150 | if ($_[1]->format eq "image") { |
161 | if ($_[1]->format eq "image") { |
151 | push @result, { |
162 | push @result, { |
152 | indent => $indent * 16, |
163 | indent => $indent * 16, |
153 | level => $level, |
164 | level => $level, |
154 | markup => "${MA_BEG}image${MA_SEP}pod/" . $_->text . $MA_END, |
165 | markup => (::special image => "pod/" . $_->text), |
155 | }; |
166 | }; |
156 | } |
167 | } |
157 | () |
168 | () |
158 | } |
169 | } |
159 | |
170 | |
… | |
… | |
183 | |
194 | |
184 | sub add_node($) { |
195 | sub add_node($) { |
185 | my ($node) = @_; |
196 | my ($node) = @_; |
186 | |
197 | |
187 | for (@{ $node->{kw} || {} }) { |
198 | for (@{ $node->{kw} || {} }) { |
188 | push @{$wiki{$_}}, $node; |
199 | push @{$wiki{lc $_}}, $node; |
189 | } |
200 | } |
190 | } |
201 | } |
191 | |
202 | |
192 | my $root = { |
203 | my $root = { |
193 | kw => ["pod"], |
204 | kw => ["pod"], |