ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra-Client/DC/Pod.pm
(Generate patch)

Comparing deliantra/Deliantra-Client/DC/Pod.pm (file contents):
Revision 1.2 by root, Mon Jul 24 08:23:28 2006 UTC vs.
Revision 1.3 by root, Sun Jul 30 13:16:44 2006 UTC

1package CFClient::Pod; 1package CFPlus::Pod;
2 2
3use strict; 3use strict;
4 4
5use Pod::POM; 5use Pod::POM;
6 6
7use CFClient; 7use CFPlus;
8use CFClient::UI; 8use CFPlus::UI;
9 9
10our $VERSION = 1.02; # bump if resultant formatting changes 10our $VERSION = 1.02; # bump if resultant formatting changes
11 11
12our @result; 12our @result;
13our $indent; 13our $indent;
14 14
15package CFClient::Pod::AsMarkup; 15package CFPlus::Pod::AsMarkup;
16 16
17use strict; 17use strict;
18 18
19use base "Pod::POM::View::Text"; 19use base "Pod::POM::View::Text";
20 20
21*view_seq_file = 21*view_seq_file =
22*view_seq_code = 22*view_seq_code =
23*view_seq_bold = sub { "<b>$_[1]</b>" }; 23*view_seq_bold = sub { "<b>$_[1]</b>" };
24*view_seq_italic = sub { "<i>$_[1]</i>" }; 24*view_seq_italic = sub { "<i>$_[1]</i>" };
25*view_seq_space = 25*view_seq_space =
26*view_seq_link = sub { CFClient::asxml $_[1] }; 26*view_seq_link = sub { CFPlus::asxml $_[1] };
27*view_seq_zero = 27*view_seq_zero =
28*view_seq_index = sub { }; 28*view_seq_index = sub { };
29 29
30sub view_seq_text { 30sub view_seq_text {
31 my $text = $_[1]; 31 my $text = $_[1];
32 $text =~ s/\s+/ /g; 32 $text =~ s/\s+/ /g;
33 CFClient::asxml $text 33 CFPlus::asxml $text
34} 34}
35 35
36sub view_item { 36sub view_item {
37 ("\t" x ($indent / 4)) 37 ("\t" x ($indent / 4))
38 . $_[1]->title->present ($_[0]) 38 . $_[1]->title->present ($_[0])
41} 41}
42 42
43sub view_verbatim { 43sub view_verbatim {
44 (join "", 44 (join "",
45 map +("\t" x ($indent / 2)) . "<tt>$_</tt>\n", 45 map +("\t" x ($indent / 2)) . "<tt>$_</tt>\n",
46 split /\n/, CFClient::asxml $_[1]) 46 split /\n/, CFPlus::asxml $_[1])
47 . "\n" 47 . "\n"
48} 48}
49 49
50sub view_textblock { 50sub view_textblock {
51 ("\t" x ($indent / 2)) . "$_[1]\n" 51 ("\t" x ($indent / 2)) . "$_[1]\n"
69sub view_over { 69sub view_over {
70 local $indent = $indent + $_[1]->indent; 70 local $indent = $indent + $_[1]->indent;
71 $_[1]->content->present ($_[0]) 71 $_[1]->content->present ($_[0])
72} 72}
73 73
74package CFClient::Pod::AsParagraphs; 74package CFPlus::Pod::AsParagraphs;
75 75
76use strict; 76use strict;
77 77
78use base "Pod::POM::View"; 78use base "Pod::POM::View";
79 79
86*view_seq_index = sub { warn "index<@_>\n"; $result[-1]{index}{$_[1]} = undef }; 86*view_seq_index = sub { warn "index<@_>\n"; $result[-1]{index}{$_[1]} = undef };
87 87
88sub view_seq_text { 88sub view_seq_text {
89 my $text = $_[1]; 89 my $text = $_[1];
90 $text =~ s/\s+/ /g; 90 $text =~ s/\s+/ /g;
91 CFClient::asxml $text 91 CFPlus::asxml $text
92} 92}
93 93
94sub view_seq_link { 94sub view_seq_link {
95 my (undef, $link) = @_; 95 my (undef, $link) = @_;
96 96
97 # TODO: 97 # TODO:
98 # http://... 98 # http://...
99 # ref 99 # ref
100 # pod/ref 100 # pod/ref
101 101
102 "<u>" . (CFClient::asxml $_[1]) . "</u>"; 102 "<u>" . (CFPlus::asxml $_[1]) . "</u>";
103} 103}
104 104
105sub view_item { 105sub view_item {
106 push @result, { 106 push @result, {
107 indent => $indent * 8, 107 indent => $indent * 8,
112} 112}
113 113
114sub view_verbatim { 114sub view_verbatim {
115 push @result, { 115 push @result, {
116 indent => $indent * 16, 116 indent => $indent * 16,
117 markup => "<tt>" . (CFClient::asxml $_[1]) . "</tt>\n", 117 markup => "<tt>" . (CFPlus::asxml $_[1]) . "</tt>\n",
118 }; 118 };
119 () 119 ()
120} 120}
121 121
122sub view_textblock { 122sub view_textblock {
164sub view_for { 164sub view_for {
165 if ($_[1]->format eq "image") { 165 if ($_[1]->format eq "image") {
166 push @result, { 166 push @result, {
167 indent => $indent * 16, 167 indent => $indent * 16,
168 markup => "\x{fffc}", 168 markup => "\x{fffc}",
169 widget => [new CFClient::UI::Image path => "pod/" . $_[1]->text], 169 widget => [new CFPlus::UI::Image path => "pod/" . $_[1]->text],
170 }; 170 };
171 } 171 }
172 () 172 ()
173} 173}
174 174
176 my ($self, $type, $item) = @_; 176 my ($self, $type, $item) = @_;
177 177
178 $item->content->present ($self); 178 $item->content->present ($self);
179} 179}
180 180
181package CFClient::Pod; 181package CFPlus::Pod;
182 182
183my $pod_cache = CFClient::db_table "pod_cache"; 183my $pod_cache = CFPlus::db_table "pod_cache";
184 184
185sub load($$$$) { 185sub load($$$$) {
186 my ($path, $filtertype, $filterversion, $filtercb) = @_; 186 my ($path, $filtertype, $filterversion, $filtercb) = @_;
187 187
188 stat $path 188 stat $path
220sub as_markup($) { 220sub as_markup($) {
221 my ($pom) = @_; 221 my ($pom) = @_;
222 222
223 local $indent = 0; 223 local $indent = 0;
224 224
225 $pom->present ("CFClient::Pod::AsMarkup") 225 $pom->present ("CFPlus::Pod::AsMarkup")
226} 226}
227 227
228sub as_paragraphs($) { 228sub as_paragraphs($) {
229 my ($pom) = @_; 229 my ($pom) = @_;
230 230
231 local @result = ( { } ); 231 local @result = ( { } );
232 local $indent = 0; 232 local $indent = 0;
233 233
234 $pom->present ("CFClient::Pod::AsParagraphs"); 234 $pom->present ("CFPlus::Pod::AsParagraphs");
235 235
236 [grep exists $_->{markup}, @result] 236 [grep exists $_->{markup}, @result]
237} 237}
238 238
239sub pod_paragraphs($) { 239sub pod_paragraphs($) {
240 load CFClient::find_rcfile "pod/$_[0].pod", 240 load CFPlus::find_rcfile "pod/$_[0].pod",
241 pod_paragraphs => 1, sub { as_paragraphs $_[0] }; 241 pod_paragraphs => 1, sub { as_paragraphs $_[0] };
242} 242}
243 243

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines