doc: Update json and markdowns to make them .mdx compatible
What changed, and why it matters
This commit only reformats documentation files and JSON schemas so they display correctly in a new documentation system (MDX). It changes email addresses from angle-bracket style to mailto links, wraps code snippets in backticks, and converts plain URLs to Markdown links. No program code, logic, or security behavior is changed.
No security action needed. This is a documentation formatting change.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff is limited to documentation and schema metadata. It updates author/resource lines to use Markdown link syntax compatible with MDX, wraps literal tokens in backticks in schema descriptions and man pages, and removes an unnecessary backslash escape in a createrune example. There are no changes to source code, RPC handlers, cryptography, networking, or configuration parsing.
Changed components
doc/lightning-cli.1.mddoc/lightning-downgrade.8.mddoc/lightning-hsmtool.8.mddoc/lightning-reckless.1.mddoc/lightningd-config.5.mddoc/lightningd-rpc.7.mddoc/lightningd.8.mddoc/schemas/askrene-age.jsondoc/schemas/bkpr-editdescriptionbypaymentid.jsondoc/schemas/createrune.jsondoc/schemas/txprepare.jsoncontrib/msggen/msggen/schema.jsonInspect captured patch +63 / −66
diff --git a/contrib/msggen/msggen/schema.json b/contrib/msggen/msggen/schema.json
index 05fa3d3f..c2201429 100644
--- a/contrib/msggen/msggen/schema.json
+++ b/contrib/msggen/msggen/schema.json
@@ -252,10 +252,10 @@
"lightning-askrene-listlayers(7)"
],
"author": [
- "Rusty Russell <<rusty@rustcorp.com.au>> is mainly responsible."
+ "Rusty Russell [rusty@rustcorp.com.au](mailto:rusty@rustcorp.com.au) is mainly responsible."
],
"resources": [
- "Main web site: <https://github.com/ElementsProject/lightning>"
+ "Main web site: [https://github.com/ElementsProject/lightning](https://github.com/ElementsProject/lightning)"
],
"examples": [
{
@@ -3772,9 +3772,9 @@
"type": "object",
"additionalProperties": false,
"rpc": "bkpr-editdescriptionbypaymentid",
- "title": "Command to change the description for events with {payment_id} after they're made",
+ "title": "Command to change the description for events with `payment_id` after they're made",
"description": [
- "The **bkpr-editdescriptionbypaymentid** RPC command updates all chain and channel events that match the {payment_id} with the provided {description}"
+ "The **bkpr-editdescriptionbypaymentid** RPC command updates all chain and channel events that match the `payment_id` with the provided `description`"
],
"request": {
"required": [
@@ -6847,14 +6847,14 @@
"type": "array",
"description": [
"Alternatives use a simple language to examine the command which is being run:",
- " * time: the current UNIX time, e.g. \"time<1656759180\".",
- " * id: the node_id of the peer, e.g. \"id=024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605\".",
- " * method: the command being run, e.g. \"method=withdraw\".",
- " * per: how often the rune can be used, with suffix \"sec\" (default), \"min\", \"hour\", \"day\" or \"msec\", \"usec\" or \"nsec\". e.g. \"per=5sec\".",
- " * rate: the rate limit, per minute, e.g. \"rate=60\" is equivalent to \"per=1sec\".",
- " * pnum: the number of parameters. e.g. \"pnum<2\".",
- " * pnameX: the parameter named X e.g. \"pnamedestination=1RustyRX2oai4EYYDpQGWvEL62BBGqN9T\". NOTE: until v24.05, X had to remove underscores from the parameter name (e.g. `pnameamount_msat` had to be specified as `pnameamountmsat`) but that is now fixed.",
- " * parrN: the N'th parameter. e.g. \"parr0=1RustyRX2oai4EYYDpQGWvEL62BBGqN9T\".",
+ " * time: the current UNIX time, e.g. `time<1656759180`.",
+ " * id: the node_id of the peer, e.g. `id=024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605`.",
+ " * method: the command being run, e.g. `method=withdraw`.",
+ " * per: how often the rune can be used, with suffix \"sec\" (default), \"min\", \"hour\", \"day\" or \"msec\", \"usec\" or \"nsec\". e.g. `per=5sec`.",
+ " * rate: the rate limit, per minute, e.g. `rate=60` is equivalent to `per=1sec`.",
+ " * pnum: the number of parameters. e.g. `pnum<2`.",
+ " * pnameX: the parameter named X e.g. `pnamedestination=1RustyRX2oai4EYYDpQGWvEL62BBGqN9T`. NOTE: until v24.05, X had to remove underscores from the parameter name (e.g. `pnameamount_msat` had to be specified as `pnameamountmsat`) but that is now fixed.",
+ " * parrN: the N'th parameter. e.g. `parr0=1RustyRX2oai4EYYDpQGWvEL62BBGqN9T`.",
" * pinvX_N: parse the parameter X as an invoice (bolt11 or bolt12) and extract field N for comparison. Fails if parameter X is not present, does not parse, or N is not one of the following field names:",
" * amount",
" * description",
@@ -7202,12 +7202,12 @@
"",
"However, since brackets and AND conditions within OR are currently not supported for rune creation, we can restructure the conditions as follows:",
"",
- "- method^list|method^get|method=summary|method=pay|method=xpay",
- "- method/listdatastore",
- "- method/pay|per=1day",
- "- method/pay|pnameamount\\_msat<100000001",
- "- method/xpay|per=1day",
- "- method/xpay|pnameamount\\_msat<100000001"
+ "- `method^list|method^get|method=summary|method=pay|method=xpay`",
+ "- `method/listdatastore`",
+ "- `method/pay|per=1day`",
+ "- `method/pay|pnameamount_msat<100000001`",
+ "- `method/xpay|per=1day`",
+ "- `method/xpay|pnameamount_msat<100000001`"
],
"request": {
"id": "example:createrune#9",
@@ -34767,7 +34767,7 @@
"outputs": {
"type": "array",
"description": [
- "Format is like: [{destination1: amount1}, {destination2: amount2}] or [{destination: *all*}]. It supports any number of **confirmed** outputs."
+ "Format is like: `[{destination1: amount1}, {destination2: amount2}]` or `[{destination: *all*}]`. It supports any number of **confirmed** outputs."
],
"items": {
"type": "outputdesc"
diff --git a/doc/lightning-cli.1.md b/doc/lightning-cli.1.md
index e35d255d..fecceae1 100644
--- a/doc/lightning-cli.1.md
+++ b/doc/lightning-cli.1.md
@@ -112,7 +112,7 @@ this is to avoid having lightningd interpret the position of an argument.
Arguments may be integer numbers (composed entirely of digits), floating-point
numbers (has a radix point but otherwise composed of digits), *true*, *false*,
-or *null*. Arguments which begin with *{*, *[* or *"* are also considered
+or *null*. Arguments which begin with *`{`*, *`[`* or *`"`* are also considered
raw JSON and are passed through. Other arguments are treated as strings.
Some commands have optional arguments. You may use *null* to skip
@@ -147,12 +147,12 @@ If the command succeeds, the exit status is 0. Otherwise:
AUTHOR
------
-Rusty Russell <<rusty@rustcorp.com.au>> is mainly to blame.
+Rusty Russell [rusty@rustcorp.com.au](mailto:rusty@rustcorp.com.au) is mainly to blame.
RESOURCES
---------
-Main web site: <https://github.com/ElementsProject/lightning>
+Main web site: [https://github.com/ElementsProject/lightning](https://github.com/ElementsProject/lightning)
COPYING
-------
diff --git a/doc/lightning-downgrade.8.md b/doc/lightning-downgrade.8.md
index 6f154001..dc43492f 100644
--- a/doc/lightning-downgrade.8.md
+++ b/doc/lightning-downgrade.8.md
@@ -82,7 +82,7 @@ to gain our eternal gratitude!
AUTHOR
------
-Rusty Russell <<rusty@rustcorp.com.au>> wrote the initial version of **lightning-downgrade** and this man page.
+Rusty Russell [rusty@rustcorp.com.au](mailto:rusty@rustcorp.com.au) wrote the initial version of **lightning-downgrade** and this man page.
SEE ALSO
--------
@@ -92,11 +92,11 @@ lightningd(8), lightningd-config(5)
RESOURCES
---------
-Main web site: <https://github.com/ElementsProject/lightning>
+Main web site: [https://github.com/ElementsProject/lightning](https://github.com/ElementsProject/lightning)
COPYING
-------
Note: the modules in the ccan/ directory have their own licenses, but
the rest of the code is covered by the BSD-style MIT license.
-Main web site: <https://github.com/ElementsProject/lightning>
+Main web site: [https://github.com/ElementsProject/lightning](https://github.com/ElementsProject/lightning)
diff --git a/doc/lightning-hsmtool.8.md b/doc/lightning-hsmtool.8.md
index a9f6610f..6f128f1f 100644
--- a/doc/lightning-hsmtool.8.md
+++ b/doc/lightning-hsmtool.8.md
@@ -109,9 +109,8 @@ to gain our eternal gratitude!
AUTHOR
------
-ZmnSCPxj <<ZmnSCPxj@protonmail.com>> wrote the initial version of
-this man page, but many others did the hard work of actually implementing
-**lightning-hsmtool**.
+ZmnSCPxj [ZmnSCPxj@protonmail.com](mailto:ZmnSCPxj@protonmail.com) wrote the initial version of
+this man page, but many others did the hard work of actually implementing **lightning-hsmtool**.
SEE ALSO
--------
@@ -121,11 +120,11 @@ lightningd(8), lightningd-config(5)
RESOURCES
---------
-Main web site: <https://github.com/ElementsProject/lightning>
+Main web site: [https://github.com/ElementsProject/lightning](https://github.com/ElementsProject/lightning)
COPYING
-------
Note: the modules in the ccan/ directory have their own licenses, but
the rest of the code is covered by the BSD-style MIT license.
-Main web site: <https://github.com/ElementsProject/lightning>
+Main web site: [https://github.com/ElementsProject/lightning](https://github.com/ElementsProject/lightning)
diff --git a/doc/lightning-reckless.1.md b/doc/lightning-reckless.1.md
index 36424650..4a7b476f 100644
--- a/doc/lightning-reckless.1.md
+++ b/doc/lightning-reckless.1.md
@@ -106,7 +106,7 @@ invoked, so **python3** should be available in your environment. This
can be verified with **which Python3**. The default reckless directory
is $USER/.lightning/reckless and it should be possible for the
lightningd user to execute files located here. If this is a problem,
-the option flag **reckless -d=<my\_alternate\_dir>** may be used to
+the option flag **reckless -d=`my_alternate_dir`** may be used to
relocate the reckless directory from its default. Consider creating a
permanent alias in this case.
@@ -145,16 +145,15 @@ based.
Rusty Russell wrote the outline for the reckless utility's function
-Alex Myers <<alex@endothermic.dev>> is mostly responsible for the
-reckless code and this man page, with thanks to Christian Decker for
-extensive review.
+Alex Myers [alex@endothermic.dev](mailto:alex@endothermic.dev) is mostly responsible for the
+reckless code and this man page, with thanks to Christian Decker for extensive review.
SEE ALSO
--------
-reckless(7), Core-Lightning plugins repo: <https://github.com/lightningd/plugins>
+reckless(7), Core-Lightning plugins repo: [https://github.com/lightningd/plugins](https://github.com/lightningd/plugins)
RESOURCES
---------
-Main web site: <https://github.com/ElementsProject/lightning>
+Main web site: [https://github.com/ElementsProject/lightning](https://github.com/ElementsProject/lightning)
diff --git a/doc/lightningd-config.5.md b/doc/lightningd-config.5.md
index cebd655c..27b6901a 100644
--- a/doc/lightningd-config.5.md
+++ b/doc/lightningd-config.5.md
@@ -857,7 +857,7 @@ to gain our eternal gratitude!
AUTHOR
------
-Rusty Russell <<rusty@rustcorp.com.au>> wrote this man page, and
+Rusty Russell [rusty@rustcorp.com.au](mailto:rusty@rustcorp.com.au) wrote this man page, and
much of the configuration language, but many others did the hard work of
actually implementing these options.
@@ -870,7 +870,7 @@ lightning-hsmtool(8)
RESOURCES
---------
-Main web site: <https://github.com/ElementsProject/lightning>
+Main web site: [https://github.com/ElementsProject/lightning](https://github.com/ElementsProject/lightning)
COPYING
-------
diff --git a/doc/lightningd-rpc.7.md b/doc/lightningd-rpc.7.md
index 286e7b3e..018705b3 100644
--- a/doc/lightningd-rpc.7.md
+++ b/doc/lightningd-rpc.7.md
@@ -17,7 +17,7 @@ but configuable with lightningd-config(5)).
JSON WIRE FORMAT
----------------
-JSON RPC is defined at <https://www.jsonrpc.org/specification> and
+JSON RPC is defined at [https://www.jsonrpc.org/specification](https://www.jsonrpc.org/specification) and
generally involves writing a JSON request with a unique ID, and
receiving a response containing that ID.
@@ -283,7 +283,7 @@ hex) that occurs. It's extremely noisy though!
AUTHOR
------
-Rusty Russell <<rusty@rustcorp.com.au>> wrote this man page, and
+Rusty Russell [rusty@rustcorp.com.au](mailto:rusty@rustcorp.com.au) wrote this man page, and
much of the configuration language, but many others did the hard work of
actually implementing these options.
@@ -295,7 +295,7 @@ lightningd-config(5), lightning-notifications(7), lightningd(8)
RESOURCES
---------
-Main web site: <https://github.com/ElementsProject/lightning>
+Main web site: [https://github.com/ElementsProject/lightning](https://github.com/ElementsProject/lightning)
COPYING
-------
diff --git a/doc/lightningd.8.md b/doc/lightningd.8.md
index 41cf7705..85c37175 100644
--- a/doc/lightningd.8.md
+++ b/doc/lightningd.8.md
@@ -121,7 +121,7 @@ which you can do by using dig(1) and querying *lseed.bitcoinstats.com*:
This will give 25 IPv4 addresses, you can select any one of those. You
will also need to learn the corresponding public key, which you can
-determine by searching the IP addrss on <https://1ml.com/> . The public
+determine by searching the IP addrss on [https://1ml.com/](https://1ml.com/) . The public
key is a long hex string, like so:
*024772ee4fa461febcef09d5869e1238f932861f57be7a6633048514e3f56644a1*.
(this example public key is not used as of this writing)
@@ -174,10 +174,9 @@ to gain our eternal gratitude!
AUTHOR
------
-ZmnSCPxj <<ZmnSCPxj@protonmail.com>> wrote the initial version of
-this man page, but many others did the hard work of actually
-implementing a standards-compliant Lightning Network node
-implementation.
+ZmnSCPxj [ZmnSCPxj@protonmail.com](mailto:ZmnSCPxj@protonmail.com) wrote the initial version of
+this man page, but many others did the hard work of actually implementing a standards-compliant
+Lightning Network node implementation.
SEE ALSO
--------
@@ -191,7 +190,7 @@ lightning-hsmtool(8)
RESOURCES
---------
-Main web site: <https://github.com/ElementsProject/lightning>
+Main web site: [https://github.com/ElementsProject/lightning](https://github.com/ElementsProject/lightning)
COPYING
-------
diff --git a/doc/schemas/askrene-age.json b/doc/schemas/askrene-age.json
index 46873069..809a56da 100644
--- a/doc/schemas/askrene-age.json
+++ b/doc/schemas/askrene-age.json
@@ -55,10 +55,10 @@
"lightning-askrene-listlayers(7)"
],
"author": [
- "Rusty Russell <<rusty@rustcorp.com.au>> is mainly responsible."
+ "Rusty Russell [rusty@rustcorp.com.au](mailto:rusty@rustcorp.com.au) is mainly responsible."
],
"resources": [
- "Main web site: <https://github.com/ElementsProject/lightning>"
+ "Main web site: [https://github.com/ElementsProject/lightning](https://github.com/ElementsProject/lightning)"
],
"examples": [
{
diff --git a/doc/schemas/bkpr-editdescriptionbypaymentid.json b/doc/schemas/bkpr-editdescriptionbypaymentid.json
index 3c097de3..4bd7e50d 100644
--- a/doc/schemas/bkpr-editdescriptionbypaymentid.json
+++ b/doc/schemas/bkpr-editdescriptionbypaymentid.json
@@ -3,9 +3,9 @@
"type": "object",
"additionalProperties": false,
"rpc": "bkpr-editdescriptionbypaymentid",
- "title": "Command to change the description for events with {payment_id} after they're made",
+ "title": "Command to change the description for events with `payment_id` after they're made",
"description": [
- "The **bkpr-editdescriptionbypaymentid** RPC command updates all chain and channel events that match the {payment_id} with the provided {description}"
+ "The **bkpr-editdescriptionbypaymentid** RPC command updates all chain and channel events that match the `payment_id` with the provided `description`"
],
"request": {
"required": [
diff --git a/doc/schemas/createrune.json b/doc/schemas/createrune.json
index 179b59f1..ef87892e 100644
--- a/doc/schemas/createrune.json
+++ b/doc/schemas/createrune.json
@@ -29,14 +29,14 @@
"type": "array",
"description": [
"Alternatives use a simple language to examine the command which is being run:",
- " * time: the current UNIX time, e.g. \"time<1656759180\".",
- " * id: the node_id of the peer, e.g. \"id=024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605\".",
- " * method: the command being run, e.g. \"method=withdraw\".",
- " * per: how often the rune can be used, with suffix \"sec\" (default), \"min\", \"hour\", \"day\" or \"msec\", \"usec\" or \"nsec\". e.g. \"per=5sec\".",
- " * rate: the rate limit, per minute, e.g. \"rate=60\" is equivalent to \"per=1sec\".",
- " * pnum: the number of parameters. e.g. \"pnum<2\".",
- " * pnameX: the parameter named X e.g. \"pnamedestination=1RustyRX2oai4EYYDpQGWvEL62BBGqN9T\". NOTE: until v24.05, X had to remove underscores from the parameter name (e.g. `pnameamount_msat` had to be specified as `pnameamountmsat`) but that is now fixed.",
- " * parrN: the N'th parameter. e.g. \"parr0=1RustyRX2oai4EYYDpQGWvEL62BBGqN9T\".",
+ " * time: the current UNIX time, e.g. `time<1656759180`.",
+ " * id: the node_id of the peer, e.g. `id=024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605`.",
+ " * method: the command being run, e.g. `method=withdraw`.",
+ " * per: how often the rune can be used, with suffix \"sec\" (default), \"min\", \"hour\", \"day\" or \"msec\", \"usec\" or \"nsec\". e.g. `per=5sec`.",
+ " * rate: the rate limit, per minute, e.g. `rate=60` is equivalent to `per=1sec`.",
+ " * pnum: the number of parameters. e.g. `pnum<2`.",
+ " * pnameX: the parameter named X e.g. `pnamedestination=1RustyRX2oai4EYYDpQGWvEL62BBGqN9T`. NOTE: until v24.05, X had to remove underscores from the parameter name (e.g. `pnameamount_msat` had to be specified as `pnameamountmsat`) but that is now fixed.",
+ " * parrN: the N'th parameter. e.g. `parr0=1RustyRX2oai4EYYDpQGWvEL62BBGqN9T`.",
" * pinvX_N: parse the parameter X as an invoice (bolt11 or bolt12) and extract field N for comparison. Fails if parameter X is not present, does not parse, or N is not one of the following field names:",
" * amount",
" * description",
@@ -384,12 +384,12 @@
"",
"However, since brackets and AND conditions within OR are currently not supported for rune creation, we can restructure the conditions as follows:",
"",
- "- method^list|method^get|method=summary|method=pay|method=xpay",
- "- method/listdatastore",
- "- method/pay|per=1day",
- "- method/pay|pnameamount\\_msat<100000001",
- "- method/xpay|per=1day",
- "- method/xpay|pnameamount\\_msat<100000001"
+ "- `method^list|method^get|method=summary|method=pay|method=xpay`",
+ "- `method/listdatastore`",
+ "- `method/pay|per=1day`",
+ "- `method/pay|pnameamount_msat<100000001`",
+ "- `method/xpay|per=1day`",
+ "- `method/xpay|pnameamount_msat<100000001`"
],
"request": {
"id": "example:createrune#9",
diff --git a/doc/schemas/txprepare.json b/doc/schemas/txprepare.json
index e00818d4..9c7360ff 100644
--- a/doc/schemas/txprepare.json
+++ b/doc/schemas/txprepare.json
@@ -17,7 +17,7 @@
"outputs": {
"type": "array",
"description": [
- "Format is like: [{destination1: amount1}, {destination2: amount2}] or [{destination: *all*}]. It supports any number of **confirmed** outputs."
+ "Format is like: `[{destination1: amount1}, {destination2: amount2}]` or `[{destination: *all*}]`. It supports any number of **confirmed** outputs."
],
"items": {
"type": "outputdesc"
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.