From: "Jean-Noël Avila via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: "Jean-Noël Avila" <jn.avila@free.fr>
Subject: [PATCH v2 0/3] doc: introducing synopsis para
Date: Wed, 24 Jul 2024 21:06:16 +0000 [thread overview]
Message-ID: <pull.1766.v2.git.1721855179.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.1766.git.1721774680.gitgitgadget@gmail.com>
Following several issues with the way the formatting of synopsis is done in
the manpages that were recently reworked, this patch series introduces the
processing of a new custom paragraph attribute 'synopsis'.
This extension is added to asciidoc and asciidoctor and lets write the
synopsis of the commands without any typeset. The git-init and git-clone
manpages are converted to this new system.
Changes since V1:
* switch to sed for asciidoc filter and refine the regex for support under
macOS
Jean-Noël Avila (3):
doc: introduce a synopsis custom paragraph attribute
doc: update the guidelines to reflect the current formatting rules
doc: apply synopsis simplification on git-clone and git-init
Documentation/CodingGuidelines | 34 ++++++++++++++-----------
Documentation/asciidoc.conf | 12 +++++++++
Documentation/asciidoctor-extensions.rb | 17 +++++++++++++
Documentation/git-clone.txt | 20 +++++++--------
Documentation/git-init.txt | 12 ++++-----
t/t0450-txt-doc-vs-help.sh | 11 +++-----
6 files changed, 68 insertions(+), 38 deletions(-)
base-commit: ad57f148c6b5f8735b62238dda8f571c582e0e54
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1766%2Fjnavila%2Fdoc_synopsis_para-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1766/jnavila/doc_synopsis_para-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/1766
Range-diff vs v1:
1: 704f0333ef1 ! 1: aba144f4ff3 doc: introduce a synopsis custom paragraph attribute
@@ Documentation/asciidoc.conf: git-relative-html-prefix=
+ifdef::backend-docbook[]
+ifdef::doctype-manpage[]
+[paradef-default]
-+#synopsis-style=template="verseparagraph",filter="sed -E 's!<[a-z-]+>!<emphasis>\\0</emphasis>!g' -E 's!([a-z-]+)!<literal>\\1</literal>!g'"
-+synopsis-style=template="verseparagraph",filter="perl -pe 's!([\[\] |()>]|^)([=+a-zA-Z0-9-:+=]+)!\\1<literal>\\2</literal>!g;s!(<\\;[a-zA-Z0-9-.]+>\\;)!<emphasis>\\1</emphasis>!g'"
-+#synopsis-style=template="verseparagraph"
++synopsis-style=template="verseparagraph",filter="sed -E 's!([\[ |()>]|^|\])([-=a-zA-Z0-9:+.]+)!\\1<literal>\\2</literal>!g;s!<[-a-zA-Z0-9.]+>!<emphasis>\\0</emphasis>!g'"
+endif::doctype-manpage[]
+endif::backend-docbook[]
+
+ifdef::backend-xhtml11[]
+[paradef-default]
-+synopsis-style=template="verseparagraph",filter="perl -pe 's!([\[\] |()>]|^)([+a-zA-Z0-9-:+=]+)!\\1<code>\\2</code>!g;s!(<\\;[a-zA-z0-9-.]+>\\;)!<em>\\1</em>!g'"
++synopsis-style=template="verseparagraph",filter="sed -E 's!([\[ |()>]|^|\])([-=a-zA-Z0-9:+.]+)!\\1<code>\\2</code>!g;s!<[-a-zA-Z0-9.]+>!<em>\\0</em>!g'"
+endif::backend-xhtml11[]
## Documentation/asciidoctor-extensions.rb ##
@@ Documentation/asciidoctor-extensions.rb: module Git
+
+ def process parent, reader, attrs
+ outlines = reader.lines.map do |l|
-+ l.gsub(/([\[\] |()>]|^)([a-zA-Z0-9\-:+=]+)/, '\\1{empty}`\\2`{empty}')
-+ .gsub(/(<[a-zA-Z0-9\-.]+>)/, '__\\1__')
++ l.gsub(/([\[\] |()>]|^)([-a-zA-Z0-9:+=.]+)/, '\\1{empty}`\\2`{empty}')
++ .gsub(/(<[-a-zA-Z0-9.]+>)/, '__\\1__')
+ .gsub(']', ']{empty}')
+ end
+ create_block parent, :verse, outlines, attrs
@@ Documentation/asciidoctor-extensions.rb: module Git
postprocessor Git::Documentation::DocumentPostProcessor
end
- ## Documentation/git-clone.txt ##
-@@ Documentation/git-clone.txt: SYNOPSIS
- [++--recurse-submodules++[++=++__<pathspec>__]] [`--`[`no-`]`shallow-submodules`]
- [`--`[`no-`]`remote-submodules`] [`--jobs` _<n>_] [`--sparse`] [`--`[`no-`]`reject-shallow`]
- [++--filter=++__<filter-spec>__] [`--also-filter-submodules`]] [`--`] _<repository>_
-- [_<directory>_]
-+ [__<directory>__]
-
- DESCRIPTION
- -----------
-
- ## Documentation/git-init.txt ##
-@@ Documentation/git-init.txt: SYNOPSIS
- [`--separate-git-dir` _<git-dir>_] [++--object-format=++__<format>__]
- [++--ref-format=++__<format>__]
- [`-b` _<branch-name>_ | ++--initial-branch=++__<branch-name>__]
-- [++--shared++[++=++__<permissions>__]] [_<directory>_]
-+ [`--shared`[++=++__<permissions>__]] [__<directory>__]
-
-
- DESCRIPTION
-
## t/t0450-txt-doc-vs-help.sh ##
@@ t/t0450-txt-doc-vs-help.sh: txt_to_synopsis () {
fi &&
b2t="$(builtin_to_txt "$builtin")" &&
sed -n \
- -e '/^\[verse\]$/,/^$/ {
-+ -e '/^\[\(verse\|synopsis\)\]$/,/^$/ {
++ -E '/^\[(verse|synopsis)\]$/,/^$/ {
/^$/d;
- /^\[verse\]$/d;
- s/_//g;
- s/++//g;
- s/`//g;
-+ /^\[\(verse\|synopsis\)\]$/d;
- s/{litdd}/--/g;
- s/'\''\(git[ a-z-]*\)'\''/\1/g;
+- s/{litdd}/--/g;
+- s/'\''\(git[ a-z-]*\)'\''/\1/g;
++ /^\[(verse|synopsis)\]$/d;
++ s/\{litdd\}/--/g;
++ s/'\''(git[ a-z-]*)'\''/\1/g;
+ p;
+ }' \
2: b0547422e5c = 2: b6387bef40d doc: update the guidelines to reflect the current formatting rules
3: 3bcbe455747 ! 3: 2a61e0945de doc: apply synopsis simplification on git-clone and git-init
@@ Documentation/git-clone.txt: git-clone - Clone a repository into a new directory
- [`-l`] [`-s`] [`--no-hardlinks`] [`-q`] [`-n`] [`--bare`] [`--mirror`]
- [`-o` _<name>_] [`-b` _<name>_] [`-u` _<upload-pack>_] [`--reference` _<repository>_]
- [`--dissociate`] [`--separate-git-dir` _<git-dir>_]
-- [`--depth` _<depth>_] [`--`[`no-`]`single-branch`] [`--no-tags`]
-- [++--recurse-submodules++[++=++__<pathspec>__]] [`--`[`no-`]`shallow-submodules`]
-- [`--`[`no-`]`remote-submodules`] [`--jobs` _<n>_] [`--sparse`] [`--`[`no-`]`reject-shallow`]
+- [`--depth` _<depth>_] [`--`[`no-`]{empty}`single-branch`] [`--no-tags`]
+- [++--recurse-submodules++[++=++__<pathspec>__]] [++--++[++no-++]{empty}++shallow-submodules++]
+- [`--`[`no-`]{empty}`remote-submodules`] [`--jobs` _<n>_] [`--sparse`] [`--`[`no-`]{empty}`reject-shallow`]
- [++--filter=++__<filter-spec>__] [`--also-filter-submodules`]] [`--`] _<repository>_
-- [__<directory>__]
+- [_<directory>_]
+[synopsis]
+git clone [--template=<template-directory>]
+ [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror]
@@ Documentation/git-init.txt: git-init - Create an empty Git repository or reiniti
- [`--separate-git-dir` _<git-dir>_] [++--object-format=++__<format>__]
- [++--ref-format=++__<format>__]
- [`-b` _<branch-name>_ | ++--initial-branch=++__<branch-name>__]
-- [`--shared`[++=++__<permissions>__]] [__<directory>__]
+- [++--shared++[++=++__<permissions>__]] [_<directory>_]
+[synopsis]
+git init [-q | --quiet] [--bare] [--template=<template-directory>]
+ [--separate-git-dir <git-dir>] [--object-format=<format>]
--
gitgitgadget
next prev parent reply other threads:[~2024-07-24 21:06 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-23 22:44 [PATCH 0/3] doc: introducing synopsis para Jean-Noël Avila via GitGitGadget
2024-07-23 22:44 ` [PATCH 1/3] doc: introduce a synopsis custom paragraph attribute Jean-Noël Avila via GitGitGadget
2024-07-23 23:36 ` Junio C Hamano
2024-07-23 22:44 ` [PATCH 2/3] doc: update the guidelines to reflect the current formatting rules Jean-Noël Avila via GitGitGadget
2024-07-23 23:37 ` Junio C Hamano
2024-07-23 22:44 ` [PATCH 3/3] doc: apply synopsis simplification on git-clone and git-init Jean-Noël Avila via GitGitGadget
2024-07-23 23:04 ` [PATCH 0/3] doc: introducing synopsis para Jean-Noël AVILA
2024-07-24 21:06 ` Jean-Noël Avila via GitGitGadget [this message]
2024-07-24 21:06 ` [PATCH v2 1/3] doc: introduce a synopsis custom paragraph attribute Jean-Noël Avila via GitGitGadget
2024-07-24 21:06 ` [PATCH v2 2/3] doc: update the guidelines to reflect the current formatting rules Jean-Noël Avila via GitGitGadget
2024-07-24 21:06 ` [PATCH v2 3/3] doc: apply synopsis simplification on git-clone and git-init Jean-Noël Avila via GitGitGadget
2024-07-24 23:15 ` [PATCH v2 0/3] doc: introducing synopsis para Junio C Hamano
2024-07-25 12:15 ` Jean-Noël AVILA
2024-07-25 15:32 ` Junio C Hamano
2024-08-11 15:20 ` [PATCH v3 " Jean-Noël Avila via GitGitGadget
2024-08-11 15:20 ` [PATCH v3 1/3] doc: introduce a synopsis custom paragraph attribute Jean-Noël Avila via GitGitGadget
2024-08-11 15:20 ` [PATCH v3 2/3] doc: update the guidelines to reflect the current formatting rules Jean-Noël Avila via GitGitGadget
2024-08-11 23:56 ` Eric Sunshine
2024-08-12 6:18 ` Jean-Noël Avila
2024-08-11 15:20 ` [PATCH v3 3/3] doc: apply synopsis simplification on git-clone and git-init Jean-Noël Avila via GitGitGadget
2024-08-19 20:08 ` [PATCH v3 0/3] doc: introducing synopsis para Junio C Hamano
2024-08-21 21:05 ` Jean-Noël AVILA
2024-08-30 17:48 ` Junio C Hamano
2024-09-05 21:52 ` [PATCH v4 " Jean-Noël Avila via GitGitGadget
2024-09-05 21:52 ` [PATCH v4 1/3] doc: introduce a synopsis typesetting Jean-Noël Avila via GitGitGadget
2024-09-05 21:52 ` [PATCH v4 2/3] doc: update the guidelines to reflect the current formatting rules Jean-Noël Avila via GitGitGadget
2024-09-05 21:52 ` [PATCH v4 3/3] doc: apply synopsis simplification on git-clone and git-init Jean-Noël Avila via GitGitGadget
2024-09-13 18:15 ` [PATCH v4 0/3] doc: introducing synopsis para Junio C Hamano
2024-09-20 23:14 ` Josh Steadmon
2024-09-21 1:38 ` Junio C Hamano
2024-09-21 6:19 ` Junio C Hamano
2024-09-21 6:23 ` Junio C Hamano
2024-09-21 6:54 ` Chris Torek
2024-09-23 16:38 ` Junio C Hamano
[not found] ` <CAPig+cQgw8xf5bQaUEW=qvKQpnxrkiTrMsqa+VW9d_GX0au1sA@mail.gmail.com>
2024-09-24 22:03 ` Josh Steadmon
2024-09-24 23:34 ` Junio C Hamano
2024-09-24 7:08 ` [PATCH v5 " Jean-Noël Avila via GitGitGadget
2024-09-24 7:08 ` [PATCH v5 1/3] doc: introduce a synopsis typesetting Jean-Noël Avila via GitGitGadget
2024-09-24 7:08 ` [PATCH v5 2/3] doc: update the guidelines to reflect the current formatting rules Jean-Noël Avila via GitGitGadget
2024-09-24 7:08 ` [PATCH v5 3/3] doc: apply synopsis simplification on git-clone and git-init Jean-Noël Avila via GitGitGadget
2024-09-24 17:16 ` [PATCH v5 0/3] doc: introducing synopsis para Junio C Hamano
2024-09-24 19:30 ` Torsten Bögershausen
2024-09-24 20:33 ` Junio C Hamano
2024-10-02 21:41 ` Josh Steadmon
2024-10-02 22:43 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=pull.1766.v2.git.1721855179.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=git@vger.kernel.org \
--cc=jn.avila@free.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).