* [nft PATCH 0/2] First attempt at synopsis fixup
@ 2017-08-17 13:38 Phil Sutter
2017-08-17 13:38 ` [nft PATCH 1/2] nft.8: Fix and enhance synopsis section Phil Sutter
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Phil Sutter @ 2017-08-17 13:38 UTC (permalink / raw)
To: Pablo Neira Ayuso; +Cc: netfilter-devel
The first patch is to be considered a fix and optimization, the second
one is rather experimental and I would like to hear your thoughts about
it (some details as to why I'm not happy with it can be found below it's
commit message).
Phil Sutter (2):
nft.8: Fix and enhance synopsis section
nft.8: Make use of synopfragment in synopsis section
doc/nft.xml | 98 +++++++++++++++++++++++++++++++++++++++++++------------------
1 file changed, 70 insertions(+), 28 deletions(-)
--
2.13.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* [nft PATCH 1/2] nft.8: Fix and enhance synopsis section
2017-08-17 13:38 [nft PATCH 0/2] First attempt at synopsis fixup Phil Sutter
@ 2017-08-17 13:38 ` Phil Sutter
2017-08-28 16:58 ` Pablo Neira Ayuso
2017-08-17 13:39 ` [nft PATCH RFC 2/2] nft.8: Make use of synopfragment in " Phil Sutter
2017-08-17 17:37 ` [nft PATCH 0/2] First attempt at synopsis fixup Phil Sutter
2 siblings, 1 reply; 7+ messages in thread
From: Phil Sutter @ 2017-08-17 13:38 UTC (permalink / raw)
To: Pablo Neira Ayuso; +Cc: netfilter-devel
This patch addresses shortcomings in the main synopsis section
illustrating possible invocations of nft command:
- Fix font styles to correctly put options into bold font and meta
characters (brackets, pipes) into normal font.
- Add missing options to synopsis line.
- Use curly braces where either one of the alternatives is required.
- Remove choice="opt" attribute since that is the default anyway.
- Note that --includepath option is allowed to be given multiple times.
Signed-off-by: Phil Sutter <phil@nwl.cc>
---
doc/nft.xml | 74 +++++++++++++++++++++++++++++++++++++++++--------------------
1 file changed, 50 insertions(+), 24 deletions(-)
diff --git a/doc/nft.xml b/doc/nft.xml
index d7aae3f03b8c1..191a4c12f8487 100644
--- a/doc/nft.xml
+++ b/doc/nft.xml
@@ -45,40 +45,66 @@ vi:ts=4 sw=4
<refsynopsisdiv>
<cmdsynopsis>
<command>nft</command>
- <arg choice="opt">
- <option>-n | --numeric</option>
- </arg>
- <arg choice="opt">
- <option>-s | --stateless</option>
- </arg>
- <arg choice="opt">
- <option>-c | --check</option>
- </arg>
- <arg choice="opt">
- <option>[-I | --includepath]</option>
+ <group>
+ <arg><option>-n</option></arg>
+ <arg><option>--numeric</option></arg>
+ </group>
+ <group>
+ <arg><option>-N</option></arg>
+ <arg><option>--reversedns</option></arg>
+ </group>
+ <group>
+ <arg><option>-s</option></arg>
+ <arg><option>--stateless</option></arg>
+ </group>
+ <group>
+ <arg><option>-c</option></arg>
+ <arg><option>--check</option></arg>
+ </group>
+ <group>
+ <arg><option>-a</option></arg>
+ <arg><option>--handle</option></arg>
+ </group>
+ <group>
+ <arg><option>-e</option></arg>
+ <arg><option>--echo</option></arg>
+ </group>
+ <arg>
+ <group choice="req">
+ <arg><option>-I</option></arg>
+ <arg><option>--includepath</option></arg>
+ </group>
<replaceable>directory</replaceable>
</arg>
<group>
- <arg choice="opt">
- <option>[-f | --file]</option>
+ <arg>
+ <group choice="req">
+ <arg><option>-f</option></arg>
+ <arg><option>--file</option></arg>
+ </group>
<replaceable>filename</replaceable>
</arg>
- <arg choice="opt">
- <option>[-i | --interactive]</option>
+ <arg>
+ <group choice="req">
+ <arg><option>-i</option></arg>
+ <arg><option>--interactive</option></arg>
+ </group>
</arg>
- <arg choice="opt" rep="repeat">
+ <arg rep="repeat">
<replaceable>cmd</replaceable>
</arg>
</group>
</cmdsynopsis>
<cmdsynopsis>
<command>nft</command>
- <arg choice="opt">
- <option>-h | --help</option>
- </arg>
- <arg choice="opt">
- <option>-v | --version</option>
- </arg>
+ <group>
+ <arg><option>-h</option></arg>
+ <arg><option>--help</option></arg>
+ </group>
+ <group>
+ <arg><option>-v</option></arg>
+ <arg><option>--version</option></arg>
+ </group>
</cmdsynopsis>
</refsynopsisdiv>
@@ -141,7 +167,7 @@ vi:ts=4 sw=4
</listitem>
</varlistentry>
<varlistentry>
- <term><option>-N</option></term>
+ <term><option>-N, --reversedns</option></term>
<listitem>
<para>
Translate IP addresses to names. Usually requires network traffic for DNS lookup.
@@ -170,7 +196,7 @@ vi:ts=4 sw=4
<term><option>-I, --includepath <replaceable>directory</replaceable></option></term>
<listitem>
<para>
- Add the directory <replaceable>directory</replaceable> to the list of directories to be searched for included files.
+ Add the directory <replaceable>directory</replaceable> to the list of directories to be searched for included files. This option may be specified multiple times.
</para>
</listitem>
</varlistentry>
--
2.13.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [nft PATCH RFC 2/2] nft.8: Make use of synopfragment in synopsis section
2017-08-17 13:38 [nft PATCH 0/2] First attempt at synopsis fixup Phil Sutter
2017-08-17 13:38 ` [nft PATCH 1/2] nft.8: Fix and enhance synopsis section Phil Sutter
@ 2017-08-17 13:39 ` Phil Sutter
2017-08-28 16:58 ` Pablo Neira Ayuso
2017-08-17 17:37 ` [nft PATCH 0/2] First attempt at synopsis fixup Phil Sutter
2 siblings, 1 reply; 7+ messages in thread
From: Phil Sutter @ 2017-08-17 13:39 UTC (permalink / raw)
To: Pablo Neira Ayuso; +Cc: netfilter-devel
This introduces an element of indirection to list common options in
a separate place and allows to put each of the three invocation variants
onto it's own line.
Signed-off-by: Phil Sutter <phil@nwl.cc>
---
While I think readability has increased quite a bit, I don't like how
docbook formats these references: Having a name at the reference point
but not at the target is kind of unintuitive.
Another issue is that I couldn't get it to print the repeat marker
('...') inside of the brackets when referencing OPTIONS - it would end
up past the closing bracket, which appears wrong to my eye. So I used
this double indirection as one would without that repeat marker, which
didn't really improve it.
---
doc/nft.xml | 112 ++++++++++++++++++++++++++++++++++--------------------------
1 file changed, 64 insertions(+), 48 deletions(-)
diff --git a/doc/nft.xml b/doc/nft.xml
index 191a4c12f8487..2942849d8b15f 100644
--- a/doc/nft.xml
+++ b/doc/nft.xml
@@ -45,67 +45,83 @@ vi:ts=4 sw=4
<refsynopsisdiv>
<cmdsynopsis>
<command>nft</command>
- <group>
- <arg><option>-n</option></arg>
- <arg><option>--numeric</option></arg>
- </group>
- <group>
- <arg><option>-N</option></arg>
- <arg><option>--reversedns</option></arg>
- </group>
- <group>
- <arg><option>-s</option></arg>
- <arg><option>--stateless</option></arg>
- </group>
- <group>
- <arg><option>-c</option></arg>
- <arg><option>--check</option></arg>
- </group>
- <group>
- <arg><option>-a</option></arg>
- <arg><option>--handle</option></arg>
- </group>
- <group>
- <arg><option>-e</option></arg>
- <arg><option>--echo</option></arg>
+ <arg>
+ <synopfragmentref linkend="opts">OPTIONS</synopfragmentref>
+ </arg>
+ <group choice="req">
+ <arg><option>-f</option></arg>
+ <arg><option>--file</option></arg>
</group>
+ <replaceable>filename</replaceable>
+ </cmdsynopsis>
+ <cmdsynopsis>
+ <command>nft</command>
<arg>
- <group choice="req">
- <arg><option>-I</option></arg>
- <arg><option>--includepath</option></arg>
- </group>
- <replaceable>directory</replaceable>
+ <synopfragmentref linkend="opts">OPTIONS</synopfragmentref>
</arg>
- <group>
- <arg>
- <group choice="req">
- <arg><option>-f</option></arg>
- <arg><option>--file</option></arg>
- </group>
- <replaceable>filename</replaceable>
- </arg>
- <arg>
- <group choice="req">
- <arg><option>-i</option></arg>
- <arg><option>--interactive</option></arg>
- </group>
- </arg>
- <arg rep="repeat">
- <replaceable>cmd</replaceable>
- </arg>
+ <group choice="req">
+ <arg><option>-i</option></arg>
+ <arg><option>--interactive</option></arg>
</group>
</cmdsynopsis>
<cmdsynopsis>
<command>nft</command>
- <group>
+ <arg>
+ <synopfragmentref linkend="opts">OPTIONS</synopfragmentref>
+ </arg>
+ <arg choice="plain" rep="repeat">
+ <replaceable>cmd</replaceable>
+ </arg>
+ </cmdsynopsis>
+ <cmdsynopsis>
+ <command>nft</command>
+ <group choice="req">
<arg><option>-h</option></arg>
<arg><option>--help</option></arg>
- </group>
- <group>
<arg><option>-v</option></arg>
<arg><option>--version</option></arg>
</group>
</cmdsynopsis>
+ <cmdsynopsis>
+ <synopfragment id="opts">
+ <arg choice="plain" rep="repeat">
+ <synopfragmentref linkend="opt">OPTION</synopfragmentref>
+ </arg>
+ </synopfragment>
+ <synopfragment id="opt">
+ <group>
+ <arg><option>-n</option></arg>
+ <arg><option>--numeric</option></arg>
+ </group>
+ <group>
+ <arg><option>-N</option></arg>
+ <arg><option>--reversedns</option></arg>
+ </group>
+ <group>
+ <arg><option>-s</option></arg>
+ <arg><option>--stateless</option></arg>
+ </group>
+ <group>
+ <arg><option>-c</option></arg>
+ <arg><option>--check</option></arg>
+ </group>
+ <group>
+ <arg><option>-a</option></arg>
+ <arg><option>--handle</option></arg>
+ </group>
+ <group>
+ <arg><option>-e</option></arg>
+ <arg><option>--echo</option></arg>
+ </group>
+ <arg>
+ <group choice="req">
+ <arg><option>-I</option></arg>
+ <arg><option>--includepath</option></arg>
+ </group>
+ <replaceable>directory</replaceable>
+ </arg>
+ </synopfragment>
+ </cmdsynopsis>
</refsynopsisdiv>
<refsect1>
--
2.13.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [nft PATCH 0/2] First attempt at synopsis fixup
2017-08-17 13:38 [nft PATCH 0/2] First attempt at synopsis fixup Phil Sutter
2017-08-17 13:38 ` [nft PATCH 1/2] nft.8: Fix and enhance synopsis section Phil Sutter
2017-08-17 13:39 ` [nft PATCH RFC 2/2] nft.8: Make use of synopfragment in " Phil Sutter
@ 2017-08-17 17:37 ` Phil Sutter
2 siblings, 0 replies; 7+ messages in thread
From: Phil Sutter @ 2017-08-17 17:37 UTC (permalink / raw)
To: Pablo Neira Ayuso; +Cc: netfilter-devel
On Thu, Aug 17, 2017 at 03:38:58PM +0200, Phil Sutter wrote:
> The first patch is to be considered a fix and optimization, the second
> one is rather experimental and I would like to hear your thoughts about
> it (some details as to why I'm not happy with it can be found below it's
> commit message).
Since I assume nobody likes to apply the patches individually and
compile the sources just to see the difference in man page output, here
are two screen shots:
After first patch (only font style fix):
http://nwl.cc/~n0-1/nft.8_style_fix.png
(No idea how one could add hints for better spots to break long lines.)
After the second one (with added indirections):
http://nwl.cc/~n0-1/nft.8_indirection.png
Cheers, Phil
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [nft PATCH RFC 2/2] nft.8: Make use of synopfragment in synopsis section
2017-08-17 13:39 ` [nft PATCH RFC 2/2] nft.8: Make use of synopfragment in " Phil Sutter
@ 2017-08-28 16:58 ` Pablo Neira Ayuso
0 siblings, 0 replies; 7+ messages in thread
From: Pablo Neira Ayuso @ 2017-08-28 16:58 UTC (permalink / raw)
To: Phil Sutter; +Cc: netfilter-devel
On Thu, Aug 17, 2017 at 03:39:00PM +0200, Phil Sutter wrote:
> This introduces an element of indirection to list common options in
> a separate place and allows to put each of the three invocation variants
> onto it's own line.
>
> Signed-off-by: Phil Sutter <phil@nwl.cc>
> ---
> While I think readability has increased quite a bit, I don't like how
> docbook formats these references: Having a name at the reference point
> but not at the target is kind of unintuitive.
Feel free to send a patch to convert this to use a more orthodox
markup language for manpages.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [nft PATCH 1/2] nft.8: Fix and enhance synopsis section
2017-08-17 13:38 ` [nft PATCH 1/2] nft.8: Fix and enhance synopsis section Phil Sutter
@ 2017-08-28 16:58 ` Pablo Neira Ayuso
2017-08-28 21:25 ` Phil Sutter
0 siblings, 1 reply; 7+ messages in thread
From: Pablo Neira Ayuso @ 2017-08-28 16:58 UTC (permalink / raw)
To: Phil Sutter; +Cc: netfilter-devel
On Thu, Aug 17, 2017 at 03:38:59PM +0200, Phil Sutter wrote:
> This patch addresses shortcomings in the main synopsis section
> illustrating possible invocations of nft command:
>
> - Fix font styles to correctly put options into bold font and meta
> characters (brackets, pipes) into normal font.
>
> - Add missing options to synopsis line.
>
> - Use curly braces where either one of the alternatives is required.
>
> - Remove choice="opt" attribute since that is the default anyway.
>
> - Note that --includepath option is allowed to be given multiple times.
I'm going to apply this.
I'm undecided with 2/2, I don't remember to have seen such
indirections in other manpages?
Thanks.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [nft PATCH 1/2] nft.8: Fix and enhance synopsis section
2017-08-28 16:58 ` Pablo Neira Ayuso
@ 2017-08-28 21:25 ` Phil Sutter
0 siblings, 0 replies; 7+ messages in thread
From: Phil Sutter @ 2017-08-28 21:25 UTC (permalink / raw)
To: Pablo Neira Ayuso; +Cc: netfilter-devel
Hi Pablo,
On Mon, Aug 28, 2017 at 06:58:53PM +0200, Pablo Neira Ayuso wrote:
> On Thu, Aug 17, 2017 at 03:38:59PM +0200, Phil Sutter wrote:
> > This patch addresses shortcomings in the main synopsis section
> > illustrating possible invocations of nft command:
> >
> > - Fix font styles to correctly put options into bold font and meta
> > characters (brackets, pipes) into normal font.
> >
> > - Add missing options to synopsis line.
> >
> > - Use curly braces where either one of the alternatives is required.
> >
> > - Remove choice="opt" attribute since that is the default anyway.
> >
> > - Note that --includepath option is allowed to be given multiple times.
>
> I'm going to apply this.
Thanks!
> I'm undecided with 2/2,
>From my side, this is according to (the hidden) plan. :)
> I don't remember to have seen such indirections in other manpages?
>From iproute2 (as said, I'm biased), I'm used to stuff like this:
| nft [ OPTIONS ] ...
|
| OPTIONS := [ OPTIONS ] OPTION
| OPTION := [ -a | -e | -n ]
Maybe for others it's more of an obstacle to parse this recursive style,
it really seems intuitive to me at least. And it's a quite efficient way
to define the syntax in a very precise manner.
Of course it's nice to have some layer of abstraction to allow for
formatting into other markups, like HTML for example. So I'll have a
look at alternatives which will keep that flexibility yet allow for the
style I prefer (unless you consider it not much more readable than what
docbook offers).
Thanks, Phil
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2017-08-28 21:25 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-17 13:38 [nft PATCH 0/2] First attempt at synopsis fixup Phil Sutter
2017-08-17 13:38 ` [nft PATCH 1/2] nft.8: Fix and enhance synopsis section Phil Sutter
2017-08-28 16:58 ` Pablo Neira Ayuso
2017-08-28 21:25 ` Phil Sutter
2017-08-17 13:39 ` [nft PATCH RFC 2/2] nft.8: Make use of synopfragment in " Phil Sutter
2017-08-28 16:58 ` Pablo Neira Ayuso
2017-08-17 17:37 ` [nft PATCH 0/2] First attempt at synopsis fixup Phil Sutter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).