Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r80314 - in website/public_html/live: . common/code development doc generated site-tools site-tools/boost_site site-tools/templates
From: dnljms_at_[hidden]
Date: 2012-08-29 18:37:54


Author: danieljames
Date: 2012-08-29 18:37:51 EDT (Wed, 29 Aug 2012)
New Revision: 80314
URL: http://svn.boost.org/trac/boost/changeset/80314

Log:
Website: Merge from beta to live
Added:
   website/public_html/live/common/code/boost_version.php
      - copied unchanged from r79638, /website/public_html/beta/common/code/boost_version.php
   website/public_html/live/site-tools/templates/download-template.py
      - copied unchanged from r78698, /website/public_html/beta/site-tools/templates/download-template.py
   website/public_html/live/site-tools/templates/history-template.py
      - copied unchanged from r78698, /website/public_html/beta/site-tools/templates/history-template.py
   website/public_html/live/site-tools/templates/index-template.py
      - copied, changed from r78698, /website/public_html/beta/site-tools/templates/index-template.py
   website/public_html/live/site-tools/templates/news-template.py
      - copied unchanged from r78698, /website/public_html/beta/site-tools/templates/news-template.py
Removed:
   website/public_html/live/site-tools/boost_site/templite.py
   website/public_html/live/site-tools/templates/download-template.html
   website/public_html/live/site-tools/templates/history-template.html
   website/public_html/live/site-tools/templates/index-src.html
   website/public_html/live/site-tools/templates/news-template.html
Properties modified:
   website/public_html/live/ (props changed)
Text files modified:
   website/public_html/live/common/code/boost.php | 5
   website/public_html/live/common/code/boost_archive.php | 89 ++++++++++++-----
   website/public_html/live/common/code/boost_feed.php | 59 -----------
   website/public_html/live/common/code/boost_filter_boost_libs.php | 28 +++++
   website/public_html/live/common/code/boost_filters.php | 9 -
   website/public_html/live/common/code/boost_libraries.php | 40 ++-----
   website/public_html/live/common/code/boost_utility.php | 45 +-------
   website/public_html/live/development/testing_results.php | 16 +-
   website/public_html/live/doc/display_build.php | 16 +-
   website/public_html/live/doc/display_libs.php | 99 +++++--------------
   website/public_html/live/doc/libraries.php | 67 ++-----------
   website/public_html/live/doc/libraries.xml | 117 -----------------------
   website/public_html/live/generated/download-items.html | 84 ----------------
   website/public_html/live/generated/history-items.html | 196 ++++++++++++++++++++++++++-------------
   website/public_html/live/generated/home-items.html | 34 +++---
   website/public_html/live/generated/news-items.html | 32 +++--
   website/public_html/live/site-tools/boost_site/boostbook_parser.py | 4
   website/public_html/live/site-tools/boost_site/pages.py | 62 +++++++++--
   website/public_html/live/site-tools/boost_site/settings.py | 11 -
   website/public_html/live/site-tools/boost_site/site_tools.py | 26 +++--
   website/public_html/live/site-tools/boost_site/state.py | 55 ++++++----
   website/public_html/live/site-tools/boost_site/upgrade.py | 4
   website/public_html/live/site-tools/boost_site/util.py | 43 +++++++
   website/public_html/live/site-tools/release.py | 10 +-
   website/public_html/live/site-tools/templates/entry-template.html | 49 ++-------
   website/public_html/live/site-tools/templates/index-template.py | 14 +-
   website/public_html/live/sitemap.xml.php | 9 +
   27 files changed, 510 insertions(+), 713 deletions(-)

Modified: website/public_html/live/common/code/boost.php
==============================================================================
--- website/public_html/live/common/code/boost.php (original)
+++ website/public_html/live/common/code/boost.php 2012-08-29 18:37:51 EDT (Wed, 29 Aug 2012)
@@ -4,7 +4,6 @@
   Distributed under the Boost Software License, Version 1.0.
   (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
 */
-$boost_current_version = Array(1,51,0);
 require_once(dirname(__FILE__) . '/boost_config.php');
-require_once(dirname(__FILE__) . '/boost_utility.php');
-?>
+require_once(dirname(__FILE__) . '/boost_version.php');
+boost_set_current_version(1,51,0);

Modified: website/public_html/live/common/code/boost_archive.php
==============================================================================
--- website/public_html/live/common/code/boost_archive.php (original)
+++ website/public_html/live/common/code/boost_archive.php 2012-08-29 18:37:51 EDT (Wed, 29 Aug 2012)
@@ -45,16 +45,49 @@
 }
 
 function display_from_archive(
- $params,
     $content_map = array(),
- $override_extractor = null,
- $expires = null)
+ $params = array())
 {
- $params['template'] = dirname(__FILE__)."/template.php";
- $params['title'] = NULL;
- $params['charset'] = NULL;
- $params['content'] = NULL;
+ // Set default values
+
+ $params = array_merge(
+ array(
+ 'pattern' => '@^[/]([^/]+)[/](.*)$@',
+ 'vpath' => $_SERVER["PATH_INFO"],
+ 'archive_subdir' => true,
+ 'zipfile' => true,
+ 'archive_dir' => ARCHIVE_DIR,
+ 'archive_file_prefix' => ARCHIVE_FILE_PREFIX,
+ 'use_http_expire_date' => false,
+ 'override_extractor' => null,
+ 'template' => dirname(__FILE__)."/template.php",
+ 'title' => NULL,
+ 'charset' => NULL,
+ 'content' => NULL,
+ ),
+ $params
+ );
+
+ $params = array_merge($params, get_archive_location(
+ $params['pattern'],
+ $params['vpath'],
+ $params['archive_subdir'],
+ $params['zipfile'],
+ $params['archive_dir'],
+ $params['archive_file_prefix']
+ ));
     
+ // Calculate expiry date if requested.
+
+ $expires = null;
+ if ($settings['use_http_expire_date'])
+ {
+ $compare_version = BoostVersion::from($params['version'])->
+ compare(BoostVersion::current());
+ $expires = $compare_version === -1 ? "+1 year" :
+ ($compare_version === 0 ? "+1 week" : "+1 day");
+ }
+
     // Check file exists.
 
     if ($params['zipfile'])
@@ -102,18 +135,18 @@
     // Choose filter to use
 
     $info_map = array_merge($content_map, array(
- array('@.*@','@[.](txt|py|rst|jam|v2|bat|sh|xml|toyxml)$@i','text','text/plain'),
- array('@.*@','@[.](qbk|quickbook)$@i','qbk','text/plain'),
- array('@.*@','@[.](c|h|cpp|hpp)$@i','cpp','text/plain'),
- array('@.*@','@[.]png$@i','raw','image/png'),
- array('@.*@','@[.]gif$@i','raw','image/gif'),
- array('@.*@','@[.](jpg|jpeg|jpe)$@i','raw','image/jpeg'),
- array('@.*@','@[.]css$@i','raw','text/css'),
- array('@.*@','@[.]js$@i','raw','application/x-javascript'),
- array('@.*@','@[.]pdf$@i','raw','application/pdf'),
- array('@.*@','@[.](html|htm)$@i','raw','text/html'),
- array('@.*@','@(/|^)(Jamroot|Jamfile|ChangeLog|configure)$@i','text','text/plain'),
- array('@.*@','@[.]dtd$@i','raw','application/xml-dtd'),
+ array('@[.](txt|py|rst|jam|v2|bat|sh|xml|toyxml)$@i','text','text/plain'),
+ array('@[.](qbk|quickbook)$@i','qbk','text/plain'),
+ array('@[.](c|h|cpp|hpp)$@i','cpp','text/plain'),
+ array('@[.]png$@i','raw','image/png'),
+ array('@[.]gif$@i','raw','image/gif'),
+ array('@[.](jpg|jpeg|jpe)$@i','raw','image/jpeg'),
+ array('@[.]css$@i','raw','text/css'),
+ array('@[.]js$@i','raw','application/x-javascript'),
+ array('@[.]pdf$@i','raw','application/pdf'),
+ array('@[.](html|htm)$@i','raw','text/html'),
+ array('@(/|^)(Jamroot|Jamfile|ChangeLog|configure)$@i','text','text/plain'),
+ array('@[.]dtd$@i','raw','application/xml-dtd'),
         ));
 
     $preprocess = null;
@@ -122,16 +155,17 @@
 
     foreach ($info_map as $i)
     {
- if (preg_match($i[1],$params['key']))
+ if (preg_match($i[0],$params['key']))
         {
- $extractor = $i[2];
- $type = $i[3];
- $preprocess = isset($i[4]) ? $i[4] : NULL;
+ $extractor = $i[1];
+ $type = $i[2];
+ $preprocess = isset($i[3]) ? $i[3] : NULL;
             break;
         }
     }
     
- if ($override_extractor) $extractor = $override_extractor;
+ if ($settings['override_extractor'])
+ $extractor = $settings['override_extractor'];
 
     if (!$extractor) {
         file_not_found($params);
@@ -246,13 +280,10 @@
 // General purpose render callbacks.
 
 function boost_archive_render_callbacks($content, $params) {
- $version_title =
- str_replace('_', ' ',
- preg_replace('@(?<=\d)_(?=\d)@', '.',
- ucwords($params['version'])));
+ $version = BoostVersion::from($params['version']);
 
     $charset = $params['charset'] ? $params['charset'] : 'us-ascii';
- $title = $params['title'] ? "$params[title] - $version_title" : 'Boost C++ Libraries';
+ $title = $params['title'] ? "$params[title] - $version" : 'Boost C++ Libraries';
 
     $head = "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=${charset}\" />\n";
 

Modified: website/public_html/live/common/code/boost_feed.php
==============================================================================
--- website/public_html/live/common/code/boost_feed.php (original)
+++ website/public_html/live/common/code/boost_feed.php 2012-08-29 18:37:51 EDT (Wed, 29 Aug 2012)
@@ -4,7 +4,9 @@
   Distributed under the Boost Software License, Version 1.0.
   (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
 */
+
 require_once(dirname(__FILE__) . '/boost.php');
+require_once(dirname(__FILE__) . '/boost_utility.php');
 
 class boost_feed
 {
@@ -98,62 +100,7 @@
     
     function sort_by($field)
     {
- $f = '_field_cmp_'.strtolower(str_replace('-','_',$field)).'_';
- uasort($this->db,$f);
- }
-
- function echo_download_table($guid)
- {
- if(isset($this->db[$guid]['boostbook:download']) && $this->db[$guid]['boostbook:download']) {
- $link = $this->db[$guid]['boostbook:download'];
- if(preg_match('@/boost/(\d+)\.(\d+)\.(\d+)/$@', $link, $matches)) {
- $base_name = 'boost_'.$matches[1].'_'.$matches[2].'_'.$matches[3];
-
- /* Pick which files are available by examining the version number.
- This could possibly be meta-data in the rss feed instead of being
- hardcoded here. */
-
- $downloads['unix'][] = $base_name.'.tar.bz2';
- $downloads['unix'][] = $base_name.'.tar.gz';
-
- if($matches[1] == 1 && $matches[2] >= 32 && $matches[2] <= 33) {
- $downloads['windows'][] = $base_name.'.exe';
- }
- else if($matches[1] > 1 || $matches[2] > 34 || ($matches[2] == 34 && $matches[3] == 1)) {
- $downloads['windows'][] = $base_name.'.7z';
- }
- $downloads['windows'][] = $base_name.'.zip';
-
- /* Print the download table. */
-
- echo '<table class="download-table">';
- echo '<caption>Downloads</caption>';
- echo '<tr><th scope="col">Platform</th><th scope="col">File</th></tr>';
- foreach($downloads as $platform => $files) {
- echo "\n";
- echo '<tr><th scope="row"';
- if(count($files) > 1) {
- echo ' rowspan="'.count($files).'"';
- }
- echo '>'.htmlentities($platform).'</th>';
- foreach($files as $index => $file) {
- if($index > 0) echo '</tr><tr>';
- echo '<td><a href="'.htmlentities($link.$file.'/download').'">'.
- htmlentities($file).'</a></td>';
- }
- echo '</tr>';
- }
- echo '</table>';
- }
- else {
- /* If the link didn't match the normal version number pattern
- then just use the old fashioned link to sourceforge. */
-
- echo '<p><span class="news-download"><a href="'.
- htmlentities($link).
- '">Download this release.</a></span></p>';
- }
- }
+ uasort($this->db, sort_by_field($field));
     }
 }
 ?>

Modified: website/public_html/live/common/code/boost_filter_boost_libs.php
==============================================================================
--- website/public_html/live/common/code/boost_filter_boost_libs.php (original)
+++ website/public_html/live/common/code/boost_filter_boost_libs.php 2012-08-29 18:37:51 EDT (Wed, 29 Aug 2012)
@@ -136,3 +136,31 @@
         $text );
     return $text;
 }
+
+function _preg_replace_bounds($front_regex,$back_regex,$front_replace,$back_replace,$text)
+{
+ $offset = 0;
+ $result = '';
+ while (TRUE)
+ {
+ $subject = substr($text,$offset);
+ if (preg_match($front_regex,$subject,$begin,PREG_OFFSET_CAPTURE) == 0 ||
+ preg_match($back_regex,$subject,$end,PREG_OFFSET_CAPTURE,
+ $begin[0][1]+strlen($begin[0][0])) == 0
+ )
+ { break; }
+ else
+ {
+ $result .= substr($subject,0,$begin[0][1]);
+ $result .= preg_replace($front_regex,$front_replace,$begin[0][0]);
+ $result .= substr(
+ $subject,
+ $begin[0][1]+strlen($begin[0][0]),
+ $end[0][1]-($begin[0][1]+strlen($begin[0][0])) );
+ $result .= preg_replace($back_regex,$back_replace,$end[0][0]);
+ $offset += $end[0][1]+strlen($end[0][0]);
+ }
+ }
+ if ($result === '') { return $text; }
+ else { return $result . substr($text,$offset); }
+}

Modified: website/public_html/live/common/code/boost_filters.php
==============================================================================
--- website/public_html/live/common/code/boost_filters.php (original)
+++ website/public_html/live/common/code/boost_filters.php 2012-08-29 18:37:51 EDT (Wed, 29 Aug 2012)
@@ -11,13 +11,8 @@
 
 function alter_title($params, $text)
 {
- $version_title =
- str_replace('_', ' ',
- preg_replace('@(?<=\d)_(?=\d)@', '.',
- ucwords($params['version'])));
-
- return str_ireplace('</title>',
- " - $version_title</title>", $text);
+ $version = BoostVersion::from($params['version']);
+ return str_ireplace('</title>', " - $version</title>", $text);
 }
 
 function html_init(&$params)

Modified: website/public_html/live/common/code/boost_libraries.php
==============================================================================
--- website/public_html/live/common/code/boost_libraries.php (original)
+++ website/public_html/live/common/code/boost_libraries.php 2012-08-29 18:37:51 EDT (Wed, 29 Aug 2012)
@@ -4,18 +4,14 @@
   Distributed under the Boost Software License, Version 1.0.
   (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
 */
-require_once(dirname(__FILE__) . '/boost.php');
+
+require_once(dirname(__FILE__) . '/boost_utility.php');
+require_once(dirname(__FILE__) . '/boost_version.php');
 
 class boost_libraries
 {
     var $categories = array();
     var $db = array();
- var $build_values = array(
- 'header-only' => 'Header only',
- 'autolink' => 'Automatic linking',
- 'autolink-dependency' => 'Automatic linking due to dependency',
- 'build' => 'Separately built'
- );
     
     function boost_libraries($xml_file)
     {
@@ -65,6 +61,12 @@
                         else { $lib[$val['tag']] = ''; }
                     }
                     break;
+ case 'boost-version':
+ {
+ if (isset($val['value'])) { $lib[$val['tag']] = BoostVersion::from($val['value']); }
+ else { $lib[$val['tag']] = ''; }
+ }
+ break;
                     case 'std-proposal':
                     case 'std-tr1':
                     {
@@ -77,24 +79,6 @@
                         $lib[$val['tag']] = ($value == 'true');
                     }
                     break;
- case 'build':
- {
- $value = isset($val['value']) ? trim($val['value']) : '';
- if(!isset($this->build_values[$value])) {
- echo 'Invalid value for build: ', htmlentities($value), "\n";
- exit(0);
- }
- $lib['build'] = $value;
-
- // Also set the old style fields for the filters.
- if ($value == 'autolink-dependency') {
- $lib['autolink'] = true;
- }
- else if ($value != 'build') {
- $lib[$value] = true;
- }
- }
- break;
                     case 'category':
                     {
                         if(isset($val['value'])) {
@@ -118,15 +102,13 @@
     
     function sort_by($field)
     {
- $f = '_field_cmp_'.strtolower(str_replace('-','_',$field)).'_';
- uasort($this->db, $f);
+ uasort($this->db, sort_by_field($field));
     }
 
     function get($sort = null, $filter = null) {
         $libs = $filter ? array_filter($this->db, $filter) : $this->db;
         if($sort) {
- $f = '_field_cmp_'.strtolower(str_replace('-','_',$sort)).'_';
- uasort($libs, $f);
+ uasort($libs, sort_by_field($sort));
         }
         return $libs;
     }

Modified: website/public_html/live/common/code/boost_utility.php
==============================================================================
--- website/public_html/live/common/code/boost_utility.php (original)
+++ website/public_html/live/common/code/boost_utility.php 2012-08-29 18:37:51 EDT (Wed, 29 Aug 2012)
@@ -4,38 +4,17 @@
   Distributed under the Boost Software License, Version 1.0.
   (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
 */
-require_once(dirname(__FILE__) . '/boost.php');
 
+/**
+ * Return a callback to comparing the given field.
+ * @return callable
+ */
 
-function _preg_replace_bounds($front_regex,$back_regex,$front_replace,$back_replace,$text)
+function sort_by_field($field)
 {
- $offset = 0;
- $result = '';
- while (TRUE)
- {
- $subject = substr($text,$offset);
- if (preg_match($front_regex,$subject,$begin,PREG_OFFSET_CAPTURE) == 0 ||
- preg_match($back_regex,$subject,$end,PREG_OFFSET_CAPTURE,
- $begin[0][1]+strlen($begin[0][0])) == 0
- )
- { break; }
- else
- {
- $result .= substr($subject,0,$begin[0][1]);
- $result .= preg_replace($front_regex,$front_replace,$begin[0][0]);
- $result .= substr(
- $subject,
- $begin[0][1]+strlen($begin[0][0]),
- $end[0][1]-($begin[0][1]+strlen($begin[0][0])) );
- $result .= preg_replace($back_regex,$back_replace,$end[0][0]);
- $offset += $end[0][1]+strlen($end[0][0]);
- }
- }
- if ($result === '') { return $text; }
- else { return $result . substr($text,$offset); }
+ return '_field_cmp_'.strtolower(str_replace('-','_',$field)).'_';
 }
 
-
 function _field_cmp_($r,$a,$b)
 {
     if ($r == 0) { return _field_cmp_name_($a,$b); }
@@ -45,16 +24,9 @@
 function _field_cmp_authors_($a,$b)
 { return _field_cmp_(strcmp($a['authors'],$b['authors']),$a,$b); }
 
-function _field_cmp_autolink_($a,$b)
-{ return _field_cmp_(_field_cmp_less_($a['autolink'],$b['autolink']),$a,$b); }
-
 function _field_cmp_boost_version_($a,$b)
 {
- $i = explode('.',$a['boost-version']);
- $j = explode('.',$b['boost-version']);
- if ($i[0] == $j[0] && $i[1] == $j[1]) { return _field_cmp_($i[2]-$j[2],$a,$b); }
- else if ($i[0] == $j[0]) { return _field_cmp_($i[1]-$j[1],$a,$b); }
- else { return _field_cmp_($i[0]-$j[0],$a,$b); }
+ return $a['boost-version']->compare($b['boost-version']);
 }
 
 function _field_cmp_description_($a,$b)
@@ -66,9 +38,6 @@
 function _field_cmp_guid_($a,$b)
 { return strcmp($a['guid'],$b['guid']); }
 
-function _field_cmp_header_only_($a,$b)
-{ return _field_cmp_(_field_cmp_less_($a['header-only'],$b['header-only']),$a,$b); }
-
 function _field_cmp_key_($a,$b)
 { return strcmp($a['key'],$b['key']); }
 

Modified: website/public_html/live/development/testing_results.php
==============================================================================
--- website/public_html/live/development/testing_results.php (original)
+++ website/public_html/live/development/testing_results.php 2012-08-29 18:37:51 EDT (Wed, 29 Aug 2012)
@@ -2,14 +2,14 @@
 require_once(dirname(__FILE__) . '/../common/code/boost_archive.php');
 
 display_from_archive(
- get_archive_location(
- '/^[\/]([^\/]+)[\/](.*)$/',$_SERVER["PATH_INFO"],
- false, // the result zips don't have the tag subdir
- true, // stored as a zipfile
- RESULTS_DIR
- ),
   array(
- //~ array(version-regex,path-regex,raw|simple|text|cpp|boost_book_html|boost_libs_html,mime-type),
+ //~ array(path-regex,raw|simple|text|cpp|boost_book_html|boost_libs_html,mime-type),
   ),
- 'raw' // we always want raw output
+ array(
+ 'pattern' => '/^[\/]([^\/]+)[\/](.*)$/',
+ 'archive_subdir' => false, // the result zips don't have the tag subdir
+ 'zipfile' => true, // stored as a zipfile
+ 'archive_dir' => RESULTS_DIR,
+ 'override_extractor' => 'raw' // we always want raw output
+ )
 );

Modified: website/public_html/live/doc/display_build.php
==============================================================================
--- website/public_html/live/doc/display_build.php (original)
+++ website/public_html/live/doc/display_build.php 2012-08-29 18:37:51 EDT (Wed, 29 Aug 2012)
@@ -22,13 +22,13 @@
 }
 
 display_from_archive(
- get_archive_location(
- '@^[/]([^/]+)[/](.*)$@',
- $_SERVER["PATH_INFO"],
- false, false
+ array(
+ //~ array(path-regex,raw|simple|text|cpp|boost_book_html|boost_libs_html,mime-type[,preprocess hook]),
+ array('@^boost-build/index[.]html$@i','simple','text/html', 'add_boost_build_analytics'),
+ array('@[.](html|htm)$@i','boost_book_html','text/html')
   ),
   array(
- //~ array(version-regex,path-regex,raw|simple|text|cpp|boost_book_html|boost_libs_html,mime-type[,preprocess hook]),
- array('@.*@','@^boost-build/index[.]html$@i','simple','text/html', 'add_boost_build_analytics'),
- array('@.*@','@[.](html|htm)$@i','boost_book_html','text/html')
-));
+ 'archive_subdir' => false,
+ 'zipfile' => false,
+ )
+);

Modified: website/public_html/live/doc/display_libs.php
==============================================================================
--- website/public_html/live/doc/display_libs.php (original)
+++ website/public_html/live/doc/display_libs.php 2012-08-29 18:37:51 EDT (Wed, 29 Aug 2012)
@@ -18,32 +18,6 @@
 
 require_once(dirname(__FILE__) . '/../common/code/boost_archive.php');
 
-function boost_compare_version($version)
-{
- if ($version && preg_match('@([0-9]+)_([0-9]+)_([0-9]+)@',$version,$vinfo))
- {
- array_shift($vinfo);
-
- global $boost_current_version;
- $v = $boost_current_version[0];
- $r = $boost_current_version[1];
- $p = $boost_current_version[2];
-
- return
- $v < $vinfo[0] ? 1 :
- ($v > $vinfo[0] ? -1 :
- ($r < $vinfo[1] ? 1 :
- ($r > $vinfo[1] ? -1 :
- ($p < $vinfo[2] ? 1 :
- ($p > $vinfo[2] ? -1
- : 0)))));
- }
- else
- {
- return FALSE;
- }
-}
-
 function add_spirit_analytics($content) {
     $server = $_SERVER['HTTP_HOST'];
     
@@ -80,56 +54,39 @@
     return str_ireplace('</head>', $analytics.'</head>', $content);
 }
 
-$location = get_archive_location('@^[/]([^/]+)[/](.*)$@',$_SERVER["PATH_INFO"],true,false);
-$beta_site = strpos($_SERVER['HTTP_HOST'], 'beta') !== FALSE ||
- strpos($_SERVER['HTTP_HOST'], 'localhost') !== FALSE;
-$beta_docs = strpos($location['version'], 'beta') !== FALSE ||
- strpos($location['version'], 'snapshot') !== FALSE;
-
-$compare_version = boost_compare_version($location['version']);
-/*
-if (!$beta_docs && $compare_version === 1) {
- file_not_found($location['file'],
- "Documentation for this version has not been uploaded yet. ".
- "Documentation is only uploaded when it's fully released, ".
- "you can see the documentation for a beta version or snapshot in the download.");
- return;
-}
- */
-
 display_from_archive(
- $location,
   array(
   //~ special cases that can't be processed at all (some redirects)
- array('@.*@','@^libs/gil/doc/.*(html|htm)$@i','raw','text/html'),
- array('@.*@','@^libs/preprocessor/doc/.*(html|htm)$@i','raw','text/html'),
- array('@.*@','@^libs/test/doc/components/test_tools/reference/.*(html|htm)$@i','raw','text/html'),
- array('@.*@','@^libs/test/.*(html|htm)$@i','simple','text/html'),
- array('@.*@','@^libs/spirit/.*(html|htm)$@i','simple','text/html', 'add_spirit_analytics'),
- array('@.*@','@^libs/fusion/.*(html|htm)$@i','basic','text/html', 'add_spirit_analytics'),
- array('@.*@','@^libs/wave/.*(html|htm)$@i','raw','text/html'),
- array('@.*@','@^libs/range/doc/.*(html|htm)$@i','raw','text/html'),
+ array('@^libs/gil/doc/.*(html|htm)$@i','raw','text/html'),
+ array('@^libs/preprocessor/doc/.*(html|htm)$@i','raw','text/html'),
+ array('@^libs/test/doc/components/test_tools/reference/.*(html|htm)$@i','raw','text/html'),
+ array('@^libs/test/.*(html|htm)$@i','simple','text/html'),
+ array('@^libs/spirit/.*(html|htm)$@i','simple','text/html', 'add_spirit_analytics'),
+ array('@^libs/fusion/.*(html|htm)$@i','basic','text/html', 'add_spirit_analytics'),
+ array('@^libs/wave/.*(html|htm)$@i','raw','text/html'),
+ array('@^libs/range/doc/.*(html|htm)$@i','raw','text/html'),
   //~ special cases that can't be embeded in the standard frame
- array('@.*@','@^libs/locale/doc/.*(html|htm)$@i','raw','text/html'),
- array('@.*@','@^libs/iostreams/doc/.*(html|htm)$@i','simple','text/html'),
- array('@.*@','@^libs/serialization/doc/.*(html|htm)$@i','simple','text/html'),
- array('@.*@','@^libs/filesystem/(v\d/)?doc/.*(html|htm)$@i','simple','text/html'),
- array('@.*@','@^libs/system/doc/.*(html|htm)$@i','simple','text/html'),
- array('@.*@','@^libs/numeric/conversion/doc/.*(html|htm)$@i','simple','text/html'),
- array('@.*@','@^libs/optional/doc/.*(html|htm)$@i','simple','text/html'),
- array('@.*@','@^libs/polygon/doc/.*(html|htm)$@i','simple','text/html'),
+ array('@^libs/locale/doc/.*(html|htm)$@i','raw','text/html'),
+ array('@^libs/iostreams/doc/.*(html|htm)$@i','simple','text/html'),
+ array('@^libs/serialization/doc/.*(html|htm)$@i','simple','text/html'),
+ array('@^libs/filesystem/(v\d/)?doc/.*(html|htm)$@i','simple','text/html'),
+ array('@^libs/system/doc/.*(html|htm)$@i','simple','text/html'),
+ array('@^libs/numeric/conversion/doc/.*(html|htm)$@i','simple','text/html'),
+ array('@^libs/optional/doc/.*(html|htm)$@i','simple','text/html'),
+ array('@^libs/polygon/doc/.*(html|htm)$@i','simple','text/html'),
   //~ default to processed output for libs and tools
- array('@.*@','@^libs/[^/]+/doc/html/.*(html|htm)$@i','basic','text/html'),
- array('@.*@','@^libs/[^/]+/doc/[^/]+/html/.*(html|htm)$@i','basic','text/html'),
- array('@.*@','@^libs/[^/]+/doc/[^/]+/doc/html/.*(html|htm)$@i','basic','text/html'),
- array('@.*@','@^libs.*(html|htm)$@i','basic','text/html'),
- array('@.*@','@^tools.*(html|htm)$@i','basic','text/html'),
- array('@.*@','@^doc/html/.*html$@i','boost_book_basic','text/html'),
- array('@.*@','@^more/.*html$@i','basic','text/html'),
+ array('@^libs/[^/]+/doc/html/.*(html|htm)$@i','basic','text/html'),
+ array('@^libs/[^/]+/doc/[^/]+/html/.*(html|htm)$@i','basic','text/html'),
+ array('@^libs/[^/]+/doc/[^/]+/doc/html/.*(html|htm)$@i','basic','text/html'),
+ array('@^libs.*(html|htm)$@i','basic','text/html'),
+ array('@^tools.*(html|htm)$@i','basic','text/html'),
+ array('@^doc/html/.*html$@i','boost_book_basic','text/html'),
+ array('@^more/.*html$@i','basic','text/html'),
   //~ the headers are text files displayed in an embeded page
- array('@.*@','@^boost/.*$@i','cpp','text/plain')
+ array('@^boost/.*$@i','cpp','text/plain')
   ),
- null,
- $compare_version === -1 ? "+1 year" :
- ($compare_version === 0 ? "+1 week" : "+1 day")
+ array(
+ 'use_http_expire_date' => true,
+ 'zipfile' => false,
+ )
 );

Modified: website/public_html/live/doc/libraries.php
==============================================================================
--- website/public_html/live/doc/libraries.php (original)
+++ website/public_html/live/doc/libraries.php 2012-08-29 18:37:51 EDT (Wed, 29 Aug 2012)
@@ -3,6 +3,7 @@
 // Change this when developing.
 define('USE_SERIALIZED_INFO', true);
 
+require_once(dirname(__FILE__) . '/../common/code/boost.php');
 require_once(dirname(__FILE__) . '/../common/code/boost_libraries.php');
 
 function boost_title()
@@ -20,43 +21,6 @@
     }
 }
 
-function boost_version($v,$r,$p)
-{
- if (isset($_SERVER["PATH_INFO"]))
- {
- // PATH_INFO is set for redirects from a versioned URL.
-
- $vinfo = array();
- preg_match('@([0-9]+)_([0-9]+)_([0-9]+)@',$_SERVER["PATH_INFO"],$vinfo);
- if (isset($vinfo[0]))
- {
- return
- ($v < $vinfo[1]) ||
- ($v == $vinfo[1] && $r < $vinfo[2]) ||
- ($v == $vinfo[1] && $r == $vinfo[2] && $p <= $vinfo[3]);
- }
- else
- {
- return FALSE;
- }
- }
- else
- {
- // PATH_INFO isn't set, so viewing the plain libraries
- // page. Only display current libraries.
-
- global $boost_current_version;
- return
- ($v < $boost_current_version[0]) ||
- ($v == $boost_current_version[0] &&
- $r < $boost_current_version[1]) ||
- ($v == $boost_current_version[0] &&
- $r == $boost_current_version[1] &&
- $p <= $boost_current_version[2]);
- return FALSE;
- }
-}
-
 $libs = USE_SERIALIZED_INFO ?
         unserialize(file_get_contents(dirname(__FILE__) . '/../generated/libraries.txt')) :
         new boost_libraries(dirname(__FILE__) . '/libraries.xml');
@@ -70,15 +34,13 @@
 $filter_fields = Array(
     'std-proposal' => 'Standard Proposals',
     'std-tr1' => 'TR1 libraries',
- 'header-only' => 'Header Only Libraries',
- 'autolink' => 'Automatic Linking');
+ 'header-only' => '[old]',
+ 'autolink' => '[old]');
 $sort_fields = Array(
     'name' => 'Name',
     'boost-version' => 'First Release',
     'std-proposal' => 'STD Proposal',
     'std-tr1' => 'STD::TR1',
- 'header-only' => 'Header Only Use',
- 'autolink' => 'Automatic Linking',
     'key' => 'Key'
 );
 $display_sort_fields = Array(
@@ -98,6 +60,9 @@
     if(!isset($filter_fields[$filter_value])) {
         echo 'Invalid filter field.'; exit(0);
     }
+ if ($filter_fields[$filter_value] == '[old]') {
+ echo 'Filter field no longer supported.'; exit(0);
+ }
 }
 else if(strpos($view_value, 'category_') === 0) {
     $category_value = substr($view_value, strlen('category_'));
@@ -131,9 +96,7 @@
 function library_filter($lib) {
   global $filter_value, $category_value;
 
- $libversion = explode('.',$lib['boost-version']);
-
- return boost_version($libversion[0],$libversion[1],$libversion[2]) &&
+ return BoostVersion::page()->compare($lib['boost-version']) >= 0 &&
       (!$filter_value || ($lib[$filter_value] && $lib[$filter_value] !== 'false')) &&
       (!isset($_GET['filter']) || $lib[$_GET['filter']]) &&
       (!$category_value || $category_value === 'all' ||
@@ -152,7 +115,6 @@
     }
     else
     {
- global $boost_current_version;
       $docref = '/doc/libs/release/'.$lib['documentation'];
     }
     print ''.($lib['name'] ? $lib['name'] : $lib['key']).'';
@@ -168,7 +130,7 @@
 }
 function libavailable($lib)
 {
- print ($lib['boost-version'] ? $lib['boost-version'] : '&nbsp;');
+ print ($lib['boost-version'] ? "{$lib['boost-version']}" : '&nbsp;');
 }
 function libstandard($lib)
 {
@@ -177,13 +139,6 @@
   if ($lib['std-tr1']) { $p[] = 'TR1'; }
   print ($p ? implode(', ',$p) : '&nbsp;');
 }
-function libbuildlink($lib, $build_values)
-{
- if (!empty($lib['build']))
- print $build_values[$lib['build']];
- else
- print '&nbsp;';
-}
 function libcategories($lib, $categories)
 {
   $first = true;
@@ -271,7 +226,9 @@
                       <li><?php option_link($description, 'view', $key); ?></li><?php
                     endforeach; ?>
                     <?php foreach($filter_fields as $key => $description) : ?>
+ <?php if (!preg_match('@^\[.*\]$@', $description)) : ?>
                       <li><?php option_link($description, 'view', 'filtered_'.$key); ?></li>
+ <?php endif; ?>
                     <?php endforeach; ?>
                     </ul>
                   </div>
@@ -312,10 +269,6 @@
 
                     <dd><?php libstandard($lib); ?></dd>
 
- <dt>Build&nbsp;&amp;&nbsp;Link</dt>
-
- <dd><?php libbuildlink($lib, $libs->build_values); ?></dd>
-
                     <dt>Categories</dt>
 
                     <dd><?php libcategories($lib, $libs->categories); ?></dd>

Modified: website/public_html/live/doc/libraries.xml
==============================================================================
--- website/public_html/live/doc/libraries.xml (original)
+++ website/public_html/live/doc/libraries.xml 2012-08-29 18:37:51 EDT (Wed, 29 Aug 2012)
@@ -85,7 +85,6 @@
     <documentation>libs/accumulators/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Math</category>
   </library>
   <library>
@@ -97,7 +96,6 @@
     <documentation>libs/algorithm/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Algorithms</category>
   </library>
   <library>
@@ -110,7 +108,6 @@
     <documentation>libs/algorithm/minmax/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Algorithms</category>
   </library>
   <library>
@@ -122,7 +119,6 @@
     <documentation>libs/algorithm/string/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>String</category>
     <category>Algorithms</category>
   </library>
@@ -136,7 +132,6 @@
     <documentation>libs/any/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Data</category>
   </library>
   <library>
@@ -149,7 +144,6 @@
     <documentation>libs/array/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>true</std-tr1>
- <build>header-only</build>
     <category>Containers</category>
   </library>
   <library>
@@ -162,7 +156,6 @@
     <documentation>libs/asio/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>autolink-dependency</build>
     <category>Concurrent</category>
     <category>IO</category>
   </library>
@@ -176,7 +169,6 @@
     <documentation>libs/assign/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>IO</category>
   </library>
   <library>
@@ -190,7 +182,6 @@
     <documentation>libs/bimap/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Containers</category>
     <category>Data</category>
   </library>
@@ -208,7 +199,6 @@
     <documentation>libs/bind/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>true</std-tr1>
- <build>header-only</build>
     <category>Function-objects</category>
   </library>
   <library>
@@ -221,7 +211,6 @@
     <documentation>libs/bind/mem_fn.html</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>true</std-tr1>
- <build>header-only</build>
     <category>Function-objects</category>
   </library>
   <library>
@@ -235,7 +224,6 @@
     <documentation>libs/bind/ref.html</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>true</std-tr1>
- <build>header-only</build>
     <category>Function-objects</category>
   </library>
   <library>
@@ -247,7 +235,6 @@
     <documentation>libs/chrono/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>autolink</build>
     <category>Domain</category>
     <category>System</category>
   </library>
@@ -261,7 +248,6 @@
     <documentation>libs/circular_buffer/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Containers</category>
   </library>
   <library>
@@ -274,7 +260,6 @@
     <documentation>libs/compatibility/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>workarounds</category>
   </library>
   <library>
@@ -287,7 +272,6 @@
     libs/concept_check/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Generic</category>
     <category>Correctness</category>
   </library>
@@ -301,7 +285,6 @@
     <documentation>libs/config/config.htm</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>workarounds</category>
   </library>
   <library>
@@ -313,7 +296,6 @@
     <documentation>libs/container/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Containers</category>
     <category>Data</category>
   </library>
@@ -326,7 +308,6 @@
     <documentation>libs/context/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>autolink</build>
     <category>Concurrent</category>
     <category>System</category>
   </library>
@@ -339,7 +320,6 @@
     <documentation>libs/conversion/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>String</category>
     <category>Miscellaneous</category>
   </library>
@@ -355,7 +335,6 @@
     <documentation>libs/crc/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Domain</category>
   </library>
   <library>
@@ -368,7 +347,6 @@
     <documentation>libs/date_time/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>autolink</build>
     <category>Domain</category>
     <category>System</category>
   </library>
@@ -388,7 +366,6 @@
     libs/dynamic_bitset/dynamic_bitset.html</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Containers</category>
   </library>
   <library>
@@ -402,7 +379,6 @@
     <documentation>libs/exception/doc/boost-exception.html</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Emulation</category>
   </library>
   <library>
@@ -416,7 +392,6 @@
     <documentation>libs/filesystem/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>autolink</build>
     <category>System</category>
   </library>
   <library>
@@ -429,7 +404,6 @@
     <documentation>libs/flyweight/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Patterns</category>
   </library>
   <library>
@@ -451,7 +425,6 @@
     <documentation>libs/foreach/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Algorithms</category>
     <category>Emulation</category>
   </library>
@@ -472,7 +445,6 @@
     <documentation>libs/format/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>String</category>
     <category>IO</category>
   </library>
@@ -486,7 +458,6 @@
     <documentation>libs/function/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>true</std-tr1>
- <build>header-only</build>
     <category>Function-objects</category>
     <category>Programming</category>
   </library>
@@ -501,7 +472,6 @@
     <documentation>libs/function_types/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Generic</category>
     <category>Metaprogramming</category>
   </library>
@@ -516,7 +486,6 @@
     <documentation>libs/functional/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Function-objects</category>
   </library>
   <library>
@@ -529,7 +498,6 @@
     <documentation>libs/functional/hash/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>true</std-tr1>
- <build>header-only</build>
     <category>Function-objects</category>
   </library>
   <library>
@@ -541,7 +509,6 @@
     <documentation>libs/functional/factory/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Function-objects</category>
   </library>
   <library>
@@ -553,7 +520,6 @@
     <documentation>libs/functional/forward/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Function-objects</category>
   </library>
   <library>
@@ -566,7 +532,6 @@
     <documentation>libs/functional/overloaded_function/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Function-objects</category>
   </library>
   <library>
@@ -579,7 +544,6 @@
     <documentation>libs/fusion/doc/html/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Metaprogramming</category>
     <category>Data</category>
   </library>
@@ -592,7 +556,6 @@
     <documentation>libs/geometry/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Algorithms</category>
     <category>Math</category>
   </library>
@@ -605,7 +568,6 @@
     <documentation>libs/gil/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Containers</category>
     <category>Iterators</category>
     <category>Algorithms</category>
@@ -624,7 +586,6 @@
     <documentation>libs/graph/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>autolink</build>
     <category>Containers</category>
     <category>Iterators</category>
     <category>Algorithms</category>
@@ -638,7 +599,6 @@
     <documentation>libs/heap/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Data</category>
   </library>
   <library>
@@ -651,7 +611,6 @@
     <documentation>libs/icl/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Containers</category>
     <category>Data</category>
   </library>
@@ -670,7 +629,6 @@
     <documentation>libs/integer/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Math</category>
   </library>
   <library>
@@ -683,7 +641,6 @@
     <documentation>libs/interprocess/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Concurrent</category>
   </library>
   <library>
@@ -695,7 +652,6 @@
     <documentation>libs/intrusive/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Containers</category>
   </library>
   <library>
@@ -710,7 +666,6 @@
     <documentation>libs/io/doc/ios_state.html</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>IO</category>
   </library>
   <library>
@@ -723,7 +678,6 @@
     <documentation>libs/iostreams/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>autolink</build>
     <category>String</category>
     <category>IO</category>
   </library>
@@ -740,7 +694,6 @@
     <documentation>libs/iterator/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Iterators</category>
   </library>
   <library>
@@ -753,7 +706,6 @@
     <documentation>libs/lambda/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Function-objects</category>
   </library>
   <library>
@@ -767,7 +719,6 @@
     <documentation>libs/conversion/lexical_cast.htm</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>String</category>
     <category>Miscellaneous</category>
   </library>
@@ -781,7 +732,6 @@
     <documentation>libs/local_function/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Function-objects</category>
   </library>
   <library>
@@ -793,7 +743,6 @@
     <documentation>libs/locale/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>build</build>
     <category>String</category>
   </library>
   <library>
@@ -805,7 +754,6 @@
     <documentation>doc/html/tribool.html</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Miscellaneous</category>
   </library>
   <library>
@@ -828,7 +776,6 @@
     <documentation>libs/math/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Math</category>
   </library>
   <library>
@@ -841,7 +788,6 @@
     <documentation>libs/math/doc/common_factor.html</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Math</category>
   </library>
   <library>
@@ -853,7 +799,6 @@
     <documentation>libs/math/doc/octonion/html/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Math</category>
   </library>
   <library>
@@ -865,7 +810,6 @@
     <documentation>libs/math/doc/quaternion/html/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Math</category>
   </library>
   <library>
@@ -877,7 +821,6 @@
     <documentation>libs/math/doc/sf_and_dist/html/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>autolink</build>
     <category>Math</category>
   </library>
   <library>
@@ -890,7 +833,6 @@
     <documentation>libs/math/doc/sf_and_dist/html/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Math</category>
   </library>
   <library>
@@ -902,7 +844,6 @@
     <documentation>libs/move/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Emulation</category>
   </library>
   <library>
@@ -915,7 +856,6 @@
     <documentation>libs/mpi/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>autolink</build>
     <category>Concurrent</category>
   </library>
   <library>
@@ -933,7 +873,6 @@
     <documentation>libs/mpl/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Metaprogramming</category>
   </library>
   <library>
@@ -945,7 +884,6 @@
     <documentation>libs/msm/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>State</category>
   </library>
   <library>
@@ -959,7 +897,6 @@
     <documentation>libs/multi_array/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Containers</category>
     <category>Math</category>
   </library>
@@ -975,7 +912,6 @@
     <documentation>libs/multi_index/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Containers</category>
     <category>Data</category>
   </library>
@@ -990,7 +926,6 @@
     libs/numeric/conversion/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Math</category>
     <category>Miscellaneous</category>
   </library>
@@ -1006,7 +941,6 @@
     libs/numeric/interval/doc/interval.htm</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Math</category>
   </library>
   <library>
@@ -1020,7 +954,6 @@
     <documentation>libs/numeric/ublas/doc/index.htm</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Math</category>
   </library>
   <library>
@@ -1033,7 +966,6 @@
     <documentation>libs/optional/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Miscellaneous</category>
   </library>
   <library>
@@ -1047,7 +979,6 @@
     libs/parameter/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Programming</category>
     <category>Emulation</category>
   </library>
@@ -1061,7 +992,6 @@
     <documentation>libs/phoenix/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Function-objects</category>
   </library>
   <library>
@@ -1073,7 +1003,6 @@
     <documentation>libs/polygon/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Miscellaneous</category>
   </library>
   <library>
@@ -1085,7 +1014,6 @@
     <documentation>libs/pool/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Memory</category>
   </library>
   <library>
@@ -1098,7 +1026,6 @@
     <documentation>libs/preprocessor/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Preprocessor</category>
   </library>
   <library>
@@ -1113,7 +1040,6 @@
     <documentation>libs/program_options/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>autolink</build>
     <category>IO</category>
     <category>Miscellaneous</category>
   </library>
@@ -1127,7 +1053,6 @@
     <documentation>libs/property_map/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Containers</category>
     <category>Generic</category>
   </library>
@@ -1141,7 +1066,6 @@
     <documentation>libs/property_tree/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Containers</category>
     <category>Data</category>
   </library>
@@ -1154,7 +1078,6 @@
     <documentation>libs/proto/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Metaprogramming</category>
   </library>
   <library>
@@ -1168,7 +1091,6 @@
     libs/ptr_container/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Containers</category>
     <category>Data</category>
   </library>
@@ -1185,7 +1107,6 @@
     <documentation>libs/python/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <!-- <build></build> -->
     <category>Inter-language</category>
   </library>
   <library>
@@ -1198,7 +1119,6 @@
     <documentation>libs/random/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>true</std-tr1>
- <build>header-only</build>
     <category>Math</category>
   </library>
   <library>
@@ -1211,7 +1131,6 @@
     <documentation>libs/range/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Algorithms</category>
   </library>
   <library>
@@ -1223,7 +1142,6 @@
     <documentation>libs/ratio/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Math</category>
   </library>
   <library>
@@ -1235,7 +1153,6 @@
     <documentation>libs/rational/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Math</category>
   </library>
   <library>
@@ -1247,7 +1164,6 @@
     <documentation>libs/regex/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>true</std-tr1>
- <build>autolink</build>
     <category>String</category>
   </library>
   <library>
@@ -1259,7 +1175,6 @@
     <documentation>libs/scope_exit/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Emulation</category>
   </library>
   <library>
@@ -1273,7 +1188,6 @@
     libs/serialization/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>autolink</build>
     <category>IO</category>
   </library>
   <library>
@@ -1286,7 +1200,6 @@
     <documentation>libs/signals/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>autolink</build>
     <category>Function-objects</category>
     <category>Patterns</category>
   </library>
@@ -1300,7 +1213,6 @@
     <documentation>libs/signals2/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Function-objects</category>
     <category>Patterns</category>
   </library>
@@ -1314,7 +1226,6 @@
     <documentation>libs/smart_ptr/smart_ptr.htm</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>true</std-tr1>
- <build>header-only</build>
     <category>Memory</category>
   </library>
   <library>
@@ -1327,7 +1238,6 @@
     <documentation>libs/static_assert/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Generic</category>
     <category>Metaprogramming</category>
     <category>Correctness</category>
@@ -1342,7 +1252,6 @@
     <documentation>libs/spirit/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>String</category>
     <category>Parsing</category>
   </library>
@@ -1357,7 +1266,6 @@
     <documentation>libs/statechart/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>State</category>
   </library>
   <library>
@@ -1370,7 +1278,6 @@
     <documentation>libs/system/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>autolink</build>
     <category>System</category>
   </library>
   <library>
@@ -1383,7 +1290,6 @@
     <documentation>libs/test/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>autolink</build>
     <category>Correctness</category>
   </library>
   <library>
@@ -1395,7 +1301,6 @@
     <documentation>libs/thread/</documentation>
     <std-proposal>true</std-proposal>
     <std-tr1>false</std-tr1>
- <build>autolink</build>
     <category>Concurrent</category>
     <category>System</category>
   </library>
@@ -1409,7 +1314,6 @@
     <documentation>libs/timer/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Miscellaneous</category>
   </library>
   <library>
@@ -1422,7 +1326,6 @@
     <documentation>libs/tokenizer/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>String</category>
     <category>Iterators</category>
   </library>
@@ -1441,7 +1344,6 @@
     <documentation>libs/tr1/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>true</std-tr1>
- <build>header-only</build>
     <category>Miscellaneous</category>
   </library>
   <library>
@@ -1454,7 +1356,6 @@
     <documentation>libs/tuple/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>true</std-tr1>
- <build>header-only</build>
     <category>Data</category>
   </library>
   <library>
@@ -1467,7 +1368,6 @@
     <documentation>libs/type_traits/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>true</std-tr1>
- <build>header-only</build>
     <category>Generic</category>
     <category>Metaprogramming</category>
   </library>
@@ -1480,7 +1380,6 @@
     <documentation>libs/typeof/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Emulation</category>
   </library>
   <library>
@@ -1492,7 +1391,6 @@
     <documentation>libs/units/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Domain</category>
   </library>
   <library>
@@ -1504,7 +1402,6 @@
     <documentation>libs/unordered/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>true</std-tr1>
- <build>header-only</build>
     <category>Containers</category>
   </library>
   <library>
@@ -1518,7 +1415,6 @@
     <documentation>libs/utility/utility.htm</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Algorithms</category>
     <category>Function-objects</category>
     <category>Memory</category>
@@ -1535,7 +1431,6 @@
     <documentation>libs/utility/call_traits.htm</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Generic</category>
   </library>
   <library>
@@ -1547,7 +1442,6 @@
     <documentation>libs/utility/compressed_pair.htm</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Data</category>
     <category>Patterns</category>
   </library>
@@ -1562,7 +1456,6 @@
     <documentation>libs/utility/enable_if.html</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Generic</category>
   </library>
   <library>
@@ -1575,7 +1468,6 @@
     <documentation>libs/utility/identity_type/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Preprocessor</category>
   </library>
   <library>
@@ -1589,7 +1481,6 @@
     libs/utility/in_place_factories.html</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Generic</category>
   </library>
   <library>
@@ -1602,7 +1493,6 @@
     <documentation>libs/utility/operators.htm</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Iterators</category>
     <category>Generic</category>
     <category>Math</category>
@@ -1617,7 +1507,6 @@
     <documentation>libs/utility/utility.htm#result_of</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Function-objects</category>
   </library>
   <library>
@@ -1629,7 +1518,6 @@
     <documentation>libs/utility/swap.html</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Miscellaneous</category>
   </library>
   <library>
@@ -1642,7 +1530,6 @@
     <documentation>libs/utility/value_init.htm</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Miscellaneous</category>
   </library>
   <library>
@@ -1654,7 +1541,6 @@
     <documentation>libs/uuid/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Data</category>
     <category>Domain</category>
   </library>
@@ -1668,7 +1554,6 @@
     <documentation>libs/variant/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>Containers</category>
     <category>Data</category>
   </library>
@@ -1684,7 +1569,6 @@
     <documentation>libs/wave/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>autolink</build>
     <category>String</category>
   </library>
   <library>
@@ -1699,7 +1583,6 @@
     <documentation>libs/xpressive/</documentation>
     <std-proposal>false</std-proposal>
     <std-tr1>false</std-tr1>
- <build>header-only</build>
     <category>String</category>
   </library>
 </boost>

Modified: website/public_html/live/generated/download-items.html
==============================================================================
--- website/public_html/live/generated/download-items.html (original)
+++ website/public_html/live/generated/download-items.html 2012-08-29 18:37:51 EDT (Wed, 29 Aug 2012)
@@ -1,11 +1,8 @@
- <div class="section-body">
- <ul class="toc">
+<ul class="toc">
 <li>Current Release</li>
-
- <li>Old Boost Releases</li>
-
- <li>Subversion Repository</li>
- </ul>
+<li>Old Boost Releases</li>
+<li>Subversion Repository</li>
+</ul>
 <h2 id="live">Current Release</h2>
               <h3><span class=
               "news-title">Version 1.51.0</span></h3>
@@ -24,76 +21,3 @@
 <li>Download</li>
 <li>Documentation</li>
 </ul>
-
-
- <h2><a name="history" id="history"></a>Old Boost Releases</h2>
-
- <p>Old versions of boost can be found on the <a href=
- "/users/history/">version history</a> page or from <a class=
- "external" href=
- "http://sourceforge.net/projects/boost/files/">the
- sourceforge download page</a>.</p>
-
- <h2><a name="repository" id="repository"></a>Subversion
- Repository</h2>
-
- <p>Boost uses <a class="external" href=
- "http://subversion.tigris.org/">Subversion</a> to manage all of
- the data associated with Boost's development, including the
- source code to Boost, documentation for Boost libraries, and
- the Boost web site.</p>
-
- <h3>Accessing the Boost Subversion Repository</h3>
-
- <p>The Subversion repository can be accessed in several
- ways:</p>
-
- <ul>
- <li>Anonymous, read-only access to the Boost Subversion
- repository is available at <a href=
- "http://svn.boost.org/svn/boost">http://svn.boost.org/svn/boost>.
- To access the current Boost development code, for instance,
- one would check out from <a href=
- "
http://svn.boost.org/svn/boost/trunk">http://svn.boost.org/svn/boost/trunk>.
- For example, using the command-line <tt>svn</tt>, one might
- use:
- <pre>
-svn co <a href=
-"
http://svn.boost.org/svn/boost/trunk">http://svn.boost.org/svn/boost/trunk> boost-trunk
-</pre>
- </li>
-
- <li>On Windows, <a href=
- "
http://tortoisesvn.tigris.org/">TortoiseSVN</a> provides an
- easy-to-use, graphical interface to Subversion.</li>
- </ul>
-
- <h3>Organization of the Boost Subversion Repository</h3>
-
- <p>The Boost Subversion repository is organized into several
- top-level directories, reflecting various stages of Boost
- library development and subtasks within the Boost community. We
- have the following top-level directories:</p>
-
- <ul>
- <li><tt>trunk</tt>: Contains the latest "development" version
- of Boost.</li>
-
- <li><tt>sandbox</tt>: Contains libraries and tools that are
- under active development and have not yet been reviewed or
- accepted into Boost. See <a href=
- "http://svn.boost.org/trac/boost/wiki/BoostSandbox">BoostSandbox</a>
- for information about organization of the sandbox.</li>
-
- <li><tt>website</tt>: Contains the upcoming Boost web site,
- which is not yet live.</li>
-
- <li><tt>branches</tt>: Contains various branches of Boost
- libraries, typically for release branches and for non-trivial
- changes to Boost libraries that need to be made separately
- from the trunk.</li>
-
- <li><tt>tags</tt>: Contains "tags" that mark certain points
- in the source tree, such as particular Boost releases.</li>
- </ul>
- </div>

Modified: website/public_html/live/generated/history-items.html
==============================================================================
--- website/public_html/live/generated/history-items.html (original)
+++ website/public_html/live/generated/history-items.html 2012-08-29 18:37:51 EDT (Wed, 29 Aug 2012)
@@ -1,5 +1,4 @@
- <div class="section-body">
-
+
               <h2 class="news-title">
               <a name="iversion_1_51_0" id="iversion_1_51_0"></a>Version 1.51.0</h2>
 
@@ -10,7 +9,8 @@
       New Libraries: Context. Updated Libraries: Algorithm, Asio, Config, Chrono,
       Geometry, Graph, Hash, Lexical Cast, Math, MSM, Proto, Ratio, Regex, Thread,
       Unordered, Wave, xpressive
-</span></span> </div>
+</span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -30,7 +30,8 @@
       Filesystem, Foreach, Graph, Geometry, Hash, Iostreams, Iterator, MultiArray,
       Lexical cast, Locale, MSM, Program Options, PropertyMap, Proto, Ratio, ScopeExit,
       Thread, Unordered, Wave, xpressive
-</span></span> </div>
+</span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -48,7 +49,8 @@
       New Library: Heap. Updated Libraries: Asio, Chrono, Container, Filesystem,
       Foreach, Geometry, Graph, Icl, Interprocess, Intrusive, Lexical Cast, Locale,
       Move, Property Tree, Proto, Spirit, Thread, Unordered, Uuid, xpressive.
-</span></span> </div>
+</span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -66,7 +68,8 @@
       New Libraries: Container, Locale, Move. Updated Libraries: Asio, Chrono, Config,
       Fusion, Geometry, Graph, Interprocess, Intrusive, Lexical cast, Math, MSM,
       Numeric Conversion, Proto, Regex, Spirit, TypeTraits, Unordered, Wave
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -85,7 +88,8 @@
       Asio, Config, DateTime, Dynamic Bitset, Foreach, Function, Function Types,
       Graph, Iostreams, Iterator, Lexical Cast, Logic, Math, Meta State Machine,
       MultiIndex, Proto, Random, Range, Spirit, Tokenizer, Utility, Uuid, Wave
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -102,7 +106,8 @@
                 <span class="brief"><span class="purpose">
       Bug fixes: Asio, Fusion, Graph, Icl, Math, Polygon, Proto, Property Tree, Signals2,
       TR1, Unordered.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -121,7 +126,8 @@
       Fusion, Hash, Iostreams, Iterator, Math, Meta State Machine, Optional, Pool,
       Program Options, Proto, Signals, Spirit, Tokenizer, Unordered, Wave. Updated
       Tools: Boostbook, Inspect, Quickbook.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -138,7 +144,8 @@
       Updated Libraries: Asio, Config, Flyweight, Foreach, Fusion, Graph, Interprocess,
       Math, Meta State Machine, MultiArray, Proto, Spirit, TypeTraits, uBLAS, Unordered,
       Wave, Xpressive. Updated tools: Boostbook, Quickbook
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -157,7 +164,8 @@
       Asio, Config, Filesystem, Foreach, Fusion, Hash, Iostreams, Math, MPL, Multi-index
       Containers, Proto, Regex, Spirit, Thread, TR1, Type Traits, uBLAS, Utility,
       Uuid, Wave, Xpressive. Updates for Quickbook and Boostbook.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -176,7 +184,8 @@
       Updated Libraries: Accumulators, Array, Asio, Fusion, Iostreams, Multi-index
       Containers, Proto, Random, Spirit, Thread, Unordered, Uuid, Wave, Xpressive.
       Also, updates to the build system and quickbook.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -194,7 +203,8 @@
       New Libraries: Uuid. Updated Libraries: Asio, Circular Buffer, Fusion, Graph,
       Integer, Iostreams, Program.Options, PropertyMap, Proto, Regex, Spirit, Unordered,
       Xpressive.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -214,7 +224,8 @@
       Unordered, Utility, Wave, Xpressive. Updates to boost build and quickbook.
       The CMake build system for Boost, still under development here,
       has been removed from the main release to avoid confusion.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -232,7 +243,8 @@
       Build System improvements. Updated Libraries: Accumulators, Asio, Circular
       Buffer, Foreach, Function, Fusion, Graph, Hash, Interprocess, Intrusive, MPL,
       Program.Options, Property Map, Proto, Random, Serialization, Unordered, Xpressive.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -250,7 +262,8 @@
       New Libraries: Signals2. Updated Libraries: Asio, Flyweight, Foreach, Hash,
       Interprocess, Intrusive, Program.Options, Proto, PtrContainer, Range, Unordered,
       Xpressive. Updated Tools: Boostbook, Quickbook.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -270,7 +283,8 @@
       Intrusive, Lexical Cast, Math, Multi-index Containers, Proto, Regex, Thread,
       TR1, Type Traits, Unordered, Xpressive. Other Changes: Experimental CMake build
       system.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -287,7 +301,8 @@
                 <span class="brief"><span class="purpose">
       New Library: Proto. Updated Libraries: Asio, Circular Buffer, Dynamic Bitset,
       Exception, Hash, Interprocess, Intrusive, Math, Type Traits, Unordered
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -305,7 +320,8 @@
       New Libraries: Accumulators, Exception, Units, Unordered. Updated Libraries:
       Asio, Assign, Circular Buffer, Foreach, Function, Hash, Interprocess, Intrusive,
       Math, Multi-index Containers, MPI, PtrContainer, Spirit, Thread, Wave, Xpressive.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -324,7 +340,8 @@
       Intrusive, Math/Special Functions, Math/Statistical Distributions, MPI, System.
       Updated Libraries: Graph, Hash, Iostreams, Multi Array, Multi-index Containers,
       Serialization, Thread, Wave, Xpressive.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -340,7 +357,8 @@
               <div class="news-description">
                 <span class="brief"><span class="purpose">
       Bugfix Release.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -359,7 +377,8 @@
       Assign, Date_time, Filesystem, Function, Hash, Graph, MultiArray, Multi-Index,
       Optional, Parameter, Pointer Container, Python, Signals, Smart Pointer, String
       Algorithm, Wave
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -376,7 +395,8 @@
                 <span class="brief"><span class="purpose">
       Updated Libraries: Any, Config, Python, Smart Pointer, Regex, Iostreams, Functional/Hash,
       Multi-index Containers, Graph, Signals, Thread, and Wave.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -394,7 +414,8 @@
       New Libraries: Iostream, Hash, Parameter, Pointer Container, Wave. Updated
       Libraries: Any, Assignment, Bind, Date-Time, Graph, Multi-Index, Program Options,
       Property Map, Python, Random Number, Range, Regex, Serialization, Signals.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -411,7 +432,8 @@
       New Libraries: Assignment, Minmax, Multi-Index, Numeric Conversion, Program
       Options, Range, Serialization, String, Tribool. Updated Libraries: Graph, MPL,
       Python, Signals, Utility, Test. Removed Libraries: Compose.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -429,7 +451,8 @@
       New Libraries: enable_if, Variant. Updated Libraries: Date Time, Filesystem,
       Iterator, MultiArray, Python, Random Number, Regex, Spirit, Test. Deprecated
       Libraries: Compose.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -445,7 +468,8 @@
               <div class="news-description">
                 <span class="brief"><span class="purpose">
       Bugfix release
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -461,7 +485,8 @@
                 <span class="brief"><span class="purpose">
       Withdrawn bug fix release, fixes for Lambda, Spirit, MPL, Function, Config,
       Format, Regex, Smart Pointers, Python
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -476,7 +501,8 @@
                 <span class="brief"><span class="purpose">
       New Libraries: Filesystem, Optional, Interval, MPL, Spirit Updated Libraries:
       Smart Pointers, Utility, Date-Time, Function, Operators, Test
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -492,7 +518,8 @@
                 <span class="brief"><span class="purpose">
       New Libraries: Date-Time, Dynamic Bitset, Format. Updated Libraries: Function,
       Multi-Array, Preprocessor, Python, Signals, uBLASH.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -508,7 +535,8 @@
                 <span class="brief"><span class="purpose">
       New Libraries: Lambda, I/O State Saver. Updated Libraries: Configuration, Random
       Number, Smart Pointers, Function Utility.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -524,7 +552,8 @@
                 <span class="brief"><span class="purpose">
       Updated Libraries: Python, Integer, Function, Quaternions, Octonions, Smart
       Pointers, Preprocessor, Threads.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -540,7 +569,8 @@
                 <span class="brief"><span class="purpose">
       New Libraries: Common Factor, Preprocessor. Updated Libraries: Iterator Adaptor,
       Random Number, Operators.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -555,7 +585,8 @@
               <div class="news-description">
                 <span class="brief"><span class="purpose">
       Updated Libraries: Graph, Thread, Function.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -571,7 +602,8 @@
                 <span class="brief"><span class="purpose">
       New Libraries: Thread, Bind. Updated Libraries: Utility, Array, Config, Random
       Number, Math, Tokenizer.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -586,7 +618,8 @@
               <div class="news-description">
                 <span class="brief"><span class="purpose">
       New Library: Tuple.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -602,7 +635,8 @@
                 <span class="brief"><span class="purpose">
       New Libraries: Any, Function, Tokenizer, Special functions, Octonions, Quaternions.
       Updated Library: Smart Pointer.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -617,7 +651,8 @@
               <div class="news-description">
                 <span class="brief"><span class="purpose">
       New Libary: CRC. Updated Libraries: Graph, Integer, Regex, Smart Pointer, Utility.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -632,7 +667,8 @@
               <div class="news-description">
                 <span class="brief"><span class="purpose">
       New Libraries: Compatibility. Updated Libraries: Random Number, Integer, Graph.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -647,7 +683,8 @@
               <div class="news-description">
                 <span class="brief"><span class="purpose">
       Updated Libraries: Graph, Python, Regex.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -663,7 +700,8 @@
                 <span class="brief"><span class="purpose">
       New Libraries: Iterator Adaptor, Pool, Test. Updated Libraries: Graph, Python,
       Regular Expression, Type Traits.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -678,7 +716,8 @@
                 <span class="brief"><span class="purpose">
       Updated Libraries: Array traits, Graph, Integer, Random Number, Rational Number,
       Regular Expression, Smart Pointer, Timer.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -693,7 +732,8 @@
               <div class="news-description">
                 <span class="brief"><span class="purpose">
       Updated Libraries: Compressed Pair, Graph Library, Regular Expression.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -707,7 +747,8 @@
               <div class="news-description">
                 <span class="brief"><span class="purpose">
       New Library: Conversion. Updated Libraries: Array, Graph, Regular Expression.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -722,7 +763,8 @@
                 <span class="brief"><span class="purpose">
       New Libraries: Concept Check, Python, Static Assert, Property Map Concepts.
       Updated Libraries: Graph, Regular Expression.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -736,7 +778,8 @@
               <div class="news-description">
                 <span class="brief"><span class="purpose">
       Updated Libraries: Graph, Regular Expression, Cast.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -751,7 +794,8 @@
                 <span class="brief"><span class="purpose">
       Updated Libraries: Case, Graph, Regular Expression, Configuration. Utility
       library split into separate libraries.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -765,7 +809,8 @@
               <div class="news-description">
                 <span class="brief"><span class="purpose">
       Updated Libraries: Graph, Random, Regular Expression, Configuration.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -780,7 +825,8 @@
                 <span class="brief"><span class="purpose">
       New Libraries: Graph, Regular Expression. Updated Libraries: Array, Functional,
       Utility, Integer.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -795,7 +841,8 @@
                 <span class="brief"><span class="purpose">
       Added Library: Array. Updated Libraries: Array Traits, Random Number, Smart
       Pointer.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -809,7 +856,8 @@
               <div class="news-description">
                 <span class="brief"><span class="purpose">
       Updated Libraries: Integer, Random Number, Cast, Call Traits, Operators.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -824,7 +872,8 @@
                 <span class="brief"><span class="purpose">
       New Libraries: Functional, iterator header, Updated Libraries: Random Number,
       Rational, Cast, Smart Pointer, Config.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -838,7 +887,8 @@
               <div class="news-description">
                 <span class="brief"><span class="purpose">
       Updated Libraries: Cast, Operators, Config.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -852,7 +902,8 @@
               <div class="news-description">
                 <span class="brief"><span class="purpose">
       Added Library: Random Number. Updated Libraries: Utility, Config, Cast.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -866,7 +917,8 @@
               <div class="news-description">
                 <span class="brief"><span class="purpose">
       Updated Libraries: Config, Type Traits.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -880,7 +932,8 @@
               <div class="news-description">
                 <span class="brief"><span class="purpose">
       Documentation updates.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -895,7 +948,8 @@
                 <span class="brief"><span class="purpose">
       Updated Libraries: Rational, Smart Pointer, Call Traits, Compressed Pair, Type
       Traits.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -909,7 +963,8 @@
               <div class="news-description">
                 <span class="brief"><span class="purpose">
       Updated Libraries: Integer. Experimental libraries moved to vault.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -923,7 +978,8 @@
               <div class="news-description">
                 <span class="brief"><span class="purpose">
       Added Libraries: Utility, Type Traits, Call Traits, Compressed Pair.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -937,7 +993,8 @@
               <div class="news-description">
                 <span class="brief"><span class="purpose">
       Updated Library: Integer.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -951,7 +1008,8 @@
               <div class="news-description">
                 <span class="brief"><span class="purpose">
       Updated Libraries: Smart Pointer.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -965,7 +1023,8 @@
               <div class="news-description">
                 <span class="brief"><span class="purpose">
       Minor fix for cast.hpp.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -980,7 +1039,8 @@
                 <span class="brief"><span class="purpose">
       New Library: Rational Number. Updated Libraries: Case, Config, Smart Pointer,
       Utility.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -994,7 +1054,8 @@
               <div class="news-description">
                 <span class="brief"><span class="purpose">
       Updated Libraries: Smart Pointer, Cast.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -1009,7 +1070,8 @@
                 <span class="brief"><span class="purpose">
       Updated Libraries: Compse, Operators, Cast, Config, Smart Pointer First release
       with a version number.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
@@ -1023,9 +1085,9 @@
               <div class="news-description">
                 <span class="brief"><span class="purpose">
       Early releases of boost without version numbers.
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
 </ul>
- </div>

Modified: website/public_html/live/generated/home-items.html
==============================================================================
--- website/public_html/live/generated/home-items.html (original)
+++ website/public_html/live/generated/home-items.html 2012-08-29 18:37:51 EDT (Wed, 29 Aug 2012)
@@ -1,22 +1,19 @@
-
- <div class="directory-item" id="important-downloads">
- <h2>Downloads</h2>
- <div id="downloads">
-
+<div class="directory-item" id="important-downloads">
+<h2>Downloads</h2>
+<div id="downloads">
 <h3>Current Release</h3>
 <ul>
-<li><div class="news-title">Version 1.51.0</div><div class="news-date">Release Notes | Documentation</div><div class="news-date">August 20th, 2012 23:00 GMT</div></li>
+<li><div class="news-title">Version 1.51.0</div><div class="news-date">Details | Download | Documentation</div><div class="news-date">August 20th, 2012 23:00 GMT</div></li>
 </ul>
- </div>
- <p>More Downloads...
- (RSS)</p>
- </div>
+</div>
+<p>More Downloads... (RSS)</p>
+</div>
+
+<div class="directory-item" id="important-news">
+<h2>News</h2>
 
- <div class="directory-item" id="important-news">
- <h2>News</h2>
+<ul id="news">
 
- <ul id="news">
-
                     <li><span class=
                     "news-title">Version 1.51.0</span>
                     <span class=
@@ -48,10 +45,9 @@
       Move, Property Tree, Proto, Spirit, Thread, Unordered, Uuid, xpressive.
 </span></span></span>
                     <span class=
- "news-date">February 24th, 2012 21:20 GMT</span></li> </ul>
+ "news-date">February 24th, 2012 21:20 GMT</span></li></ul>
 
- <p>More News... (<a href=
- "feed/news.rss">RSS</a>)</p>
- </div>
+<p>More News... (<a href=feed/news.rss">RSS</a>)</p>
+</div>
 
- <div class="clear"></div>
+<div class="clear"></div>

Modified: website/public_html/live/generated/news-items.html
==============================================================================
--- website/public_html/live/generated/news-items.html (original)
+++ website/public_html/live/generated/news-items.html 2012-08-29 18:37:51 EDT (Wed, 29 Aug 2012)
@@ -1,16 +1,20 @@
- <div class="section-body">
- <ul class="toc">
+<ul class="toc">
                 
                 <li><span class=
                 "news-title">Version 1.51.0</span></li>
+
                 <li><span class=
                 "news-title">Version 1.50.0</span></li>
+
                 <li><span class=
                 "news-title">Version 1.49.0</span></li>
+
                 <li><span class=
                 "news-title">Version 1.48.0</span></li>
+
                 <li><span class=
- "news-title">Version 1.47.0</span></li> </ul>
+ "news-title">Version 1.47.0</span></li>
+ </ul>
               <h2 class="news-title">
               <a name="iversion_1_51_0" id="iversion_1_51_0"></a>Version 1.51.0</h2>
 
@@ -21,14 +25,14 @@
       New Libraries: Context. Updated Libraries: Algorithm, Asio, Config, Chrono,
       Geometry, Graph, Hash, Lexical Cast, Math, MSM, Proto, Ratio, Regex, Thread,
       Unordered, Wave, xpressive
-</span></span> </div>
+</span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
 <li>Download</li>
 <li>Documentation</li>
 </ul>
-
               <h2 class="news-title">
               <a name="iversion_1_50_0" id="iversion_1_50_0"></a>Version 1.50.0</h2>
 
@@ -41,14 +45,14 @@
       Filesystem, Foreach, Graph, Geometry, Hash, Iostreams, Iterator, MultiArray,
       Lexical cast, Locale, MSM, Program Options, PropertyMap, Proto, Ratio, ScopeExit,
       Thread, Unordered, Wave, xpressive
-</span></span> </div>
+</span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
 <li>Download</li>
 <li>Documentation</li>
 </ul>
-
               <h2 class="news-title">
               <a name="iversion_1_49_0" id="iversion_1_49_0"></a>Version 1.49.0</h2>
 
@@ -59,14 +63,14 @@
       New Library: Heap. Updated Libraries: Asio, Chrono, Container, Filesystem,
       Foreach, Geometry, Graph, Icl, Interprocess, Intrusive, Lexical Cast, Locale,
       Move, Property Tree, Proto, Spirit, Thread, Unordered, Uuid, xpressive.
-</span></span> </div>
+</span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
 <li>Download</li>
 <li>Documentation</li>
 </ul>
-
               <h2 class="news-title">
               <a name="iversion_1_48_0" id="iversion_1_48_0"></a>Version 1.48.0</h2>
 
@@ -77,14 +81,14 @@
       New Libraries: Container, Locale, Move. Updated Libraries: Asio, Chrono, Config,
       Fusion, Geometry, Graph, Interprocess, Intrusive, Lexical cast, Math, MSM,
       Numeric Conversion, Proto, Regex, Spirit, TypeTraits, Unordered, Wave
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
 <li>Download</li>
 <li>Documentation</li>
 </ul>
-
               <h2 class="news-title">
               <a name="iversion_1_47_0" id="iversion_1_47_0"></a>Version 1.47.0</h2>
 
@@ -96,11 +100,11 @@
       Asio, Config, DateTime, Dynamic Bitset, Foreach, Function, Function Types,
       Graph, Iostreams, Iterator, Lexical Cast, Logic, Math, Meta State Machine,
       MultiIndex, Proto, Random, Range, Spirit, Tokenizer, Utility, Uuid, Wave
- </span></span> </div>
+ </span></span>
+ </div>
 
 <ul class="menu">
 <li>Details</li>
 <li>Download</li>
 <li>Documentation</li>
-</ul>
- </div>
+</ul>
\ No newline at end of file

Modified: website/public_html/live/site-tools/boost_site/boostbook_parser.py
==============================================================================
--- website/public_html/live/site-tools/boost_site/boostbook_parser.py (original)
+++ website/public_html/live/site-tools/boost_site/boostbook_parser.py 2012-08-29 18:37:51 EDT (Wed, 29 Aug 2012)
@@ -19,7 +19,7 @@
 
         article_node = article.documentElement
         if article_node.nodeName != 'article':
- print "Boostbook file not article:", filename
+ print("Boostbook file not article:", filename)
             return
 
         id = ''
@@ -207,7 +207,7 @@
     
     def new_node( self, tag, *child, **kwargs ):
         result = self.document.createElement(tag)
- for k in kwargs.keys():
+ for k in list(kwargs.keys()):
             if kwargs[k] != '':
                 if k == 'id':
                     result.setAttribute('id',kwargs[k])

Modified: website/public_html/live/site-tools/boost_site/pages.py
==============================================================================
--- website/public_html/live/site-tools/boost_site/pages.py (original)
+++ website/public_html/live/site-tools/boost_site/pages.py 2012-08-29 18:37:51 EDT (Wed, 29 Aug 2012)
@@ -4,7 +4,7 @@
 # (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
 
 import boost_site.state, boost_site.util
-import os, hashlib, xml.dom.minidom, re, fnmatch, subprocess, tempfile, time
+import os, sys, hashlib, xml.dom.minidom, re, fnmatch, subprocess, tempfile, time
 
 class Pages:
     """ Tracks which items in an rss feed have been updated.
@@ -36,10 +36,13 @@
         boost_site.state.save(save_hashes, self.hash_file)
 
     def add_qbk_file(self, qbk_file, location, page_data):
- file = open(qbk_file)
- try:
+ if sys.version_info < (3,0):
+ file = open(qbk_file, 'r')
             qbk_hash = hashlib.sha256(file.read()).hexdigest()
- finally:
+ file.close()
+ else:
+ file = open(qbk_file, 'rb')
+ qbk_hash = hashlib.sha256(file.read().replace(bytes([13,10]), bytes([10]))).hexdigest()
             file.close()
 
         record = None
@@ -83,8 +86,8 @@
                         'last_modified': self.pages[self.rss_hashes[hashed]].last_modified
                     }
                 else:
- print "Unable to find quickbook file for rss item:"
- print hashed
+ print("Unable to find quickbook file for rss item:")
+ print(hashed)
 
         return rss_items
 
@@ -95,7 +98,7 @@
         try:
             subprocess.check_call(['quickbook', '--version'])
         except:
- print "Problem running quickbook, will not convert quickbook articles."
+ print("Problem running quickbook, will not convert quickbook articles.")
             return
         
         bb_parser = boost_site.boostbook_parser.BoostBookParser()
@@ -107,15 +110,46 @@
                 os.close(xml_file[0])
                 xml_filename = xml_file[1]
                 try:
- print "Converting " + page + ":"
+ print("Converting " + page + ":")
                     subprocess.check_call(['quickbook', '--output-file', xml_filename, '-I', 'feed', page])
                     page_data.load(bb_parser.parse(xml_filename), refresh)
                 finally:
                     os.unlink(xml_filename)
-
- boost_site.templite.write_template(page_data.location,
+
+ template_vars = {
+ 'history_style' : '',
+ 'full_title_xml' : page_data.full_title_xml,
+ 'title_xml' : page_data.title_xml,
+ 'note_xml' : '',
+ 'web_date' : page_data.web_date(),
+ 'documentation_para' : '',
+ 'download_table' : page_data.download_table(),
+ 'description_xml' : page_data.description_xml
+ }
+
+ if page_data.type == 'release' and 'released' not in page_data.flags:
+ template_vars['note_xml'] = '<div class="section-note"><p>Note: This version is at an early stage in its release cycle. The information listed below is incomplete and some of the documentation links may not work yet.</p></div>'
+
+ if page_data.documentation:
+ template_vars['documentation_para'] = '<p>Documentation'
+
+ if(page_data.location.startswith('users/history/')):
+ template_vars['history_style'] = """
+ <style type="text/css">
+/*<![CDATA[*/
+ #content .news-description ul {
+ list-style: none;
+ }
+ #content .news-description ul ul {
+ list-style: circle;
+ }
+ /*]]>*/
+ </style>
+"""
+
+ boost_site.util.write_template(page_data.location,
                     'site-tools/templates/entry-template.html',
- { 'page': page_data })
+ template_vars)
 
     def match_pages(self, patterns, count = None, sort = True):
         """
@@ -127,7 +161,7 @@
         for pattern in patterns:
             pattern_parts = pattern.split('|')
             matches = [x for x in
- fnmatch.filter(self.pages.keys(), pattern_parts[0])
+ fnmatch.filter(list(self.pages.keys()), pattern_parts[0])
                 if self.pages[x].is_published(pattern_parts[1:])]
             filtered = filtered | set(matches)
 
@@ -178,7 +212,7 @@
                 self.release_status = 'dev'
             status_parts = self.release_status.split(' ', 2)
             if status_parts[0] not in ['released', 'beta', 'dev']:
- print "Error: Unknown release status: " + self.release_status
+ print("Error: Unknown release status: " + self.release_status)
                 self.release_status = None
             if self.release_status:
                 self.flags.add(status_parts[0])
@@ -330,7 +364,7 @@
 
 def number_suffix(x):
     x = x % 100
- if x / 10 == 1:
+ if x // 10 == 1:
         return "th"
     else:
         return ["th", "st", "nd", "rd", "th", "th", "th", "th", "th", "th"][x % 10]

Modified: website/public_html/live/site-tools/boost_site/settings.py
==============================================================================
--- website/public_html/live/site-tools/boost_site/settings.py (original)
+++ website/public_html/live/site-tools/boost_site/settings.py 2012-08-29 18:37:51 EDT (Wed, 29 Aug 2012)
@@ -21,24 +21,21 @@
     'pages': {
         'users/history/': {
             'src_files' : ['feed/history/*.qbk'],
- 'template' : 'site-tools/templates/entry-template.html',
             'type' : 'release'
         },
         'users/news/': {
             'src_files' : ['feed/news/*.qbk'],
- 'template' : 'site-tools/templates/entry-template.html'
         },
         'users/download/': {
             'src_files' : ['feed/downloads/*.qbk'],
- 'template' : 'site-tools/templates/entry-template.html',
             'type' : 'release'
         }
     },
     'index-pages' : {
- 'generated/download-items.html' : 'site-tools/templates/download-template.html',
- 'generated/history-items.html' : 'site-tools/templates/history-template.html',
- 'generated/news-items.html' : 'site-tools/templates/news-template.html',
- 'generated/home-items.html' : 'site-tools/templates/index-src.html'
+ 'generated/download-items.html' : 'site-tools/templates/download-template.py',
+ 'generated/history-items.html' : 'site-tools/templates/history-template.py',
+ 'generated/news-items.html' : 'site-tools/templates/news-template.py',
+ 'generated/home-items.html' : 'site-tools/templates/index-template.py'
     },
     # See boost_site.pages for matches pattern syntax.
     #

Modified: website/public_html/live/site-tools/boost_site/site_tools.py
==============================================================================
--- website/public_html/live/site-tools/boost_site/site_tools.py (original)
+++ website/public_html/live/site-tools/boost_site/site_tools.py 2012-08-29 18:37:51 EDT (Wed, 29 Aug 2012)
@@ -4,7 +4,7 @@
 # (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
 
 import os, sys, subprocess, glob, re, time, xml.dom.minidom, codecs
-import boost_site.templite, boost_site.pages, boost_site.boostbook_parser, boost_site.util
+import boost_site.pages, boost_site.boostbook_parser, boost_site.util
 from boost_site.settings import settings
 
 ################################################################################
@@ -54,7 +54,7 @@
     }
 
     for index_page in settings['index-pages']:
- boost_site.templite.write_template(
+ boost_site.util.write_py_template(
             index_page,
             settings['index-pages'][index_page],
             index_page_variables)
@@ -86,9 +86,9 @@
                         rss_feed.importNode(
                             old_rss_items[qbk_page.qbk_file]['item'], True))
                 else:
- print "Missing entry for %s" % qbk_page.qbk_file
+ print("Missing entry for %s" % qbk_page.qbk_file)
                     
- output_file = open(feed_file, 'w')
+ output_file = open(feed_file, 'wb')
             try:
                 output_file.write(rss_feed.toxml('utf-8'))
             finally:
@@ -121,8 +121,8 @@
   </channel>
 </rss>
 ''' % {
- 'title' : details['title'].encode('utf-8'),
- 'link' : "http://www.boost.org/" + details['link'],
+ 'title' : encode_for_rss(details['title']),
+ 'link' : encode_for_rss("http://www.boost.org/" + details['link']),
     'description' : '',
     'language' : 'en-us',
     'copyright' : 'Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)'
@@ -138,15 +138,15 @@
     item = rss_feed.createElement('item')
 
     node = xml.dom.minidom.parseString('<title>%s</title>'
- % page.title_xml.encode('utf-8'))
+ % encode_for_rss(page.title_xml))
     item.appendChild(rss_feed.importNode(node.documentElement, True))
 
     node = xml.dom.minidom.parseString('<link>%s</link>'
- % page_link.encode('utf-8'))
+ % encode_for_rss(page_link))
     item.appendChild(rss_feed.importNode(node.documentElement, True))
 
     node = xml.dom.minidom.parseString('<guid>%s</guid>'
- % page_link.encode('utf-8'))
+ % encode_for_rss(page_link))
     item.appendChild(rss_feed.importNode(node.documentElement, True))
 
     # TODO: Convert date format?
@@ -157,7 +157,7 @@
     node = rss_feed.createElement('description')
     # Placing the description in a root element to make it well formed xml.
     description = xml.dom.minidom.parseString(
- '<x>%s</x>' % page.description_xml.encode('utf-8'))
+ '<x>%s</x>' % encode_for_rss(page.description_xml))
     boost_site.util.base_links(description, page_link)
     node.appendChild(rss_feed.createTextNode(
         boost_site.util.fragment_to_string(description.firstChild)))
@@ -168,5 +168,11 @@
         'quickbook': qbk_file,
         'last_modified': page.last_modified
     })
+
+def encode_for_rss(x):
+ if sys.version_info < (3, 0):
+ return x.encode('utf-8')
+ else:
+ return x
  
 ################################################################################

Modified: website/public_html/live/site-tools/boost_site/state.py
==============================================================================
--- website/public_html/live/site-tools/boost_site/state.py (original)
+++ website/public_html/live/site-tools/boost_site/state.py 2012-08-29 18:37:51 EDT (Wed, 29 Aug 2012)
@@ -3,9 +3,9 @@
 # Distributed under the Boost Software License, Version 1.0.
 # (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
 
-import os
+import os, sys
 
-class StateParseError:
+class StateParseError(BaseException):
     None
 
 def load(file_path):
@@ -64,9 +64,15 @@
                         if(not key): raise StateParseError()
                         if(type == 'None'):
                             type = 'String'
- value = file.readline().decode('utf-8')
+ if sys.version_info < (3, 0):
+ value = file.readline().decode('utf-8')
+ else:
+ value = file.readline()
                         elif(type == 'String'):
- value = value + file.readline().decode('utf-8')
+ if sys.version_info < (3, 0):
+ value = value + file.readline().decode('utf-8')
+ else:
+ value = value + file.readline()
                         else:
                             raise StateParseError()
                     else:
@@ -78,36 +84,41 @@
     return state
 
 def save(state, file_path):
- file = open(file_path, "w")
+ file = open(file_path, "wb")
     try:
         for record_key in sorted(state.keys()):
             record = state[record_key]
 
- file.write("(")
- file.write(record_key)
- file.write("\n")
+ write(file, "(")
+ write(file, record_key)
+ write(file, "\n")
 
             for key in sorted(record.keys()):
- file.write("-")
- file.write(key)
- file.write("\n")
+ write(file, "-")
+ write(file, key)
+ write(file, "\n")
 
                 if record[key] is not None:
- if isinstance(record[key], basestring):
- file.write('"')
- file.write(record[key].replace("\n", "\n\"").encode('utf-8'))
- file.write("\n")
+ if isinstance(record[key], str) or \
+ (sys.version_info < (3,0) and isinstance(record[key], unicode)):
+ write(file, '"')
+ write(file, record[key].replace("\n", "\n\""))
+ write(file, "\n")
                     elif isinstance(record[key], bool):
- file.write('!')
- file.write(str(record[key]))
- file.write("\n")
+ write(file, '!')
+ write(file, str(record[key]))
+ write(file, "\n")
                     elif isinstance(record[key], (int, float)):
- file.write('.')
- file.write(str(record[key]))
- file.write("\n")
+ write(file, '.')
+ write(file, str(record[key]))
+ write(file, "\n")
                     else:
+ print(type(record[key]))
                         assert False
 
- file.write(")\n")
+ write(file, ")\n")
     finally:
         file.close()
+
+def write(file, str):
+ file.write(str.encode('utf-8'))
\ No newline at end of file

Deleted: website/public_html/live/site-tools/boost_site/templite.py
==============================================================================
--- website/public_html/live/site-tools/boost_site/templite.py 2012-08-29 18:37:51 EDT (Wed, 29 Aug 2012)
+++ (empty file)
@@ -1,87 +0,0 @@
-# Templite
-#
-# Taken from:
-## {{{ http://code.activestate.com/recipes/496702/ (r3)
-#
-# Modified to use unicode, and added convenience method.
-#
-# Licensed under the PSF License
-
-import re
-
-# TODO: Integrate with main class?
-def write_template(location, template, params):
- template_file = open(template, 'r')
- try:
- template_format = template_file.read().decode('utf-8')
- finally:
- template_file.close()
-
- t = Templite(template_format)
- output = t(params)
- output_file = open(location, 'w')
- try:
- output_file.write(output.encode('utf-8'))
- finally:
- output_file.close()
-
-class Templite(object):
- delimiter = re.compile(r"\$\{(.*?)\}\$", re.DOTALL)
-
- def __init__(self, template):
- self.tokens = self.compile(template)
-
- @classmethod
- def from_file(cls, file):
- """
- loads a template from a file. `file` can be either a string, specifying
- a filename, or a file-like object, supporting read() directly
- """
- if isinstance(file, basestring):
- file = open(file)
- return cls(file.read())
-
- @classmethod
- def compile(cls, template):
- tokens = []
- for i, part in enumerate(cls.delimiter.split(template)):
- if i % 2 == 0:
- if part:
- tokens.append((False, part.replace("$\\{", "${")))
- else:
- if not part.strip():
- continue
- lines = part.replace("}\\$", "}$").splitlines()
- margin = min(len(l) - len(l.lstrip()) for l in lines if l.strip())
- realigned = "\n".join(l[margin:] for l in lines)
- code = compile(realigned, "<templite %r>" % (realigned[:20],), "exec")
- tokens.append((True, code))
- return tokens
-
- def render(__self, __namespace = None, **kw):
- """
- renders the template according to the given namespace.
- __namespace - a dictionary serving as a namespace for evaluation
- **kw - keyword arguments which are added to the namespace
- """
- namespace = {}
- if __namespace: namespace.update(__namespace)
- if kw: namespace.update(kw)
-
- def emitter(*args):
- for a in args: output.append(unicode(a))
- def fmt_emitter(fmt, *args):
- output.append(fmt % args)
- namespace["emit"] = emitter
- namespace["emitf"] = fmt_emitter
-
- output = []
- for is_code, value in __self.tokens:
- if is_code:
- eval(value, namespace)
- else:
- output.append(value)
- return "".join(output)
-
- # shorthand
- __call__ = render

Modified: website/public_html/live/site-tools/boost_site/upgrade.py
==============================================================================
--- website/public_html/live/site-tools/boost_site/upgrade.py (original)
+++ website/public_html/live/site-tools/boost_site/upgrade.py 2012-08-29 18:37:51 EDT (Wed, 29 Aug 2012)
@@ -66,10 +66,10 @@
     version = Version()
 
     if(version.version < len(versions)):
- print "Upgrading to new version."
+ print("Upgrading to new version.")
 
         for v in range(version.version, len(versions)):
- print "Upgrade", v + 1
+ print("Upgrade " + (v + 1))
             versions[v]()
             version.version = v + 1
             version.save()

Modified: website/public_html/live/site-tools/boost_site/util.py
==============================================================================
--- website/public_html/live/site-tools/boost_site/util.py (original)
+++ website/public_html/live/site-tools/boost_site/util.py 2012-08-29 18:37:51 EDT (Wed, 29 Aug 2012)
@@ -3,7 +3,12 @@
 # Distributed under the Boost Software License, Version 1.0.
 # (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
 
-import urlparse, re
+import sys, re, string
+
+try:
+ from urllib.parse import urljoin
+except ImportError:
+ from urlparse import urljoin
 
 def htmlencode(text):
     return text.replace('&', '&amp;').replace('<', '&lt;').replace('>', '&rt;')
@@ -16,11 +21,10 @@
     http://bugs.python.org/issue9883
     """
     x = ''.join(x.toxml('utf-8').decode('utf-8') for x in fragment.childNodes)
- x = re.compile(r' +$', flags = re.M).sub('', x)
- return x
+ return re.compile(r' +$', flags = re.M).sub('', x)
 
 def base_links(node, base_link):
- transform_links(node, lambda x: urlparse.urljoin(base_link,x))
+ transform_links(node, lambda x: urljoin(base_link, x))
 
 def transform_links(node, func):
     transform_links_impl(node, 'a', 'href', func)
@@ -34,3 +38,34 @@
     elif node.nodeType == node.DOCUMENT_FRAGMENT_NODE:
         for x in node.childNodes:
             transform_links_impl(x, tag_name, attribute, func)
+
+def write_template(dst_path, template_path, data):
+ file = open(template_path)
+ if sys.version_info < (3, 0):
+ s = string.Template(file.read().decode('utf-8'))
+ else:
+ s = string.Template(file.read())
+ output = s.substitute(data)
+ output = re.compile(r' +$', flags = re.M).sub('', output)
+ out = open(dst_path, 'w')
+ if sys.version_info < (3, 0):
+ out.write(output.encode('utf-8'))
+ else:
+ out.write(output)
+
+def write_py_template(dst_path, template_path, data):
+ data['emit'] = Emitter()
+ exec(open(template_path).read(), {}, data)
+
+ out = open(dst_path, 'w')
+ if sys.version_info < (3, 0):
+ out.write(data['emit'].output.encode('utf-8'))
+ else:
+ out.write(data['emit'].output)
+
+class Emitter:
+ def __init__(self):
+ self.output = ''
+
+ def __call__(self, x):
+ self.output += x

Modified: website/public_html/live/site-tools/release.py
==============================================================================
--- website/public_html/live/site-tools/release.py (original)
+++ website/public_html/live/site-tools/release.py 2012-08-29 18:37:51 EDT (Wed, 29 Aug 2012)
@@ -12,24 +12,24 @@
 import boost_site.site_tools
 
 if len(sys.argv) != 2:
- print __doc__
+ print(__doc__)
     exit(1)
 
 # Because I'm an idiot, we need to get the real path to the quickbook file
 # before calling init.
 
 if not os.path.isfile(sys.argv[1]):
- print "Unable to find release notes at:", sys.argv[1]
+ print("Unable to find release notes at: " + sys.argv[1])
     exit(1)
 
 release_notes = os.path.realpath(sys.argv[1])
 
 boost_site.site_tools.init()
 
-# Note: Not using os.path.relpath because I want to support Python 2.5
+# Note: Not using os.path.realpath because I want to support Python 2.5
 cwd = os.getcwd()
 if not release_notes.startswith(cwd):
- print "Release notes aren't in current site:", sys.argv[1]
+ print("Release notes aren't in current site: " + sys.argv[1])
     exit(1)
 
 release_notes = release_notes[len(cwd):].lstrip('/')
@@ -39,7 +39,7 @@
 
 # Flag the released page
 if release_notes not in pages.pages:
- print "Unable to find page:", release_notes
+ print("Unable to find page: " + release_notes)
     exit(1)
 pages.pages[release_notes].flags.add('released')
 pages.save()

Deleted: website/public_html/live/site-tools/templates/download-template.html
==============================================================================
--- website/public_html/live/site-tools/templates/download-template.html 2012-08-29 18:37:51 EDT (Wed, 29 Aug 2012)
+++ (empty file)
@@ -1,107 +0,0 @@
-${
-from boost_site.util import htmlencode
-}$ <div class="section-body">
- <ul class="toc">
-${
-for x in downloads:
- emit('<li>%s</li>\n' % (x['anchor'], x['label']))
-}$
- <li>Old Boost Releases</li>
-
- <li>Subversion Repository</li>
- </ul>
-${
-for x in downloads:
- emit('<h2 id="%s">%s</h2>' % (x['anchor'], x['label']))
- for entry in x['entries']:
- emit('\n')
- emit(' <h3><span class=\n "news-title">%s</span></h3>\n\n' % entry.full_title_xml)
- emit(' <p class="news-date">%s</p>\n\n' % entry.web_date())
- emit(' <p class="news-description">\n')
- emit(' <span class="brief"><span class="purpose">%s</span></span></p>\n\n' % entry.purpose_xml)
- emit('<ul class="menu">\n')
- emit('<li>')
- emit('Details' % htmlencode(entry.location))
- emit('</li>\n')
- if(entry.download_item):
- emit('<li>')
- emit('Download' % htmlencode(entry.download_item))
- emit('</li>\n')
- if(entry.documentation):
- emit('<li>')
- emit('Documentation' % htmlencode(entry.documentation))
- emit('</li>\n')
- emit('</ul>\n')
-}$
-
- <h2><a name="history" id="history"></a>Old Boost Releases</h2>
-
- <p>Old versions of boost can be found on the <a href=
- "/users/history/">version history</a> page or from <a class=
- "external" href=
- "http://sourceforge.net/projects/boost/files/">the
- sourceforge download page</a>.</p>
-
- <h2><a name="repository" id="repository"></a>Subversion
- Repository</h2>
-
- <p>Boost uses <a class="external" href=
- "http://subversion.tigris.org/">Subversion</a> to manage all of
- the data associated with Boost's development, including the
- source code to Boost, documentation for Boost libraries, and
- the Boost web site.</p>
-
- <h3>Accessing the Boost Subversion Repository</h3>
-
- <p>The Subversion repository can be accessed in several
- ways:</p>
-
- <ul>
- <li>Anonymous, read-only access to the Boost Subversion
- repository is available at <a href=
- "http://svn.boost.org/svn/boost">http://svn.boost.org/svn/boost>.
- To access the current Boost development code, for instance,
- one would check out from <a href=
- "
http://svn.boost.org/svn/boost/trunk">http://svn.boost.org/svn/boost/trunk>.
- For example, using the command-line <tt>svn</tt>, one might
- use:
- <pre>
-svn co <a href=
-"
http://svn.boost.org/svn/boost/trunk">http://svn.boost.org/svn/boost/trunk> boost-trunk
-</pre>
- </li>
-
- <li>On Windows, <a href=
- "
http://tortoisesvn.tigris.org/">TortoiseSVN</a> provides an
- easy-to-use, graphical interface to Subversion.</li>
- </ul>
-
- <h3>Organization of the Boost Subversion Repository</h3>
-
- <p>The Boost Subversion repository is organized into several
- top-level directories, reflecting various stages of Boost
- library development and subtasks within the Boost community. We
- have the following top-level directories:</p>
-
- <ul>
- <li><tt>trunk</tt>: Contains the latest "development" version
- of Boost.</li>
-
- <li><tt>sandbox</tt>: Contains libraries and tools that are
- under active development and have not yet been reviewed or
- accepted into Boost. See <a href=
- "http://svn.boost.org/trac/boost/wiki/BoostSandbox">BoostSandbox</a>
- for information about organization of the sandbox.</li>
-
- <li><tt>website</tt>: Contains the upcoming Boost web site,
- which is not yet live.</li>
-
- <li><tt>branches</tt>: Contains various branches of Boost
- libraries, typically for release branches and for non-trivial
- changes to Boost libraries that need to be made separately
- from the trunk.</li>
-
- <li><tt>tags</tt>: Contains "tags" that mark certain points
- in the source tree, such as particular Boost releases.</li>
- </ul>
- </div>

Modified: website/public_html/live/site-tools/templates/entry-template.html
==============================================================================
--- website/public_html/live/site-tools/templates/entry-template.html (original)
+++ website/public_html/live/site-tools/templates/entry-template.html 2012-08-29 18:37:51 EDT (Wed, 29 Aug 2012)
@@ -1,34 +1,16 @@
-${
-from boost_site.util import htmlencode
-}$<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 <head>
- <title>${ emit(page.full_title_xml) }$</title>
+ <title>${full_title_xml}</title>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <link rel="icon" href="/favicon.ico" type="image/ico" />
   <link rel="stylesheet" type="text/css" href="/style-v2/section-boost.css" />
-${
-if(page.location.startswith('users/history/')):
- emit(""" <style type="text/css">
-/*<![CDATA[*/
- #content .news-description ul {
- list-style: none;
- }
- #content .news-description ul ul {
- list-style: circle;
- }
- /*]]>*/
- </style>
-""")
-}$ <!--[if IE 7]> <style type="text/css"> body { behavior: url(/style-v2/csshover3.htc); } </style> <![endif]-->
+${history_style}
+ <!--[if IE 7]> <style type="text/css"> body { behavior: url(/style-v2/csshover3.htc); } </style> <![endif]-->
 </head>
-
-${
- # Obviously doesn't apply here.
- emit("<!-- Don't edit this page! It's generated by site-tools/site-tools.py -->\n");
-}$
+<!-- Don't edit this page! It's generated by site-tools/site-tools.py -->
 <body>
   <div id="heading">
     <!--#include virtual="/common/heading.html" --> </div>
@@ -39,24 +21,19 @@
         <div class="section" id="intro">
           <div class="section-0">
             <div class="section-title">
- <h1>${ emit(page.title_xml) }$</h1>
+ <h1>${title_xml}</h1>
             </div>
-${
-if page.type == 'release' and 'released' not in page.flags:
- emit('<div class="section-note"><p>Note: This version is at an early stage in its release cycle. The information listed below is incomplete and some of the documentation links may not work yet.</p></div>\n');
-}$
+ ${note_xml}
             <div class="section-body">
               <h2><span class=
- "news-title">${ emit(page.full_title_xml) }$</span></h2>
+ "news-title">${full_title_xml}</span></h2>
 
- <p><span class=
- "news-date">${ emit(page.web_date()) }$</span></p>
-${
-if (page.documentation): emit('<p>Documentation')
-}$
- ${ emit(page.download_table()) }$
+ <p><span class=news-date">${web_date}</span></p>
+ ${documentation_para}
+ ${download_table}
               <div class="news-description">
- <div class="description">${ emit(page.description_xml) }$</div> </div>
+ <div class="description">${description_xml}</div>
+ </div>
             </div>
           </div>
         </div>

Deleted: website/public_html/live/site-tools/templates/history-template.html
==============================================================================
--- website/public_html/live/site-tools/templates/history-template.html 2012-08-29 18:37:51 EDT (Wed, 29 Aug 2012)
+++ (empty file)
@@ -1,28 +0,0 @@
-${
-from boost_site.util import htmlencode
-
-title = 'Boost Version History'
-entries = pages.match_pages(['feed/history/*.qbk|released'])
-}$ <div class="section-body">
- ${
-for entry in entries:
- emit('\n')
- emit(' <h2 class="news-title">\n <a name="i%s" id="i%s"></a>%s</h2>\n\n' % (entry.id, entry.id, htmlencode(entry.location), entry.title_xml))
- emit(' <p class="news-date">%s</p>\n\n' % (entry.web_date()))
- emit(' <div class="news-description">\n')
- emit(' <span class="brief"><span class="purpose">%s</span></span>' % (entry.purpose_xml))
- emit(' </div>\n\n')
- emit('<ul class="menu">\n')
- emit('<li>')
- emit('Details' % htmlencode(entry.location))
- emit('</li>\n')
- if(entry.download_item):
- emit('<li>')
- emit('Download' % htmlencode(entry.download_item))
- emit('</li>\n')
- if(entry.documentation):
- emit('<li>')
- emit('Documentation' % htmlencode(entry.documentation))
- emit('</li>\n')
- emit('</ul>\n')
-}$ </div>

Deleted: website/public_html/live/site-tools/templates/index-src.html
==============================================================================
--- website/public_html/live/site-tools/templates/index-src.html 2012-08-29 18:37:51 EDT (Wed, 29 Aug 2012)
+++ (empty file)
@@ -1,57 +0,0 @@
-${
-from boost_site.util import htmlencode
-
-# TODO: This is duplicated from other places, should only be set once?
-news = pages.match_pages(['feed/news/*.qbk', 'feed/history/*.qbk|released'], 3)
-}$
- <div class="directory-item" id="important-downloads">
- <h2>Downloads</h2>
- <div id="downloads">
-
-${
-for x in downloads:
- label = x['label']
- entries = x['entries']
- emit('<h3>%s</h3>\n' % label)
- emit('<ul>\n')
- for entry in entries:
- emit('<li>')
- emit('<div class="news-title">')
- if entry.download_item:
- emit('<a href="%s">' % htmlencode(entry.download_item))
- emit(entry.full_title_xml)
- if entry.download_item:
- emit('</a>')
- emit('</div>')
- emit('<div class="news-date">')
- emit('Release Notes' % (htmlencode(entry.location)))
- if entry.documentation:
- emit(' | ')
- emit('Documentation' % (htmlencode(entry.documentation)))
- emit('</div>')
- emit('<div class="news-date">%s</div>' % (entry.web_date()))
- emit('</li>\n')
- emit('</ul>')
-}$
- </div>
- <p>More Downloads...
- (RSS)</p>
- </div>
-
- <div class="directory-item" id="important-news">
- <h2>News</h2>
-
- <ul id="news">
- ${
-for entry in news:
- emit('\n')
- emit(' <li><span class=\n "news-title">%s</span>\n' % (htmlencode(entry.location), entry.full_title_xml))
- emit(' <span class=\n "news-description"><span class="brief"><span class="purpose">%s</span></span></span>\n' % entry.purpose_xml)
- emit(' <span class=\n "news-date">%s</span></li>' % (entry.web_date()))
-}$ </ul>
-
- <p>More News... (<a href=
- "feed/news.rss">RSS</a>)</p>
- </div>
-
- <div class="clear"></div>

Copied: website/public_html/live/site-tools/templates/index-template.py (from r78698, /website/public_html/beta/site-tools/templates/index-template.py)
==============================================================================
--- /website/public_html/beta/site-tools/templates/index-template.py (original)
+++ website/public_html/live/site-tools/templates/index-template.py 2012-08-29 18:37:51 EDT (Wed, 29 Aug 2012)
@@ -15,14 +15,14 @@
     for entry in entries:
         emit('<li>')
         emit('<div class="news-title">')
- if entry.download_item:
- emit('<a href="%s">' % htmlencode(entry.download_item))
- emit(entry.full_title_xml)
- if entry.download_item:
- emit('</a>')
+ emit('%s' % (htmlencode(entry.location),
+ entry.full_title_xml))
         emit('</div>')
         emit('<div class="news-date">')
- emit('Release Notes' % (htmlencode(entry.location)))
+ emit('Details' % (htmlencode(entry.location)))
+ if entry.download_item:
+ emit(' | ')
+ emit('Download' % (htmlencode(entry.download_item)))
         if entry.documentation:
             emit(' | ')
             emit('Documentation' % (htmlencode(entry.documentation)))
@@ -33,7 +33,7 @@
 
 emit('</div>\n')
 emit('<p>More Downloads...')
-emit('(RSS)</p>\n')
+emit(' (RSS)</p>\n')
 emit('</div>\n\n')
 
 emit('<div class="directory-item" id="important-news">\n')

Deleted: website/public_html/live/site-tools/templates/news-template.html
==============================================================================
--- website/public_html/live/site-tools/templates/news-template.html 2012-08-29 18:37:51 EDT (Wed, 29 Aug 2012)
+++ (empty file)
@@ -1,35 +0,0 @@
-${
-from boost_site.util import htmlencode
-
-entries = pages.match_pages(['feed/news/*.qbk', 'feed/history/*.qbk|released'], 5)
-}$ <div class="section-body">
- ${
-emit('<ul class="toc">\n')
-emit(' ')
-for entry in entries:
- emit('\n')
- emit(' <li><span class=\n "news-title">%s</span></li>' % (htmlencode(entry.id), entry.title_xml))
-emit(' </ul>')
-for entry in entries:
- emit('\n')
- emit(' <h2 class="news-title">\n')
- emit(' <a name="i%s" id="i%s"></a>%s' % (entry.id, entry.id, htmlencode(entry.location), entry.title_xml))
- emit('</h2>\n\n')
- emit(' <p class="news-date">%s</p>\n\n' % (entry.web_date()))
- emit(' <div class="news-description">\n')
- emit(' <span class="brief"><span class="purpose">%s</span></span>' % (entry.purpose_xml))
- emit(' </div>\n\n')
- emit('<ul class="menu">\n')
- emit('<li>')
- emit('Details' % htmlencode(entry.location))
- emit('</li>\n')
- if(entry.download_item):
- emit('<li>')
- emit('Download' % htmlencode(entry.download_item))
- emit('</li>\n')
- if(entry.documentation):
- emit('<li>')
- emit('Documentation' % htmlencode(entry.documentation))
- emit('</li>\n')
- emit('</ul>\n')
-}$ </div>

Modified: website/public_html/live/sitemap.xml.php
==============================================================================
--- website/public_html/live/sitemap.xml.php (original)
+++ website/public_html/live/sitemap.xml.php 2012-08-29 18:37:51 EDT (Wed, 29 Aug 2012)
@@ -2,12 +2,19 @@
     header('Content-Type: application/xml');
     echo '<?xml version="1.0" encoding="UTF-8"?>', "\n";
     define('USE_SERIALIZED_INFO', true);
+ require_once(dirname(__FILE__) . '/common/code/boost.php');
     require_once(dirname(__FILE__) . '/common/code/boost_libraries.php');
 ?>
 <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
 
 <?php
 
+// Returns true if the library is part of the current release of boost.
+
+function current_version_filter($lib) {
+ return BoostVersion::current()->compare($lib['boost-version']) >= 0;
+}
+
 function xmlentities($text) {
     return str_replace(
         array('&', '<', '>', '"', "'"),
@@ -38,7 +45,7 @@
         unserialize(file_get_contents(dirname(__FILE__) . '/generated/libraries.txt')) :
         new boost_libraries(dirname(__FILE__) . '/doc/libraries.xml');
 
-foreach ($libs->get() as $lib) {
+foreach ($libs->get(null, 'current_version_filter') as $lib) {
     echo_sitemap_url("doc/libs/release/$lib[documentation]", '1.0', 'daily');
 }
 


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