Files
openzeppelin-contracts/scripts/prepare-docs.sh
2024-12-20 13:23:30 -06:00

27 lines
621 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
shopt -s globstar
OUTDIR="$(node -p 'require("./docs/config.js").outputDir')"
if [ ! -d node_modules ]; then
npm ci
fi
rm -rf "$OUTDIR"
hardhat docgen
# copy examples and adjust imports
examples_source_dir="contracts/mocks/docs"
examples_target_dir="docs/modules/api/examples"
for f in "$examples_source_dir"/**/*.sol; do
name="${f/#"$examples_source_dir"/}"
mkdir -p "$examples_target_dir/$(dirname "$name")"
sed -Ee '/^import/s|"(\.\./)+|"@openzeppelin/contracts/|' "$f" > "$examples_target_dir/$name"
done
node scripts/gen-nav.js "$OUTDIR" > "$OUTDIR/../nav.adoc"