C2HTML

Section: User Commands (1)
 

NAME

c2html - generates highlighted html-files from C source  

SYNOPSIS

c2html [options] [filename...]
 

DESCRIPTION

This manual page documents how to use c2html. If no arguments are given on the command line of c2html, it reads from stdin and writes to stdout.

If invoked with filenames as arguments c2html will write it's output into new files. Names of output files are generated by appending ".html" to the corresponding input filename.

You can convert both .c and .h files with c2html.  

Installing as a CGI program

c2html can be installed as a CGI program and convert source files on the fly. In order to set this up for apache the webmaster has to add the two lines


 AddType text/x-c .c .h
 Action text/x-c /cgi-bin/c2html

to the webserver configuration file. c2html depends on the webserver properly setting environment variable PATH_TRANSLATED to the pathname of the source file. If c2html has been compiled with option -DCOMPRESSION=1 then it will invoke gzip to compress the generated HTML before sending it to the requesting browser. Of course c2html takes care to check if the browser accepts gzip encoding.  

OPTIONS

--
Interpret all following arguments on the command line as filenames. This is useful, if you want to convert files beginning with a '-'.
-b filename
Insert the file 'filename' after converted data and before HTML footer. See also the -s option.
-c
Turns off CGI-script detection and HTTP header generation. This is needed to use c2html as a subcommand in another CGI script.
-h filename
Insert the file 'filename' after the HTML headers and before the converted data. See also the -s option.
-i
Generate an index only. This will generate a list of references (HREF's) to the labels that c2html creates for your source file. The references are created as list items (<li>) in an HTML list. Each line has the form
<li><a href="#name">prototype()</a></li>
so they can be used directly as an index list, or further parsed by another script.
If you want the index at the top of the source file, you will need a wrapper script like this one:

  #! /bin/sh

  echo "Content-type: text/html"

  echo ""

  echo "<html>"

  echo "<head><title>$PATH_TRANSLATED</title>"

  echo "<meta name=\"generator\""

  echo "content=\"`c2html -V`\">"

  echo "</head>"

  echo "<body>"

  echo "<h1>Source of $PATH_TRANSLATED</h1>"

  echo "<ul>Structures and functions"

  cat $PATH_TRANSLATED | c2html -isc

  echo "</ul>"

  echo "<hr></hr>"

  cat $PATH_TRANSLATED | c2html -sc

  echo "</body></html>"

  exit
-n
Number lines and label them with 'line' followed by the line number. Empty lines get no label, but the linecounter will count them nevertheless. With this feature you can refer to special lines of code from other parts of the generated file or from external files with a line like this:

<A HREF="foo.c.html#line301">Go to line 301</A>

-N
Similar to -n , but also blank lines get a label.
-s
With this option you can suppress the generation of HTML headers. This is especially useful together with options -b file and -h file.
-t title
Set the title to 'title'. The default is the filename you converted or "stdin" if reading from stdin. This option is only used if -s is not set.
-u
Print usage information.
-w width
sets the WIDTH attribute for HTML tag <PRE>. If this option is not used a default of 80 is assumed. (Currently most browsers are ignoring this attribute).
-x size
use size for tab size (default 8, max 80).
-V
reports the version number of c2html.
 

EXIT STATUS

c2html returns 0 on success, 1 if input files are not existing/readable, 2 if output files are not creatable/writable, 3 if invoked with illegal options and 4 if gzip cannot be invoked.  

AUTHORS

Florian Schintke <schintke@cs.tu-berlin.de>
Martin Kammerhofer <mkamm@gmx.net> wrote the CGI feature.
Rob Ewan <rob@ewan.com> wrote the indexing feature.  

SEE ALSO

java2html(1), pas2html(1), perl2html(1).


 

Index

NAME
SYNOPSIS
DESCRIPTION
Installing as a CGI program
OPTIONS
EXIT STATUS
AUTHORS
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 07:35:49 GMT, March 26, 2013