From nobody Thu Jun 9 16:55:36 2022 X-Original-To: freebsd-hackers@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 7551E843BE2 for ; Thu, 9 Jun 2022 16:55:42 +0000 (UTC) (envelope-from steffen@sdaoden.eu) Received: from sdaoden.eu (sdaoden.eu [217.144.132.164]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4LJqwY2qbgz4cBZ; Thu, 9 Jun 2022 16:55:41 +0000 (UTC) (envelope-from steffen@sdaoden.eu) Received: from kent.sdaoden.eu (kent.sdaoden.eu [192.0.2.2]) by sdaoden.eu (Postfix) with ESMTPS id 220681605A; Thu, 9 Jun 2022 18:55:39 +0200 (CEST) Received: by kent.sdaoden.eu (Postfix, from userid 1000) id EB5478A753; Thu, 9 Jun 2022 18:55:36 +0200 (CEST) Date: Thu, 09 Jun 2022 18:55:36 +0200 Author: Steffen Nurpmeso From: Steffen Nurpmeso To: Steve Kargl Cc: Baptiste Daroussin , freebsd-hackers@freebsd.org Subject: Re: mandoc and volume titles Message-ID: <20220609165536.A5vGK%steffen@sdaoden.eu> In-Reply-To: References: <20220609071702.umix3bbub3qxunlq@aniel.nours.eu> <20220609152904.gc9ue%steffen@sdaoden.eu> User-Agent: s-nail v14.9.24-254-g443e374be3 OpenPGP: id=EE19E1C1F2F7054F8D3954D8308964B51883A0DD; url=https://ftp.sdaoden.eu/steffen.asc; preference=signencrypt BlahBlahBlah: Any stupid boy can crush a beetle. But all the professors in the world can make no bugs. X-Rspamd-Queue-Id: 4LJqwY2qbgz4cBZ X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of steffen@sdaoden.eu designates 217.144.132.164 as permitted sender) smtp.mailfrom=steffen@sdaoden.eu X-Spamd-Result: default: False [-0.68 / 15.00]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; R_SPF_ALLOW(-0.20)[+a:c]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[sdaoden.eu]; TO_DN_SOME(0.00)[]; NEURAL_SPAM_MEDIUM(0.38)[0.376]; TO_MATCH_ENVRCPT_SOME(0.00)[]; NEURAL_HAM_SHORT(-0.75)[-0.753]; MID_CONTAINS_FROM(1.00)[]; MLMMJ_DEST(0.00)[freebsd-hackers]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:15987, ipnet:217.144.128.0/20, country:DE]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; RECEIVED_SPAMHAUS_PBL(0.00)[192.0.2.2:received] X-ThisMailContainsUnwantedMimeParts: N List-Id: Technical discussions relating to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-hackers List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-hackers@freebsd.org Steve Kargl wrote in : |On Thu, Jun 09, 2022 at 05:29:04PM +0200, Steffen Nurpmeso wrote: |> Steve Kargl wrote in |> : |>|On Thu, Jun 09, 2022 at 09:17:02AM +0200, Baptiste Daroussin wrote: |>|> On Wed, Jun 08, 2022 at 04:35:08PM -0700, Steve Kargl wrote: |> ... |>|>> mandoc and mdoc(7) are a convenient system for writing |>|>> documentation, but it has a drawback. The volume |>|>> title is hardcoded to a FreeBSD manual page. For my |>|>> personal projects, I would like to change the volume |>|>> title. For example. |>|>> |>|>> % mandoc tier.1 | head -1 |>|>> TIER(1) FreeBSD General Commands Manual TIER(1) |>|>> |>|>> I have hacked up mandoc to accept a -V option, which allows e.g., |>|>> |>|>> % mandoc -V "Steve's Menagerie" tier.1 | head -1 |>|>> TIER(1) Steve's Menagerie TIER(1) |> |> Note .Dt has optional parameters. ... |So, I changed my local manpage to | |Dd June 8, 2022 |.Dt TDI \*(XX 1 "Steve's Menagerie" |.Sh NAME | |On FreeBSD, it produces | |TDI(1) FreeBSD General Commands Manual (steve's menagerie) \ | TDI(1) | |That is not what I'm after. First, I want to completely replace the |"FreeBSD General ..." volume title. Second, the optional third |parameter is in lower case. | |If mdoc had a .Vl macro, I could do | |.Vl Steve's Menagerie |.Dd June 8, 2022 |.Dt TDI \*(XX 1 "Steve's Menagerie" |.Sh NAME | |TDI(1) Steve's Menagerie TDI(1) | |> ) but that it is! If i were you i would simply assign something |> to the string volume-ds-8, as early as possible in the document |> (before the mdoc(7) preamble), as in: ... |> S-POSTGRAY(8) BSD in_fear_of_fear S-POSTGRAY(8) | |Where does the BSD come from? Seems a bit odd to randomly appear. These are all strings from the doc-common mdoc(7) (g)roff file which are then picked up by mdoc(7) as required by the context. (g)roff can give you what you want like this: .ds volume-operating-system steve .ds volume-ds-8 kargl (before the [.Dd,].Dt,.Os preamble), and i get then S-POSTGRAY(8) steve kargl S-POSTGRAY(8) Ingo Schwarze just currently has a run on mandoc in the OpenBSD source tree since a couple of days, maybe if a FreeBSD folk would point him to doc-common strings (or at least the volume-ds-* ones), you would be fine out with the next release of mandoc. --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt)