Skip to content

Commit b4cda7d

Browse files
Merge pull request Automattic#1050 from mcecode/fix-harperjs-docs
`harper.js` API reference generation improvements
2 parents 9343aa3 + 380c38a commit b4cda7d

File tree

1 file changed

+43
-25
lines changed

1 file changed

+43
-25
lines changed

packages/harper.js/docs.sh

Lines changed: 43 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,52 @@
1-
#! /bin/bash
1+
#!/usr/bin/env bash
22

33
set -eo pipefail
44

5-
pnpm api-extractor run
5+
pnpm api-extractor run
66
pnpm api-documenter markdown -i temp
77

8-
rm -r html || true
9-
mkdir html || true
8+
html_dir="./html"
9+
if [[ -d "$html_dir" ]]; then
10+
echo "Deleting old output from ${html_dir}"
11+
rm -r "$html_dir" || true
12+
fi
13+
mkdir "$html_dir" || true
1014

11-
echo Rendering HTML...
12-
# Check if parallel is available
13-
if ! command -v parallel &> /dev/null; then
14-
echo "parallel not found, falling back to sequential processing"
15-
for file in ./markdown/*.md
16-
do
17-
BASE=$(basename $file .md)
18-
pandoc $file -o html/$BASE.html
19-
perl -pi -e 's/"\K([^"]+)\.md(?=")/\1.html/g' html/$BASE.html
15+
harperjs_docs_dir="../web/static/docs/harperjs"
16+
if [[ -d "$harperjs_docs_dir" ]]; then
17+
echo "Deleting old output from ${harperjs_docs_dir}"
18+
rm -r "$harperjs_docs_dir" || true
19+
fi
20+
mkdir -p "$harperjs_docs_dir" || true
2021

21-
echo '<link rel="stylesheet" href="https://unpkg.com/mvp.css">' >> html/$BASE.html
22-
done
23-
else
24-
parallel '
25-
BASE=$(basename {} .md)
26-
pandoc {} -o html/$BASE.html
27-
perl -pi -e `s/\"\\K([^\\"]+)\\.md(?=\")/\\1.html/g` html/$BASE.html
28-
echo "<link rel=\"stylesheet\" href=\"https://unpkg.com/mvp.css\">" >> "html/$BASE.html"
22+
cat <<- PANDOC_FILTER > "./temp/md_to_html.lua"
23+
function Link(elem)
24+
elem.target = string.gsub(elem.target, "%.md$", ".html")
25+
return elem
26+
end
27+
PANDOC_FILTER
28+
29+
echo "Rendering HTML..."
30+
if command -v parallel &> /dev/null; then
31+
parallel '
32+
base=$(basename {} .md)
33+
pandoc -s \
34+
-V pagetitle="${base#"harper.js."} - Harper" \
35+
-V description-meta="API reference documentation for harper.js" \
36+
-V document-css="true" \
37+
-L "./temp/md_to_html.lua" \
38+
-o "html/${base}.html" {}
2939
' ::: ./markdown/*.md
40+
else
41+
echo "parallel not found, falling back to sequential processing"
42+
for file in ./markdown/*.md; do
43+
base=$(basename "$file" .md)
44+
pandoc -s \
45+
-V pagetitle="${base#"harper.js."} - Harper" \
46+
-V description-meta="API reference documentation for harper.js" \
47+
-V document-css="true" \
48+
-L "./temp/md_to_html.lua" \
49+
-o "html/${base}.html" "$file"
50+
done
3051
fi
31-
32-
rm -r ../web/static/docs/harperjs || true
33-
mkdir -p ../web/static/docs/harperjs || true
34-
mv -f html ../web/static/docs/harperjs/ref
52+
mv -f "$html_dir" "${harperjs_docs_dir}/ref"

0 commit comments

Comments
 (0)