Rebuild for 3.0.11 UNRELEASED.
[privoxy.git] / doc / webserver / developer-manual / documentation.html
index 1112292..4a6a974 100644 (file)
@@ -1,23 +1,26 @@
+<!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
 REL="PREVIOUS"
-TITLE="Quickstart to Privoxy Development"
-HREF="quickstart.html"><LINK
+TITLE="The CVS Repository"
+HREF="cvs.html"><LINK
 REL="NEXT"
 TITLE="Coding Guidelines"
 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"
@@ -28,6 +31,7 @@ ALINK="#0000FF"
 ><DIV
 CLASS="NAVHEADER"
 ><TABLE
+SUMMARY="Header navigation table"
 WIDTH="100%"
 BORDER="0"
 CELLPADDING="0"
@@ -44,7 +48,8 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="quickstart.html"
+HREF="cvs.html"
+ACCESSKEY="P"
 >Prev</A
 ></TD
 ><TD
@@ -58,6 +63,7 @@ ALIGN="right"
 VALIGN="bottom"
 ><A
 HREF="coding.html"
+ACCESSKEY="N"
 >Next</A
 ></TD
 ></TR
@@ -71,13 +77,13 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="DOCUMENTATION"
->4. Documentation Guidelines</A
+>3. Documentation Guidelines</A
 ></H1
 ><P
->    All formal documents are maintained in docbook SGML and located in the
-    <TT
+>    All formal documents are maintained in Docbook SGML and located in the
+    <SAMP
 CLASS="COMPUTEROUTPUT"
->doc/source/*</TT
+>doc/source/*</SAMP
 > directory. You will need
     <A
 HREF="http://www.docbook.org"
@@ -119,74 +125,112 @@ CLASS="CITETITLE"
 >, <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
-     toplevel 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
 >     Documentation writers should please make sure documents build
-     successfully before committing to CVS.
+     successfully before committing to CVS, if possible.
     </P
 ><P
 >     How do you update the webserver (i.e. the pages on privoxy.org)?
@@ -197,26 +241,30 @@ CLASS="COMPUTEROUTPUT"
 TYPE="1"
 ><LI
 ><P
->        First, build the docs by running <TT
+>        First, build the docs by running <SAMP
 CLASS="COMPUTEROUTPUT"
 >make
-        dok</TT
-> (or alternately <TT
+        dok</SAMP
+> (or alternately <SAMP
 CLASS="COMPUTEROUTPUT"
 >make
-        redhat-dok</TT
->).                 
+        redhat-dok</SAMP
+>). For PDF docs, do <SAMP
+CLASS="COMPUTEROUTPUT"
+>make
+        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
@@ -224,13 +272,37 @@ CLASS="COMPUTEROUTPUT"
 ></OL
 >
   </P
+><P
+>   Finished docs should be occasionally submitted to CVS
+   (<TT
+CLASS="FILENAME"
+>doc/webserver/*/*.html</TT
+>) 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 <SPAN
+CLASS="emphasis"
+><I
+CLASS="EMPHASIS"
+>after</I
+></SPAN
+> the <TT
+CLASS="LITERAL"
+>$VERSION</TT
+> and
+   other release specific data in <TT
+CLASS="FILENAME"
+>configure.in</TT
+> has been
+   updated (this is done just prior to a new release).
+  </P
 ><DIV
 CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
 NAME="SGML"
->4.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. 
@@ -323,110 +395,152 @@ CLASS="LITERAL"
 ><P
 > Some common elements that you likely will use: </P
 ><P
+>  <P
 ></P
 ><TABLE
 BORDER="0"
 ><TBODY
 ><TR
 ><TD
->  <I
+>      <SPAN
+CLASS="emphasis"
+><I
 CLASS="EMPHASIS"
 >&#60;para&#62;&#60;/para&#62;</I
+></SPAN
 >, paragraph delimiter. Most 
-  text needs to be within paragraph elements (there are some exceptions).
- </TD
+      text needs to be within paragraph elements (there are some exceptions).
   </TD
 ></TR
 ><TR
 ><TD
->  <I
+>      <SPAN
+CLASS="emphasis"
+><I
 CLASS="EMPHASIS"
 >&#60;emphasis&#62;&#60;/emphasis&#62;</I
->, the stylesheets make this
- italics.
- </TD
+></SPAN
+>, the stylesheets
+      make this italics.
+    </TD
 ></TR
 ><TR
 ><TD
->  <I
+>      <SPAN
+CLASS="emphasis"
+><I
 CLASS="EMPHASIS"
 >&#60;filename&#62;&#60;/filename&#62;</I
+></SPAN
 >, files and directories.
- </TD
   </TD
 ></TR
 ><TR
 ><TD
->  <I
+>      <SPAN
+CLASS="emphasis"
+><I
 CLASS="EMPHASIS"
 >&#60;command&#62;&#60;/command&#62;</I
+></SPAN
 >, command examples.
- </TD
   </TD
 ></TR
 ><TR
 ><TD
->  <I
+>      <SPAN
+CLASS="emphasis"
+><I
 CLASS="EMPHASIS"
->&#60;literallayout&#62;&#60;/literllayout&#62;</I
+>&#60;literallayout&#62;&#60;/literallayout&#62;</I
+></SPAN
 >, like 
-  <TT
+      <TT
 CLASS="LITERAL"
 >&#60;pre&#62;</TT
 >, more or less.
- </TD
   </TD
 ></TR
 ><TR
 ><TD
->  <I
+>      <SPAN
+CLASS="emphasis"
+><I
 CLASS="EMPHASIS"
->&#60;itemizedlist&#62;&#60;/itemizdelist&#62;</I
+>&#60;itemizedlist&#62;&#60;/itemizedlist&#62;</I
+></SPAN
 >, list with bullets.
- </TD
   </TD
 ></TR
 ><TR
 ><TD
->  <I
+>      <SPAN
+CLASS="emphasis"
+><I
 CLASS="EMPHASIS"
 >&#60;listitem&#62;&#60;/listitem&#62;</I
+></SPAN
 >, member of the above.
- </TD
   </TD
 ></TR
 ><TR
 ><TD
->   <I
+>      <SPAN
+CLASS="emphasis"
+><I
 CLASS="EMPHASIS"
 >&#60;screen&#62;&#60;/screen&#62;</I
+></SPAN
 >, screen output, implies 
-   <TT
+      <TT
 CLASS="LITERAL"
 >&#60;literallayout&#62;</TT
 >.
- </TD
   </TD
 ></TR
 ><TR
 ><TD
->  <I
+>      <SPAN
+CLASS="emphasis"
+><I
 CLASS="EMPHASIS"
 >&#60;ulink url="example.com"&#62;&#60;/ulink&#62;</I
+></SPAN
 >, like 
-  HTML <TT
+      HTML <TT
 CLASS="LITERAL"
 >&#60;a&#62;</TT
 > tag.
- </TD
   </TD
 ></TR
 ><TR
 ><TD
->   <I
+>      <SPAN
+CLASS="emphasis"
+><I
 CLASS="EMPHASIS"
 >&#60;quote&#62;&#60;/quote&#62;</I
+></SPAN
 >, for, doh, quoting text. 
- </TD
   </TD
 ></TR
 ></TBODY
 ></TABLE
 ><P
 ></P
+></P
 ><P
 > Look at any of the existing docs for examples of all these and more.</P
+><P
+> You might also find <SPAN
+CLASS="QUOTE"
+>"<A
+HREF="http://opensource.bureau-cornavin.com/crash-course/index.html"
+TARGET="_top"
+>Writing Documentation
+ Using DocBook - A Crash Course</A
+>"</SPAN
+> useful.</P
 ></DIV
 ><DIV
 CLASS="SECT2"
@@ -434,7 +548,7 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="DOCSTYLE"
->4.2. <SPAN
+>3.2. <SPAN
 CLASS="APPLICATION"
 >Privoxy</SPAN
 > Documentation Style</A
@@ -458,9 +572,12 @@ CLASS="APPLICATION"
 ></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
@@ -516,20 +633,21 @@ CLASS="LITERALLAYOUT"
 ><LI
 ><P
 >     We have an international audience. Refrain from slang, or English 
-     idiosyncrasies (too many to list :).
+     idiosyncrasies (too many to list :). Humor also does not translate 
+     well sometimes.
    </P
 ></LI
 ><LI
 ><P
 >    Try to keep overall line lengths in source files to 80 characters or less
-    for obvious reasons. This is not always possible, with lenghty URLs for
+    for obvious reasons. This is not always possible, with lengthy URLs for
     instance.
    </P
 ></LI
 ><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 (&#60;ulink&#62;), and avoid 
     this mistake:
    </P
@@ -573,8 +691,8 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN179"
->4.3. Privoxy Custom Entities</A
+NAME="AEN217"
+>3.3. Privoxy Custom Entities</A
 ></H2
 ><P
 >  <SPAN
@@ -595,9 +713,12 @@ CLASS="QUOTE"
   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
@@ -629,7 +750,7 @@ CLASS="APPLICATION"
 ><UL
 ><LI
 ><P
->    Re-cyclable <SPAN
+>    Re- <SPAN
 CLASS="QUOTE"
 >"boilerplate"</SPAN
 > text entities are defined like:
@@ -669,65 +790,80 @@ BORDER="0"
 ><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.13"</SPAN
+>"3.0.11"</SPAN
 >.
    </TD
 ></TR
 ><TR
 ><TD
->    <I
+>    <SPAN
+CLASS="emphasis"
+><I
 CLASS="EMPHASIS"
 >p-status</I
+></SPAN
 >: the project status, either 
     <SPAN
 CLASS="QUOTE"
->"ALPHA"</SPAN
+>"alpha"</SPAN
 >, <SPAN
 CLASS="QUOTE"
->"BETA"</SPAN
+>"beta"</SPAN
 >, or <SPAN
 CLASS="QUOTE"
->"STABLE"</SPAN
+>"stable"</SPAN
 >.
    </TD
 ></TR
 ><TR
 ><TD
->    <I
+>    <SPAN
+CLASS="emphasis"
+><I
 CLASS="EMPHASIS"
 >p-not-stable</I
+></SPAN
 >: use to conditionally include 
     text in <SPAN
 CLASS="QUOTE"
 >"not stable"</SPAN
 > releases (e.g. <SPAN
 CLASS="QUOTE"
->"BETA"</SPAN
+>"beta"</SPAN
 >).
    </TD
 ></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
@@ -750,6 +886,7 @@ CLASS="NAVFOOTER"
 ><HR
 ALIGN="LEFT"
 WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
 WIDTH="100%"
 BORDER="0"
 CELLPADDING="0"
@@ -760,7 +897,8 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="quickstart.html"
+HREF="cvs.html"
+ACCESSKEY="P"
 >Prev</A
 ></TD
 ><TD
@@ -769,6 +907,7 @@ ALIGN="center"
 VALIGN="top"
 ><A
 HREF="index.html"
+ACCESSKEY="H"
 >Home</A
 ></TD
 ><TD
@@ -777,6 +916,7 @@ ALIGN="right"
 VALIGN="top"
 ><A
 HREF="coding.html"
+ACCESSKEY="N"
 >Next</A
 ></TD
 ></TR
@@ -785,7 +925,7 @@ HREF="coding.html"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->Quickstart to Privoxy Development</TD
+>The CVS Repository</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"