diff --git a/md-utils.pl b/md-utils.pl index 7f18577..fe90c59 100755 --- a/md-utils.pl +++ b/md-utils.pl @@ -11,6 +11,7 @@ use File::Basename; use Getopt::Long qw(:config no_ignore_case auto_abbrev); use Readonly; +use Pod::Usage qw(pod2usage); use Markdown::Render; @@ -30,59 +31,6 @@ sub version { return; } -######################################################################## -sub usage { -######################################################################## - print <<'END_OF_USAGE'; -usage: md-utils options [markdown-file] - -Utility to add a table of contents and other goodies to your GitHub -flavored markdown. - - - Add @TOC@ where you want to see your TOC. - - Add @TOC_BACK@ to insert an internal link to TOC - - Add @DATE(format-str)@ where you want to see a formatted date - - Add @GIT_USER@ where you want to see your git user name - - Add @GIT_EMAIL@ where you want to see your git email address - - Use the --render option to render the HTML for the markdown - -Examples: ---------- - md-utils README.md.in > README.md - - md-utils -r README.md.in - -Options -------- --B, --body default is to add body tag, use --nobody to prevent --b, --both interpolates intermediate file and renders HTML --c, --css css file --e, --engine github, text_markdown (default: github) --h help --i, --infile input file, default: STDIN --m, --mode for GitHub API mode is 'gfm' or 'markdown' (default: markdown) --n, --no-titl do not print a title for the TOC --o, --outfile outfile, default: STDOUT --r, --render render only, does NOT interpolate keywords --R, --raw return raw HTML from engine --t, --title string to use for a custom title, default: "Table of Contents" --v, --version version --N, --nocss do not add any CSS link - -Tips ----- -* Use !# to prevent a header from being include in the table of contents. - Add your own custom back to TOC message @TOC_BACK(Back to Index)@ - -* Date format strings are based on format strings supported by the Perl - module 'Date::Format'. The default format is %Y-%m-%d if not format is given. - -* use the --nobody tag to return the HTML without the
- wrapper. --raw mode will also return HTML without wrapper -END_OF_USAGE - return; -} - ######################################################################## sub get_git_user { ######################################################################## @@ -135,8 +83,7 @@ sub get_git_user { } if ( exists $options{help} ) { - usage; - exit 0; + pod2usage(0); } if ( exists $options{version} ) { @@ -199,3 +146,147 @@ sub get_git_user { exit 0; __END__ + +=head1 NAME + +md-utils - Render markdown as HTML + +=head1 SYNOPSIS + + md-utils [options] [markdown-file] + +=head1 DESCRIPTION + +Utility to add a table of contents and other goodies to your GitHub +flavored markdown. + +=over + +=item * + +Add C<@TOC@> where you want to see your TOC. + +=item * + +Add C<@TOC_BACK@> to insert an internal link to TOC. + +=item * + +Add C<@DATE(I