#!/bin/bash
# dev/docs/cli - script documentation generation commands

set -e


######
# Package Documentation CLI

package_docs_dispatch() { lib_cmd_dispatch package_docs "$@"; }

package_docs_usage() {
	cat <<USAGE
...
Package Documentation Commands:
	all				Generates all package documentation
	rst ...				Generates reStructuredText docs
	deps ...			Generates dependency graphs
	html ...			Generates HTML documentation
USAGE
}

package_docs_all() {
	package_docs_rst_all
	package_docs_deps_all
	package_docs_html_all
}


######
# reStructuredText Documentation CLI

package_docs_rst() { cmd_dispatch "$@"; }

package_docs_rst_usage() {
	cat <<USAGE
...
Package Documentation Commands:
	all				Generates all package documentation
	guide [<file>+]			Generates guide documentation
	ref [<file>+]			Generates reference manual source
USAGE
}

package_docs_rst_all() {
	package_docs_rst_guide
	package_docs_rst_ref
}

package_docs_rst_guide() {
	lib_load 'dev/docs/guide'
	docs_gen_guide "$@"
}
package_docs_rst_ref() {
	lib_load 'dev/docs/ref'
	docs_gen_files "$@"
}


######
# Dependency Graph Documentation CLI

package_docs_deps() {
	lib_load 'dev/docs/dep'
	cmd_dispatch "$@"
}

package_docs_deps_usage() {
	cat <<USAGE
Dependency Graph Documentation Commands:
	all				Generates all dependency graphs
	global				Generates global dependency graph
	runtime				Generates dependency graph for runtime
	tools				Generates dependency graph for tools
	libraries			Generates dependency graph for libs
	files [<file>+]			Generates dependency graph for files
USAGE
}

package_docs_deps_all() {
	package_docs_deps_files
	package_docs_deps_global
	package_docs_deps_runtime
	package_docs_deps_tools
	package_docs_deps_libs
}

package_docs_deps_libs() { package_docs_deps_special libraries; }
package_docs_deps_tools() { package_docs_deps_special tools; }
package_docs_deps_global() { package_docs_deps_special all; }
package_docs_deps_runtime() { package_docs_deps_special runtime; }


######
# HTML Documentation CLI

package_docs_html() { cmd_dispatch "$@"; }

package_docs_html_usage() {
	cat <<USAGE
...
HTML Documentation Commands:
	all				Generates all HTML documentation
	css				Generates HTML stylesheets
	guide [<file>+>]		Generates HTML user guide pages
	ref [<file>+>]			Generates HTML reference pages
	raw [<file>+>]			Generates HTML raw source (in color)
	index ...			Generates HTML indexes
USAGE
}

package_docs_html_all() {
	package_docs_html_css
	package_docs_html_guide
	package_docs_html_ref
	package_docs_html_raw
	package_docs_html_index_all
}

package_docs_html_css() {
	lib_load 'dev/docs/color'
	docs_gen_html_css
}
package_docs_html_guide() {
	lib_load 'dev/docs/guide'
	docs_gen_html_guide "$@"
}
package_docs_html_ref() {
	lib_load 'dev/docs/ref'
	docs_gen_html_files "$@"
}
package_docs_html_raw() {
	lib_load 'dev/docs/color'
	docs_gen_html_raw "$@"
}

package_docs_html_index() { cmd_dispatch "$@"; }
package_docs_html_index_usage() {
	cat <<USAGE
...
HTML Index Commands:
	all				Generates all HTML indexes
	guide				Generates HTML user guide index
	script				Generates HTML script index
	symbol				Generates HTML symbol index
USAGE
}

package_docs_html_index_all() {
	package_docs_html_index_guide
	package_docs_html_index_script
	package_docs_html_index_symbol
}
package_docs_html_index_guide() {
	lib_load 'dev/docs/guide'
	docs_gen_html_guide_index
}
package_docs_html_index_script() {
	lib_load 'dev/docs/index'
	docs_gen_html_index
}
package_docs_html_index_symbol() {
	warn "not implemented"
}

View the Developer Guide Index

View the Reference Manual Index


Generated on Fri Jul 28 14:35:07 PDT 2017 by mcsh d14 v0.23.0.