This command-line utility creates markdown-based documentation for your Solidity project(s) for the following platforms:
- Ethereum
- Ethereum Classic
- Tron
- Qtum
- Wanchain
- Aeternity
- Counterparty
- Rootstock
- Ubiq
- Monax
Supports Solidity up to 0.7.
Able to also generate docs for events and state variables with tags like @notice
, @dev
and @param
.
Global instalation
yarn global add solidok
Make sure your yarn/global/.bin
is exported to PATH.
Project instalation
yarn add solidok --dev
CLI Arguments
- Path to Truffle project (or similar) root.
- Path to generate documentation to.
- Do not recompile. Optional, default: false.
- Compiler. Truffle compiler (use
npx truffle compiler
to use the same compiler as the project, instead of global install of Truffle). - Language. Optional, default: en.
- Version. Optional, refers to contracts version (depends on the project).
- Ignore files. Optional, array with filenames to ignore.
Using a configuration file is recommended (mostly if you want to ignore files).
Usage
In your project root, run the following commands based on your setup:
If installed globally:
solidok ./ ./docs true
If you have a solidok.json
file set up, just run:
solidok
If installed to project:
node node_modules/.bin/solidok
This will generate documentation to the docs
directory.
Or edit package.json
"scripts": {
"docgen": "solidok ./ ./docs"
}
and run:
yarn docgen
Note
Do not use recompilation (third argument) if you are using this on a non Truffle project.
Alternatively, you can create solidok.json
configuration file in your project root:
{
"pathToRoot": "./",
"outputPath": "./docs",
"noCompilation": true,
"compiler": "truffle compile",
"language": "en",
"version": "0.1.10",
"ignoreFiles": []
}
and then call solidok
instead of passing any command line argument.
If you wish to change bits and pieces of the documentation generated, place solidok templates
on the following directory:
./.solidok/templates/
You can also override language literals by copying and editing i18n
files on the following path:
./.solidok/i18n/