1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
#!/usr/bin/env sh
(test -d global && test -d $1) || {
echo >&2 "($0) run [1m$me[21m from root of [1mlibk[21m source directory"
exit 1
}
. global/common.sh
test "$OUT" = "" && {
say "\$OUT environment variable must be set to your build directory - are you running this script by hand? run [1mmake doc[21m in the root directory instead!"
exit 2
}
if ! has cmark; then
say "to generate documentation for [1mlibk[21m, install the [1mcmark[21m package and try again"
exit 3
fi
name=$1
mandest=$OUT/doc/man
out=$2
file=$name/$name.md
desc="$(grep -m1 "^$name:" global/modules | cut -d: -f4)"
date="$(date -r"$file" "+%d %A %Y")"
mkdir -p $mandest
echo >$out ".TH ${name^^} \"$section\" \"$date\" \"hale.su libk [r$BUILD]\" \"modules\""
echo >>$out ".SH NAME"
echo >>$out "$name - $desc"
echo >>$out ".SH SYNOPSIS"
dhead=$(grep -m1 -n "^# description$" $file)
if test $? -eq 0; then
descline=$(echo "$dhead" | cut -d: -f1)
offset=1
else
descline=$(grep -m2 -n "^#" $file | tail -n1 | cut -d: -f1)
offset=0
fi
tail -n+2 $file | head -n$(expr $descline - 2) | cmark -t man >> $out
echo >>$out ".SH DESCRIPTION"
tail -n+$(expr $descline + $offset) $file | cmark -t man >> $out
say "wrote manpage for $name to $file"
|
|
|
|
|
>
>
|
<
<
>
>
|
>
>
>
>
>
|
|
|
<
>
|
|
|
|
|
|
>
>
>
>
>
|
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
#!/usr/bin/env sh
(test -d global && test -f build.sh) || {
echo >&2 "($0) run [1m$me[21m from root of [1mlibk[21m source directory"
exit 1
}
. global/common.sh
test "$out" = "" && {
say "\$out environment variable must be set to your build directory - are you running this script by hand? run [1mmake doc[21m in the root directory instead!"
exit 2
}
if ! has cmark; then
say "to generate documentation for [1mlibk[21m, install the [1mcmark[21m package and try again"
exit 3
fi
file="$1"
filename="$(basename "$file")"
stem=${filename%%.md}
mandest="$out/doc/man"
section=${section:-4}
out="$mandest/$stem.$section"
desc_rec="$(grep -m1 "^$name:" global/modules)"
if test $? -eq 0; then
desc=" - $(echo $desc_rec | cut -d: -f4)"
else
desc=""
fi
date="$(date -r"$file" "+%d %A %Y")"
mkdir -p "$mandest"
echo >"$out" ".TH ${name^^} \"$section\" \"$date\" \"hale.su libk [r$build]\" \"modules\""
echo >>"$out" ".SH NAME"
echo >>"$out" "$stem$desc"
echo >>"$out" ".SH SYNOPSIS"
dhead=$(grep -m1 -n "^# description$" "$file")
if test $? -eq 0; then
descline=$(echo "$dhead" | cut -d: -f1)
offset=1
else
descline=$(grep -m2 -n "^#" "$file" | tail -n1 | cut -d: -f1)
offset=0
fi
tail -n+2 $file | head -n$(expr $descline - 2) | cmark -t man >>"$out"
echo >>"$out" ".SH DESCRIPTION"
tail -n+$(expr $descline + $offset) "$file" | cmark -t man >> "$out"
if has gzip; then
gzip -f "$out"
out="$out.gz"
fi
say "wrote manpage for $stem to $out"
|