Solidoc: Documentation Generator for Solidity
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
- RSK
Supports Solidity up to 0.7.
Able to also generate docs for events and state variables with tags like @notice
, @dev
and @param
.
Getting Started
Global instalation
sudo npm install solidoc -g
Project instalation
npm install solidoc
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).
How to Use Solidoc?
On your project root, run the following command:
solidoc ./ ./docs true
This will generate documentation to the docs
directory.
Or edit package.json
"scripts": {
"docgen": "solidoc ./ ./docs"
}
and run:
npm run docgen
Note
Do not use recompilation (third argument) if you are using this on a non Truffle project.
Configuration File
Alternatively, you can create solidoc.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 solidoc
instead of passing any command line argument.
Overrides
If you wish to change bits and pieces of the documentation generated, place solidoc templates
on the following directory:
./.solidoc/templates/
You can also override language literals by copying and editing i18n
files on the following path:
./.solidoc/i18n/