btrfs-progs: Documentation: fix broken conversion
authorPeter Wu <peter@lekensteyn.nl>
Mon, 5 Jan 2015 14:10:09 +0000 (15:10 +0100)
committerDavid Sterba <dsterba@suse.cz>
Fri, 9 Jan 2015 17:36:50 +0000 (18:36 +0100)
Fixes various formatting issues:

Fixes quoting issues in various manpages. Before/After excerpts for
mkfs.btrfs(8), btrfs-qgroup(8):

    mkfs.btrfs [-A|--alloc-start '<alloc-start>']
    mkfs.btrfs [-A|--alloc-start <alloc-start>]
    id 0/<subvolume id>''
    id 0/<subvolume id>
    If multiple '<attr>'s is given, use comma to separate.
    If multiple <attr>s is given, use comma to separate.

The one that is most apparent is the removal of text in
btrfs-subvolume(8) and others. Before/After:

    list [options] [-G <value>] [-C <value>] [--sort=rootid,gen,ogen,path] <path>
    list [options] [-G [+|-]<value>] [-C [+|-]<value>] [--sort=rootid,gen,ogen,path] <path>
    create [-i <qgroupid>] <name>
    create [-i <qgroupid>] [<dest>]<name>

This happens because `<foo>` was replaced by `'<foo>'` in the sed
expression, which is then treated as a constrained quote. As a result,
the `[...]` before the string gets interpreted as "quoted text
attributes".

In this patch, the sed expression is dropped and asciidoc is configured
to recognize `<...>` as a unconstrained quoted string (such that
`<attr>s` is correctly emphasized) and to avoid adding quotes in
contexts where it is not needed.

A remaining problem is that some texts (the one between brackets) do not
add the emphasis for `<...>`. While this could be solved by replacing
`[` and `]` with `&#91;` and `&#93;` using sed, it introduces formatting
problems in btrfs-zero-log(8) because the context is ignored.

Signed-off-by: Peter Wu <peter@lekensteyn.nl>
Signed-off-by: David Sterba <dsterba@suse.cz>
Documentation/Makefile
Documentation/asciidoc.conf

index ef4f1bd..72ab77b 100644 (file)
@@ -113,10 +113,8 @@ clean:
        $(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<
 
 %.xml : %.txt asciidoc.conf
-       $(QUIET_ASCIIDOC)$(RM) $@.tmp[12] $@ && \
-       sed -e "s/\(<[^>]\+>\)/'\1'/g" < $< > $@.tmp1 && \
+       $(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
        $(ASCIIDOC) -b docbook -d manpage -f asciidoc.conf \
                $(ASCIIDOC_EXTRA) -abtrfs_version=$(BTRFS_VERSION) \
-               -o $@.tmp2 $@.tmp1 && \
-       mv $@.tmp2 $@ && \
-       rm -f -- $@.tmp1
+               -o $@+ $< && \
+       mv $@+ $@
index 313f185..1ea7459 100644 (file)
 [macros]
 (?su)[\\]?(?P<name>linkbtrfs):(?P<target>\S*?)\[(?P<attrlist>.*?)\]=
 
+[tags]
+bracket-emphasis={1?[{1}]}<emphasis>&lt;|&gt;</emphasis>
+
+[quotes]
+&lt;|&gt;=#bracket-emphasis
+
 [attributes]
 asterisk=&#42;
 plus=&#43;