Skip to content

Commit a5484be

Browse files
committed
Update conver_links
1 parent 00bbac2 commit a5484be

File tree

1 file changed

+43
-16
lines changed

1 file changed

+43
-16
lines changed

utils/initial_import/convert_links.sh

Lines changed: 43 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,45 +9,72 @@ PROGDIR=$(dirname $PROGNAME)
99
# link to include the target's full path relative to the
1010
# document root.
1111

12-
files=$(grep -rl "](/" docs/*)
12+
dir=${1:-docs/}
13+
14+
files=$(grep -rlE "\]\(/[^/()]+\)" $dir | grep -E ".md$")
15+
#files=$(grep -rl "](/" docs/*)
1316
prefix="/"
1417
IFS=$' \n'
15-
for f in $files ; do
16-
sed -n -r -e "s@.*\]\(${prefix}([^)]+)\).*@\1@gip" $f | while read URL ; do
17-
if [ -f site/$URL ] || [ -d site/$URL ] ; then
18-
echo "found: $URL"
18+
declare -ix fixed_count=0
19+
20+
fixfile() {
21+
f="$1"
22+
declare -i fixed_count=0
23+
while read URL ; do
24+
if [ -z "$URL" ] ; then
25+
echo " no issues"
26+
break;
27+
fi
28+
search="temp/build-20/site/$URL"
29+
# echo "Search: '$search'"
30+
if [ -f "$search" ] || [ -d "$search" ] ; then
31+
# echo " found: $URL"
1932
continue
2033
fi
2134

2235
if [ -z "${URL%%#*}" ] ; then
23-
newurl=$($PROGDIR/slugify.py "${URL}")
36+
newurl=$($PROGDIR/../slugify.py "${URL}")
2437
else
25-
newurl=$($PROGDIR/slugify.py "${URL%%#*}")
38+
newurl=$($PROGDIR/../slugify.py "${URL%%#*}")
2639
fi
2740
[[ "$newurl" =~ Asterisk-[0-9][0-9] ]] && continue
2841

42+
echo " not found: $URL"
2943
if [ "$URL" == "Home" ] ; then
3044
newpage="/"
3145
else
32-
newpage=$(cd site ; find -iname "${newurl}" | tr -d '\n')
33-
newpage=${newpage/.\//}
46+
newpage=$(cd temp/build-20/site ; find -iname "${newurl}" | tr -d '\n')
47+
newpage="${newpage/.\//}"
3448
if [ -z "$newpage" ] ; then
35-
newpage=$(cd site ; find -iname "${newurl}.html" | tr -d '\n')
36-
newpage=${newpage/.\//}
49+
newpage=$(cd temp/build-20/site ; find -iname "${newurl}.html" | tr -d '\n')
50+
newpage="${newpage/.\//}"
3751
fi
3852
fi
3953
if [ -n "$newpage" ] ; then
40-
fixed=$(sed -n -r -e "s@\(${prefix}${URL//+/\\+}\)@\(/${newpage}\)@gip" $f)
54+
# echo $newpage
55+
newsearch=${URL//+/\\+}
56+
newsearch=${newsearch//\?/\\?}
57+
58+
fixed=$(sed -n -r -e "s@\]\(/${newsearch}\)@](/${newpage})@gip" $f)
4159
if [ -z "$fixed" ] ; then
42-
echo -e "$f Unable to fix: ${prefix}${URL} -> ${newurl}"
60+
echo -e " Unable to fix: ${newsearch} -> ${newpage}"
4361
else
44-
# echo "(${prefix}${URL//+/\\+}) -> (/${newpage})"
45-
sed -i -r -e "s@\(${prefix}${URL//+/\\+}\)@\(/${newpage}\)@gi" $f
62+
fixed_count=$(( fixed_count + 1 ))
63+
echo " fixed: /${newpage}"
64+
sed -i -r -e "s@\]\(/${newsearch}\)@](/${newpage})@gi" $f
4665
fi
4766
else
4867
if [[ ! "${newurl}" =~ .*REST.* ]] ; then
49-
echo "$f: Page not found: ${prefix}${URL} -> ${newurl}"
68+
echo " Page not found: ${newurl}"
5069
fi
5170
fi
71+
done < <(sed -n -r -e "s/.*\]\(\/([^/)]+)\).*/\1/gp" $f )
72+
return $fixed_count
73+
}
74+
75+
for f in $files ; do
76+
echo $f
77+
while true ; do
78+
fixfile $f && break;
5279
done
5380
done

0 commit comments

Comments
 (0)