+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>Documentation Guidelines</TITLE
><META
NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.64
-"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="Privoxy Developer Manual"
HREF="index.html"><LINK
HREF="coding.html"><LINK
REL="STYLESHEET"
TYPE="text/css"
-HREF="../p_doc.css"></HEAD
+HREF="../p_doc.css"><META
+HTTP-EQUIV="Content-Type"
+CONTENT="text/html;
+charset=ISO-8859-1"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#EEEEEE"
><DIV
CLASS="NAVHEADER"
><TABLE
+SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
VALIGN="bottom"
><A
HREF="cvs.html"
+ACCESSKEY="P"
>Prev</A
></TD
><TD
VALIGN="bottom"
><A
HREF="coding.html"
+ACCESSKEY="N"
>Next</A
></TD
></TR
CLASS="SECT1"
><A
NAME="DOCUMENTATION"
->5. Documentation Guidelines</A
+>3. Documentation Guidelines</A
></H1
><P
> All formal documents are maintained in Docbook SGML and located in the
- <TT
+ <SAMP
CLASS="COMPUTEROUTPUT"
->doc/source/*</TT
+>doc/source/*</SAMP
> directory. You will need
<A
HREF="http://www.docbook.org"
>, <I
CLASS="CITETITLE"
>AUTHORS</I
->
+>,
+ <I
+CLASS="CITETITLE"
+>INSTALL</I
+>,
<I
CLASS="CITETITLE"
>privoxy.1</I
-> (man page) files are also now maintained
- as Docbook SGML. The finished files are all in the top-level source
- directory are generated files! Also, <TT
+> (man page), and
+ <I
+CLASS="CITETITLE"
+>config</I
+> files are also now maintained as Docbook
+ SGML. These files, when built, in the top-level source directory are
+ generated files! Also, the <SPAN
+CLASS="APPLICATION"
+>Privoxy</SPAN
+> <TT
CLASS="FILENAME"
>index.html</TT
->, the
+> (and a
+ variation on this file, <TT
+CLASS="FILENAME"
+>privoxy-index.html</TT
+>,
+ meant for inclusion with doc packages), are maintained as SGML as well.
<SPAN
-CLASS="APPLICATION"
->Privoxy</SPAN
-> home page, is maintained as SGML.
- <I
+CLASS="emphasis"
+><I
CLASS="EMPHASIS"
>DO NOT edit these directly</I
+></SPAN
>. Edit the SGML source, or
- contact someone involved in the documentation (at present Stefan and
- Hal).
+ contact someone involved in the documentation.
</P
><P
-> Other, less formal documents (e.g. <TT
+> <TT
CLASS="FILENAME"
->LICENSE</TT
->,
+>config</TT
+> requires some special handling. The reason it
+ is maintained this way is so that the extensive comments in the file
+ mirror those in <I
+CLASS="CITETITLE"
+>user-manual</I
+>. But the conversion
+ process requires going from SGML to HTML to text to special formatting
+ required for the embedded comments. Some of this does not survive so
+ well. Especially some of the examples that are longer than 80 characters.
+ The build process for this file outputs to <TT
+CLASS="FILENAME"
+>config.new</TT
+>,
+ which should be reviewed for errors and mis-formatting. Once satisfied
+ that it is correct, then it should be hand copied to
<TT
CLASS="FILENAME"
->INSTALL</TT
->) are maintained as plain text files in the
- top-level source directory. At least for the time being.
+>config</TT
+>.
+ </P
+><P
+> Other, less formal documents (e.g. <TT
+CLASS="FILENAME"
+>LICENSE</TT
+>) are
+ maintained as plain text files in the top-level source directory.
</P
><P
> Packagers are encouraged to include this documentation. For those without
the ability to build the docs locally, text versions of each are kept in
- CVS. HTML versions are also now being kept in CVS under
+ CVS. HTML versions are also being kept in CVS under
<TT
CLASS="FILENAME"
>doc/webserver/*</TT
+>. And PDF version are kept in
+ <TT
+CLASS="FILENAME"
+>doc/pdf/*</TT
>.
</P
><P
> Formal documents are built with the Makefile targets of
- <TT
+ <SAMP
CLASS="COMPUTEROUTPUT"
->make dok</TT
+>make dok</SAMP
>, or alternately
- <TT
+ <SAMP
CLASS="COMPUTEROUTPUT"
->make redhat-dok</TT
+>make redhat-dok</SAMP
>. If you have problems,
try both. The build process uses the document SGML sources in
- <TT
+ <SAMP
CLASS="COMPUTEROUTPUT"
->doc/source/*/*</TT
+>doc/source/*/*</SAMP
> to update all text files in
- <TT
+ <SAMP
CLASS="COMPUTEROUTPUT"
->doc/text/</TT
+>doc/text/</SAMP
> and to update all HTML
- documents in <TT
+ documents in <SAMP
CLASS="COMPUTEROUTPUT"
->doc/webserver/</TT
+>doc/webserver/</SAMP
>.
</P
><P
TYPE="1"
><LI
><P
-> First, build the docs by running <TT
+> First, build the docs by running <SAMP
+CLASS="COMPUTEROUTPUT"
+>make
+ dok</SAMP
+> (or alternately <SAMP
CLASS="COMPUTEROUTPUT"
>make
- dok</TT
-> (or alternately <TT
+ redhat-dok</SAMP
+>). For PDF docs, do <SAMP
CLASS="COMPUTEROUTPUT"
>make
- redhat-dok</TT
->).
+ dok-pdf</SAMP
+>.
</P
></LI
><LI
><P
-> Run <TT
+> Run <SAMP
CLASS="COMPUTEROUTPUT"
->make webserver</TT
+>make webserver</SAMP
> which copies all
- files from <TT
+ files from <SAMP
CLASS="COMPUTEROUTPUT"
->doc/webserver</TT
+>doc/webserver</SAMP
> to the
sourceforge webserver via scp.
</P
>) so that those without
the ability to build them locally, have access to them if needed.
This is especially important just prior to a new release! Please
- do this <I
+ do this <SPAN
+CLASS="emphasis"
+><I
CLASS="EMPHASIS"
>after</I
+></SPAN
> the <TT
CLASS="LITERAL"
>$VERSION</TT
CLASS="SECT2"
><A
NAME="SGML"
->5.1. Quickstart to Docbook and SGML</A
+>3.1. Quickstart to Docbook and SGML</A
></H2
><P
> If you are not familiar with SGML, it is a markup language similar to HTML.
><TBODY
><TR
><TD
-> <I
+> <SPAN
+CLASS="emphasis"
+><I
CLASS="EMPHASIS"
><para></para></I
+></SPAN
>, paragraph delimiter. Most
text needs to be within paragraph elements (there are some exceptions).
</TD
></TR
><TR
><TD
-> <I
+> <SPAN
+CLASS="emphasis"
+><I
CLASS="EMPHASIS"
><emphasis></emphasis></I
+></SPAN
>, the stylesheets
make this italics.
</TD
></TR
><TR
><TD
-> <I
+> <SPAN
+CLASS="emphasis"
+><I
CLASS="EMPHASIS"
><filename></filename></I
+></SPAN
>, files and directories.
</TD
></TR
><TR
><TD
-> <I
+> <SPAN
+CLASS="emphasis"
+><I
CLASS="EMPHASIS"
><command></command></I
+></SPAN
>, command examples.
</TD
></TR
><TR
><TD
-> <I
+> <SPAN
+CLASS="emphasis"
+><I
CLASS="EMPHASIS"
><literallayout></literallayout></I
+></SPAN
>, like
<TT
CLASS="LITERAL"
></TR
><TR
><TD
-> <I
+> <SPAN
+CLASS="emphasis"
+><I
CLASS="EMPHASIS"
><itemizedlist></itemizedlist></I
+></SPAN
>, list with bullets.
</TD
></TR
><TR
><TD
-> <I
+> <SPAN
+CLASS="emphasis"
+><I
CLASS="EMPHASIS"
><listitem></listitem></I
+></SPAN
>, member of the above.
</TD
></TR
><TR
><TD
-> <I
+> <SPAN
+CLASS="emphasis"
+><I
CLASS="EMPHASIS"
><screen></screen></I
+></SPAN
>, screen output, implies
<TT
CLASS="LITERAL"
></TR
><TR
><TD
-> <I
+> <SPAN
+CLASS="emphasis"
+><I
CLASS="EMPHASIS"
><ulink url="example.com"></ulink></I
+></SPAN
>, like
HTML <TT
CLASS="LITERAL"
></TR
><TR
><TD
-> <I
+> <SPAN
+CLASS="emphasis"
+><I
CLASS="EMPHASIS"
><quote></quote></I
+></SPAN
>, for, doh, quoting text.
</TD
></TR
> You might also find <SPAN
CLASS="QUOTE"
>"<A
-HREF="http://www.bureau-cornavin.com/opensource/crash-course/"
+HREF="http://opensource.bureau-cornavin.com/crash-course/index.html"
TARGET="_top"
>Writing Documentation
Using DocBook - A Crash Course</A
CLASS="SECT2"
><A
NAME="DOCSTYLE"
->5.2. <SPAN
+>3.2. <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
> Documentation Style</A
></LI
><LI
><P
-> Tags delimiting a <I
+> Tags delimiting a <SPAN
+CLASS="emphasis"
+><I
CLASS="EMPHASIS"
>block</I
+></SPAN
> of text (even small
blocks) should be on their own line. Like:
<P
><LI
><P
> Our documents are available in differing formats. Right now, they
- are just plain text, and HTML, but PDF, and others is always a
+ are just plain text, HTML, and PDF, but others are always a
future possibility. Be careful with URLs (<ulink>), and avoid
this mistake:
</P
><H2
CLASS="SECT2"
><A
-NAME="AEN212"
->5.3. Privoxy Custom Entities</A
+NAME="AEN217"
+>3.3. Privoxy Custom Entities</A
></H2
><P
> <SPAN
that is used by multiple docs. This way we can write something once, and use
it repeatedly without having to re-write the same content over and over again.
If editing such a file, keep in mind that it should be
- <I
+ <SPAN
+CLASS="emphasis"
+><I
CLASS="EMPHASIS"
>generic</I
+></SPAN
>. That is the purpose; so it can be used in varying
contexts without additional modifications.
</P
><TBODY
><TR
><TD
-> <I
+> <SPAN
+CLASS="emphasis"
+><I
CLASS="EMPHASIS"
>p-version</I
+></SPAN
>: the <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
>
version string, e.g. <SPAN
CLASS="QUOTE"
->"2.9.14"</SPAN
+>"3.0.17"</SPAN
>.
</TD
></TR
><TR
><TD
-> <I
+> <SPAN
+CLASS="emphasis"
+><I
CLASS="EMPHASIS"
>p-status</I
+></SPAN
>: the project status, either
<SPAN
CLASS="QUOTE"
></TR
><TR
><TD
-> <I
+> <SPAN
+CLASS="emphasis"
+><I
CLASS="EMPHASIS"
>p-not-stable</I
+></SPAN
>: use to conditionally include
text in <SPAN
CLASS="QUOTE"
></TR
><TR
><TD
-> <I
+> <SPAN
+CLASS="emphasis"
+><I
CLASS="EMPHASIS"
>p-stable</I
+></SPAN
>: just the opposite.
</TD
></TR
><TR
><TD
-> <I
+> <SPAN
+CLASS="emphasis"
+><I
CLASS="EMPHASIS"
>p-text</I
+></SPAN
>: this doc is only generated as text.
</TD
></TR
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
VALIGN="top"
><A
HREF="cvs.html"
+ACCESSKEY="P"
>Prev</A
></TD
><TD
VALIGN="top"
><A
HREF="index.html"
+ACCESSKEY="H"
>Home</A
></TD
><TD
VALIGN="top"
><A
HREF="coding.html"
+ACCESSKEY="N"
>Next</A
></TD
></TR