1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/usr/bin/env bash
set -euo pipefail

SELF=$(readlink -f "${BASH_SOURCE[0]}")
cd -- "${SELF%%/*/*}"

# ------------------- Create, activate and configure venv -------------------- #
if [[ ! -d ./venv ]]
then
  python3 -m venv venv
fi
source ./venv/bin/activate
pip install -U pip
pip install -U .

# -------------------------------- Functions --------------------------------- #
function append_cmd_help()
{
  local path=$1
  local subcmd=${2:-}
  local cmd
  if [[ -n $subcmd ]]
  then
    cmd=(chemfeat "$subcmd" --help)
    cat >> "$path" << MD

## ${subcmd^}
MD
  else
    cmd=(chemfeat --help)
  fi
  cat >> "$path" << MD

~~~
\$ ${cmd[*]}
$("${cmd[@]}" 2>&1)
~~~
MD
}

function gen_cmd_help()
{
  local path=$1
  cat > "$path" << MD
# Command-Line Usage

The package provides the \`chemfeat\` executable which recognizes several subcommands:
MD
  append_cmd_help "$path"
  for subcmd in calculate configure describe
  do
    append_cmd_help "$path" "$subcmd"
  done
}

function gen_conf()
{
  path=$1
  cat > "$path" << 'CONF'
# Feature-set Configuration File

~~~yaml
CONF
  chemfeat conf >> "$path"
  echo '~~~' >> "$path"
}

# --------------------------------- Generate --------------------------------- #
gen_cmd_help ./doc/source/gen_command_help.md
chemfeat desc -o ./doc/source/gen_features.md
gen_conf ./doc/source/gen_feature_set_configuration.md