Opinionated documentation generator for user defined bash scripts
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
example
src
static
.clog.toml
.gitignore
CHANGELOG.md
Cargo.toml
LICENSE
README.md
bashdocrc.toml
cli.yml

README.md

bashdoc

BashDoc

A tool for generating documentation/help menu for user defined bash functions any folder or file with 6 generic delimiters defined.

Syntax

Example

Using syntax similar to below

#;
# cd()
# moves to given directory
# @param directory: folder to move to
# @return void
#"
cd() {
   cd $1
}

on my zshrc Outputs

with lots of color!

Global Delimiters

The default delimiters to use are as follows:

START_DELIM = #;

END_DELIM = #"

PAR_DELIM = @param

RET_DELIM = @return

OPT_DELIM = # -

COMM_DELIM = #

These can be modifed in your .bashdocrc.

Install

cargo install bashdoc

or from source

NOTE: Must use Rust 2018 Edition

update with rustup update stable

git clone https://github.com/dustinknopoff/bashdoc
cd bashdoc
cargo install --path . --force

Usage

bashdoc 0.4.10
Creates a "javadoc" like structure for bash. See github repo github.com/dustinknopoff/bashdoc for information on formatting.

USAGE:
bashdoc [FLAGS] [OPTIONS] <INPUT> [SUBCOMMAND]

FLAGS:
-c, --color      toggles color
-h, --help       Prints help information
-V, --version    Prints version information
-w, --watch      continuously update on change

OPTIONS:
-j, --json <FILE>            print result as JSON
-l, --location <location>    location to save HTML
-t, --template <template>    .hbs template to use for generation of documentation

ARGS:
<INPUT>    Sets the input file or glob pattern to use

SUBCOMMANDS:
help        Prints this message or the help of the given subcommand(s)
override    override the delimiters

See the examples folder for more.

See the changelog for updates

Changelog

  • v0.4.0 - Added to crates.io
  • v0.4.1/v0.4.2 - Better descriptions for crates.io
  • v.0.4.5 - Fix error where bashdoc would not function for users without a ~/.bashdocrc
  • v.0.4.6 - Improved Error handling, --html argument removed replaced with --location, --template argument added for supplying custom .hbs
  • v0.4.7 - Fix required location for all inputs and not exclusive to --location
  • v0.4.8 - Clearer README, link to docs.rs documentation
  • v0.4.9 - Improved error path handling
  • v0.4.10 - Support for windows file paths again
  • v0.4.11 - support for overriding global .bashdocrc within a directory.
  • v0.4.12 - descriptors can be split on ':' or whitespace
  • v0.5.0 - refactor for improved error handling/rust-ic code

License: MIT