prepare-docs.sh 621 B

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