]> xenbits.xensource.com Git - people/liuw/xen.git/commitdiff
docs/parse-support-md: Allow definition lists for features
authorIan Jackson <ian.jackson@eu.citrix.com>
Mon, 3 Dec 2018 12:05:41 +0000 (12:05 +0000)
committerIan Jackson <ian.jackson@eu.citrix.com>
Mon, 10 Dec 2018 15:13:07 +0000 (15:13 +0000)
Now, as well as a `code block', with
  |    Something: some status
we tolerate a definition list which in pandoc terms looks like this
  |Term
  |: Definition

This ought not usually be be used for features but it will be useful
for linking to the release notes, because markup is not allowed in
code blocks but is in definitions.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Juergen Gross <jgross@suse.com>
docs/parse-support-md

index 16dd99f063bd9fda386d41702904745085100ce7..84f0a96a0fc8e1c84b35139bc75512ff4fbecd19 100755 (executable)
@@ -191,6 +191,33 @@ sub ri_CodeBlock {
     }
 }
 
+sub ri_DefinitionList {
+    my ($c) = @_;
+    foreach my $defent (@$c) {
+        my ($term, $defns) = @$defent;
+        my $descr =
+            join ' ',
+            map { $_->{c} }
+            grep { $_->{t} eq 'Str' }
+            @$term;
+        push @insections,
+            {
+             Key => descr2key($descr),
+             Headline => $term,
+            };
+        die "multiple definitions in definition list definition"
+            if @$defns > 1;
+        my $defn = $defns->[0];
+        die "multiple paras in definition list definition"
+            if @$defn > 1;
+        my $defnp = $defn->[0];
+        die "only understand plain definition not $defnp->{t} ?"
+            unless $defnp->{t} eq 'Plain';
+        parse_feature_entry $defnp->{c};
+        pop @insections;
+    }
+}
+
 sub process_unknown {
     my ($c, $e) = @_;
     $had_unknown = Dumper($e);