Skip to content

Scripts used for docs previews in pull requests across OpenZeppelin projects

Notifications You must be signed in to change notification settings

OpenZeppelin/docs-utils

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Utilities for setting up and previewing documentation across OpenZeppelin projects.

This is an internal tool for OpenZeppelin projects.

If you are looking to generate documentation for your Solidity project, check out solidity-docgen.

Initial setup (oz-docs init)

The oz-docs init command will create the necessary directories and files to include a repo in the docs site, and to preview it with the steps in the next section.

Previewing the site locally (oz-docs build, oz-docs watch)

Add a dev dependency on this repo.

npm install --save-dev github:OpenZeppelin/docs-utils
# or yarn add --dev github:OpenZeppelin/docs-utils

Use the oz-docs executable in the package's scripts. You need to provide the -c option with a path to the Antora component that you want to render (this is the directory that contains the antora.yml file).

You should add two commands: docs and docs:watch. The latter should use the oz-docs watch [PATTERN...] command. If some of the docs are generated by a prepare-docs command, e.g., extracting them from Solidity or JavaScript files, you should specifiy glob patterns that match the source files so that the docs are regenerated automatically.

   "scripts": {
+    "docs": "oz-docs -c docs",
+    "docs:watch": "npm run docs watch contracts",
     "prepare-docs": "solidity-docgen -i contracts -o docs"
   },

Setting up docs previews on pull requests

The above should enable local previews of the docs. It's also useful to set up docs previews on pull requests. This is done using Netlify Deploy Previews.

Create a netlify.toml file at the root of the repo with the following contents. (The command and the path may be slightly different for monorepos or repos using yarn.)

[build]
command = "npm run docs"
publish = "build/site"

Then create a Netlify site connected to the repository. Deploy Previews for the master branch are enabled by default.

You will want to disable the Netlify's checks on pull requests, since they are only useful for production sites. In the site settings on Netlify, go to "Build & Deploy", and at the bottom of the page go to "Deploy notifications". Delete the three notifications that say "rich details".

About

Scripts used for docs previews in pull requests across OpenZeppelin projects

Resources

Stars

Watchers

Forks

Packages

No packages published