+<!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"
><DIV
CLASS="NAVHEADER"
><TABLE
+SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
ALIGN="left"
VALIGN="bottom"
><A
-HREF="quickstart.html"
+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"
->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"
>, <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)?
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
></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.
><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"
><para></para></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"
><emphasis></emphasis></I
->, the stylesheets make this
- italics.
- </TD
+></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
+ </TD
></TR
><TR
><TD
-> <I
+> <SPAN
+CLASS="emphasis"
+><I
CLASS="EMPHASIS"
><command></command></I
+></SPAN
>, command examples.
- </TD
+ </TD
></TR
><TR
><TD
-> <I
+> <SPAN
+CLASS="emphasis"
+><I
CLASS="EMPHASIS"
-><literallayout></literllayout></I
+><literallayout></literallayout></I
+></SPAN
>, like
- <TT
+ <TT
CLASS="LITERAL"
><pre></TT
>, more or less.
- </TD
+ </TD
></TR
><TR
><TD
-> <I
+> <SPAN
+CLASS="emphasis"
+><I
CLASS="EMPHASIS"
-><itemizedlist></itemizdelist></I
+><itemizedlist></itemizedlist></I
+></SPAN
>, list with bullets.
- </TD
+ </TD
></TR
><TR
><TD
-> <I
+> <SPAN
+CLASS="emphasis"
+><I
CLASS="EMPHASIS"
><listitem></listitem></I
+></SPAN
>, member of the above.
- </TD
+ </TD
></TR
><TR
><TD
-> <I
+> <SPAN
+CLASS="emphasis"
+><I
CLASS="EMPHASIS"
><screen></screen></I
+></SPAN
>, screen output, implies
- <TT
+ <TT
CLASS="LITERAL"
><literallayout></TT
>.
- </TD
+ </TD
></TR
><TR
><TD
-> <I
+> <SPAN
+CLASS="emphasis"
+><I
CLASS="EMPHASIS"
><ulink url="example.com"></ulink></I
+></SPAN
>, like
- HTML <TT
+ HTML <TT
CLASS="LITERAL"
><a></TT
> tag.
- </TD
+ </TD
></TR
><TR
><TD
-> <I
+> <SPAN
+CLASS="emphasis"
+><I
CLASS="EMPHASIS"
><quote></quote></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"
CLASS="SECT2"
><A
NAME="DOCSTYLE"
->4.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
> 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 (<ulink>), and avoid
this mistake:
</P
><H2
CLASS="SECT2"
><A
-NAME="AEN179"
->4.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
><UL
><LI
><P
-> Re-cyclable <SPAN
+> Re- <SPAN
CLASS="QUOTE"
>"boilerplate"</SPAN
> text entities are defined like:
><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.17"</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
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
ALIGN="left"
VALIGN="top"
><A
-HREF="quickstart.html"
+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
WIDTH="33%"
ALIGN="left"
VALIGN="top"
->Quickstart to Privoxy Development</TD
+>The CVS Repository</TD
><TD
WIDTH="34%"
ALIGN="center"