stas        02/01/30 08:55:04

  Modified:    lib/DocSet Config.pm Doc.pm DocSet.pm
               lib/DocSet/Source HTML.pm
  Log:
  - sync with DocSet 0.10
  -----------------------
  - fix a bug where hidden chapters were added to the generated PDFs.
  
  - fixed paths like .././foo to be ../foo when handed to the templates.
  
  - src HTML docs are parsed for:
  
    <head>
    ...
    <meta name="description" content="abstract goes here">
    ...
    </head>
  
    so now in templates we have doc.meta.abstract if provided by the
    source doc.
  
  Revision  Changes    Path
  1.3       +0 -1      modperl-docs/lib/DocSet/Config.pm
  
  Index: Config.pm
  ===================================================================
  RCS file: /home/cvs/modperl-docs/lib/DocSet/Config.pm,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Config.pm 24 Jan 2002 18:11:24 -0000      1.2
  +++ Config.pm 30 Jan 2002 16:55:04 -0000      1.3
  @@ -212,7 +212,6 @@
           # as long as it's set in the config file
           $self->{dir}{abs_doc_root} = 
               join '/', ("..") x ($self->{dir}{dst_html} =~ tr|/|/|);
  -
       }
   
   }
  
  
  
  1.3       +2 -1      modperl-docs/lib/DocSet/Doc.pm
  
  Index: Doc.pm
  ===================================================================
  RCS file: /home/cvs/modperl-docs/lib/DocSet/Doc.pm,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Doc.pm    24 Jan 2002 18:11:24 -0000      1.2
  +++ Doc.pm    30 Jan 2002 16:55:04 -0000      1.3
  @@ -39,7 +39,8 @@
   
       my $rel_doc_root  = $self->{rel_doc_root};
       my $abs_doc_root  = $self->{abs_doc_root};
  -    $abs_doc_root .= "/$rel_doc_root" if defined $rel_doc_root;
  +    $abs_doc_root .= "/$rel_doc_root"
  +        if defined $rel_doc_root and $rel_doc_root ne '.';
   
       $self->{dir} = {
           abs_doc_root => $abs_doc_root,
  
  
  
  1.3       +6 -6      modperl-docs/lib/DocSet/DocSet.pm
  
  Index: DocSet.pm
  ===================================================================
  RCS file: /home/cvs/modperl-docs/lib/DocSet/DocSet.pm,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- DocSet.pm 24 Jan 2002 18:11:24 -0000      1.2
  +++ DocSet.pm 30 Jan 2002 16:55:04 -0000      1.3
  @@ -209,15 +209,15 @@
   
       # destination paths
       my $rel_dst_path = "$basename.$trg_ext";
  -    my $rel_doc_root = "./";
       $rel_dst_path =~ s|^\./||; # strip the leading './'
  -    $rel_doc_root .= join '/', ("..") x ($rel_dst_path =~ tr|/|/|);
  -    $rel_doc_root =~ s|/$||; # remove the last '/'
       my $dst_path  = "$dst_root/$rel_dst_path";
   
  -    # push to the list of final chapter paths
  -    # e.g. used by PS/PDF build, which needs all the chapters
  -    $self->trg_chapters($rel_dst_path);
  +    my $rel_doc_root = join '/', ("..") x ($rel_dst_path =~ tr|/|/|);
  +    $rel_doc_root = "." unless $rel_doc_root;
  +
  +    # push to the list of final chapter paths e.g. used by PS/PDF
  +    # build, which needs all the non-hidden chapters
  +    $self->trg_chapters($rel_dst_path) unless $hidden;
   
       ### to rebuild or not to rebuild
       my($should_update, $reason) = should_update($src_path, $dst_path);
  
  
  
  1.3       +18 -10    modperl-docs/lib/DocSet/Source/HTML.pm
  
  Index: HTML.pm
  ===================================================================
  RCS file: /home/cvs/modperl-docs/lib/DocSet/Source/HTML.pm,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- HTML.pm   24 Jan 2002 18:11:24 -0000      1.2
  +++ HTML.pm   30 Jan 2002 16:55:04 -0000      1.3
  @@ -19,37 +19,45 @@
       #print Pod::POM::View::HTML->print($pom);
   
       my $title = $self->{parsed_tree}->{title};
  +
       $self->{meta} = 
           {
  -         title  => $title,
  -         stitle => $title, # stitle is the same in docs
  -         link   => $self->{rel_dst_path},
  +         title    => $title,
  +         stitle   => $title, # stitle is the same as title in docs
  +         abstract => $self->{parsed_tree}->{abstract} || '',
  +         link     => $self->{rel_dst_path},
           };
   
       # there is no autogenerated TOC for HTML files
   }
   
  +# currently retrieves these parts from the source HTML
  +# head.title
  +# head.meta.description
  +# body
   sub parse {
       my($self) = @_;
       
       # already parsed
       return if exists $self->{parsed_tree} && $self->{parsed_tree};
   
  -    # print ${ $self->{content} };
  -    #my %segments = map {$_ => ''} qw(title body);
  -
       # this one retrievs the body and the title of the given html
       require HTML::Parser;
  -    sub start_h {}
  +    sub start_h {
  +        my($self, $tagname, $attr) = @_;
  +        if ($tagname eq 'meta' && lc $attr->{name} eq 'description') {
  +            $self->{parsed_tree}->{abstract} = $attr->{content};
  +        }
  +    }
       sub end_h {
           my($self, $tagname, $skipped_text) = @_;
           # use $p itself as a tmp storage (ok according to the docs)
           $self->{parsed_tree}->{$tagname} = $skipped_text;
       }
       my $p = HTML::Parser->new(api_version => 3,
  -                              report_tags => [qw(title body)],
  -                              start_h => [\&start_h],
  -                              end_h   => [\&end_h, 
"self,tagname,skipped_text"],
  +                              report_tags => [qw(title body meta)],
  +                              start_h => [\&start_h, "self,tagname,attr"],
  +                              end_h   => [\&end_h,   
"self,tagname,skipped_text"],
                                );
       # Parse document text chunk by chunk
       $p->parse(${ $self->{content} });
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to