//******************************************************************************
//* Infodoc-styles - Version History                                           *
//*                                                                            *
//* Author     : Mahlon R. Smith                                               *
//*              Copyright (c) 2014-2015 Mahlon R. Smith, The Software Samurai *
//*                  CSS definitions, source code and binaries released under  *
//*                    GNU GPL version 3.                                      *
//*                  Documentation released under GNU FDL version 1.3          *
//* Date       : 24-Feb-2015                                                   *
//*                                                                            *
//* -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  *
//* Copyright Notice:                                                          *
//* This program is free software: you can redistribute it and/or modify it    *
//* under the terms of the GNU General Public License as published by the Free *
//* Software Foundation, either version 3 of the License, or (at your option)  *
//* any later version.                                                         *
//*                                                                            *
//* This program is distributed in the hope that it will be useful, but        *
//* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
//* or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   *
//* for more details.                                                          *
//*                                                                            *
//* You should have received a copy of the GNU General Public License along    *
//* with this program.  If not, see <http://www.gnu.org/licenses/>.            *
//*                                                                            *
//* -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  *
//* Description:                                                               *
//* Please see the description of package components in the 'README' file      *
//*                                                                            *
//******************************************************************************

Version History (most recent first):
- - - - - - - - - - - - - - - - - -
v: 0.0.07 21-Feb-2015
   -- 'infodoc-styles.css' (CSS style definitions)
      - Bug fix: Correct the 'list-style-type' element in the 
       'enum-decimal-zero' class.

   -- 'idpp' (post-processing utility, version:0.0.04)
      - Create a more robust test for end-of-block markers. This reduces the
        chance that really strange constructs will hide the end-of-block tag,
        causing a processing error. See ppfEndBlock().
      - Create a more robust test for the beginning of <ul> and <ol> lists.
        Occasional strange constructs were sometimes causing the opening tag
        to be missed, and therefore the list to be unprocessed.
        See ppfTestUlistBegin() and ppfTestOlistBegin().
      - Bug fix: In ppfProcFormattedBlock(), if source contained one
        preformatted block nested inside another preformatted block, then
        processing of the block terminated too soon.
      - Lists inside pre-formatted blocks. In the previous release we did not
        process anything inside a preformatted block. In fact, lists
        SHOULD NOT be placed inside preformatted blocks, but if they are, we
        now identify them. Note, however, that we DO NOT process the lists
        themselves (that would require a second pass through the source HTML).
        but we do compensate for the unfortunate spacing in the generated HTML.
        See ppfProcFormattedBlock() and ppfPFB_List().

   -- 'infodoc.texi' (test and documentation source document)
      - Update chapter 'Idpp Block Processing' to reflect changes in 'idpp' 
        related to processing preformatted blocks.
      - Other minor updates.

   -- Posted on website 24-Feb-2015.

v: 0.0.06 03-Feb-2015
   -- 'infodoc-styles.css' (CSS style definitions)
      - Bug Fix: <tt> tag: Add the attribute 'white-space: pre;' 

   -- 'idpp' (post-processing utility, version:0.0.03)
      - Bug fix: If <ul> or <ol> list ends with a block construct, then the 
        </ul> or </ol> tag was sometimes being missed.
      - Bug fix: If first chapter header is not for 'index-main-menu', then 
        end of TOC was not being found.
      - Bug fix: In ppfProcUL(), if user specified that <ul> lists should not 
        be processed, the disable-processing flag was not being set.
      - Remove the methods ppfCopyUL() and ppfCopyOL(). These made sense when 
        the algorithm for list processing was unstable, but are no longer 
        necessary.
      - Allow for a '0' (zero) value in response to the <ol> list processing 
        start value prompt IF the specified enumeration type == 'd' (decimal).
        This is to accomodate the fact that the text of both the GPL and FDL 
        licenses begin with item '0'. Note that the prompt still calls for a 
        value >= 1.
      - Add a special test for GPL and FDL license text. Process the enumerated
        lists associated with these licenses (unless the '--no_mods' option 
        has been specified). See 'ppfProcGNU' method for details.

   -- 'infodoc.texi' (test and documentation source document)
      - Incorporate the GPL/FDL license boilerplate text into the chapter, 
        'Copyright Notice' because processing them is now part of the 'idpp' 
        test suite.
      - Add description of GPL/FDL text processing.
      - Minor corrections and updates.

   -- Posted on website 13-Feb-2015.

v: 0.0.05 06-Dec-2014
   -- 'infodoc-styles.css' (CSS style definitions)
      - Add 'ol.enum-decimal-zero' class for leading-zero-decimal enumeration.
      - Add 'quotation' class for <blockquote> tags: 
        <blockquote class="quotation">
        Note that the HTML <blockquote> tag continues to be re-defined at this 
        time. If this becomes a problem, we can remove the definition.
      - For all the 'small' versions of the block classes, add the element:
        'font-weight: bolder;'  This was done because the contrast between a 
        'smallXXX' block and the surrounding text is actually too great, making 
        it difficult to read. Applies to the following classes: 'smallquotation', 
        'smallindentedblock', 'smallexample', 'smalldisplay', 'smallformat'.
      - For the 'table th' definition, add the element 'text-align:center' to 
        center the column headings of the table.
      - Add a new class: 'table.bordered'. This is a <table> tag class which 
        allows for modifying the plain <table> output to include a border/grid.
        Minor changes have been made to the 'table.index-cp' and 'table.jumpto' 
        classes to accomodate this new functionality.
      - Enable the 'table.cartouche' class definition. Formerly, this was 
        commented out, but the 'idpp' post-processor now handles the callout for 
        these objects. (without post-processing, cartouche paragraphs will have 
        overlapping border definitions).
      - Remove the extended comments at the end of the file. These comments have
        been moved into the formal documentation.

   -- 'idpp' (post-processing utility, version:0.0.02)
      - First effort. Written entirely in straightforward C++.
      - 'idpp' contains 4,700 line of code -- 3,000 of those are NEW, so there 
        will be bugs. 
      - Also, there is no way that a utility of this kind can anticipate every 
        possible Texinfo command combination that results in HTML markup, so 
        please have patience. We will address the issues as they are reported.

   -- 'infodoc.texi' (test and documentation source document)
      - Clean up descriptions and notations about makeinfo bugs
      - Add new tests or modify some existing tests to exercise the 
        post-processing utility.
      - Split the .texi source into chapters and update the Makefile to match.
      - Add chapters for automatic (idpp) and manual post-processing of HTML
        documents. Some of the information in these chapters is incomplete in 
        the current release.
   -- Posted on website 02-Feb-2015.

v: 0.0.04 01-Dec-2014
   - Add a node to the documentation: 'Adjusting Style Definitions' which is a 
     beginner's guide to customizing the CSS style definitions.
   - Document the classes which default to the <h1> <h2> <h3> and <h4> tags.
     Certain classes are not defined, but default to a pleasing and consistent 
     display format.
       <h1> 'settitle', 'top'
       <h2> 'contents-heading', 'unnumbered'
       <h3> 'section', 'heading', 'unnumberedsec'
       <h4> 'subsection', 'subheading'
   - Define the 'subsubsection' class and 'subsubheading' class.
     These are called out, and if not defined, they default to our <h4> 
     definition; however, we have defined them to differentiate between 
     subsection/subheading classes and subsubsection/subsubheading classes.
   - Add a definition for the 'header' class which controls the navigation bar 
     which lives at the top of each node. The navigation bar looks fine using 
     the defaults, so the class definition is commented out, but it's available 
     in case you want to tweak it.
   - Add a definition for the 'cartouche' class. The contents of this class 
     are commented out because the generated HTML interferes with it, so it 
     would be necessary to manually delete the string 'border="1"' from the HTML 
     in order for this class to work as expected.
   - Add a definition for the 'nolinebreak' class. This class is (sometimes) 
     called out by HTML code for a @w{ ... } TexInfo command sequence. 
   - Add a definition for the 'contents' class and its associated <ul> levels:
     'toc-level1', 'toc-level2', 'toc-level3'.
     This replaces the 'ul.toc_level1', 'ul.toc_level2' and 'ul.toc_level3' 
     definitions in the previous version. If you used these in the past, 
     sorry, they're gone--but it's now a much better design.
   - Change default background color from #D0FFD0 to #66FF99. This is a 
     'standard' color as defined by W3C.
   - Add cute 'W3C Valid CSS3' logo at top of 'infodoc_css.html'.
   - Posted on website 06-Dec-2014.

v: 0.0.03 13-Oct-2014
   - Add <li> definition for <ol> tags to provide item spacing.
   - Add 'Copyright' and 'Technical Support' nodes to infodoc.texi because 
     it's now a real release.
   - Additional tests in infodoc.texi which were needed for submitting an 
     enhancement request for TexInfo commands: @itemize and @enumerate.
   - Other changes to infodoc.texi to support bug reporting to gnu.org.
   - Cleanup of documentation and code comments.
   - Posted on website 30-Nov-2014

v: 0.0.02 11-Oct-2014 
   - This became an interesting project in itself.
   - Created 'infodoc.texi' to test the CSS styles.
   - Comprehensive investigation of the HTML markup generated by the 
     'makeinfo' utility. This effort identified at least five (5) bugs in 
     makeinfo and approximately 19 bugs and other issues with the texi-to-HTML 
     converter.
   - Significant expansion of infodoc-styles.css to compensate for as many 
     of the identified issues as possible.
   - Generated both internal project documentation AND user-oriented 
     documentation.
   - Posted on website 12-Nov-2014.
 
v: 0.0.01 05-Oct-2014 
   - Initial effort. A quick style sheet created to beautify the HTML version 
     of the gString documentation posted on the website.
   - Written in CSS version 3
   - Posted on website 02-Nov-2014

