2022-09-01 04:11:41 +09:30
|
|
|
#! /bin/sh
|
|
|
|
|
|
2022-09-06 13:40:32 +09:30
|
|
|
if [ $# != 2 ]; then
|
|
|
|
|
echo "Usage: $0 <lowdown> <markdownpage>" >&2
|
2022-09-01 04:11:41 +09:30
|
|
|
exit 1
|
|
|
|
|
fi
|
2022-09-06 13:40:32 +09:30
|
|
|
LOWDOWN="$1"
|
|
|
|
|
SOURCE="$2"
|
2025-01-27 19:40:14 -08:00
|
|
|
|
|
|
|
|
TARGET="$SOURCE"
|
|
|
|
|
|
|
|
|
|
# Extract the directory and filename separately
|
|
|
|
|
DIR="$(dirname "$SOURCE")"
|
|
|
|
|
FILE="$(basename "$SOURCE" .md)"
|
|
|
|
|
|
|
|
|
|
# Check if the file doesn't already start with 'lightningd' or 'lightning-'
|
|
|
|
|
if [ "${FILE#lightningd}" = "$FILE" ] && [ "${FILE#lightning-}" = "$FILE" ]; then
|
|
|
|
|
TARGET="$DIR/lightning-$FILE"
|
|
|
|
|
fi
|
|
|
|
|
TARGET="${TARGET%.md}"
|
|
|
|
|
|
2022-09-01 04:11:41 +09:30
|
|
|
SECTION="$(basename "$SOURCE" .md | cut -d. -f2-)"
|
2025-01-27 19:40:14 -08:00
|
|
|
TITLE="$(basename "$(basename "$TARGET" .md)" ."$SECTION" | tr '[:lower:]' '[:upper:]')"
|
2022-09-01 04:11:41 +09:30
|
|
|
|
|
|
|
|
# First two lines are title, which needs to be turned into NAME for proper manpage
|
|
|
|
|
# format. mrkd used to do this for us, lowdown(1) doesn't.
|
|
|
|
|
TITLELINE="$(head -n1 "$SOURCE")"
|
|
|
|
|
|
2024-06-20 16:06:01 -07:00
|
|
|
# Replace lightning-cli with $ lightning-cli but do not replace it if it is preceded with (
|
|
|
|
|
# because it is used in the examples to run it in the shell, eg. $(lightning-cli listpeerchannels)
|
2025-04-19 19:48:45 -04:00
|
|
|
# shellcheck disable=SC2016 # These are not variables, shellcheck!
|
2025-10-14 10:36:43 +10:30
|
|
|
SOURCE=$(tail -n +3 "$SOURCE" | $SED -E '
|
2024-06-20 16:06:01 -07:00
|
|
|
:a;N;$!ba;
|
|
|
|
|
s#(\(lightning-cli)#\x1#ig;
|
|
|
|
|
s#lightning-cli#$ lightning-cli#g;
|
|
|
|
|
s#\x1#(lightning-cli#g;
|
2025-04-19 19:48:45 -04:00
|
|
|
' |
|
|
|
|
|
# Lowdown requires a blank line before every preformatted text block
|
2025-10-14 10:36:43 +10:30
|
|
|
$SED '
|
2025-04-19 19:48:45 -04:00
|
|
|
/^$/{:0;N;/\n$/b0};s/^[[:blank:]]*```/\n\0/;
|
|
|
|
|
/\n[[:blank:]]*```/{:1;n;/^[[:blank:]]*```/!b1}
|
2024-06-20 16:06:01 -07:00
|
|
|
')
|
2024-06-17 23:45:48 -07:00
|
|
|
|
2025-01-27 19:40:14 -08:00
|
|
|
# Output to the target file
|
|
|
|
|
(echo "NAME"; echo "----"; echo "$TITLELINE"; echo "$SOURCE") | $LOWDOWN -s --out-no-smarty -Tman -m "title:$TITLE" -m "section:$SECTION" -m "source:Core Lightning $VERSION" -m "shiftheadinglevelby:-1" > "$TARGET"
|