Factor wrap_in_para_itemlist_markup() out of generate_markup().
[privoxy.git] / utils / changelog2doc.pl
index ddd680e..6ed30c0 100755 (executable)
@@ -1,6 +1,6 @@
 #!/usr/bin/perl
 
-# $Id: changelog2doc.pl,v 1.1 2008/06/09 17:53:02 fabiankeil Exp $
+# $Id: changelog2doc.pl,v 1.4 2010/10/31 13:26:07 fabiankeil Exp $
 # $Source: /cvsroot/ijbswa/current/utils/changelog2doc.pl,v $
 
 # Filter to parse the ChangeLog and translate the changes for
@@ -27,35 +27,47 @@ sub read_entries() {
 
         if (/^-/) {
             $i++; 
-            $entries[$i] = '';
+            $entries[$i]{description} = '';
         }
         s@^-?\s*@@;
 
-        $entries[$i] .= $_;
+        $entries[$i]{description} .= $_;
     }
     print "Parsed " . @entries . " entries.\n";
 }
 
+sub create_listitem_markup($) {
+    my $entry = shift;
+    my $description = $entry->{description};
+
+    chomp $description;
+
+    $description =~ s@\n@\n    @g;
+    return "  <listitem>\n" .
+           "   <para>\n" .
+           "    " . $description . "\n" .
+           "   </para>\n" .
+           "  </listitem>\n";
+}
+
+sub wrap_in_para_itemlist_markup($) {
+    my $content = shift;
+    my $markup = "<para>\n" .
+                 " <itemizedlist>\n" .
+                 "  $content" .
+                 " </itemizedlist>\n" .
+                 "</para>\n";
+    return $markup;
+}
+
 sub generate_markup() {
     my $markup = '';
 
-    $markup .= "<para>\n" .
-               " <itemizedlist>\n";
-
     foreach my $entry (@entries) {
-        chomp $entry;
-        $entry =~ s@\n@\n    @g;
-        $markup .= "  <listitem>\n" .
-                   "   <para>\n" .
-                   "    " . $entry . "\n" .
-                   "   </para>\n" .
-                   "  </listitem>\n"
-                   ;
+        $markup .= create_listitem_markup(\%{$entry});
     }
-    $markup .= " </itemizedlist>\n" .
-               "</para>\n";
 
-    print $markup;
+    print wrap_in_para_itemlist_markup($markup);
 }
 
 sub main () {