#documentation #bash #user-defined

app bashdoc

A tool for generating documentation/help menu for user defined bash functions

15 releases

new 0.6.0 Dec 12, 2024
0.5.2 Jun 15, 2019
0.5.1 Jan 6, 2019
0.5.0 Dec 25, 2018
0.4.12 Dec 23, 2018

#536 in Command line utilities

Download history 22/week @ 2024-09-23 1/week @ 2024-09-30 2/week @ 2024-11-04 134/week @ 2024-12-09

134 downloads per month

MIT license

44KB
1K SLoC

Rust 571 SLoC // 0.0% comments Handlebars 488 SLoC

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

Dependencies

~9–18MB
~260K SLoC