# BINMAN-SHOW 1 2016-02-28 5.1.0 ## NAME binman-show - show manpage from header comment ## SYNOPSIS `binman-show` [*OPTION*]... [*FILE*] [*PATTERN*] ## DESCRIPTION Extracts the "embedded manpage source", described in binman-text(1), from the given *FILE* or STDIN, transforms it into roff(7), and displays it in man(1). If the optional *PATTERN* regular expression is specified, searches for it inside the output displayed by man(1) and jumps to the first match if found. If man(1) cannot display the roff(7) conversion, falls back to the displaying the HTML conversion. And if that fails too, displays the manpage source as-is. ### Examples See "Embedded manpage sources" in binman-text(1) for header comment syntax. #### From a shell script ```sh #!/usr/bin/sh # your program's manual page goes here binman-show "$0" ``` #### From a Ruby script ```ruby #!/usr/bin/env ruby # your program's manual page goes here require 'binman' BinMan.show ``` You can also specify your program's source file encoding above the manual: ```ruby #!/usr/bin/env ruby # -*- coding: utf-8 -*- # your program's manual page goes here ``` You can also write the manual as a multi-line Ruby comment: ```ruby #!/usr/bin/env ruby =begin your program's manual page goes here =end ``` You can also specify your program's source file encoding above the manual: ```ruby #!/usr/bin/env ruby # -*- coding: utf-8 -*- =begin your program's manual page goes here =end ``` #### From a Perl script ```perl #!/usr/bin/env perl # your program's manual page goes here system('binman-show', __FILE__); ``` You can also write the manual as a multi-line Ruby comment after `__END__`: ```perl #!/usr/bin/env perl print "your program's code goes here"; __END__ =begin your program's manual page goes here =end ``` #### From a Python script ```python #!/usr/bin/env python # your program's manual page goes here import subprocess subprocess.call(['binman-show', __file__]) ``` You can also specify your program's source file encoding above the manual: ```python #!/usr/bin/env python # -*- coding: utf-8 -*- # your program's manual page goes here ``` You can also write the manual as a multi-line Ruby comment inside a docstring: ```python #!/usr/bin/env python """ =begin your program's manual page goes here =end """ ``` You can also specify your program's source file encoding above the manual: ```python #!/usr/bin/env python # -*- coding: utf-8 -*- """ =begin your program's manual page goes here =end """ ``` #### From an AWK script The technique for determining current AWK script file name [comes from here]( http://www.mombu.com/programming/programming/t-the-name-of-script-itself-2040784-print.html ). ```awk #!/usr/bin/awk -f # your program's manual page goes here BEGIN {getline c <"/proc/self/cmdline"; sub(".*-f\0"," ",c); sub("\0.*","",c); system("binman-show" c)} ``` #### From a Tcl script ```tcl #!/usr/bin/env tclsh # your program's manual page goes here exec >/dev/tty binman-show $argv0 ``` You can also write the manual as a multi-line Ruby comment inside an `if 0`: ```tcl #!/usr/bin/env tclsh if 0 { =begin your program's manual page goes here =end } ``` #### From a Node.js script ```javascript /* =begin your program's manual page goes here =end */ require('child_process').exec(['>/dev/tty', 'binman-show', __filename].join(' ')); ``` ## OPTIONS `-h` [*PATTERN*], `--help` [*PATTERN*] Show this help manual and optionally search for *PATTERN* regular expression. ## SEE ALSO binman-text(1), binman-roff(1), binman-html(1), binman-help(1), binman(1)