mirror of
https://github.com/jquery/jquery.git
synced 2026-02-18 00:01:21 -05:00
Added all the new documentation files.
This commit is contained in:
92
docs/gen.pl
Normal file
92
docs/gen.pl
Normal file
@@ -0,0 +1,92 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
use Data::Dumper;
|
||||
|
||||
$Data::Dumper::Pair = ": ";
|
||||
$Data::Dumper::Sortkeys = 1;
|
||||
$Data::Dumper::Terse = 1;
|
||||
|
||||
open( F, $ARGV[0] || "../jquery-svn.js" );
|
||||
my $f = join('', <F>);
|
||||
close( F );
|
||||
|
||||
my @c;
|
||||
|
||||
while ( $f =~ /\/\*\*\s*(.*?)\s*\*\//gs ) {
|
||||
my $c = $1;
|
||||
$c =~ s/^\s*\* ?//mg;
|
||||
$c .= "!!!";
|
||||
my %ret;
|
||||
|
||||
$ret{ 'params' } = [];
|
||||
$ret{ 'examples' } = [];
|
||||
|
||||
#while ( $c =~ s/^\@(\S+)\s*<pre>(.*?)<\/pre>\n//ms ) {
|
||||
#print "PARAM '$1' '$2'\n";
|
||||
#}
|
||||
while ( $c =~ s/^\@(\S+) *(.*?)(?=\n\@|!!!)//ms ) {
|
||||
my $n = $1;
|
||||
my $v = $2;
|
||||
$v =~ s/\s*$//g;
|
||||
$v =~ s/^\s*//g;
|
||||
$v =~ s/&/&/g;
|
||||
$v =~ s/(\s\s+)/" " x length($1)/eg;
|
||||
$v =~ s/</</g;
|
||||
$v =~ s/>/>/g;
|
||||
$v =~ s/\n/<br>/g;
|
||||
$v = 1 if ( $v eq '' );
|
||||
|
||||
if ( $n eq 'param' ) {
|
||||
my ( $type, $name, @v ) = split( /\s+/, $v );
|
||||
$v = { "type" => $type, "name" => $name, "desc" => join(' ', @v) };
|
||||
$n = "params";
|
||||
} elsif ( $n eq 'example' ) {
|
||||
$v = { "code" => $v };
|
||||
$n = "examples";
|
||||
}
|
||||
|
||||
if ( $n eq 'desc' || $n eq 'before' || $n eq 'after' || $n eq 'result' ) {
|
||||
my @e = @{$ret{'examples'}};
|
||||
$e[ $#e ]{ $n } = $v;
|
||||
} else {
|
||||
|
||||
if ( exists $ret{ $n } ) {
|
||||
if ( ref $ret{ $n } eq 'ARRAY' ) {
|
||||
push( @{$ret{ $n }}, $v );
|
||||
} else {
|
||||
$ret{ $n } = [ $ret{ $n }, $v ];
|
||||
}
|
||||
} else {
|
||||
$ret{ $n } = $v;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
$c =~ s/\s*!!!$//;
|
||||
$c =~ s/\n\n/<br><br>/g;
|
||||
$c =~ s/\n/ /g;
|
||||
|
||||
$ret{ 'desc' } = $c;
|
||||
|
||||
if ( $c =~ /^(.*?(\.|$))/s ) {
|
||||
$ret{ 'short' } = $1;
|
||||
#$ret{ 'short' } =~ s/<br>/ /g;
|
||||
}
|
||||
|
||||
#print "###\n" . $c . "\n###\n";
|
||||
|
||||
if ( exists $ret{ 'name' } ) {
|
||||
push( @c, \%ret );
|
||||
}
|
||||
}
|
||||
|
||||
open( F, ">" . ($ARGV[1] || "jquery-docs-json.js") );
|
||||
print F Dumper( \@c );
|
||||
close( F );
|
||||
|
||||
$Data::Dumper::Indent = 0;
|
||||
|
||||
open( F, ">" . ($ARGV[2] || "jquery-docs-jsonp.js") );
|
||||
print F "docsLoaded(" . Dumper( \@c ) . ")";
|
||||
close( F );
|
||||
Reference in New Issue
Block a user