Checklinks fix (#6994)
* Remove duplicate ../ when fixing relative links * Change spacing in dbg messages
Chris Akritidis committed
Oct 8, 2019 at 14:17 UTC
e6dc3ff1e04c1f05c9366d718ad73eabc5b54827
1 file changed
+33
-33
docs/generator/checklinks.sh
+33
-33
@@ -31,16 +31,16 @@ printhelp () {
31
32
fix () {
33
if [ "$EXECUTE" -eq 0 ] ; then
34
- echo "-- SHOULD EXECUTE: $1"
34
+ echo " - SHOULD EXECUTE: $1"
35
else
36
- dbg "-- EXECUTING: $1"
36
+ dbg " - EXECUTING: $1"
37
eval "$1"
38
fi
39
}
40
41
testURL () {
42
if [ "$TESTURLS" -eq 0 ] ; then return 0 ; fi
43
- dbg "-- Testing URL $1"
43
+ dbg " - Testing URL $1"
44
curl -sS "$1" > /dev/null
45
if [ $? -gt 0 ] ; then
46
return 1
@@ -54,13 +54,13 @@ testinternal () {
54
ifile=${2}
55
ilnk=${3}
56
header=${ilnk//-/}
57
- dbg "-- Searching for \"$header\" in $ifile"
57
+ dbg " - Searching for \"$header\" in $ifile"
58
tr -d '[],_.:? `'< "$ifile" | sed 's/-//g' | grep -i "^\\#*$header\$" >/dev/null
59
if [ $? -eq 0 ] ; then
60
- dbg "-- $ilnk found in $ifile"
60
+ dbg " - $ilnk found in $ifile"
61
return 0
62
else
63
- echo "-- ERROR: $ff - $ilnk header not found in file $ifile"
63
+ echo " - ERROR: $ff - $ilnk header not found in file $ifile"
64
EXITCODE=1
65
return 1
66
fi
@@ -71,10 +71,10 @@ testf () {
71
tf=$2
72
73
if [ -f "$tf" ] ; then
74
- dbg "-- $tf exists"
74
+ dbg " - $tf exists"
75
return 0
76
else
77
- echo "-- ERROR: $sf - $tf does not exist"
77
+ echo " - ERROR: $sf - $tf does not exist"
78
EXITCODE=1
79
return 1
80
fi
@@ -83,16 +83,16 @@ testf () {
83
ck_netdata_relative () {
84
f=${1}
85
rlnk=${2}
86
- dbg "-- Checking relative link $rlnk"
86
+ dbg " - Checking relative link $rlnk"
87
fpath="."
88
fname="$f"
89
# First ensure that the link works in the repo, then try to fix it in htmldocs
90
if [[ $f =~ ^(.*)/([^/]*)$ ]] ; then
91
fpath="${BASH_REMATCH[1]}"
92
fname="${BASH_REMATCH[2]}"
93
- dbg "-- Current file is at $fpath"
93
+ dbg " - Current file is at $fpath"
94
else
95
- dbg "-- Current file is at root directory"
95
+ dbg " - Current file is at root directory"
96
fi
97
# Cases to handle:
98
# (#somelink)
@@ -109,11 +109,11 @@ ck_netdata_relative () {
109
110
case "$rlnk" in
111
\#* )
112
- dbg "-- # (#somelink)"
112
+ dbg " - # (#somelink)"
113
testinternal "$f" "$f" "$rlnk"
114
;;
115
*/ )
116
- dbg "-- # (path/)"
116
+ dbg " - # (path/)"
117
TRGT="$fpath/${rlnk}README.md"
118
testf "$f" "$TRGT"
119
if [ $? -eq 0 ] ; then
@@ -121,11 +121,11 @@ ck_netdata_relative () {
121
fi
122
;;
123
*/\#* )
124
- dbg "-- # (path/#somelink)"
124
+ dbg " - # (path/#somelink)"
125
if [[ $rlnk =~ ^(.*)/#(.*)$ ]] ; then
126
TRGT="$fpath/${BASH_REMATCH[1]}/README.md"
127
LNK="#${BASH_REMATCH[2]}"
128
- dbg "-- Look for $LNK in $TRGT"
128
+ dbg " - Look for $LNK in $TRGT"
129
testf "$f" "$TRGT"
130
if [ $? -eq 0 ] ; then
131
testinternal "$f" "$TRGT" "$LNK"
@@ -136,21 +136,21 @@ ck_netdata_relative () {
136
fi
137
;;
138
*.md )
139
- dbg "-- # (path/filename.md) -> htmldoc (path/filename/)"
139
+ dbg " - # (path/filename.md) -> htmldoc (path/filename/)"
140
testf "$f" "$fpath/$rlnk"
141
if [ $? -eq 0 ] ; then
142
if [[ $rlnk =~ ^(.*)/(.*).md$ ]] ; then
143
if [ "${BASH_REMATCH[2]}" = "README" ] ; then
144
- s="../${BASH_REMATCH[1]}/"
144
+ s="${BASH_REMATCH[1]}/"
145
else
146
- s="../${BASH_REMATCH[1]}/${BASH_REMATCH[2]}/"
146
+ s="${BASH_REMATCH[1]}/${BASH_REMATCH[2]}/"
147
fi
148
if [ "$fname" != "README.md" ] ; then s="../$s"; fi
149
fi
150
fi
151
;;
152
*.md\#* )
153
- dbg "-- # (path/filename.md#somelink) -> htmldoc (path/filename/#somelink)"
153
+ dbg " - # (path/filename.md#somelink) -> htmldoc (path/filename/#somelink)"
154
if [[ $rlnk =~ ^(.*)#(.*)$ ]] ; then
155
TRGT="$fpath/${BASH_REMATCH[1]}"
156
LNK="#${BASH_REMATCH[2]}"
@@ -160,9 +160,9 @@ ck_netdata_relative () {
160
if [ $? -eq 0 ] ; then
161
if [[ $lnk =~ ^(.*)/(.*).md#(.*)$ ]] ; then
162
if [ "${BASH_REMATCH[2]}" = "README" ] ; then
163
- s="../${BASH_REMATCH[1]}/#${BASH_REMATCH[3]}"
163
+ s="${BASH_REMATCH[1]}/#${BASH_REMATCH[3]}"
164
else
165
- s="../${BASH_REMATCH[1]}/${BASH_REMATCH[2]}/#${BASH_REMATCH[3]}"
165
+ s="${BASH_REMATCH[1]}/${BASH_REMATCH[2]}/#${BASH_REMATCH[3]}"
166
fi
167
if [ "$fname" != "README.md" ] ; then s="../$s"; fi
168
fi
@@ -171,7 +171,7 @@ ck_netdata_relative () {
171
fi
172
;;
173
*\#* )
174
- dbg "-- # (path#somelink) -> (path/#somelink)"
174
+ dbg " - # (path#somelink) -> (path/#somelink)"
175
if [[ $rlnk =~ ^(.*)#(.*)$ ]] ; then
176
TRGT="$fpath/${BASH_REMATCH[1]}/README.md"
177
LNK="#${BASH_REMATCH[2]}"
@@ -189,7 +189,7 @@ ck_netdata_relative () {
189
;;
190
* )
191
if [ -d "$fpath/$rlnk" ] ; then
192
- dbg "-- # (path) -> htmldoc (path/)"
192
+ dbg " - # (path) -> htmldoc (path/)"
193
testf "$f" "$fpath/$rlnk/README.md"
194
if [ $? -eq 0 ] ; then
195
s="$rlnk/"
@@ -198,14 +198,14 @@ ck_netdata_relative () {
198
else
199
cd - >/dev/null
200
if [ -f "$fpath/$rlnk" ] ; then
201
- dbg "-- # (path/someotherfile) $rlnk"
201
+ dbg " - # (path/someotherfile) $rlnk"
202
if [ "$fpath" = "." ] ; then
203
s="https://github.com/netdata/netdata/tree/master/$rlnk"
204
else
205
s="https://github.com/netdata/netdata/tree/master/$fpath/$rlnk"
206
fi
207
else
208
- echo "-- ERROR: $f - $rlnk is neither a file or a directory. Giving up!"
208
+ echo " - ERROR: $f - $rlnk is neither a file or a directory. Giving up!"
209
EXITCODE=1
210
fi
211
cd $DOCS_DIR >/dev/null
@@ -229,29 +229,29 @@ checklinks () {
229
if [[ $word =~ .*\]\(([^\(\) ]*)\).* ]] ; then
230
lnk=$(echo "${BASH_REMATCH[1]}" | tr -d '<>')
231
if [ -z "$lnk" ] ; then continue ; fi
232
- dbg "-$lnk"
232
+ dbg " $lnk"
233
case "$lnk" in
234
- mailto:* ) dbg "-- Mailto link, ignoring" ;;
234
+ mailto:* ) dbg " - Mailto link, ignoring" ;;
235
https://github.com/netdata/netdata/wiki* )
236
- dbg "-- Wiki Link $lnk"
237
- if [ "$CHKWIKI" -eq 1 ] ; then echo "-- WARNING: $f - $lnk points to the wiki. Please replace it manually" ; fi
236
+ dbg " - Wiki Link $lnk"
237
+ if [ "$CHKWIKI" -eq 1 ] ; then echo " - WARNING: $f - $lnk points to the wiki. Please replace it manually" ; fi
238
;;
239
https://github.com/netdata/netdata/????/master* )
240
- echo "-- ERROR: $f - $lnk is an absolute link to a Netdata file. Please convert to relative."
240
+ echo " - ERROR: $f - $lnk is an absolute link to a Netdata file. Please convert to relative."
241
EXITCODE=1
242
;;
243
http* )
244
- dbg "-- External link $lnk"
244
+ dbg " - External link $lnk"
245
if [ "$CHKEXTERNAL" -eq 1 ] ; then
246
testURL "$lnk"
247
if [ $? -eq 1 ] ; then
248
- echo "-- ERROR: $f - $lnk is a broken link"
248
+ echo " - ERROR: $f - $lnk is a broken link"
249
EXITCODE=1
250
fi
251
fi
252
;;
253
* )
254
- dbg "-- Relative link $lnk"
254
+ dbg " - Relative link $lnk"
255
if [ "$CHKRELATIVE" -eq 1 ] ; then ck_netdata_relative "$f" "$lnk" ; fi
256
;;
257
esac