Sync with source.
[privoxy.git] / doc / webserver / developer-manual / documentation.html
index 0ab7ad1..5d60d94 100644 (file)
@@ -4,13 +4,14 @@
 >Documentation Guidelines</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.60"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.64
+"><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
@@ -43,7 +44,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="quickstart.html"
+HREF="cvs.html"
 >Prev</A
 ></TD
 ><TD
@@ -70,29 +71,29 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="DOCUMENTATION"
->4. Documentation Guidelines</A
+>5. Documentation Guidelines</A
 ></H1
 ><P
->    All formal documents are maintained in docbook SGML and located in the
+>    All formal documents are maintained in Docbook SGML and located in the
     <TT
 CLASS="COMPUTEROUTPUT"
->doc/source</TT
+>doc/source/*</TT
 > directory. You will need
     <A
 HREF="http://www.docbook.org"
 TARGET="_top"
->docbook</A
-> and the docbook
-    stylesheets (or comparable alternatives), and either
-    <SPAN
+>Docbook</A
+>, the Docbook 
+    DTD's and the Docbook modular stylesheets (or comparable alternatives),
+    and either <SPAN
 CLASS="APPLICATION"
 >jade</SPAN
-> or <SPAN
+> or
+    <SPAN
 CLASS="APPLICATION"
 >openjade</SPAN
->
-    (recommended) installed in order to build docs from source. Currently
-    there is <A
+> (recommended) installed in order to
+    build docs from source. Currently there is <A
 HREF="../user-manual/index.html"
 TARGET="_top"
 ><I
@@ -107,39 +108,57 @@ TARGET="_top"
 CLASS="CITETITLE"
 >FAQ</I
 ></A
->, and,
-    of course this, the <I
+>, and, of
+    course this, the <I
 CLASS="CITETITLE"
 >developer-manual</I
-> in this
-    format. The <I
+> in this format.
+    The <I
 CLASS="CITETITLE"
 >README</I
->, is also now maintained 
-    as SGML. The <I
+>, <I
 CLASS="CITETITLE"
->README</I
-> in the top-level source 
-    directory is a generated file. <I
+>AUTHORS</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
+CLASS="FILENAME"
+>index.html</TT
+>, the
+    <SPAN
+CLASS="APPLICATION"
+>Privoxy</SPAN
+> home page, is maintained as SGML.
+    <I
 CLASS="EMPHASIS"
->DO NOT edit this
-    directly</I
->. Edit the SGML source!
+>DO NOT edit these directly</I
+>. Edit the SGML source, or
+    contact someone involved in the documentation (at present Stefan and
+    Hal).
     </P
 ><P
->     Other, less formal documents (e.g. AUTHORS, LICENSE) are maintained as
-     plain text files in the toplevel source directory. At least for the 
-     time being.
+>     Other, less formal documents (e.g. <TT
+CLASS="FILENAME"
+>LICENSE</TT
+>,
+     <TT
+CLASS="FILENAME"
+>INSTALL</TT
+>) are maintained as plain text files in the
+     top-level source directory. At least for the time being.
     </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. Or HTML versions can be downloaded from the <A
-HREF="http://www.privoxy.org"
-TARGET="_top"
->www.privoxy.org</A
-> website, which
-     should be fairly current. (This is only a temporary solution.)
+     CVS. HTML versions are also now being kept in CVS under 
+     <TT
+CLASS="FILENAME"
+>doc/webserver/*</TT
+>.
     </P
 ><P
 >     Formal documents are built with the Makefile targets of
@@ -154,20 +173,20 @@ CLASS="COMPUTEROUTPUT"
      try both. The build process uses the document SGML sources in
      <TT
 CLASS="COMPUTEROUTPUT"
->doc/source</TT
+>doc/source/*/*</TT
 > to update all text files in
      <TT
 CLASS="COMPUTEROUTPUT"
->doc/text</TT
+>doc/text/</TT
 > and to update all HTML
      documents in <TT
 CLASS="COMPUTEROUTPUT"
->doc/webserver</TT
+>doc/webserver/</TT
 >.
     </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)?
@@ -205,56 +224,78 @@ 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 <I
+CLASS="EMPHASIS"
+>after</I
+> 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
+>5.1. Quickstart to Docbook and SGML</A
 ></H2
 ><P
 > If you are not familiar with SGML, it is a markup language similar to HTML. 
- In fact, HTML is an SGML application. Both use <SPAN
+ Actually, not a mark up language per se, but a language used to define 
+ markup languages. In fact, HTML is an SGML application. Both will use
+ <SPAN
 CLASS="QUOTE"
 >"tags"</SPAN
->
- to format text and other content. SGML tags are much more varied, 
- and flexible, but do much of the same kinds of things. The tags, 
+> to format text and other content. SGML tags can be much
+ more varied, and flexible, but do much of the same kinds of things. The tags,
  or <SPAN
 CLASS="QUOTE"
 >"elements"</SPAN
->, are definable in SGML. There is no 
set <SPAN
+>, are definable in SGML. There is no set
+ <SPAN
 CLASS="QUOTE"
 >"standards"</SPAN
 >. Since we are using
  <SPAN
 CLASS="APPLICATION"
 >Docbook</SPAN
->, our tags are those that are 
defined by <SPAN
+>, our tags are those that are defined by 
+ <SPAN
 CLASS="APPLICATION"
 >Docbook</SPAN
->. Much of how the 
finish document is rendered is determined by the <SPAN
+>. Much of how the finish document is
+ rendered is determined by the <SPAN
 CLASS="QUOTE"
 >"stylesheets"</SPAN
 >.
- The stylesheets determine how each tag gets translated to HTML, or 
other formats.</P
+ The stylesheets determine how each tag gets translated to HTML, or other
+ formats.</P
 ><P
-> Tags in SGML need to be always <SPAN
+> Tags in Docbook SGML need to be always <SPAN
 CLASS="QUOTE"
 >"closed"</SPAN
->. If not, you 
- will likely generate errors. Example: 
- <TT
+>. If not, you
+ will likely generate errors. Example: <TT
 CLASS="LITERAL"
->&#60;title&#62;My Title&#60;/title&#62;</TT
->. They are 
- also case-insensitive, but we strongly suggest using all lower 
- case. This keeps compatibility with [Docbook] <SPAN
+>&#60;title&#62;My
+ Title&#60;/title&#62;</TT
+>. They are also case-insensitive, but we
+ strongly suggest using all lower case. This keeps compatibility with
+ [Docbook] <SPAN
 CLASS="APPLICATION"
 >XML</SPAN
 >.</P
@@ -303,110 +344,122 @@ CLASS="LITERAL"
 ><P
 > Some common elements that you likely will use: </P
 ><P
+>  <P
 ></P
 ><TABLE
 BORDER="0"
 ><TBODY
 ><TR
 ><TD
->  <I
+>      <I
 CLASS="EMPHASIS"
 >&#60;para&#62;&#60;/para&#62;</I
 >, paragraph delimiter. Most 
-  text needs to be within paragraph elements.
- </TD
+      text needs to be within paragraph elements (there are some exceptions).
   </TD
 ></TR
 ><TR
 ><TD
->  <I
+>      <I
 CLASS="EMPHASIS"
 >&#60;emphasis&#62;&#60;/emphasis&#62;</I
->, stylesheets make this
- italics.
- </TD
+>, the stylesheets
     make this italics.
   </TD
 ></TR
 ><TR
 ><TD
->  <I
+>      <I
 CLASS="EMPHASIS"
 >&#60;filename&#62;&#60;/filename&#62;</I
 >, files and directories.
- </TD
   </TD
 ></TR
 ><TR
 ><TD
->  <I
+>      <I
 CLASS="EMPHASIS"
 >&#60;command&#62;&#60;/command&#62;</I
 >, command examples.
- </TD
   </TD
 ></TR
 ><TR
 ><TD
->  <I
+>      <I
 CLASS="EMPHASIS"
->&#60;literallayout&#62;&#60;/literllayout&#62;</I
+>&#60;literallayout&#62;&#60;/literallayout&#62;</I
 >, like 
-  <TT
+      <TT
 CLASS="LITERAL"
 >&#60;pre&#62;</TT
 >, more or less.
- </TD
   </TD
 ></TR
 ><TR
 ><TD
->  <I
+>      <I
 CLASS="EMPHASIS"
->&#60;itemizedlist&#62;&#60;/itemizdelist&#62;</I
+>&#60;itemizedlist&#62;&#60;/itemizedlist&#62;</I
 >, list with bullets.
- </TD
   </TD
 ></TR
 ><TR
 ><TD
->  <I
+>      <I
 CLASS="EMPHASIS"
 >&#60;listitem&#62;&#60;/listitem&#62;</I
 >, member of the above.
- </TD
   </TD
 ></TR
 ><TR
 ><TD
->   <I
+>      <I
 CLASS="EMPHASIS"
 >&#60;screen&#62;&#60;/screen&#62;</I
 >, screen output, implies 
-   <TT
+      <TT
 CLASS="LITERAL"
 >&#60;literallayout&#62;</TT
 >.
- </TD
   </TD
 ></TR
 ><TR
 ><TD
->  <I
+>      <I
 CLASS="EMPHASIS"
 >&#60;ulink url="example.com"&#62;&#60;/ulink&#62;</I
 >, like 
-  HTML <TT
+      HTML <TT
 CLASS="LITERAL"
 >&#60;a&#62;</TT
 > tag.
- </TD
   </TD
 ></TR
 ><TR
 ><TD
->   <I
+>      <I
 CLASS="EMPHASIS"
 >&#60;quote&#62;&#60;/quote&#62;</I
 >, 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://www.bureau-cornavin.com/opensource/crash-course/"
+TARGET="_top"
+>Writing Documentation
+ Using DocBook - A Crash Course</A
+>"</SPAN
+> useful.</P
 ></DIV
 ><DIV
 CLASS="SECT2"
@@ -414,7 +467,7 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="DOCSTYLE"
->4.2. <SPAN
+>5.2. <SPAN
 CLASS="APPLICATION"
 >Privoxy</SPAN
 > Documentation Style</A
@@ -438,8 +491,11 @@ CLASS="APPLICATION"
 ></LI
 ><LI
 ><P
->       Tags delimiting a block of text should be on their own line. 
-       Like:
+>       Tags delimiting a <I
+CLASS="EMPHASIS"
+>block</I
+> of text (even small
+       blocks) should be on their own line. Like:
        <P
 CLASS="LITERALLAYOUT"
 >&nbsp;&#60;para&#62;<br>
@@ -457,8 +513,9 @@ CLASS="LITERALLAYOUT"
 ></LI
 ><LI
 ><P
->      Tags should be nested and step indented like:
-       <P
+>      Tags should be nested and step indented for block text like: (except
+      in-line tags) 
+     <P
 CLASS="LITERALLAYOUT"
 >&nbsp;&#60;para&#62;<br>
 &nbsp;&nbsp;&#60;itemizedlist&#62;<br>
@@ -485,19 +542,21 @@ CLASS="LITERALLAYOUT"
 ><P
 >     Do not hesitate to make comments. Comments can either use the 
      &#60;comment&#62; element, or the &#60;!--  --&#62; style comment 
-     familiar from HTML.
+     familiar from HTML. (Note in Docbook v4.x &#60;comment&#62; is 
+     replaced by &#60;remark&#62;.)
     </P
 ></LI
 ><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
@@ -548,8 +607,8 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN173"
->4.3. Privoxy Custom Entities</A
+NAME="AEN212"
+>5.3. Privoxy Custom Entities</A
 ></H2
 ><P
 >  <SPAN
@@ -595,8 +654,8 @@ CLASS="APPLICATION"
 >Privoxy</SPAN
 > version string. You are strongly 
   encouraged to use these where possible. Some of these obviously 
-  require re-setting with each release. A sampling of custom entities are
-  listed below. See any of the main docs for examples.
+  require re-setting with each release (done by the Makefile). A sampling of
+  custom entities are listed below. See any of the main docs for examples.
  </P
 ><P
 >  <P
@@ -604,7 +663,7 @@ CLASS="APPLICATION"
 ><UL
 ><LI
 ><P
->    Re-cyclable <SPAN
+>    Re- <SPAN
 CLASS="QUOTE"
 >"boilerplate"</SPAN
 > text entities are defined like:
@@ -653,7 +712,7 @@ CLASS="APPLICATION"
 > 
     version string, e.g. <SPAN
 CLASS="QUOTE"
->"2.9.13"</SPAN
+>"2.9.14"</SPAN
 >.
    </TD
 ></TR
@@ -665,13 +724,13 @@ CLASS="EMPHASIS"
 >: 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
@@ -686,7 +745,7 @@ CLASS="QUOTE"
 >"not stable"</SPAN
 > releases (e.g. <SPAN
 CLASS="QUOTE"
->"BETA"</SPAN
+>"beta"</SPAN
 >).
    </TD
 ></TR
@@ -735,7 +794,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="quickstart.html"
+HREF="cvs.html"
 >Prev</A
 ></TD
 ><TD
@@ -760,7 +819,7 @@ HREF="coding.html"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->Quickstart to Privoxy Development</TD
+>The CVS Repository</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"