|
Boost-Commit : |
From: johnmaddock_at_[hidden]
Date: 2007-07-03 08:00:06
Author: johnmaddock
Date: 2007-07-03 08:00:05 EDT (Tue, 03 Jul 2007)
New Revision: 7347
URL: http://svn.boost.org/trac/boost/changeset/7347
Log:
Removed:
sandbox/doc_test/doc/
sandbox/doc_test/grouped_links/doc/grouped_links.qbk
sandbox/doc_test/grouped_links/doc/xhtml/HTML.manifest
sandbox/doc_test/grouped_links/doc/xhtml/boostbook.css
sandbox/doc_test/grouped_links/doc/xhtml/images/
sandbox/doc_test/grouped_links/doc/xhtml/index.html
Deleted: sandbox/doc_test/grouped_links/doc/grouped_links.qbk
==============================================================================
--- sandbox/doc_test/grouped_links/doc/grouped_links.qbk 2007-07-03 08:00:05 EDT (Tue, 03 Jul 2007)
+++ (empty file)
@@ -1,229 +0,0 @@
-[library Boost.GroupedLinks
- [quickbook 1.4]
- [authors [Capeletto, Matias]]
- [copyright 2007 Matias Capeletto]
- [category javascript]
- [id grouped_links]
- [dirname grouped_links]
- [purpose
- Construct a grouped links select box from a XML definition file
- ]
- [source-mode c++]
- [license
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE_1_0.txt or copy at
-[@http://www.boost.org/LICENSE_1_0.txt])
- ]
-]
-
-[/ QuickBook Document version 1.4 ]
-
-[def __GROUPED_LINKS_IMAGE__ [$images/grouped_links.png]]
-
-[section Introduction]
-
-GroupedLinks is a simple javascript API for building links select boxes.
-
-Features
-
-* Released under Boost Software License.
-* Cross-browser.
-* Items are populated from a simple XML definition file.
-* css based look & feel.
-* Support for relative URLs.
-* Integration with Boostbook.
-* Only standard javascript used.
-
-__GROUPED_LINKS_IMAGE__
-
-[endsect]
-
-[section Tutorial]
-
-
-[section GroupedLinks XML definition]
-
-A GroupedLinks select box is populated from a ['GroupedLinks XML definition]
-file. This is an important feature, because it means that the items are not
-harcoded in the HTML saving us space using global definitions and allowing
-us to change the definition with out touching the HTML files.
-
-['GroupedLinks XML definition] start with a tag named `groupedLinks`.
-There are only three elements:
-
-[table Elements
-[[Name][Purpose]]
-[[`title`][
-Add a title to the GroupedLinks select box. This is useful when
-you do not want to select any of the internals items. The select
-box will show the title instead.
-]]
-[[`group`][
-Starts a group list.
-]]
-[[`item`][
-Links items. They must reside inside a group list.
-]]
-]
-
-All the elements have two attributes:
-
-* [*tag: ] Name of the element, it will be showed in the HTML.
-* [*url: ] URL of the link. It can be relative or absolute. (It is optional)
-
-A ['GroupedLinks XML definition] will look like:
-
-``
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<groupedLinks version="1.0">
-
-<title tag="Title" url="group_1.html"/>
-
-<group tag="Group 1" url="group_1.html">
-
- <item tag="Item A" url="group_1/item_A.html"/>
- <item tag="Item B" url="group_1/item_A.html"/>
- <item tag="Item C" url="http://www.item_C.com"/>
-
-</group>
-
-<group tag="Group 2" url="group_2.html">
-
- <item tag="Item A" url="group_2/item_A.html"/>
- <item tag="Item B" url="group_2/item_A.html"/>
-
-</group>
-
-<group tag="Group 3" url="group_3.html"/>
-
-</groupedLinks>
-``
-
-
-[endsect]
-
-[section Including a GroupedLinks select box in your HTML]
-
-To include a ['GroupedLinks select box] in the body of your HTML you have
-to create a form with an unique id and call the javascript function
-`grouped_links_select_box` inside of it.
-
-[table grouped_links_select_box function
-[[][Parameter Name][Purpose]]
-[[1][GroupedLinks XML URL][
-['GroupedLinks XML definition] URL.
-]]
-[[2][Form id][
-id of the form where you want to place the ['GroupedLinks select box].
-]]
-[[3][Base URL][
-A base URL that will be concatenated to all the relatives URLs.
-]]
-[[5][Selected item][
-The item that is selected by default. This parameter is optional, if
-you call the function with only three parameters the tag of the title
-element is used if there is one in the ['GroupedLinks XML definition].
-]]
-]
-
-It is simple enough to be understood from an example:
-
-``
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Boost.GroupedLinks Example</title>
-<link rel="stylesheet" href="../../css/grouped_links.css" type="text/css">
-</head>
-
-<body>
-
-<!-- /* Include the grouped links java script api */ -->
-
-<script type="text/javascript" src="../../js/grouped_links.js"></script>
-
-<!-- /* Add a form with an "id" attribute */ -->
-
-<form id="boost_libs_list">
-
- <!--/* Call the GroupedLinks "select box" */-->
-
- <script type="text/javascript">
-
- grouped_links_select_box('boost_libs.xml',
- 'boost_libs_list',
- '../../',
- 'Boost Libraries');
-
- </script>
-
-</form>
-``
-
-[note
-Remember to change the `src` of the javascript include line to point
-to the URL of `grouped_links.js` in your system. Try to work with
-relatives paths so the HTML can be easily moved.
-]
-
-[endsect]
-
-[section Boostbook integration]
-
-Add the following lines to your jamfile.v2
-
- <xsl:param>grouped.links.chapters.show="'true'"
- <xsl:param>grouped.links.sections.show="'true'"
- <xsl:param>grouped.links.sections.xml="'sections.XML'" # your XML sections
-
-GroupedLinks select boxes for boost libraries and internal sections can be
-requested to boostbook using the following options:
-
-[table Boostbook GroupedLinks Parameters
-[[Name][Purpose]]
-[[`show`][Include select box]]
-[[`xml`][Path to the XML definition]]
-[[`url`][Base URL to use with relative paths]]
-]
-
-You can configure all the parameters used by boostbook:
-
- <xsl:param>grouped.links.js="'grouped_links.js'"
-
- <xsl:param>grouped.links.chapters.show="'true'"
- <xsl:param>grouped.links.chapters.xml="'boost_libs_grouped_links.XML'"
- <xsl:param>grouped.links.chapters.url="''"
-
- <xsl:param>grouped.links.sections.show="'true'"
- <xsl:param>grouped.links.sections.xml="'sections_grouped_links.XML'"
- <xsl:param>grouped.links.sections.url="''"
-
-[endsect]
-
-[endsect]
-
-[section Examples]
-
-In the folder `example` you can find two examples using GropedLinks API.
-
-[variablelist
-[[simple][
-How to put a GropedLinks select box in your HTML body.
-]]
-[[boostbook][
-How to integrate GroupedLinks with boostbook and quickbook docs.
-]]
-]
-
-[endsect]
-
-[section Acknowledgments]
-
-Thanks Martin Capeletto (my brother) for teaching me the basics of javascript.
-
-Thanks to the ones that participates in constructing the new boost docs
-look & feel. Special thanks to John Maddock for his support during this period.
-
-[endsect]
-
-
Deleted: sandbox/doc_test/grouped_links/doc/xhtml/HTML.manifest
==============================================================================
--- sandbox/doc_test/grouped_links/doc/xhtml/HTML.manifest 2007-07-03 08:00:05 EDT (Tue, 03 Jul 2007)
+++ (empty file)
@@ -1 +0,0 @@
-index.html
Deleted: sandbox/doc_test/grouped_links/doc/xhtml/boostbook.css
==============================================================================
--- sandbox/doc_test/grouped_links/doc/xhtml/boostbook.css 2007-07-03 08:00:05 EDT (Tue, 03 Jul 2007)
+++ (empty file)
@@ -1,802 +0,0 @@
-/*=============================================================================
- Copyright (c) 2004-2006 Joel de Guzman, http://spirit.sourceforge.net/
- Copyright (c) 2006-2007 Matias Capeletto
-
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-
-/*============================================================================
- misc
-=============================================================================*/
-
- .clear
- {
- clear : both;
- width : 100%;
- height : 1px;
- overflow : hidden;
- }
-
-/*=============================================================================
- Body defaults
-=============================================================================*/
-
- body
- {
- /*--- background : url(images/header-fg.png) no-repeat top left;*/
- /*--- margin: 1em;*/
- font-family: sans-serif;
- /*--- clear : both;*/
- /*--- border : none;*/
- min-width : 43em;
- /*+++ font-size : smaller;*/
- margin: 0;
- }
-
- #body {
- clear : both;
- border : none;
- width : 100%;
- background : #ffffff;
- }
-
- #content {
- margin: 1em;
- clear : both;
- border : none;
- }
-
-/*============================================================================
- Page Heading
-=============================================================================*/
-
- #heading
- {
- color : black;
- height : 100px;
- background : url(images/header-fg.png) no-repeat top left;
- border-bottom : solid 1px;
- }
-
- .heading_logo
- {
- text-align: left;
- border: none;
- }
-
- .heading_search_box
- {
- text-align: right;
- padding-bottom: 10px;
- padding-right: 10px;
- height: 40px;
- color: white;
- font-weight: bold;
- }
-
- input.search_box
- {
- background-color: #BEDEBA;
- font-weight: bold;
- font-size: 12px;
- color: #006D00;
- border: 1px solid #DCDCDC;
- border-bottom: 1px solid #9D9D9D;
- border-right: 1px solid #9D9D9D;
- padding-bottom: 3px;
- padding-left: 3px;
- }
-
- .heading_navigation_box
- {
- text-align: right;
- padding-top: 10px;
- padding-right: 10px;
- height: 40px;
- }
-
- div.grouped_links
- {
- display: inline;
- }
-
-/*=============================================================================
- Grouped Links
-=============================================================================*/
-
- select.grouped_links
- {
- background-color: #BEDEBA;
- font-weight: bold;
- font-size: 12px;
- color: #006D00;
- border: 1px solid #DCDCDC;
- border-bottom: 1px solid #9D9D9D;
- border-right: 1px solid #9D9D9D;
- padding-bottom: 1px;
- padding-right: 1px;
- }
-
- option.grouped_links_title
- {
- background-color: #BEDEBA;
- font-weight: bold;
- font-size: 12px;
- color: #006D00;
- }
-
- option.grouped_links_group
- {
- background-color: #008000;
- font-weight: bold;
- font-size: 12px;
- color: white;
- }
-
- option.grouped_links_item
- {
- background-color: #FAFFFB;
- padding: 0px 0px 0px 12px;
- color: #006D00;
- font-weight: normal;
- }
-
-
-/*=============================================================================
- Footer
-=============================================================================*/
-
- #footer {
- color: #666666;
- margin: 1.5em;
- padding: 0em;
- clear: both;
- background: #FFFFFF url(images/footer-bg.png) repeat-x top left;
- border: none;
- }
-
- #footer-left {
- float: left;
- padding: 0.65em;
- min-height: 100px;
- background: url(images/footer-bg-left.png) no-repeat top left;
- }
-
- #footer-right {
- float: right;
- padding: 0.65em;
- min-height: 100px;
- background: url(images/footer-bg-right.png) no-repeat top right;
- }
-
- #footer p {
- margin: 0em;
- padding: 0em;
- font-size: 75%;
- text-align: left;
- }
-
- #footer #banners p {
- float: left;
- margin: 0em 0em 0em 1em;
- }
-
- #footer #banners a {
- display: block;
- }
-
- #footer #banner-sourceforge {
- background: url(http://sourceforge.net/sflogo.php?group_id=7586&type=1) no-repeat fixed 0px 5em;
- }
-
-
-/*=============================================================================
- Paragraphs
-=============================================================================*/
-
- p
- {
- text-align: left;
- font-size: 10pt;
- line-height: 1.15;
- }
-
-/*=============================================================================
- Program listings
-=============================================================================*/
-
- /* Code on paragraphs */
- p tt.computeroutput
- {
- font-size: 10pt;
- }
-
- pre.synopsis
- {
- font-size: 10pt;
- margin: 1pc 4% 0pc 4%;
- padding: 0.5pc 0.5pc 0.5pc 0.5pc;
- }
-
- .programlisting,
- .screen
- {
- font-size: 10pt;
- display: block;
- margin: 1pc 4% 0pc 4%;
- padding: 0.5pc 0.5pc 0.5pc 0.5pc;
- }
-
- /* Program listings in tables don't get borders */
- td .programlisting,
- td .screen
- {
- margin: 0pc 0pc 0pc 0pc;
- padding: 0pc 0pc 0pc 0pc;
- }
-
-/*=============================================================================
- Headings
-=============================================================================*/
-
- h1, h2, h3, h4, h5, h6
- {
- text-align: left;
- margin: 1em 0em 0.5em 0em;
- font-weight: bold;
- }
-
- h1 { font: 140% }
- h2 { font: bold 140% }
- h3 { font: bold 130% }
- h4 { font: bold 120% }
- h5 { font: italic 110% }
- h6 { font: italic 100% }
-
- /* Top page titles */
- title,
- h1.title,
- h2.title
- h3.title,
- h4.title,
- h5.title,
- h6.title,
- .refentrytitle
- {
- font-weight: bold;
- margin-bottom: 1pc;
- }
-
- h1.title { font-size: 140% }
- h2.title { font-size: 140% }
- h3.title { font-size: 130% }
- h4.title { font-size: 120% }
- h5.title { font-size: 110% }
- h6.title { font-size: 100% }
-
- .section h1
- {
- margin: 0em 0em 0.5em 0em;
- font-size: 140%;
- }
-
- .section h2 { font-size: 140% }
- .section h3 { font-size: 130% }
- .section h4 { font-size: 120% }
- .section h5 { font-size: 110% }
- .section h6 { font-size: 100% }
-
- /* Code on titles */
- h1 tt.computeroutput { font-size: 140% }
- h2 tt.computeroutput { font-size: 140% }
- h3 tt.computeroutput { font-size: 130% }
- h4 tt.computeroutput { font-size: 120% }
- h5 tt.computeroutput { font-size: 110% }
- h6 tt.computeroutput { font-size: 100% }
-
-/*=============================================================================
- Author
-=============================================================================*/
-
- h3.author
- {
- font-size: 100%
- }
-
-/*=============================================================================
- Lists
-=============================================================================*/
-
- li
- {
- font-size: 10pt;
- line-height: 1.3;
- }
-
- /* Unordered lists */
- ul
- {
- text-align: left;
- }
-
- /* Ordered lists */
- ol
- {
- text-align: left;
- }
-
-/*=============================================================================
- Links
-=============================================================================*/
-
- a
- {
- text-decoration: none; /* no underline */
- border: none;
- }
-
- a:hover
- {
- text-decoration: underline;
- border: none;
- }
-
-/*=============================================================================
- Spirit style navigation
-=============================================================================*/
-
- .spirit-nav
- {
- text-align: right;
- margin: 16px;
- }
-
- .spirit-nav a
- {
- color: white;
- padding-left: 0.5em;
- }
-
- .spirit-nav img
- {
- border-width: 0px;
- }
-
-/*=============================================================================
- Table of contents
-=============================================================================*/
-
- .toc
- {
- margin: 1pc 4% 0pc 4%;
- padding: 0.1pc 1pc 0.1pc 1pc;
- font-size: 10pt;
- line-height: 1.15;
- }
-
- .toc-main
- {
- text-align: center;
- margin: 3pc 16% 3pc 16%;
- padding: 3pc 1pc 3pc 1pc;
- line-height: 0.1;
- }
-
- .boost-toc
- {
- float: right;
- padding: 0.5pc;
- }
-
-/*=============================================================================
- Tables
-=============================================================================*/
-
- .table-title,
- div.table p.title
- {
- margin-left: 4%;
- padding-right: 0.5em;
- padding-left: 0.5em;
- }
-
- .informaltable table,
- .table table
- {
- width: 92%;
- margin-left: 4%;
- margin-right: 4%;
- }
-
- div.informaltable table,
- div.table table
- {
- padding: 4px;
- }
-
- /* Table Cells */
- div.informaltable table tr td,
- div.table table tr td
- {
- padding: 0.5em;
- text-align: left;
- }
-
- div.informaltable table tr th,
- div.table table tr th
- {
- padding: 0.5em 0.5em 0.5em 0.5em;
- border: 1pt solid white;
- font-size: 120%;
- }
-
-/*=============================================================================
- Blurbs
-=============================================================================*/
-
- .admonition-graphic {
- float: left;
- padding-top: 10px;
- }
-
- .admonition-body {
- padding: 10px;
- margin-left: 50px;
- border: 1px solid #DCDCDC;
- border-bottom: 2px solid #9D9D9D;
- border-right: 2px solid #9D9D9D;
- background-color: #FAFFFB;
- }
-
- .admonition-title {
- font-weight: bold;
- }
-
- .admonition-content {
-
- }
-
-
- div.note,
- div.tip,
- div.important,
- div.caution,
- div.warning,
- div.sidebar
- {
- font-size: 10pt;
- line-height: 1.2;
- display: block;
- margin: 1pc 4% 0pc 4%;
- padding: 0.5pc 0.5pc 0.5pc 0.5pc;
- }
-
- div.sidebar img
- {
- padding: 1pt;
- }
-
-
-
-/*=============================================================================
- Callouts
-=============================================================================*/
- .line_callout_bug img
- {
- float: left;
- position:relative;
- left: 4px;
- top: -12px;
- clear: left;
- margin-left:-22px;
- }
-
- .callout_bug img
- {
- }
-
-
-
-/*=============================================================================
- Variable Lists
-=============================================================================*/
-
- /* Make the terms in definition lists bold */
- div.variablelist dl dt,
- span.term
- {
- font-weight: bold;
- font-size: 10pt;
- }
-
- div.variablelist table tbody tr td
- {
- text-align: left;
- vertical-align: top;
- padding: 0em 2em 0em 0em;
- font-size: 10pt;
- margin: 0em 0em 0.5em 0em;
- line-height: 1;
- }
-
- /* Make the terms in definition lists bold */
- div.variablelist dl dt
- {
- margin-bottom: 0.2em;
- }
-
- div.variablelist dl dd
- {
- margin: 0em 0em 0.5em 2em;
- font-size: 10pt;
- }
-
- div.variablelist table tbody tr td p
- div.variablelist dl dd p
- {
- margin: 0em 0em 0.5em 0em;
- line-height: 1;
- }
-
-/*=============================================================================
- Misc
-=============================================================================*/
-
- /* Title of books and articles in bibliographies */
- span.title
- {
- font-style: italic;
- }
-
- span.underline
- {
- text-decoration: underline;
- }
-
- span.strikethrough
- {
- text-decoration: line-through;
- }
-
- /* Copyright, Legal Notice */
- div div.legalnotice p
- {
- text-align: left
- }
-
-/*=============================================================================
- Colors
-=============================================================================*/
-
- @media screen
- {
- /* Links */
- a
- {
- color: #0C7445;
- border: none;
- }
-
- a:visited
- {
- color: #663974;
- border: none;
- }
-
- h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
- h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover,
- h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited
- {
- text-decoration: none; /* no underline */
- color: #000000;
- border: none;
- }
-
- /* Syntax Highlighting */
-
- /* John Maddock style */
- .keyword { color: #3300CC; }
- .identifier { color: #000000; }
- .special { color: #707070; }
- .preprocessor { color: #009999; }
- .char { color: teal; }
- .comment { color: #009900; }
- .string { color: teal; }
- .number { color: teal; }
- .white_bkd { background-color: #E8FBE9; }
- .dk_grey_bkd { background-color: #A0DAAC; }
-
- /* Matias Capeletto style
- .keyword { color: #0000AA; }
- .identifier { color: #000000; }
- .special { color: #707070; }
- .preprocessor { color: #402080; }
- .char { color: teal; }
- .comment { color: #800000; }
- .string { color: teal; }
- .number { color: teal; }
- .white_bkd { background-color: #E8FBE9; }
- .dk_grey_bkd { background-color: #A0DAAC; }
- */
-
- /* Copyright, Legal Notice */
- .copyright
- {
- color: #666666;
- font-size: small;
- }
-
- div div.legalnotice p
- {
- color: #666666;
- }
-
- /* Program listing */
- pre.synopsis
- {
- border: 1px solid #DCDCDC;
- border-bottom: 2px solid #9D9D9D;
- border-right: 2px solid #9D9D9D;
- background-color: #FAFFFB;
- }
-
- .programlisting,
- .screen
- {
- border: 1px solid #DCDCDC;
- border-bottom: 2px solid #9D9D9D;
- border-right: 2px solid #9D9D9D;
- background-color: #FAFFFB;
- }
-
- td .programlisting,
- td .screen
- {
- border: 0px solid #DCDCDC;
- }
-
- /* Blurbs */
- /*
- div.note,
- div.tip,
- div.important,
- div.caution,
- div.warning,*/
- div.sidebar
- {
- border: 1px solid #DCDCDC;
- border-bottom: 2px solid #9D9D9D;
- border-right: 2px solid #9D9D9D;
- background-color: #FAFFFB;
- }
-
- /* Table of contents */
- .toc
- {
- border: 1px solid #DCDCDC;
- border-bottom: 2px solid #9D9D9D;
- border-right: 2px solid #9D9D9D;
- background-color: #FAFFFB;
- }
-
- /* Table of contents */
- .toc-main
- {
- border: 1px solid #DCDCDC;
- border-bottom: 2px solid #9D9D9D;
- border-right: 2px solid #9D9D9D;
- background-color: #FAFFFB;
- }
-
-
- /* Tables */
- div.informaltable table tr td,
- div.table table tr td
- {
- border: 1px solid #DCDCDC;
- background-color: #FAFFFB;
- }
-
- div.informaltable table tr th,
- div.table table tr th
- {
- background-color: #E3F9E4;
- border: 1px solid #DCDCDC;
- }
-
- /* Misc */
- span.highlight
- {
- color: #00A000;
- }
- }
-
- @media print
- {
- /* Links */
- a
- {
- color: black;
- }
-
- a:visited
- {
- color: black;
- }
-
- .spirit-nav
- {
- display: none;
- }
-
- /* Program listing */
- pre.synopsis
- {
- border: 1px solid gray;
- background-color: #FAFFFB;
- }
-
- .programlisting,
- .screen
- {
- border: 1px solid gray;
- background-color: #FAFFFB;
- }
-
- td .programlisting,
- td .screen
- {
- border: 0px solid #DCDCDC;
- }
-
- /* Table of contents */
- .toc
- {
- border: 1px solid #DCDCDC;
- border-bottom: 2px solid #9D9D9D;
- border-right: 2px solid #9D9D9D;
- background-color: #FAFFFB;
- }
-
- /* Table of contents */
- .toc-main
- {
- border: 1px solid #DCDCDC;
- border-bottom: 2px solid #9D9D9D;
- border-right: 2px solid #9D9D9D;
- background-color: #FAFFFB;
- }
-
- .informaltable table,
- .table table
- {
- border: 1px solid #DCDCDC;
- border-bottom: 2px solid #9D9D9D;
- border-right: 2px solid #9D9D9D;
- border-collapse: collapse;
- background-color: #FAFFFB;
- }
-
- /* Tables */
- div.informaltable table tr td,
- div.table table tr td
- {
- border: 1px solid #DCDCDC;
- background-color: #FAFFFB;
- }
-
- div.informaltable table tr th,
- div.table table tr th
- {
- border: 1px solid #DCDCDC;
- background-color: #FAFFFB;
- }
-
- /* Misc */
- span.highlight
- {
- font-weight: bold;
- }
- }
Deleted: sandbox/doc_test/grouped_links/doc/xhtml/index.html
==============================================================================
--- sandbox/doc_test/grouped_links/doc/xhtml/index.html 2007-07-03 08:00:05 EDT (Tue, 03 Jul 2007)
+++ (empty file)
@@ -1,670 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head xmlns="http://www.w3.org/1999/xhtml">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
- <title>Chapter 1. Boost.GroupedLinks</title>
- <link xmlns="" rel="stylesheet" href="boostbook.css" type="text/css" />
- <meta name="generator" content="DocBook XSL Stylesheets V1.70.1" />
- <link rel="start" href="index.html" title="Chapter 1. Boost.GroupedLinks" />
- </head>
- <body>
- <div id="heading">
- <div id="heading-placard"></div>
- <div class="heading_navigation_box"></div>
- <div class="heading_search_box"></div>
- </div>
- <div class="spirit-nav"></div>
- <div id="body">
- <div id="body-inner">
- <div id="content">
- <div xmlns="http://www.w3.org/1999/xhtml" class="chapter" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title"><a id="grouped_links"></a>Chapter 1. Boost.GroupedLinks</h2>
- </div>
- <div>
- <div class="author">
- <h3 class="author"><span class="firstname">Matias</span> <span class="surname">Capeletto</span></h3>
- </div>
- </div>
- <div>
- <p class="copyright">Copyright © 2007 Matias Capeletto</p>
- </div>
- <div>
- <div class="legalnotice">
- <a id="id2601623"></a>
- <p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a xmlns="" href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt>)
- </p>
- </div>
- </div>
- </div>
- </div>
- <div class="toc">
- <p>
- <b>Table of Contents</b>
- </p>
- <dl>
- <dt>
- <span class="section">
- Introduction
- </span>
- </dt>
- <dt>
- <span class="section">
- Tutorial
- </span>
- </dt>
- <dt>
- <span class="section">
- Examples
- </span>
- </dt>
- <dt>
- <span class="section">
- Acknowledgments
- </span>
- </dt>
- </dl>
- </div>
- <div class="section" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both">
- <a id="grouped_links.introduction"></a>
- Introduction
- </h2>
- </div>
- </div>
- </div>
- <p>
- GroupedLinks is a simple javascript API for building links select boxes.
- </p>
- <p>
- Features
- </p>
- <div class="itemizedlist">
- <ul type="disc">
- <li>
- Released under Boost Software License.
- </li>
- <li>
- Cross-browser.
- </li>
- <li>
- Items are populated from a simple XML definition file.
- </li>
- <li>
- css based look & feel.
- </li>
- <li>
- Support for relative URLs.
- </li>
- <li>
- Integration with Boostbook.
- </li>
- <li>
- Only standard javascript used.
- </li>
- </ul>
- </div>
- <p>
- <span class="inlinemediaobject"><img src="images/grouped_links.png" alt="grouped_links" /></span>
- </p>
- </div>
- <div class="section" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both">
- <a id="grouped_links.tutorial"></a>
- Tutorial
- </h2>
- </div>
- </div>
- </div>
- <div class="toc">
- <dl>
- <dt>
- <span class="section">
- <a href="index.html#grouped_links.tutorial.groupedlinks_xml_definition">GroupedLinks
- XML definition</a>
- </span>
- </dt>
- <dt>
- <span class="section">
- <a href="index.html#grouped_links.tutorial.including_a_groupedlinks_select_box_in_your_html">Including
- a GroupedLinks select box in your HTML</a>
- </span>
- </dt>
- <dt>
- <span class="section">
- <a href="index.html#grouped_links.tutorial.boostbook_integration">Boostbook
- integration</a>
- </span>
- </dt>
- </dl>
- </div>
- <div class="section" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title">
- <a id="grouped_links.tutorial.groupedlinks_xml_definition"></a>
- <a href="index.html#grouped_links.tutorial.groupedlinks_xml_definition" title="GroupedLinks XML definition">GroupedLinks
- XML definition</a>
- </h3>
- </div>
- </div>
- </div>
- <p>
- A GroupedLinks select box is populated from a <span class="emphasis"><em>GroupedLinks XML
- definition</em></span> file. This is an important feature, because it means
- that the items are not harcoded in the HTML saving us space using global
- definitions and allowing us to change the definition with out touching the
- HTML files.
- </p>
- <p>
- <span class="emphasis"><em>GroupedLinks XML definition</em></span> start with a tag named
- <code class="computeroutput"><span class="identifier">groupedLinks</span></code>. There are only
- three elements:
- </p>
- <div class="table">
- <a id="id2565416"></a>
- <p class="title">
- <b>Table 1.1. Elements</b>
- </p>
- <div class="table-contents">
- <table xmlns="" class="table" summary="Elements">
- <colgroup>
- <col xmlns="http://www.w3.org/1999/xhtml" />
- <col xmlns="http://www.w3.org/1999/xhtml" />
- </colgroup>
- <thead xmlns="http://www.w3.org/1999/xhtml">
- <tr>
- <th>
- <p>
- Name
- </p>
- </th>
- <th>
- <p>
- Purpose
- </p>
- </th>
- </tr>
- </thead>
- <tbody xmlns="http://www.w3.org/1999/xhtml">
- <tr>
- <td>
- <p>
- <code class="computeroutput"><span class="identifier">title</span></code>
- </p>
- </td>
- <td>
- <p>
- Add a title to the GroupedLinks select box. This is useful when you
- do not want to select any of the internals items. The select box will
- show the title instead.
- </p>
- </td>
- </tr>
- <tr>
- <td>
- <p>
- <code class="computeroutput"><span class="identifier">group</span></code>
- </p>
- </td>
- <td>
- <p>
- Starts a group list.
- </p>
- </td>
- </tr>
- <tr>
- <td>
- <p>
- <code class="computeroutput"><span class="identifier">item</span></code>
- </p>
- </td>
- <td>
- <p>
- Links items. They must reside inside a group list.
- </p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <br class="table-break" />
- <p>
- All the elements have two attributes:
- </p>
- <div class="itemizedlist">
- <ul type="disc">
- <li><span class="bold"><strong>tag: </strong></span> Name of the element, it will be
- showed in the HTML.
- </li>
- <li><span class="bold"><strong>url: </strong></span> URL of the link. It can be relative
- or absolute. (It is optional)
- </li>
- </ul>
- </div>
- <p>
- A <span class="emphasis"><em>GroupedLinks XML definition</em></span> will look like:
- </p>
- <p>
-
-</p>
- <pre class="programlisting">
-<span class="special"><?</span><span class="identifier">xml</span> <span class="identifier">version</span><span class="special">=</span><span class="string">"1.0"</span> <span class="identifier">encoding</span><span class="special">=</span><span class="string">"UTF-8"</span> <span class="special">?></span>
-
-<span class="special"><</span><span class="identifier">groupedLinks</span> <span class="identifier">version</span><span class="special">=</span><span class="string">"1.0"</span><span class="special">></span>
-
-<span class="special"><</span><span class="identifier">title</span> <span class="identifier">tag</span><span class="special">=</span><span class="string">"Title"</span> <span class="identifier">url</span><span class="special">=</span><span class="string">"group_1.html"</span><span class="special">/></span>
-
-<span class="special"><</span><span class="identifier">group</span> <span class="identifier">tag</span><span class="special">=</span><span class="string">"Group 1"</span> <span class="identifier">url</span><span class="special">=</span><span class="string">"group_1.html"</span><span class="special">></span>
-
- <span class="special"><</span><span class="identifier">item</span> <span class="identifier">tag</span><span class="special">=</span><span class="string">"Item A"</span> <span class="identifier">url</span><span class="special">=</span><span class="string">"group_1/item_A.html"</span><span class="special">/></span>
- <span class="special"><</span><span class="identifier">item</span> <span class="identifier">tag</span><span class="special">=</span><span class="string">"Item B"</span> <span class="identifier">url</span><span class="special">=</span><span class="string">"group_1/item_A.html"</span><span class="special">/></span>
- <span class="special"><</span><span class="identifier">item</span> <span class="identifier">tag</span><span class="special">=</span><span class="string">"Item C"</span> <span class="identifier">url</span><span class="special">=</span><span class="string">"http://www.item_C.com"</span><span class="special">/></span>
-
-<span class="special"></</span><span class="identifier">group</span><span class="special">></span>
-
-<span class="special"><</span><span class="identifier">group</span> <span class="identifier">tag</span><span class="special">=</span><span class="string">"Group 2"</span> <span class="identifier">url</span><span class="special">=</span><span class="string">"group_2.html"</span><span class="special">></span>
-
- <span class="special"><</span><span class="identifier">item</span> <span class="identifier">tag</span><span class="special">=</span><span class="string">"Item A"</span> <span class="identifier">url</span><span class="special">=</span><span class="string">"group_2/item_A.html"</span><span class="special">/></span>
- <span class="special"><</span><span class="identifier">item</span> <span class="identifier">tag</span><span class="special">=</span><span class="string">"Item B"</span> <span class="identifier">url</span><span class="special">=</span><span class="string">"group_2/item_A.html"</span><span class="special">/></span>
-
-<span class="special"></</span><span class="identifier">group</span><span class="special">></span>
-
-<span class="special"><</span><span class="identifier">group</span> <span class="identifier">tag</span><span class="special">=</span><span class="string">"Group 3"</span> <span class="identifier">url</span><span class="special">=</span><span class="string">"group_3.html"</span><span class="special">/></span>
-
-<span class="special"></</span><span class="identifier">groupedLinks</span><span class="special">></span>
-</pre>
- <p>
- </p>
- </div>
- <div class="section" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title">
- <a id="grouped_links.tutorial.including_a_groupedlinks_select_box_in_your_html"></a>
- <a href="index.html#grouped_links.tutorial.including_a_groupedlinks_select_box_in_your_html" title="Including a GroupedLinks select box in your HTML">Including
- a GroupedLinks select box in your HTML</a>
- </h3>
- </div>
- </div>
- </div>
- <p>
- To include a <span class="emphasis"><em>GroupedLinks select box</em></span> in the body of
- your HTML you have to create a form with an unique id and call the javascript
- function <code class="computeroutput"><span class="identifier">grouped_links_select_box</span></code>
- inside of it.
- </p>
- <div class="table">
- <a id="id2611051"></a>
- <p class="title">
- <b>Table 1.2. grouped_links_select_box function</b>
- </p>
- <div class="table-contents">
- <table xmlns="" class="table" summary="grouped_links_select_box function">
- <colgroup>
- <col xmlns="http://www.w3.org/1999/xhtml" />
- <col xmlns="http://www.w3.org/1999/xhtml" />
- <col xmlns="http://www.w3.org/1999/xhtml" />
- </colgroup>
- <thead xmlns="http://www.w3.org/1999/xhtml">
- <tr>
- <th>
- <p>
- </p>
- </th>
- <th>
- <p>
- Parameter Name
- </p>
- </th>
- <th>
- <p>
- Purpose
- </p>
- </th>
- </tr>
- </thead>
- <tbody xmlns="http://www.w3.org/1999/xhtml">
- <tr>
- <td>
- <p>
- 1
- </p>
- </td>
- <td>
- <p>
- GroupedLinks XML URL
- </p>
- </td>
- <td>
- <p>
- <span class="emphasis"><em>GroupedLinks XML definition</em></span> URL.
- </p>
- </td>
- </tr>
- <tr>
- <td>
- <p>
- 2
- </p>
- </td>
- <td>
- <p>
- Form id
- </p>
- </td>
- <td>
- <p>
- id of the form where you want to place the <span class="emphasis"><em>GroupedLinks select
- box</em></span>.
- </p>
- </td>
- </tr>
- <tr>
- <td>
- <p>
- 3
- </p>
- </td>
- <td>
- <p>
- Base URL
- </p>
- </td>
- <td>
- <p>
- A base URL that will be concatenated to all the relatives URLs.
- </p>
- </td>
- </tr>
- <tr>
- <td>
- <p>
- 5
- </p>
- </td>
- <td>
- <p>
- Selected item
- </p>
- </td>
- <td>
- <p>
- The item that is selected by default. This parameter is optional, if
- you call the function with only three parameters the tag of the title
- element is used if there is one in the <span class="emphasis"><em>GroupedLinks XML definition</em></span>.
- </p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <br class="table-break" />
- <p>
- It is simple enough to be understood from an example:
- </p>
- <p>
-
-</p>
- <pre class="programlisting">
-<span class="special"><</span><span class="identifier">head</span><span class="special">></span>
-<span class="special"><</span><span class="identifier">meta</span> <span class="identifier">http</span><span class="special">-</span><span class="identifier">equiv</span><span class="special">=</span><span class="string">"Content-Type"</span> <span class="identifier">content</span><span class="special">=</span><span class="string">"text/html; charset=ISO-8859-1"</span><span class="special">></span>
-<span class="special"><</span><span class="identifier">title</span><span class="special">></span><span class="identifier">Boost</span><span class="special">.</span><span class="identifier">GroupedLinks</span> <span class="identifier">Example</span><span class="special"></</span><span class="identifier">title</span><span class="special">></span>
-<span class="special"><</span><span class="identifier">link</span> <span class="identifier">rel</span><span class="special">=</span><span class="string">"stylesheet"</span> <span class="identifier">href</span><span class="special">=</span><span class="string">"../../css/grouped_links.css"</span> <span class="identifier">type</span><span class="special">=</span><span class="string">"text/css"</span><span class="special">></span>
-<span class="special"></</span><span class="identifier">head</span><span class="special">></span>
-
-<span class="special"><</span><span class="identifier">body</span><span class="special">></span>
-
-<span class="special"><!--</span> <span class="comment">/* Include the grouped links java script api */</span> <span class="special">--></span>
-
-<span class="special"><</span><span class="identifier">script</span> <span class="identifier">type</span><span class="special">=</span><span class="string">"text/javascript"</span> <span class="identifier">src</span><span class="special">=</span><span class="string">"../../js/grouped_links.js"</span><span class="special">></</span><span class="identifier">script</span><span class="special">></span>
-
-<span class="special"><!--</span> <span class="comment">/* Add a form with an "id" attribute */</span> <span class="special">--></span>
-
-<span class="special"><</span><span class="identifier">form</span> <span class="identifier">id</span><span class="special">=</span><span class="string">"boost_libs_list"</span><span class="special">></span>
-
- <span class="special"><!--/*</span> <span class="identifier">Call</span> <span class="identifier">the</span> <span class="identifier">GroupedLinks</span> <span class="string">"select box"</span> <span class="special">*/--></span>
-
- <span class="special"><</span><span class="identifier">script</span> <span class="identifier">type</span><span class="special">=</span><span class="string">"text/javascript"</span><span class="special">></span>
-
- <span class="identifier">grouped_links_select_box</span><span class="special">(</span><span class="char">'boost_libs.xml'</span><span class="special">,</span>
- <span class="char">'boost_libs_list'</span><span class="special">,</span>
- <span class="char">'../../'</span><span class="special">,</span>
- <span class="char">'Boost Libraries'</span><span class="special">);</span>
-
- <span class="special"></</span><span class="identifier">script</span><span class="special">></span>
-
-<span class="special"></</span><span class="identifier">form</span><span class="special">></span>
-</pre>
- <p>
- </p>
- <div xmlns="" class="note">
- <div class="admonition-graphic">
- <img alt="[Note]" src="../../doc/html/images/note.png" />
- </div>
- <div class="admonition-body">
- <div class="admonition-title">Note</div>
- <div class="admonition-content">
- <p xmlns="http://www.w3.org/1999/xhtml">
- </p>
- <p xmlns="http://www.w3.org/1999/xhtml">
- Remember to change the <code class="computeroutput"><span class="identifier">src</span></code>
- of the javascript include line to point to the URL of <code class="computeroutput"><span class="identifier">grouped_links</span><span class="special">.</span><span class="identifier">js</span></code>
- in your system. Try to work with relatives paths so the HTML can be easily
- moved.
- </p>
- <p xmlns="http://www.w3.org/1999/xhtml">
- </p>
- </div>
- </div>
- </div>
- </div>
- <div class="section" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title">
- <a id="grouped_links.tutorial.boostbook_integration"></a>
- <a href="index.html#grouped_links.tutorial.boostbook_integration" title="Boostbook integration">Boostbook
- integration</a>
- </h3>
- </div>
- </div>
- </div>
- <p>
- Add the following lines to your jamfile.v2
- </p>
- <pre class="programlisting">
-<span class="special"><</span><span class="identifier">xsl</span><span class="special">:</span><span class="identifier">param</span><span class="special">></span><span class="identifier">grouped</span><span class="special">.</span><span class="identifier">links</span><span class="special">.</span><span class="identifier">chapters</span><span class="special">.</span><span class="identifier">show</span><span class="special">=</span><span class="string">"'true'"</span>
-<span class="special"><</span><span class="identifier">xsl</span><span class="special">:</span><span class="identifier">param</span><span class="special">></span><span class="identifier">grouped</span><span class="special">.</span><span class="identifier">links</span><span class="special">.</span><span class="identifier">sections</span><span class="special">.</span><span class="identifier">show</span><span class="special">=</span><span class="string">"'true'"</span>
-<span class="special"><</span><span class="identifier">xsl</span><span class="special">:</span><span class="identifier">param</span><span class="special">></span><span class="identifier">grouped</span><span class="special">.</span><span class="identifier">links</span><span class="special">.</span><span class="identifier">sections</span><span class="special">.</span><span class="identifier">xml</span><span class="special">=</span><span class="string">"'sections.XML'"</span> <span class="preprocessor"># your</span> <span class="identifier">XML</span> <span class="identifier">sections</span>
-</pre>
- <p>
- GroupedLinks select boxes for boost libraries and internal sections can be
- requested to boostbook using the following options:
- </p>
- <div class="table">
- <a id="id2611978"></a>
- <p class="title">
- <b>Table 1.3. Boostbook GroupedLinks Parameters</b>
- </p>
- <div class="table-contents">
- <table xmlns="" class="table" summary="Boostbook GroupedLinks Parameters">
- <colgroup>
- <col xmlns="http://www.w3.org/1999/xhtml" />
- <col xmlns="http://www.w3.org/1999/xhtml" />
- </colgroup>
- <thead xmlns="http://www.w3.org/1999/xhtml">
- <tr>
- <th>
- <p>
- Name
- </p>
- </th>
- <th>
- <p>
- Purpose
- </p>
- </th>
- </tr>
- </thead>
- <tbody xmlns="http://www.w3.org/1999/xhtml">
- <tr>
- <td>
- <p>
- <code class="computeroutput"><span class="identifier">show</span></code>
- </p>
- </td>
- <td>
- <p>
- Include select box
- </p>
- </td>
- </tr>
- <tr>
- <td>
- <p>
- <code class="computeroutput"><span class="identifier">xml</span></code>
- </p>
- </td>
- <td>
- <p>
- Path to the XML definition
- </p>
- </td>
- </tr>
- <tr>
- <td>
- <p>
- <code class="computeroutput"><span class="identifier">url</span></code>
- </p>
- </td>
- <td>
- <p>
- Base URL to use with relative paths
- </p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <br class="table-break" />
- <p>
- You can configure all the parameters used by boostbook:
- </p>
- <pre class="programlisting">
-<span class="special"><</span><span class="identifier">xsl</span><span class="special">:</span><span class="identifier">param</span><span class="special">></span><span class="identifier">grouped</span><span class="special">.</span><span class="identifier">links</span><span class="special">.</span><span class="identifier">js</span><span class="special">=</span><span class="string">"'grouped_links.js'"</span>
-
-<span class="special"><</span><span class="identifier">xsl</span><span class="special">:</span><span class="identifier">param</span><span class="special">></span><span class="identifier">grouped</span><span class="special">.</span><span class="identifier">links</span><span class="special">.</span><span class="identifier">chapters</span><span class="special">.</span><span class="identifier">show</span><span class="special">=</span><span class="string">"'true'"</span>
-<span class="special"><</span><span class="identifier">xsl</span><span class="special">:</span><span class="identifier">param</span><span class="special">></span><span class="identifier">grouped</span><span class="special">.</span><span class="identifier">links</span><span class="special">.</span><span class="identifier">chapters</span><span class="special">.</span><span class="identifier">xml</span><span class="special">=</span><span class="string">"'boost_libs_grouped_links.XML'"</span>
-<span class="special"><</span><span class="identifier">xsl</span><span class="special">:</span><span class="identifier">param</span><span class="special">></span><span class="identifier">grouped</span><span class="special">.</span><span class="identifier">links</span><span class="special">.</span><span class="identifier">chapters</span><span class="special">.</span><span class="identifier">url</span><span class="special">=</span><span class="string">"''"</span>
-
-<span class="special"><</span><span class="identifier">xsl</span><span class="special">:</span><span class="identifier">param</span><span class="special">></span><span class="identifier">grouped</span><span class="special">.</span><span class="identifier">links</span><span class="special">.</span><span class="identifier">sections</span><span class="special">.</span><span class="identifier">show</span><span class="special">=</span><span class="string">"'true'"</span>
-<span class="special"><</span><span class="identifier">xsl</span><span class="special">:</span><span class="identifier">param</span><span class="special">></span><span class="identifier">grouped</span><span class="special">.</span><span class="identifier">links</span><span class="special">.</span><span class="identifier">sections</span><span class="special">.</span><span class="identifier">xml</span><span class="special">=</span><span class="string">"'sections_grouped_links.XML'"</span>
-<span class="special"><</span><span class="identifier">xsl</span><span class="special">:</span><span class="identifier">param</span><span class="special">></span><span class="identifier">grouped</span><span class="special">.</span><span class="identifier">links</span><span class="special">.</span><span class="identifier">sections</span><span class="special">.</span><span class="identifier">url</span><span class="special">=</span><span class="string">"''"</span>
-</pre>
- </div>
- </div>
- <div class="section" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both">
- <a id="grouped_links.examples"></a>
- Examples
- </h2>
- </div>
- </div>
- </div>
- <p>
- In the folder <code class="computeroutput"><span class="identifier">example</span></code> you can
- find two examples using GropedLinks API.
- </p>
- <div class="variablelist">
- <p class="title">
- <b></b>
- </p>
- <dl>
- <dt>
- <span class="term">simple</span>
- </dt>
- <dd>
- How to put a GropedLinks select box in your HTML body.
- </dd>
- <dt>
- <span class="term">boostbook</span>
- </dt>
- <dd>
- How to integrate GroupedLinks with boostbook and quickbook docs.
- </dd>
- </dl>
- </div>
- </div>
- <div class="section" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both">
- <a id="grouped_links.acknowledgments"></a>
- Acknowledgments
- </h2>
- </div>
- </div>
- </div>
- <p>
- Thanks Martin Capeletto (my brother) for teaching me the basics of javascript.
- </p>
- <p>
- Thanks to the ones that participates in constructing the new boost docs look
- & feel. Special thanks to John Maddock for his support during this period.
- </p>
- </div>
- </div>
- </div>
- <div class="clear"></div>
- </div>
- </div>
- <div class="spirit-nav"></div>
- <div id="footer">
- <div id="footer-left">
- <div id="revised">Revised: June 13, 2007 at 00:31:24 GMT</div>
- <div id="copyright"></div>
- <div id="license">
- <p>Distributed under the
- Boost Software License, Version 1.0.
- </p>
- </div>
- </div>
- <div id="footer-right">
- <div id="banners">
- <p id="banner-xhtml">
- XHTML 1.0
- </p>
- <p id="banner-css">
- CSS
- </p>
- <p id="banner-sourceforge">
- SourceForge
- </p>
- </div>
- </div>
- <div class="clear"></div>
- </div>
- </body>
-</html>
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk