solidok

Solidity Documentation Generator Extended

Usage no npm install needed!

<script type="module">
  import solidok from 'https://cdn.skypack.dev/solidok';
</script>

README

Solidok: 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

Now supports Solidity up to 0.7.

Getting Started

Global instalation

sudo yarn install solidok -g

Project instalation

yarn add solidok

CLI Arguments

  1. Path to Truffle project (or similar) root.
  2. Path to generate documentation to.
  3. Do not recompile. Optional, default: false.
  4. Compiler. Truffle compiler (use npx truffle compiler to use the same compiler as the project, instead of global install of Truffle).
  5. Language. Optional, default: en.
  6. Version. Optional, refers to contracts version (depends on the project).
  7. Ignore files. Optional, array with filenames to ignore.

Using a configuration file is recommended (mostly if you want to ignore files).

How to Use solidok?

On your project root, run the following command:

solidok ./ ./docs true

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.

Configuration File

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.

Overrides

If you wish to change bits and pieces of the documentation generated, place solidok templates on the following directory:

./.solidok/templates/

solidok Templates

You can also override language literals by copying and editing i18n files on the following path:

./.solidok/i18n/

Before You Try