pagespeed-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From osch...@apache.org
Subject [incubator-pagespeed-website] branch master updated: Update README.md
Date Thu, 16 May 2019 19:23:00 GMT
This is an automated email from the ASF dual-hosted git repository.

oschaaf pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-pagespeed-website.git


The following commit(s) were added to refs/heads/master by this push:
     new 5244b6d  Update README.md
5244b6d is described below

commit 5244b6df408be84d1f45a290d92ae36e94995287
Author: Otto van der Schaaf <oschaaf@we-amp.com>
AuthorDate: Thu May 16 21:22:49 2019 +0200

    Update README.md
    
    Signed-off-by: Otto van der Schaaf <oschaaf@we-amp.com>
---
 README.md                                          |    8 +-
 doc/.htaccess                                      |   38 -
 doc/CVE-2012-4001.html                             |   59 -
 doc/CVE-2012-4360.html                             |   49 -
 doc/CVE-2013-6111.html                             |   80 -
 doc/_footer.html                                   |  110 -
 doc/_header.html                                   |   34 -
 doc/_navline.html                                  |   22 -
 doc/admin.html                                     |  411 --
 doc/analytics_screenshots/10_histogram.png         |  Bin 88271 -> 0 bytes
 doc/analytics_screenshots/1_login.png              |  Bin 34224 -> 0 bytes
 .../2_import_advanced_segment.png                  |  Bin 19527 -> 0 bytes
 doc/analytics_screenshots/3_segment_settings.png   |  Bin 44501 -> 0 bytes
 doc/analytics_screenshots/4_profile_switch.png     |  Bin 27378 -> 0 bytes
 doc/analytics_screenshots/5_profile_switched.png   |  Bin 30339 -> 0 bytes
 doc/analytics_screenshots/6_standard_reporting.png |  Bin 53056 -> 0 bytes
 doc/analytics_screenshots/7_page_timings.png       |  Bin 80962 -> 0 bytes
 doc/analytics_screenshots/8_advanced_segments.png  |  Bin 40933 -> 0 bytes
 doc/analytics_screenshots/9_page_level_timings.png |  Bin 55774 -> 0 bytes
 doc/announce-0.10.22.6.html                        |   68 -
 doc/announce-ngx-sec-update-201310.html            |  102 -
 doc/announce-sec-update-201310.html                |  418 --
 doc/announce-sec-update-201601.html                |  123 -
 doc/announce-sec-update-201603.html                |  168 -
 doc/build_from_source.html                         |   45 -
 doc/build_mod_pagespeed_from_source.html           |  341 --
 doc/build_ngx_pagespeed_from_source.html           |  203 -
 doc/config_filters.html                            | 1004 -----
 doc/configuration.html                             |  638 ---
 doc/console.html                                   |  223 -
 doc/doc.css                                        |  212 -
 doc/domains.html                                   | 1025 -----
 doc/download.html                                  |  133 -
 doc/downstream-caching.html                        |  521 ---
 doc/experiment.html                                |  449 --
 doc/faq.html                                       |  777 ----
 doc/filter-attribute-elide.html                    |  119 -
 doc/filter-cache-extend-pdfs.html                  |   83 -
 doc/filter-cache-extend.html                       |  219 -
 doc/filter-canonicalize-js.html                    |  293 --
 doc/filter-comment-remove.html                     |  129 -
 doc/filter-convert-meta-tags.html                  |   78 -
 doc/filter-css-above-scripts.html                  |  152 -
 doc/filter-css-combine.html                        |  216 -
 doc/filter-css-inline-google-fonts.html            |  162 -
 doc/filter-css-inline-import.html                  |  112 -
 doc/filter-css-inline.html                         |  157 -
 doc/filter-css-outline.html                        |  182 -
 doc/filter-css-rewrite.html                        |  215 -
 doc/filter-css-to-head.html                        |  143 -
 doc/filter-dedup-inlined-images.html               |  110 -
 doc/filter-domain-rewrite.html                     |   95 -
 doc/filter-flatten-css-imports.html                |  165 -
 doc/filter-head-add.html                           |   98 -
 doc/filter-head-combine.html                       |  141 -
 doc/filter-hint-preload-subresources.html          |  123 -
 doc/filter-image-optimize.html                     |  603 ---
 doc/filter-image-responsive.html                   |  162 -
 doc/filter-image-sprite.html                       |  187 -
 doc/filter-inline-preview-images.html              |  155 -
 doc/filter-insert-dns-prefetch.html                |  114 -
 doc/filter-insert-ga.html                          |   81 -
 doc/filter-instrumentation-add.html                |  215 -
 doc/filter-js-combine.html                         |  147 -
 doc/filter-js-defer.html                           |  154 -
 doc/filter-js-inline.html                          |  168 -
 doc/filter-js-minify.html                          |  206 -
 doc/filter-js-outline.html                         |  167 -
 doc/filter-lazyload-images.html                    |  180 -
 doc/filter-local-storage-cache.html                |  149 -
 doc/filter-make-google-analytics-async.html        |  171 -
 doc/filter-make-show-ads-async.html                |  164 -
 doc/filter-pedantic.html                           |   92 -
 doc/filter-prioritize-critical-css.html            |  178 -
 doc/filter-quote-remove.html                       |  109 -
 doc/filter-rewrite-style-attributes.html           |  118 -
 doc/filter-source-maps-include.html                |  141 -
 doc/filter-strip-scripts.html                      |   58 -
 doc/filter-trim-urls.html                          |  122 -
 doc/filter-whitespace-collapse.html                |  143 -
 doc/filters.html                                   |  158 -
 doc/https_support.html                             |  392 --
 doc/images/admin_config.png                        |  Bin 6903 -> 0 bytes
 doc/images/downstream_caching.png                  |  Bin 52190 -> 0 bytes
 doc/images/purge_entire_cache.png                  |  Bin 10616 -> 0 bytes
 doc/images/purge_one_url.png                       |  Bin 10955 -> 0 bytes
 .../puzzle_optimized_to_low_quality_webp.webp      |  Bin 25760 -> 0 bytes
 ...imized_to_low_quality_webp_and_saved_as_png.png |  Bin 544929 -> 0 bytes
 doc/images/puzzle_original.jpg                     |  Bin 241260 -> 0 bytes
 doc/index.html                                     |  131 -
 doc/mailing-lists.html                             |   74 -
 doc/mod_security.html                              |   81 -
 doc/module-run-experiment.html                     |  458 --
 doc/openssl-1.0.1h-fixes.html                      |   71 -
 doc/optimize-for-bandwidth.html                    |  132 -
 doc/reference-image-optimize.html                  |  799 ----
 doc/release_notes.html                             | 4709 --------------------
 doc/restricting_urls.html                          |  300 --
 doc/system.html                                    | 1343 ------
 incubator.png                                      |  Bin 30207 -> 0 bytes
 index.html                                         |  291 --
 network-loading.png                                |  Bin 152825 -> 0 bytes
 pagespeed+nginx+apache.svg                         |  658 ---
 103 files changed, 7 insertions(+), 23827 deletions(-)

diff --git a/README.md b/README.md
index 06133ca..5caf937 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,10 @@
 # PageSpeed Podling Website
 
-This repository contains the website for the incubating PageSpeed project.
+This repository contains the website for the incubating Apache PageSpeed project.
+Its live contents resides inside the `asf-site` branch.
 
+Changes should be made and proposed over at:
+https://github.com/apache/incubator-pagespeed-mod/tree/master/html
+
+Subsequently running the publish according to the docs over there will update this
+repository and publish them.
diff --git a/doc/.htaccess b/doc/.htaccess
deleted file mode 100644
index 38821b0..0000000
--- a/doc/.htaccess
+++ /dev/null
@@ -1,38 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-# 
-#   http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-# Turn on server side include processing for the header inclusion.
-AddOutputFilter INCLUDES .html
-Options +Includes
-Options +FollowSymLinks
-
-# Make /foo.html available at /foo
-RewriteEngine on
-RewriteCond %{REQUEST_FILENAME}.html -f
-RewriteRule !.*\.html$ %{REQUEST_FILENAME}.html [L]
-
-# Turn on mod_pagespeed to optimize our docs.
-ModPagespeed on
-ModPagespeedRewriteLevel CoreFilters
-ModPagespeedEnableFilters collapse_whitespace
-ModPagespeedEnableFilters remove_comments
-ModPagespeedInPlaceResourceOptimization on
-
-# Do not optimize these resources which are used for blogpost
-ModPagespeedDisallow */puzzle_optimized_to_low_quality_webp.webp
-ModPagespeedDisallow */puzzle_optimized_to_low_quality_webp_and_saved_as_png.png
-ModPagespeedDisallow */puzzle_original.jpg
diff --git a/doc/CVE-2012-4001.html b/doc/CVE-2012-4001.html
deleted file mode 100644
index 97be44f..0000000
--- a/doc/CVE-2012-4001.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>mod_pagespeed Security Advisory: Insufficient Hostname Verification</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>mod_pagespeed Security Advisory: Insufficient Hostname Verification</h1>
-<dl>
-  <dt>CVE Identifier:</dt>
-    <dd>CVE-2012-4001</dd>
-  <dt>Disclosed:</dt>
-    <dd>September 12, 2012</dd>
-  <dt>Versions Affected:</dt>
-    <dd>All versions of mod_pagespeed up to and including 0.10.22.4.</dd>
-  <dt>Summary:</dt>
-    <dd>mod_pagespeed performs insufficient verification of its own host name,
-    which makes it possible to trick it into doing HTTP fetches and resource
-    processing from arbitrary host names, including potentially bypassing
-    firewalls.</dd>
-  <dt>Solution:</dt>
-    <dd>mod_pagespeed 0.10.22.6 has been released with a fix.</dd>
-  <dt>Workaround:</dt>
-    <dd>If you are unable to upgrade to the new version, you can avoid this
-    issue by changing your Apache httpd configuration. Give any virtual host
-    that enables mod_pagespeed (and the global configuration, if it also enables
-    mod_pagespeed) an accurate explicit <code>ServerName</code>, and set the
-    options <code>UseCanonicalName</code> and
-    <code>UseCanonicalPhysicalPort</code> to <code>On</code> in each. Please be
-    aware, however, that depending on the version,
-    <a href="CVE-2012-4360">CVE-2012-4360</a> may also apply.
-    </dd>
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/CVE-2012-4360.html b/doc/CVE-2012-4360.html
deleted file mode 100644
index ee824f3..0000000
--- a/doc/CVE-2012-4360.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>mod_pagespeed Security Advisory: Cross-Site Scripting</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>mod_pagespeed Security Advisory: Cross-Site Scripting</h1>
-<dl>
-  <dt>CVE Identifier:</dt>
-    <dd>CVE-2012-4360</dd>
-  <dt>Disclosed:</dt>
-    <dd>September 12, 2012</dd>
-  <dt>Versions Affected:</dt>
-    <dd>mod_pagespeed versions 0.10.19.1 through 0.10.22.4 (inclusive).
-    Versions 0.9.18.6 and earlier are unaffected.</dd>
-  <dt>Summary:</dt>
-    <dd>mod_pagespeed performs insufficient escaping in some cases, which can
-    permit a hostile 3rd party to inject JavaScript running in context of
-    the site.</dd>
-  <dt>Solution:</dt>
-    <dd>mod_pagespeed 0.10.22.6 has been released with a fix.</dd>
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/CVE-2013-6111.html b/doc/CVE-2013-6111.html
deleted file mode 100644
index 245abf6..0000000
--- a/doc/CVE-2013-6111.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>mod_pagespeed and ngx_pagespeed Security Advisory: Cross-Site Scripting</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>mod_pagespeed and ngx_pagespeed Security Advisory: Cross-Site Scripting</h1>
-<dl>
-  <dt>CVE Identifier:</dt>
-    <dd><p>CVE-2013-6111</p></dd>
-  <dt>Disclosed:</dt>
-    <dd><p>October 28th, 2013</p></dd>
-  <dt>Versions Affected:</dt>
-    <dd>
-      <ul>
-        <li>mod_pagespeed versions earlier than 1.0</li>
-        <li>mod_pagespeed version 1.0.22.7 (fixed in 1.0.22.8)</li>
-        <li>mod_pagespeed versions 1.1</li>
-        <li>mod_pagespeed 1.2.24.1 (fixed in 1.2.24.2)</li>
-        <li>mod_pagespeed 1.3.25.1 through 1.3.25.4 (fixed in 1.3.25.5)</li>
-        <li>mod_pagespeed 1.4.26.1 through 1.4.26.4 (fixed in 1.4.26.5)</li>
-        <li>mod_pagespeed and ngx_pagespeed 1.5.27.1 through 1.5.27.3 (fixed in 1.5.27.4)</li>
-        <li>mod_pagespeed and ngx_pagespeed 1.6.29.1 through 1.6.29.6 (fixed in 1.6.29.7)</li>
-      </ul>
-    </dd>
-  <dt>Summary:</dt>
-    <dd><p>Some versions of mod_pagespeed and ngx_pagespeed are vulnerable to
-    cross-site scripting (XSS), which can permit a hostile 3rd party to
-    inject javascript running in the context of the site.</p></dd>
-  <dt>Solution:</dt>
-    <dd><p>For mod_pagespeed, update to one of versions 1.0.22.8-stable,
-    1.2.24.2-stable, 1.3.25.5-stable, 1.4.26.5-stable, 1.5.27.4-beta, or
-    1.6.29.7 or newer.</p>
-
-    <p>For ngx_pagespeed, update to 1.6.29.7 or newer.</p>
-    </dd>
-  <dt>Workaround:</dt>
-    <dd>
-    <p>No workaround is available for mod_pagespeed.</p>
-
-    <p>For ngx_pagespeed, you can completely prohibit access to
-    <code>/ngx_pagespeed_statistics</code>,
-    <code>/ngx_pagespeed_global_statistics</code> and
-    <code>/ngx_pagespeed_message</code> (an IP whitelist is insufficient), via
-    options similar to:
-<pre>
-location /ngx_pagespeed_global_statistics { deny all; }
-location /ngx_pagespeed_statistics { deny all; }
-location /ngx_pagespeed_message { deny all; }
-</pre>
-    </p>
-    </dd>
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/_footer.html b/doc/_footer.html
deleted file mode 100644
index ca41793..0000000
--- a/doc/_footer.html
+++ /dev/null
@@ -1,110 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<div id=footer>
-  <!--#include virtual="_navline.html" -->
-</div>
-
-<script>
-function buildTocHelper(node, headers) {
-  if (node.nodeType == 1) {
-    // Element node.
-    var nodeName = node.nodeName.toLowerCase();
-    if (nodeName == "h2" || nodeName == "h3" || nodeName == "h4" ||
-        nodeName == "h5" || nodeName == "h6") {
-      if (node.id) {
-        headers.push([nodeName, node.innerHTML, node.id]);
-	node.appendChild(document.createTextNode("\u00A0"));  // nbsp
-	var a = document.createElement("a");
-	a.class = "header-link";
-	a.href = "#" + node.id;
-	a.textContent = "\uD83D\uDD17";  // link symbol
-	node.appendChild(a);
-      }
-    } else {
-      for (var i = 0; i < node.childNodes.length; i++) {
-        buildTocHelper(node.childNodes[i], headers);
-      }
-    }
-  }
-}
-
-function buildToc() {
-  var headers = [];
-  buildTocHelper(document.body, headers);
-  if (headers.length == 0) {
-    return;
-  }
-
-  var toc = document.getElementById("toc");
-  var tocContents = document.createElement("div");
-  tocContents.id = "toc-contents";
-  tocContents.textContent = "Contents";
-  toc.appendChild(tocContents);
-
-  var level = 1;
-  var currentUl = null;
-  for (var i = 0; i < headers.length; i++) {
-    var header = headers[i];
-    var headerLevel = header[0];
-    var headerValue = header[1];
-    var headerId = header[2];
-
-    var newLevel = parseInt(headerLevel.substring(1));
-    while (newLevel > level) {
-      // We loop here to handle the case where we have h2 ... h4.  This
-      // isn't a good way to write html, but someone may still do it.
-
-      var newUl = document.createElement("ul");
-      if (currentUl == null) {
-        toc.appendChild(newUl);
-      } else {
-        currentUl.appendChild(newUl);
-      }
-      currentUl = newUl;
-      level++;
-    }
-    while (newLevel < level) {
-      currentUl = currentUl.parentNode;
-      level--;
-    }
-    var li = document.createElement("li");
-    var a = document.createElement("a");
-    a.href = "#" + headerId;
-    a.textContent = headerValue;
-    li.appendChild(a);
-    currentUl.appendChild(li);
-  }
-}
-
-function wrapTables() {
-  var tables = document.getElementsByTagName("table");
-  for (var i = 0; i < tables.length; i++) {
-    var table = tables[i];
-    var parent = table.parentNode;
-    var div = document.createElement('div');
-    div.className = "table-wrapper";
-    parent.insertBefore(div, table);
-    div.appendChild(table);
-  }
-}
-
-buildToc();
-wrapTables();
-</script>
diff --git a/doc/_header.html b/doc/_header.html
deleted file mode 100644
index 6586f0d..0000000
--- a/doc/_header.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<div id=header>
-  <div id=logoline>
-    <div id=logo>
-      <img src="https://www.gstatic.com/images/branding/product/1x/pagespeed_32dp.png"
-           srcset="https://www.gstatic.com/images/branding/product/2x/pagespeed_32dp.png"
-           width=32 height=32 alt="pagespeed logo">
-    </div>
-    <div id=logotext>Apache PageSpeed (Incubating)</div>
-  </div>
-  <div id=navline>
-    <a href="/doc/">&larr; documentation index</a>
-  </div>
-</div>
-<div id=toc></div>
-<img src="/incubator.png" height="80" align="right"> 
diff --git a/doc/_navline.html b/doc/_navline.html
deleted file mode 100644
index 8eb1431..0000000
--- a/doc/_navline.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<div id=navline>
-  <a href="/doc/">&larr; documentation index</a>
-</div>
diff --git a/doc/admin.html b/doc/admin.html
deleted file mode 100644
index fb85f73..0000000
--- a/doc/admin.html
+++ /dev/null
@@ -1,411 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>PageSpeed Admin Pages</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>PageSpeed Admin Pages</h1>
-<p>
-  The admin pages are a collection of features that provide visibility
-  into the operation of the PageSpeed optimizations.
-</p>
-<p>
-The pagespeed_admin and pagespeed_global_admin pages aggregate a set of pages
-showing server state so they can be accessed from a single handler.  By
-organizing all these features under a single admin page, this can be done once,
-and can serve as a launching point for future administration features.
-Before <strong>version 1.9.32.1</strong> the admin pages were read-only, but
-starting in <strong>version 1.9.32.1</strong>, cache purging is supported.
-</p>
-<img src="images/admin_config.png" style="border:1px solid black" />
-<p>
-  The name of the currently active page is underlined in the top navigation bar.
-</p>
-<table>
-  <thead>
-    <tr>
-      <th>Page</th>
-      <th>Related Options</th>
-      <th>Description</th>
-    </tr>
-  </thead>
-  <tbody>
-    <tr>
-      <td>Statistics</td>
-      <td>
-        <a href="#statistics"><code>Statistics</code></a><br/>
-        <a href="#virtual-hosts-and-stats"
-           ><code>UsePerVHostStatistics</code></a><br/>
-        <code>mod_pagespeed_beacon</code><br/>
-        <code>ngx_pagespeed_beacon</code>
-      </td>
-      <td>
-        Shows server statistics since startup, such as how many
-        resources are being optimized by filters, as well as various
-        latency and cache effectiveness metrics.
-      </td>
-    </tr>
-    <tr>
-      <td>Configuration</td>
-      <td><a href="config_filters">Configuring Filters</a><br/>
-        <a href="https_support#spdy_configuration"
-             ><code>ModPagespeedIf</code></a> (Apache only)</td>
-      <td>
-        Shows detailed configuration information including all filters,
-        options, and the current cache flush timestamp.
-      </td>
-    </tr>
-    <tr>
-      <td>Histograms</td>
-      <td>
-        <a href="filter-instrumentation-add"
-           ><code>add_instrumentation</code></a><br/>
-      </td>
-      <td>
-        Shows detailed latency data for Page Load Time, rewriting,
-        caches and HTTP fetching.
-      </td>
-    </tr>
-    <tr>
-      <td>Caches</td>
-      <td>
-        <a href="system#memcached"><code>MemcachedServers</code></a>
-        <a href="system#shm_cache"><code>CreateSharedMemoryMetadataCache</code></a>
-        <a href="system#purge_cache"><code>EnableCachePurge</code></a>
-      </td>
-      <td>
-        Shows detailed cache configuration information.  When accessed
-        from the Admin handler, it can be used to inspect the contents
-        of the cache, and provides an interface to purge the cache.
-      </td>
-    </tr>
-    <tr>
-      <td>Console</td>
-      <td>
-        <a href="admin#statistics"><code>Statistics</code></a><br/>
-        <a href="console#configuring"><code>StatisticsLogging</code></a><br/>
-        <a href="console#configuring"><code>LogDir</code></a>
-      </td>
-      <td>
-        Displays a <a href="console">console</a> of graphs
-        of server optimization behavior over time.
-      </td>
-    </tr>
-    <tr>
-      <td>Message History</td>
-      <td>
-        <a href="#message-buffer-size"><code>MessageBufferSize</code></a>
-      </td>
-      <td>
-        Server-wide history of recent logging output from PageSpeed,
-        including messages that are omitted from the server log file based on
-        its log level.
-      </td>
-    </tr>
-  </tbody>
-</table>
-<p>
-  Before 1.8.31.2, the main admin page is not available, but there
-  are page-specific handlers for statistics, messages, and the
-  console.  In 1.8.31.2 and later, the <code>*_pagespeed_*</code> handlers, such
-  as <code>mod_pagespeed_statistics</code>, will continue to be supported:
-<ul>
-  <li>They provide read-only access to server operation.  There may
-    be cases where a site owner wants to share statistics or console
-    information but not the ability to purge the cache.</li>
-  <li>Existing configurations must continue to work after an upgrade to
-    a release that supports pagespeed_admin.</li>
-  <li>The admin pages may later gain support for modifying the server
-    state</li>
-</ul>
-</p>
-<h2 id="config">Configuring Admin Pages</h2>
-
-<p>
-  In this table we use the term "server" for an Apache VirtualHost and
-  an nginx Server Block.  We use the term "global" to mean the entire
-  Apache or nginx system, covering all the configured VirtualHost and
-  Server Blocks.
-</p>
-<table>
-  <thead>
-    <tr><th>Apache Handler</th><th>Nginx Option</th><th>Version</th>
-      <th>Description</th></tr>
-  </thead>
-  <tbody>
-    <tr>
-      <td><code>pagespeed_admin</code></td>
-      <td><code>AdminPath</code></td>
-      <td>1.8.31.2+</td><td>Covers all administrative functions for
-        a host in one handler.  If you establish this handler,
-        you don't need any of the other server-scoped methods.  Only
-        give 'admin' page access to clients that you are comfortable
-        allowing to modify the state of your PageSpeed configuration.
-      </td>
-    </tr>
-    <tr>
-      <td><code>pagespeed_global_admin</code></td>
-      <td><code>GlobalAdminPath</code></td>
-      <td>1.8.31.2+</td><td>Covers all administrative functions for
-        the entire global state in one handler.  If you establish this
-        handler, you don't
-        need <code>mod_pagespeed_global_statistics</code>.</td>
-    </tr>
-    <tr>
-      <td><code>mod_pagespeed_statistics</code></td>
-      <td><code>StatisticsPath</code> (1.8.31.2+)</td>
-      <td>All</td><td>Launchpad for Statistics, Histograms, and
-        a subset of the Caches page as described above.</td>
-    </tr>
-    <tr>
-      <td><code>mod_pagespeed_global_statistics</code></td>
-      <td><code>GlobalStatisticsPath</code> (1.8.31.2+)</td>
-      <td>1.1+</td><td>Same as above, but aggregates statistics across all
-        configured servers.  You must enable
-        <a href="#virtual-hosts-and-stats"
-           ><code>UsePerVHostStatistics</code></a> for separate global
-        statistics to be retained, otherwise all statistics will be global.</td>
-    </tr>
-    <tr>
-      <td><code>mod_pagespeed_message</code></td>
-      <td><code>MessagesPath</code> (1.8.31.2+)</td>
-      <td>1.0+</td><td>Displays recent log messages printed by PageSpeed,
-        including messages that may be below the current server loglevel
-        threshold such as "Info" messages.  Requires that
-        <a href="#message-buffer-size"><code>MessageBufferSize</code></a> be set.</td>
-    </tr>
-    <tr>
-      <td><code>pagespeed_console</code></td>
-      <td><code>ConsolePath</code> (1.8.31.2+)</td>
-      <td>1.6+</td><td>Displays a <a href="console">console</a> of graphs
-        of server optimization behavior over time.</td>
-    </tr>
-  </tbody>
-</table>
-
-<h3 id="handlers">Establishing Handlers in Apache</h2>
-<p>
-  Each handler is optional; add them individually to enable
-  admin features.  Note that when you add handlers for
-  <code>pagespeed_admin</code> and <code>pagespeed_global_admin</code>
-  you are granting read/write access to server-state.  The other handlers
-  are read-only.  A sample handler that filters on IP address is
-  in the default configuration, whose general form is:
-</p>
-<pre class="prettyprint lang-sh">
-&lt;Location /PATH&gt;
-   Order allow,deny
-   Allow from localhost
-   Allow from 127.0.0.1
-   SetHandler HANDLER_NAME
-&lt;/Location&gt;
-</pre>
-<p>
-  You can choose any path for a handler, but you must specify the handler
-  name exactly as it appears in the table above.  By convention we use
-  use the handler name for the path.  You may also want to
-  employ login-based access to the admin pages, using
-  <code>AllowOverride AuthConfig</code>.  Please see the Apache
-  <a href="http://httpd.apache.org/docs/2.2/howto/auth.html">2.2</a>
-  or
-  <a href="http://httpd.apache.org/docs/2.4/howto/auth.html">2.4</a>
-  Documentation for details.
-</p>
-<h3 id="handlers">Establishing Handlers in Nginx</h2>
-<p>
-  In nginx, the handlers must be specified as location blocks.
-</p>
-<pre class="prettyprint lang-sh">
-location /ngx_pagespeed_statistics { allow 127.0.0.1; deny all; }
-location /ngx_pagespeed_global_statistics { allow 127.0.0.1; deny all; }
-location /ngx_pagespeed_message { allow 127.0.0.1; deny all; }
-location /pagespeed_console { allow 127.0.0.1; deny all; }
-location ~ ^/pagespeed_admin { allow 127.0.0.1; deny all; }
-location ~ ^/pagespeed_global_admin { allow 127.0.0.1; deny all; }
-</pre>
-<p class="note">
-  Note that these handlers must precede the
-  "<code>\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+</code>" location block.
-</p>
-<p>
-  In version 1.8.31.2 and later, the above location blocks are
-  needed for each path you elect to enable in PageSpeed options:
-</p>
-<pre>
-pagespeed StatisticsPath /ngx_pagespeed_statistics;
-pagespeed GlobalStatisticsPath /ngx_pagespeed_global_statistics;
-pagespeed MessagesPath /ngx_pagespeed_message;
-pagespeed ConsolePath /pagespeed_console;
-pagespeed AdminPath /pagespeed_admin;
-pagespeed GlobalAdminPath /pagespeed_global_admin;
-</pre>
-<p>
-  You can choose any path, as long as it's consistent between
-  the <code>pagespeed Path</code> and the <code>location</code>.  By
-  convention we use the names as specified in the example.
-</p>
-<p>
-  Prior to version 1.8.31.2, the above "Path" settings do not exist,
-  and the failure to specify location blocks leaves the paths active
-  with no access restrictions. The module will service requests
-  to the paths whether the location blocks are specified or not.
-  This applies to  <code>/ngx_pagespeed_statistics</code>,
-  <code>/ngx_pagespeed_global_statistics</code>,
-  <code>/ngx_pagespeed_message</code>, and <code>/pagespeed_console</code>.
-</p>
-<p class="note">
-  If you define access control for <code>/pagespeed_admin</code> or
-  <code>/pagespeed_console</code>, you must do so earlier in the configuration
-  file than the path to handle <code>.pagespeed</code> resources, to ensure
-  that the handlers are disambiguated.
-</p>
-<h3 id="limiting-handlers">Limiting Handler Access</h3>
-<p class="note"><strong>Note: New feature as of 1.10.33.0</strong></p>
-<p>
-  Apache's SetHandler access controls are accessible to anyone who can
-  modify <code>.htaccess</code> files, so in a typical shared hosting context
-  the global admin site isn't sufficiently protected.  As of 1.10.33.0,
-  PageSpeed allows setting an additional restriction of what domains are allowed
-  to load handlers.  For example, to deny access entirely, you could put:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
->ModPagespeedStatisticsDomains Disallow *
-ModPagespeedGlobalStatisticsDomains Disallow *
-ModPagespeedMessagesDomains Disallow *
-ModPagespeedConsoleDomains Disallow *
-ModPagespeedAdminDomains Disallow *
-ModPagespeedGlobalAdminDomains Disallow *</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
->pagespeed StatisticsDomains Disallow *;
-pagespeed GlobalStatisticsDomains Disallow *;
-pagespeed MessagesDomains Disallow *;
-pagespeed ConsoleDomains Disallow *;
-pagespeed AdminDomains Disallow *;
-pagespeed GlobalAdminDomains Disallow *;</pre>
-</dl>
-<p>
-  To allow access only to an admin, define a new VHost
-  like <code>admin.example.com</code>, use standard web-server access control
-  (IP or password) to restrict access to only that admin, and then at the top
-  level of your config put:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
->ModPagespeedStatisticsDomains Allow admin.example.com
-ModPagespeedGlobalStatisticsDomains Allow admin.example.com
-ModPagespeedMessagesDomains Allow admin.example.com
-ModPagespeedConsoleDomains Allow admin.example.com
-ModPagespeedAdminDomains Allow admin.example.com
-ModPagespeedGlobalAdminDomains Allow admin.example.com</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
->pagespeed StatisticsDomains Allow admin.example.com;
-pagespeed GlobalStatisticsDomains Allow admin.example.com;
-pagespeed MessagesDomains Allow admin.example.com;
-pagespeed ConsoleDomains Allow admin.example.com;
-pagespeed AdminDomains Allow admin.example.com;
-pagespeed GlobalAdminDomains Allow admin.example.com;</pre>
-</dl>
-<p>
-  Now when you visit <code>admin.example.com/pagespeed_global_admin</code>
-  you'll see global (server-level) admin information, but users are not able to
-  access this under their own domain or turn the handler on
-  with <code>.htaccess</code>.
-</p>
-<p>
-  For all six of these options the default value is <code>Allow *</code>.  If
-  you explicitly <code>Allow</code> access to any site, all others are
-  automatically <code>Disallow</code>ed.  Wildcards are allowed, and additional
-  directives are applied in sequence.  For example, consider the following
-  config:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
->ModPagespeedAdminDomains Allow *.example.*
-ModPagespeedAdminDomains Disallow *.example.org
-ModPagespeedAdminDomains Allow www.example.org</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
->pagespeed AdminDomains Allow *.example.*;
-pagespeed AdminDomains Disallow *.example.org;
-pagespeed AdminDomains Allow www.example.org;</pre>
-</dl>
-<p>
-  This would allow access to <code>www.example.com/pagespeed_admin</code>,
-  and <code>www.example.org/pagespeed_admin</code> but
-  not <code>shared.example.com/pagespeed_admin</code>.
-</p>
-
-<h3 id="statistics">Shared Memory Statistics</h2>
-<p>
-  By default PageSpeed collects cross-process statistics.  While
-  they're mostly intended for debugging and evaluation
-  using <code>/mod_pagespeed_statistics</code>, <code>/ngx_pagespeed_statistics</code>,
-  and the <a href="console">PageSpeed Console</a>, statistics are also
-  necessary for limiting concurrent image rewrites
-  and <a href="#rate_limit_background_fetches">background fetches</a>.
-  It's not recommended to turn them off, as their performance impact
-  is minimal, but if you need to you can do so with:
-  <dl>
-    <dt>Apache:<dd><pre class="prettyprint"
-                        >ModPagespeedStatistics off</pre></dd></dt>
-    <dt>Nginx:<dd><pre class="prettyprint"
-                       >pagespeed Statistics off;</pre></dd></dt>
-  </dl>
-</p>
-<h3 id="virtual-hosts-and-stats">Virtual hosts and statistics</h3>
-<p>
-  You can choose whether PageSpeed aggregates its statistics
-  over all virtual hosts (the default), or to keeps separate counts for each. You
-  can chose the latter by specifying
-  <code>UsePerVHostStatistics on</code>. In that
-  case, <code>/pagespeed_admin</code>, <code>/mod_pagespeed_statistics</code>
-  and <code>/ngx_pagespeed_statistics</code> will show the data for
-  whatever virtual host is being accessed. If you do turn per-virtual
-  host statistics on, you can still access the aggregates
-  under <code>/pagespeed_global_admin</code>, <code>/mod_pagespeed_global_statistics</code>
-  or <code>/ngx_pagespeed_global_statistics</code>.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">ModPagespeedUsePerVhostStatistics on</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">pagespeed UsePerVhostStatistics on;</pre>
-</dl>
-
-<h3 id="message-buffer-size">Message Buffer Size</h3>
-<p>
-  Determines the number of bytes of shared memory to allocate as a circular
-  buffer for holding recent PageSpeed log messages.  By default, the size of
-  this buffer is zero, and no messages will be retained.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">ModPagespeedMessageBufferSize 100000</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">pagespeed MessageBufferSize 100000;</pre>
-</dl>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/analytics_screenshots/10_histogram.png b/doc/analytics_screenshots/10_histogram.png
deleted file mode 100644
index da2d198..0000000
Binary files a/doc/analytics_screenshots/10_histogram.png and /dev/null differ
diff --git a/doc/analytics_screenshots/1_login.png b/doc/analytics_screenshots/1_login.png
deleted file mode 100644
index 04b6eb5..0000000
Binary files a/doc/analytics_screenshots/1_login.png and /dev/null differ
diff --git a/doc/analytics_screenshots/2_import_advanced_segment.png b/doc/analytics_screenshots/2_import_advanced_segment.png
deleted file mode 100644
index 9c17a2e..0000000
Binary files a/doc/analytics_screenshots/2_import_advanced_segment.png and /dev/null differ
diff --git a/doc/analytics_screenshots/3_segment_settings.png b/doc/analytics_screenshots/3_segment_settings.png
deleted file mode 100644
index 32c6f4e..0000000
Binary files a/doc/analytics_screenshots/3_segment_settings.png and /dev/null differ
diff --git a/doc/analytics_screenshots/4_profile_switch.png b/doc/analytics_screenshots/4_profile_switch.png
deleted file mode 100644
index 21af28f..0000000
Binary files a/doc/analytics_screenshots/4_profile_switch.png and /dev/null differ
diff --git a/doc/analytics_screenshots/5_profile_switched.png b/doc/analytics_screenshots/5_profile_switched.png
deleted file mode 100644
index 6cd9a12..0000000
Binary files a/doc/analytics_screenshots/5_profile_switched.png and /dev/null differ
diff --git a/doc/analytics_screenshots/6_standard_reporting.png b/doc/analytics_screenshots/6_standard_reporting.png
deleted file mode 100644
index 6818301..0000000
Binary files a/doc/analytics_screenshots/6_standard_reporting.png and /dev/null differ
diff --git a/doc/analytics_screenshots/7_page_timings.png b/doc/analytics_screenshots/7_page_timings.png
deleted file mode 100644
index 754c7ae..0000000
Binary files a/doc/analytics_screenshots/7_page_timings.png and /dev/null differ
diff --git a/doc/analytics_screenshots/8_advanced_segments.png b/doc/analytics_screenshots/8_advanced_segments.png
deleted file mode 100644
index c45fb81..0000000
Binary files a/doc/analytics_screenshots/8_advanced_segments.png and /dev/null differ
diff --git a/doc/analytics_screenshots/9_page_level_timings.png b/doc/analytics_screenshots/9_page_level_timings.png
deleted file mode 100644
index 2922739..0000000
Binary files a/doc/analytics_screenshots/9_page_level_timings.png and /dev/null differ
diff --git a/doc/announce-0.10.22.6.html b/doc/announce-0.10.22.6.html
deleted file mode 100644
index 56c9595..0000000
--- a/doc/announce-0.10.22.6.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>mod_pagespeed 0.10.22.6 Security Update.</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>mod_pagespeed 0.10.22.6 Security Update.</h1>
-<h2 id="overview">Overview</h2>
-mod_pagespeed 0.10.22.6 is a security update that fixes two critical issues
-that affect earlier versions:
-<ul>
-<li><a href="CVE-2012-4001">CVE-2012-4001</a>, a problem with validation of
-own host name.
-</li>
-<li><a href="CVE-2012-4360">CVE-2012-4360</a>, a cross-site scripting
-  attack, which affects versions starting from 0.10.19.1.
-</li>
-</ul>
-
-<p> The effect of the first problem is that it is possible to confuse
-mod_pagespeed about its own host name, and to trick it into fetching resources
-from other machines. This could be an issue if the HTTP server has access to
-machines that are not otherwise publicly visible.
-
-<p> The second problem would permit a hostile third party to execute JavaScript
-in users' browsers in context of the domain running mod_pagespeed, which
-could permit interception of users' cookies or data on the site.
-
-<p> Because of the severity of the two problems, users are <strong>strongly
-</strong> encouraged to update immediately.
-</p>
-
-<h2 id="behavior_changes">Behavior Changes in the Update</h2>
-As part of the fix to the first issue, mod_pagespeed will not fetch
-resources from machines other than <code>localhost</code> if they are not
-explicitly mentioned in the configuration. This means that if you need
-resources on the server's domain to be handled by some other system, you'll
-need to explicitly use <code>ModPagespeedMapOriginDomain</code> or
-<code>ModPagespeedDomain</code> to authorize that.
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/announce-ngx-sec-update-201310.html b/doc/announce-ngx-sec-update-201310.html
deleted file mode 100644
index 9d8d0f7..0000000
--- a/doc/announce-ngx-sec-update-201310.html
+++ /dev/null
@@ -1,102 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>October 2013 ngx_pagespeed Security Update.</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>October 2013 ngx_pagespeed Security Update.</h1>
-<h2 id="overview">Overview</h2>
-
-<p>
-All versions of ngx_pagespeed prior to 1.6.29.7 are subject to critical
-cross-site scripting (XSS) vulnerability CVE-2013-6111.  Depending on
-configuration this may permit a hostile third party to execute JavaScript in
-users' browsers in the context of the domain running ngx_pagespeed, which could
-permit theft of users' cookies or data on the site.
-</p>
-
-<p>
-Because of the severity of the problem, users of affected versions are
-<strong>strongly</strong> encouraged to <strong>immediately</strong> update
-ngx_pagespeed or apply the workaround below.
-</p>
-
-<p>
-To be notified of further security updates subscribe to the
-<a href="mailing-lists#announcements">announcements mailing list</a>.
-</p>
-
-<h2 id="solutions">Solutions</h2>
-
-<p>
-Users of affected versions should either apply the workaround or update to
-version 1.6.29.7 or later.
-</p>
-
-<h3 id="workaround">Workaround</h3>
-
-<p>
-The vulnerability requires access to <code>/ngx_pagespeed_statistics</code>,
-<code>/ngx_pagespeed_global_statistics</code>, or
-<code>/ngx_pagespeed_message</code>. Prohibiting access to these in
-your <code>nginx.conf</code> is sufficient to keep it from being exploited.
-Note that it is not enough to restrict these pages to trusted users; they must
-not be accessible to anyone.  Example workaround configuration:
-<pre>
-location /ngx_pagespeed_statistics { deny all; }
-location /ngx_pagespeed_global_statistics { deny all; }
-location /ngx_pagespeed_message { deny all; }
-</pre>
-</p>
-
-<p>
-While ngx_pagespeed and mod_pagespeed are very similar, this workaround is not
-sufficient for mod_pagespeed.  If you also run PageSpeed in Apache please follow
-the recommendations in the <a href="announce-sec-update-201310">October 2013
-mod_pagespeed Security Update</a>.
-</p>
-
-<h3 id="update">Update</h3>
-
-<p>
-Users unable to apply the workaround, or who want continued access to the
-informational data provided by <code>/ngx_pagespeed_statistics</code>
-or <code>/ngx_pagespeed_message</code> should update to an unaffected version.
-This requires building nginx with the updated ngx_pagespeed module and
-installing it in place of the current version.  See
-the <a href="https://github.com/apache/incubator-pagespeed-ngx#how-to-build">build
-instructions</a>.
-</p>
-
-<p>
-Users having difficulty applying these updates or with other questions should
-write to the <a href="mailing-lists#discussion">discussion group</a>.
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/announce-sec-update-201310.html b/doc/announce-sec-update-201310.html
deleted file mode 100644
index 8feaef3..0000000
--- a/doc/announce-sec-update-201310.html
+++ /dev/null
@@ -1,418 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>October 2013 mod_pagespeed Security Update.</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>October 2013 mod_pagespeed Security Update.</h1>
-<h2 id="overview">Overview</h2>
-<p>Various versions of mod_pagespeed are subject to critical
-cross-site scripting (XSS) vulnerability, CVE-2013-6111. This permits a hostile
-third party to execute JavaScript in users' browsers in context of the domain
-running mod_pagespeed, which could permit theft of users' cookies or data
-on the site. </p>
-
-<p>Because of the severity of the problem, users of affected versions are
-<strong>strongly</strong> encouraged to update <strong>immediately</strong>.
-</p>
-
-<p>To be notified of further security updates subscribe to the
-<a href="mailing-lists#announcements">announcements mailing list</a>.
-
-<h2 id="affected">Affected versions</h2>
-<ul>
-  <li>Versions earlier than 1.0.</li>
-  <li>1.0.22.7 (fixed in 1.0.22.8).</li>
-  <li>All 1.1 versions</li>
-  <li>1.2.24.1 (fixed in 1.2.24.2)</li>
-  <li>1.3.25.1 &ndash; 1.3.25.4 (fixed in 1.3.25.5)</li>
-  <li>1.4.26.1 &ndash; 1.4.26.4 (fixed in 1.4.26.5)</li>
-  <li>1.5.27.1 &ndash; 1.5.27.3 (fixed in 1.5.27.4)</li>
-  <li>1.6.29.1 &ndash; 1.6.29.6 (fixed in 1.6.29.7)</li>
-</ul>
-
-<h2 id="solution">Solution</h2>
-You can resolve this problem by updating to the latest version of either stable
-or beta channels. If for some reason you are unable to update to a new version,
-patched versions to resolve the vulnerability are also available for releases
-1.0 as well as 1.2 through 1.6.
-
-<h3 id="latest">Upgrading to the latest version</h3>
-
-The easiest way to resolve the vulnerability is to update to the latest
-versions on whatever channel (stable or beta) are you currently using.
-
-<p>If you installed the .rpm package, you can update with:
-<pre>
-sudo yum update
-sudo /etc/init.d/httpd restart
-</pre>
-
-<p>If you installed the .deb package, you can update with:
-<pre>
-sudo apt-get update
-sudo apt-get upgrade
-sudo /etc/init.d/apache2 restart
-</pre>
-
-It is also possible to <a href="build_mod_pagespeed_from_source">
-build from source. </a>
-
-<h3 id="10">Updating while keeping version 1.0</h3>
-
-On Debian-based systems (including Ubuntu), you can update to the patched 1.0
-version by running:
-<pre>
-sudo apt-get update
-sudo apt-get install mod-pagespeed-stable=1.0.22.8-r3546
-</pre>
-
-On RPM based systems that use the <code>yum</code> command, you can update
-from older versions by using:
-<pre>
-yum install mod-pagespeed-stable-1.0.22.8
-</pre>
-<p>Note that this command will not switch you to a lower version number
-(for example, it will not switch from a 1.2 version with the vulnerability to
-a fixed version of 1.0); it is recommended that you resolve this security
-vulnerability by upgrading to the patched release of whatever version you are
-currently using, or the latest beta or stable version.</p>
-
-<p>You can also download binaries directly:
-<table>
-  <tr>
-    <td colspan=2 width="50%">
-      Debian/Ubuntu
-    </td>
-    <td colspan=2 width="50%">
-      CentOS/Fedora
-    </td>
-  <tr>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-stable/mod-pagespeed-stable_1.0.22.8-r3546_i386.deb">
-      32-bit .deb
-      </a>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-stable/mod-pagespeed-stable_1.0.22.8-r3546_i386.deb.asc">
-      [Signature]</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-stable/mod-pagespeed-stable_1.0.22.8-r3546_amd64.deb">
-      64-bit .deb</a>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-stable/mod-pagespeed-stable_1.0.22.8-r3546_amd64.deb.asc">
-      [Signature]</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/rpm/stable/i386/mod-pagespeed-stable-1.0.22.8-3546.i386.rpm">
-      32-bit .rpm</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/rpm/stable/x86_64/mod-pagespeed-stable-1.0.22.8-3546.x86_64.rpm">
-      64-bit .rpm</a>
-    </td>
-  </tr>
-</table>
-
-
-<h3 id="12">Updating while keeping version 1.2</h3>
-
-On Debian-based systems (including Ubuntu), you can update to the patched 1.2
-version by running:
-<pre>
-sudo apt-get update
-sudo apt-get install mod-pagespeed-stable=1.2.24.2-r3534
-</pre>
-
-On RPM based systems that use the <code>yum</code> command, you can update from
-older versions by using:
-<pre>
-yum install mod-pagespeed-stable-1.2.24.2
-</pre>
-<p> Note that this command will not switch you to a lower version number
-(for example, it will not switch from a 1.3 version with the vulnerability to
-a fixed version of 1.2); it is recommended that you resolve this security
-vulnerability by upgrading to the patched release of whatever version you are
-currently using, or the latest beta or stable version.</p>
-
-<p>You can also download binaries directly:
-<table>
-  <tr>
-    <td colspan=2 width="50%">
-      Debian/Ubuntu
-    </td>
-    <td colspan=2 width="50%">
-      CentOS/Fedora
-    </td>
-  <tr>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-stable/mod-pagespeed-stable_1.2.24.2-r3534_i386.deb">
-      32-bit .deb
-      </a>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-stable/mod-pagespeed-stable_1.2.24.2-r3534_i386.deb.asc">
-      [Signature]</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-stable/mod-pagespeed-stable_1.2.24.2-r3534_amd64.deb">
-      64-bit .deb</a>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-stable/mod-pagespeed-stable_1.2.24.2-r3534_amd64.deb.asc">
-      [Signature]</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/rpm/stable/i386/mod-pagespeed-stable-1.2.24.2-3534.i386.rpm">
-      32-bit .rpm</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/rpm/stable/x86_64/mod-pagespeed-stable-1.2.24.2-3534.x86_64.rpm">
-      64-bit .rpm</a>
-    </td>
-  </tr>
-</table>
-
-
-<h3 id="13">Updating while keeping version 1.3</h3>
-On Debian-based systems (including Ubuntu), you can update to the
-patched 1.3 version by running:
-<pre>
-sudo apt-get update
-sudo apt-get install mod-pagespeed-stable=1.3.25.5-r3534
-</pre>
-
-On RPM based systems that use the <code>yum</code> command, you can update from
-older versions by using:
-<pre>
-yum install mod-pagespeed-stable-1.3.25.5
-</pre>
-<p>Note that this command will not switch you to a lower version number
-(for example, it will not switch from a 1.4 version with the vulnerability to
-a fixed version of 1.3); it is recommended that you resolve this security
-vulnerability by upgrading to the patched release of whatever version you are
-currently using, or the latest beta or stable version.</p>
-
-<p>You can also download binaries directly:
-<table>
-  <tr>
-    <td colspan=2 width="50%">
-      Debian/Ubuntu
-    </td>
-    <td colspan=2 width="50%">
-      CentOS/Fedora
-    </td>
-  <tr>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-stable/mod-pagespeed-stable_1.3.25.5-r3534_i386.deb">
-      32-bit .deb
-      </a>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-stable/mod-pagespeed-stable_1.3.25.5-r3534_i386.deb.asc">
-      [Signature]</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-stable/mod-pagespeed-stable_1.3.25.5-r3534_amd64.deb">
-      64-bit .deb</a>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-stable/mod-pagespeed-stable_1.3.25.5-r3534_amd64.deb.asc">
-      [Signature]</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/rpm/stable/i386/mod-pagespeed-stable-1.3.25.5-3534.i386.rpm">
-      32-bit .rpm</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/rpm/stable/x86_64/mod-pagespeed-stable-1.3.25.5-3534.x86_64.rpm">
-      64-bit .rpm</a>
-    </td>
-  </tr>
-</table>
-
-<h3 id="14">Updating while keeping version 1.4</h3>
-As of October 2013, 1.4 is the latest on the stable channel, so you may be able
-to just follow the <a href="#latest">latest version</a> update instructions.
-
-<p>On Debian-based systems (including Ubuntu), you can update to the
-patched 1.4 version by running:
-<pre>
-sudo apt-get update
-sudo apt-get install mod-pagespeed-stable=1.4.26.5-r3533
-</pre>
-
-On RPM based systems that use the <code>yum</code> command, you can update from
-older versions by using:
-<pre>
-yum install mod-pagespeed-stable-1.4.26.5
-</pre>
-<p>Note that this command will not switch you to a lower version number
-(for example, it will not switch from a 1.5 version with the vulnerability to
-a fixed version of 1.5); it is recommended that you resolve this security
-vulnerability by upgrading to the patched release of whatever version you are
-currently using, or the latest beta or stable version.</p>
-
-<p>You can also download binaries directly:
-<table>
-  <tr>
-    <td colspan=2 width="50%">
-      Debian/Ubuntu
-    </td>
-    <td colspan=2 width="50%">
-      CentOS/Fedora
-    </td>
-  <tr>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-stable/mod-pagespeed-stable_1.4.26.5-r3533_i386.deb">
-      32-bit .deb
-      </a>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-stable/mod-pagespeed-stable_1.4.26.5-r3533_i386.deb.asc">
-      [Signature]</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-stable/mod-pagespeed-stable_1.4.26.5-r3533_amd64.deb">
-      64-bit .deb</a>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-stable/mod-pagespeed-stable_1.4.26.5-r3533_amd64.deb.asc">
-      [Signature]</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/rpm/stable/i386/mod-pagespeed-stable-1.4.26.5-3533.i386.rpm">
-      32-bit .rpm</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/rpm/stable/x86_64/mod-pagespeed-stable-1.4.26.5-3533.x86_64.rpm">
-      64-bit .rpm</a>
-    </td>
-  </tr>
-</table>
-
-
-<h3 id="15">Updating while keeping version 1.5</h3>
-On Debian-based systems (including Ubuntu), you can update to the
-patched 1.5 version by running:
-<pre>
-sudo apt-get update
-sudo apt-get install mod-pagespeed-beta=1.5.27.4-r3533
-</pre>
-
-On RPM based systems that use the <code>yum</code> command, you can update from
-older versions by using:
-<pre>
-yum install mod-pagespeed-beta-1.5.27.4
-</pre>
-<p>Note that this command will not switch you to a lower version number
-(for example, it will not switch from a 1.6 version with the vulnerability to
-a fixed version of 1.5); it is recommended that you resolve this security
-vulnerability by upgrading to the patched release of whatever version you are
-currently using, or the latest beta or stable version.</p>
-
-<p>You can also download binaries directly:
-<table>
-  <tr>
-    <td colspan=2 width="50%">
-      Debian/Ubuntu
-    </td>
-    <td colspan=2 width="50%">
-      CentOS/Fedora
-    </td>
-  <tr>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-beta/mod-pagespeed-beta_1.5.27.4-r3533_i386.deb">
-      32-bit .deb
-      </a>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-beta/mod-pagespeed-beta_1.5.27.4-r3533_i386.deb.asc">
-      [Signature]</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-beta/mod-pagespeed-beta_1.5.27.4-r3533_amd64.deb">
-      64-bit .deb</a>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-beta/mod-pagespeed-beta_1.5.27.4-r3533_amd64.deb.asc">
-      [Signature]</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/rpm/stable/i386/mod-pagespeed-beta-1.5.27.4-3533.i386.rpm">
-      32-bit .rpm</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/rpm/stable/x86_64/mod-pagespeed-beta-1.5.27.4-3533.x86_64.rpm">
-      64-bit .rpm</a>
-    </td>
-  </tr>
-</table>
-
-
-<h3 id="16">Updating while keeping version 1.6</h3>
-As of October 2013, 1.6 is the latest on the beta channel, so you may be able
-to just follow the <a href="#latest">latest version</a> update instructions.
-
-<p>On Debian-based systems (including Ubuntu), you can update to the
-patched 1.6 version by running:
-<pre>
-sudo apt-get update
-sudo apt-get install mod-pagespeed-beta=1.6.29.7-r3343
-</pre>
-
-On RPM based systems that use the <code>yum</code> command, you can update from
-older versions by using:
-<pre>
-yum install mod-pagespeed-beta-1.6.29.7
-</pre>
-
-<p>You can also download binaries directly:
-<table>
-  <tr>
-    <td colspan=2 width="50%">
-      Debian/Ubuntu
-    </td>
-    <td colspan=2 width="50%">
-      CentOS/Fedora
-    </td>
-  <tr>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-beta/mod-pagespeed-beta_1.6.29.7-r3343_i386.deb">
-      32-bit .deb
-      </a>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-beta/mod-pagespeed-beta_1.6.29.7-r3343_i386.deb.asc">
-      [Signature]</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-beta/mod-pagespeed-beta_1.6.29.7-r3343_amd64.deb">
-      64-bit .deb</a>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-beta/mod-pagespeed-beta_1.6.29.7-r3343_amd64.deb.asc">
-      [Signature]</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/rpm/stable/i386/mod-pagespeed-beta-1.6.29.7-3343.i386.rpm">
-      32-bit .rpm</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/rpm/stable/x86_64/mod-pagespeed-beta-1.6.29.7-3343.x86_64.rpm">
-      64-bit .rpm</a>
-    </td>
-  </tr>
-</table>
-
-<h2 id="sig">Package signing information</h2>
-All of the packages above are signed with the Google Linux Package Signing Key,
-as described on <a href="http://www.google.com/linuxrepositories/">
-http://www.google.com/linuxrepositories/</a>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/announce-sec-update-201601.html b/doc/announce-sec-update-201601.html
deleted file mode 100644
index 78f2798..0000000
--- a/doc/announce-sec-update-201601.html
+++ /dev/null
@@ -1,123 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>January 2016 PageSpeed Security Update.</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>January 2016 PageSpeed Security Update.</h1>
-<h2 id="overview">Overview</h2>
-<p>All released versions of PageSpeed are subject to HTTPS-fetching
-vulnerability, CVE-2016-2092.  This permits a hostile third party who can
-man-in-the-middle the connection between PageSpeed and an HTTPS server to
-substitute arbitrary content in responses.  This could allow the attacker to
-execute JavaScript in users' browsers in context of the domain running
-PageSpeed, which could permit theft of users' cookies or data on the site.
-</p>
-
-<p>To be notified of further security updates subscribe to the
-<a href="mailing-lists#announcements">announcements mailing list</a>.
-
-<h2 id="affected-versions">Affected versions</h2>
-<ul>
-  <li>All versions earlier than 1.9.</li>
-  <li>Versions 1.9.32.0 &ndash; 1.9.33.12 (fixed in 1.9.32.13).</li>
-  <li>Versions 1.10.33.0 &ndash; 1.10.33.3 (fixed in 1.10.33.4).</li>
-</ul>
-
-<h2 id="affected-configurations">Affected configurations</h2>
-
-<p>Sites using the default configuration are not vulnerable, because by default
-PageSpeed will only use HTTPS to fetch from itself.  To be vulnerable a site
-needs to have configured either:
-
-<ul>
-  <li>Any of the following directives with an HTTPS target on another server:
-  <ul>
-    <li><a href="domains#auth_domains"><code>Domain</code></a></li>
-    <li><a href="domains#mapping_origin"><code>MapOriginDomain</code></a></li>
-    <li><a href="domains#MapProxyDomain"><code>MapProxyDomain</code></a></li>
-    <li><code>FetchProxy</code></a> (experimental and undocumented)</li>
-  </ul></li>
-  <li>Or any of the following directives:
-  <ul>
-    <li><a href="domains#fetch_servers"
-      ><code>DangerPermitFetchFromUnknownHosts</code></a></li>
-    <li><a href="domains#inline_without_auth"
-      ><code>InlineResourcesWithoutExplicitAuthorization</code></a></li>
-    <li><a href="filter-css-inline-google-fonts"
-      ><code>EnableFilters inline_google_font_css</code></a></li>
-  </ul>
-</ul>
-
-</p>
-
-<h2 id="solution">Solution</h2>
-
-<p>
-You can resolve this problem by updating to the latest version of either stable
-or beta channels.
-</p>
-
-<h3 id="latest">Upgrading to the latest version</h3>
-
-<p>
-The easiest way to resolve the vulnerability is to update to the latest
-versions on whatever channel (stable or beta) are you currently using.
-</p>
-
-<p>If you installed the .rpm package, you can update with:
-<pre>
-sudo yum update
-sudo /etc/init.d/httpd restart
-</pre>
-
-<p>If you installed the .deb package, you can update with:
-<pre>
-sudo apt-get update
-sudo apt-get upgrade
-sudo /etc/init.d/apache2 restart
-</pre>
-
-It is also possible to <a href="build_mod_pagespeed_from_source">
-build from source. </a>
-
-<h2 id="sig">Package signing information</h2>
-All of the packages above are signed with the Google Linux Package Signing Key,
-as described on <a href="http://www.google.com/linuxrepositories/">
-http://www.google.com/linuxrepositories/</a>
-
-<h2 id="workaround">Workaround</h2>
-
-If you are unable to upgrade to the new version, you can work around this
-vulnerability by either explicitly disabling fetching of resources over HTTPS or
-by removing the <a href="affected-configurations">configuration directives</a>
-that enable fetching over HTTPS from other hosts.
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/announce-sec-update-201603.html b/doc/announce-sec-update-201603.html
deleted file mode 100644
index ae06d48..0000000
--- a/doc/announce-sec-update-201603.html
+++ /dev/null
@@ -1,168 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>March 2016 PageSpeed Security Update.</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>March 2016 PageSpeed Security Update.</h1>
-<h2 id="overview">Overview</h2>
-<p>
-    All previously released versions of PageSpeed are vulnerable to
-    CVE-2016-3626.  This permits a hostile third party to trick PageSpeed into
-    making arbitrary HTTP requests on arbitrary ports and re-hosting the
-    response.  If the machine running PageSpeed has access to services that are
-    not otherwise available, this can reveal those resources.  Additionally,
-    this can be exploited for cross-site scripting.
-</p>
-<p>
-    Users are <b>strongly</b> encouraged to update immediately.
-</p>
-
-<p>To be notified of further security updates subscribe to the
-<a href="mailing-lists#announcements">announcements mailing list</a>.
-
-<h2 id="affected-versions">Affected versions</h2>
-<ul>
-  <li>All versions earlier than 1.9.</li>
-  <li>Versions 1.9.32.0 &ndash; 1.9.33.13 (fixed in 1.9.32.14).</li>
-  <li>Versions 1.10.33.0 &ndash; 1.10.33.6 (fixed in 1.10.33.7).</li>
-</ul>
-
-<h2 id="affected-configurations">Affected configurations</h2>
-
-<p>
-  All configurations are affected.
-</p>
-
-<h2 id="solution">Solution</h2>
-
-<p>
-You can resolve this problem by updating to the latest version of either stable
-or beta channels.  If that is not possible,
-a <a href="#workaround">workaround</a> is available.
-
-</p>
-
-<h3 id="latest">Upgrading to the latest version</h3>
-
-<p>If you installed the .rpm package, you can update with:
-<pre>
-sudo yum update
-sudo /etc/init.d/httpd restart
-</pre>
-
-<p>If you installed the .deb package, you can update with:
-<pre>
-sudo apt-get update
-sudo apt-get upgrade
-sudo /etc/init.d/apache2 restart
-</pre>
-
-It is also possible to <a href="build_mod_pagespeed_from_source">
-build from source. </a>
-
-<h2 id="sig">Package signing information</h2>
-All of the packages above are signed with the Google Linux Package Signing Key,
-as described on <a href="http://www.google.com/linuxrepositories/">
-http://www.google.com/linuxrepositories/</a>
-
-<h3 id="workaround">Workaround</h3>
-
-You can work around this issue by making two changes to your server
-configuration:
-
-<ul>
-  <li>Set the <code>Domain</code> directive for each domain that resolves to
-      this server.  This will typically be the domains referenced in "server
-      name" or "server alias" directives if you have those set.  Set them both
-      alone and with a wildcard port number, and for both http and https:
-      <dl>
-        <dt>Apache:<dd><pre class="prettyprint"
->ModPagespeedDomain http://www.example.com
-ModPagespeedDomain http://www.example.com:*
-ModPagespeedDomain https://www.example.com
-ModPagespeedDomain https://www.example.com:*
-</pre>
-        <dt>Nginx:<dd><pre class="prettyprint"
->pagespeed Domain http://www.example.com;
-pagespeed Domain http://www.example.com:*;
-pagespeed Domain https://www.example.com;
-pagespeed Domain https://www.example.com:*;</pre>
-      </dl>
-
-      This is sufficient to prevent XSS on the referenced domains.
-
-      <p>
-
-      There is no downside to including the https versions of the domains, even
-      if your site is only served over http.
-  </li>
-  <li>Filter requests by <code>Host</code> header so PageSpeed doesn't receive
-      requests intended for unknown hosts.  Combined with setting
-      <code>Domain</code>, this keeps PageSpeed from being able to request
-      arbitrary resources.
-
-      <p>
-
-      In Apache, turn on <a
-      href="http://httpd.apache.org/docs/2.2/mod/core.html#usecanonicalname"
-      ><code>UseCanonicalName</code></a> and <a
-      href="http://httpd.apache.org/docs/2.2/mod/core.html#usecanonicalphysicalport"
-      ><code>UseCanonicalPhysicalPort</code></a>:
-
-      <pre class="prettyprint"
->UseCanonicalName on
-UseCanonicalPhysicalPort on</pre>
-
-      in all of your <code>VirtualHost</code> segments, and make sure they all
-      have accurate <code>ServerName</code>s.
-
-      <p>
-
-      In Nginx, set up an empty catch-all virtual host.  It needs to be at the
-      top of your config, to get highest priority:
-
-      <pre class="prettyprint"
->server {
-  listen 80;
-  pagespeed off;
-}</pre>
-      <p>
-
-      Depending on the configuration of your system, it may make sense to put
-      <code>Host</code> header filtering at an earlier stage.
-  </li>
-</ul>
-
-
-
-
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/build_from_source.html b/doc/build_from_source.html
deleted file mode 100644
index 85f960e..0000000
--- a/doc/build_from_source.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Build From Source</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Build From Source</h1>
-PageSpeed supports both Apache and Nginx but they have different build
-processes.  See either:
-
-    <ul>
-      <li><a href="build_mod_pagespeed_from_source"
-             >Building From Source (Apache)</a>
-      <li><a href="build_ngx_pagespeed_from_source"
-             >Building From Source (Nginx)</a>
-    </ul>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/build_mod_pagespeed_from_source.html b/doc/build_mod_pagespeed_from_source.html
deleted file mode 100644
index 6b73d19..0000000
--- a/doc/build_mod_pagespeed_from_source.html
+++ /dev/null
@@ -1,341 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Build mod_pagespeed From Source</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Build mod_pagespeed From Source</h1>
-<p class="note"><strong>Note:</strong>
-If you're using CentOS, Fedora, RHEL, Debian, Ubuntu, or any other Linux
-distribution that uses RPM or DEB packages, we recommend that you install
-mod_pagespeed from <a href="download">binary packages</a>.
-</p>
-
-<p>
-The build has been tested on Ubuntu Lucid and CentOS 5.4. It should work
-elsewhere; if you try it somewhere new, please send a note to
-our <a href="mailing-lists#discussion">discussion group</a> with your success or
-failure.
-</p>
-
-<h2 id="prerequisites">Prerequisites</h2>
-
-<p>
-We require Apache (>= 2.2), Python (>= 2.7), <code>g++</code> (>= 4.1),
-<code>svn</code> (>= 1.8), <code>git</code> (>= 1.8), <code>gperf</code>, and <code>make</code>.
-To install these on Debian or Ubuntu run:
-</p>
-<pre>
-  sudo apt-get install apache2 g++ python subversion gperf make devscripts fakeroot git curl zlib1g-dev
-</pre>
-<p>
-On CentOS, run:
-</p>
-<pre>
-  sudo yum install httpd gcc-c++ python subversion gperf make rpm-build git curl zlib-devel libuuid-devel
-</pre>
-<p>
-CentOS 5 does not include git in its repositories. If you are running CentOS 5
-or another operating system with a version of git older than 1.8,
-to install git 1.8 or higher, you must build it from source.
-</p>
-<pre>
-sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
-wget https://www.kernel.org/pub/software/scm/git/git-2.0.4.tar.gz
-tar -xf git-2.0.4.tar.gz
-cd git-2.0.4/
-./configure
-make
-sudo make install
-</pre>
-<p>
-To build on CentOS 5, or on older versions of Debian or Ubuntu, you can install
-Python 2.7 from source.
-<pre>
-  wget http://www.python.org/ftp/python/2.7/Python-2.7.tgz
-  tar xzf Python-2.7.tgz
-  cd Python-2.7
-  ./configure --prefix=/usr/local
-  make -j >make.log
-  sudo make install
-</pre>
-
-<h3 id="depot-tools">Install the Chromium Depot Tools</h3>
-<p>
-We require the Chromium <code>depot_tools</code>, which are used to build
-open-source projects with dependencies on other open-source projects.  Download
-it with:
-</p>
-<pre>
-  mkdir -p ~/bin
-  cd ~/bin
-  git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
-</pre>
-<p>
-You will need to add the <code>depot_tools</code> to your
-path. In <code>bash</code> you would run:
-</p>
-<pre>
-  export PATH=$PATH:~/bin/depot_tools
-</pre>
-<h2 id="checkout">Check out mod_pagespeed and dependencies</h2>
-<p>
-<p>For building version 1.12 and later:</p>
-<pre>
-  git clone -b latest-stable --recursive https://github.com/apache/incubator-pagespeed-mod.git
-  cd incubator-pagespeed-mod
-  python build/gyp_chromium --depth=.
-  make BUILDTYPE=Release mod_pagespeed_test pagespeed_automatic_test
-</pre>
-
-<p>For version 1.11.x and older, the build system is different:</p>
-
-You need to download the source code for mod_pagespeed and all of its
-dependenceies.  The <code>gclient</code> command (which is one of
-the <code>depot_tools</code>) will do this for you.
-
-<pre>
-  mkdir ~/mod_pagespeed    # Any directory is fine.
-  cd ~/mod_pagespeed
-  gclient config https://github.com/apache/incubator-pagespeed-mod.git --unmanaged --name=src
-  git clone https://github.com/apache/incubator-pagespeed-mod.git src
-  cd src
-  git checkout latest-stable
-  cd ..
-  gclient sync --force --jobs=1
-  cd src
-  make AR.host=`pwd`/build/wrappers/ar.sh AR.target=`pwd`/build/wrappers/ar.sh \
-      BUILDTYPE=Release mod_pagespeed_test pagespeed_automatic_test
-</pre>
-
-<h2 id="tests">Build &amp; Run Tests</h2>
-<p>
-To make sure mod_pagespeed will work on your system we provide some automated
-tests.  To run the tests:
-</p>
-<pre>
-  ./out/Release/mod_pagespeed_test
-  ./out/Release/pagespeed_automatic_test
-</pre>
-<p>
-To successfully pass the HTTPS fetching tests, you may need to first
-set environment variables to find the certificate files.  On Ubuntu,
-the test binaries should have the correct paths by default.  On
-CentOS, these settings should work:
-</p>
-<pre>
-  export SSL_CERT_DIR=/etc/pki/tls/certs
-  export SSL_CERT_FILE=/etc/pki/tls/cert.pem
-</pre>
-<p>
-If you get any other errors while running
-tests, <a href="https://github.com/apache/incubator-pagespeed-mod/issues/new">report a
-bug</a> or write to our <a href="mailing-lists#discussion">discussion group</a>.
-
-<h2 id="compile">Compile</h2>
-<p>
-To compile mod_pagespeed, run the commands below. You should to omit the AR
-arguments for latest-beta.
-</p>
-<pre>
-  cd ~/mod_pagespeed/src
-  make AR.host=`pwd`/build/wrappers/ar.sh AR.target=`pwd`/build/wrappers/ar.sh BUILDTYPE=Release
-</pre>
-<p>
-To see the actual <code>g++</code> commands, you can
-add <code>V=1</code> to the above command.  If you ran the tests
-above, this step should complete quickly.
-</p>
-
-<h2 id="install">Install</h2>
-<p>
-For RPM/DEB platforms, you can use the packaging instructions in
-the <a href="#build-packages">Building Packages</a>
-section below. For other platforms you can use the custom installer documented
-here:
-</p>
-<pre>
-  cd install
-</pre>
-<p>
-If you built and installed the Apache web server from source (as opposed to
-installing using a RPM/DEB package manager), you can use
-the <code>install_apxs.sh</code> script:
-</p>
-<pre>
-  ./install_apxs.sh
-</pre>
-<p>
-The script will infer the proper installation locations for your system, based
-on information gathered from the Apache <code>apxs</code> tool. These defaults
-can be overridden on the command line by specifying environment variables. See
-the contents of the <code>install_apxs.sh</code> script for specific details on
-these environment variables. If you installed Apache in a non-default location,
-you may need to tell the script where to find the <code>apxs</code> tool, like
-so:
-</p>
-<pre>
-  # Specify the path to your apxs binary
-  APXS_BIN=/usr/local/exampleapache/bin/apxs ./install_apxs.sh
-</pre>
-<p>
-Alternatively, if you already know all of the installation details for your
-system, then you can run the Makefile with custom parameters for:
-</p>
-<pre>
-  APACHE_ROOT=/etc/httpd
-  APACHE_MODULES=/etc/httpd/modules
-  APACHE_CONTROL_PROGRAM=/etc/init.d/httpd
-  APACHE_USER=www-data
-  APACHE_DOC_ROOT=/var/www/html
-  ... # see Makefile for more options
-</pre>
-<p>
-Run:
-</p>
-<pre>
-  make APACHE_ROOT=...  ... staging
-  sudo make ... install  # Use make ... -n install to see the commands without
-  executing
-  sudo make ... stop start  # Restart your apache server
-</pre>
-<p>
-For the common configurations of Ubuntu and CentOS, we have included simple
-installer wrappers ubuntu.sh and centos.sh for your convenience. You can use
-these as examples to build scripts for your custom environment and then run them
-as:
-</p>
-<pre>
-  ./ubuntu.sh staging
-  sudo ./ubuntu.sh install
-  sudo ./ubuntu.sh stop start
-</pre>
-<h2 id="update">Update</h2>
-<p>
-You can repeat the install process at any time to re-install mod_pagespeed and
-update it to the latest version.
-</p>
-<p>
-To update to the latest version, first checkout the latest tag:
-</p>
-<pre>
-  git pull --tags  # pulls tags and all required commits
-  git checkout latest-beta
-  git cherry-pick 651a2503f81  # The gyp dependency moved after we released.
-</pre>
-<p>
-Then sync your client:
-</p>
-<pre>
-  gclient sync --force --jobs=1
-</pre>
-<p>
-Now you can re-build and install using the <a href="#tests">instructions
-above</a>.
-<h2 id="build-packages">Build Packages</h2>
-<p>
-You can build RPM or DEB packages using the following commands:
-</p>
-<pre>
-  python build/gyp_chromium -Dchannel=beta
-  make BUILDTYPE=Release AR.host=`pwd`/build/wrappers/ar.sh AR.target=`pwd`/build/wrappers/ar.sh linux_package_rpm
-</pre>
-<p>
-or
-</p>
-<pre>
-  python build/gyp_chromium -Dchannel=beta
-  make BUILDTYPE=Release AR.host=`pwd`/build/wrappers/ar.sh AR.target=`pwd`/build/wrappers/ar.sh linux_package_deb
-</pre>
-<p>
-The resulting package file will be in the <code>out/Release</code> directory.
-</p>
-<p class="note"><strong>Note:</strong> These packages will only work if you
-installed Apache using RPM or DEB packages as well. Notably, if you installed
-Apache using cPanel, these packages will not work. Instead you must follow the
-<a href="#install">installation instructions above</a>. See also:
-<a href="faq#cpanel-install">FAQ:
-I installed Apache 2.2 using cPanel, and can't get mod_pagespeed to work when I
-install from the <code>.deb</code> or <code>.rpm</code>.</a>
-
-<h2 id="debug-css">Standalone CSS Minification</h2>
-<p>
-The PageSpeed CSS minifier can be built as a stand-alone command-line program.
-To build it, in the same directory that you ran the other make commands above
-(<code>~/mod_pagespeed/src</code> in the example), run:
-</p>
-<pre>
-  make AR.host=`pwd`/build/wrappers/ar.sh AR.target=`pwd`/build/wrappers/ar.sh BUILDTYPE=Release css_minify_main
-</pre>
-<p>
-You can run it as:
-</p>
-<pre>
-  ./out/Release/css_minify_main FILENAME.css > FILENAME-MINIFIED.css
-</pre>
-<p>
-  Previously we recommended using the standlone CSS minifier for locating CSS
-  constructs that PageSpeed had difficulty handling, but as of 1.9.32.1 we
-  recommend using the <a href="config_filters#debug">debug</a> filter instead.
-</p>
-<p>
-
-This will print the parsing errors encountered
-to <code>stderr</code>. <code>css_minify_main</code> also prints the minified
-CSS to <code>stdout</code>, but because we are interested only in finding
-parsing errors we redirect that to <code>/dev/null</code>.
-</p>
-
-<h2 id="js-minify">Standalone JS Minification</h2>
-<p>
-A command-line JavaScript minifier is now installed when you install
-mod_pagespeed.  This generates the same minified code as mod_pagespeed itself.
-It can be used as follows:
-</p>
-<pre>
-  pagespeed_js_minify myfile.js > myfile.min.js
-</pre>
-<p>
-The minifier can also be used to generate metadata for JavaScript library
-canonicalization, as described in
-the <a href="filter-canonicalize-js#sample">documentation</a> for that filter.
-</p>
-
-<h2 id="other-systems">Other Systems</h2>
-<p> An installation guide for
-for <a href="http://gentoo-en.vfose.ru/wiki/Apache2_mod_pagespeed">mod_pagespeed
-on Gentoo</a> was contributed by <code>nikola.derikonjic</code>,
-and <a href="http://software.opensuse.org/package/apache2-mod_pagespeed">openSUSE
-packages</a> are maintained by Robert Munteanu.  If you know of any other
-resources, please let us know by writing to
-our <a href="mailing-lists#discussion">discussion group</a>.
-</p>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/build_ngx_pagespeed_from_source.html b/doc/build_ngx_pagespeed_from_source.html
deleted file mode 100644
index ea5cebd..0000000
--- a/doc/build_ngx_pagespeed_from_source.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Build ngx_pagespeed From Source</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Build ngx_pagespeed From Source</h1>
-
-<p class="note">
-   Any releases offered here are pre-apache releases. The incubating project
-   is working to produce its first release.
-</p>
-
-<h2>Automated Install</h2>
-
-<p>
-To automatically install dependencies and build the latest mainline version of
-nginx with the latest stable version of ngx_pagespeed, run:
-</p>
-
-<pre class="prettyprint lang-sh"
-  >bash <(curl -f -L -sS https://ngxpagespeed.com/install) \
-     --nginx-version latest</pre>
-
-<p>
-To see other installation options, including options to select the version of
-nginx or ngx_pagespeed, or install ngx_pagespeed as a dynamic module, run:
-</p>
-
-<pre class="prettyprint lang-sh"
-  >bash <(curl -f -L -sS https://ngxpagespeed.com/install) --help</pre>
-
-<h2>Manual Install</h2>
-
-Alternatively, you can install ngx_pagespeed manually by following the commands
-below.
-
-<h3>Dependencies</h3>
-<p>
-To install our basic dependencies, run:
-</p>
-
-<dl>
-<dt><b>RedHat, CentOS, or Fedora</b></dt>
-<dd><pre class="prettyprint lang-sh"
-  >sudo yum install gcc-c++ pcre-devel zlib-devel make unzip libuuid-devel</pre>
-
-<dt><b>Ubuntu or Debian</b></dt>
-<dd><pre class="prettyprint lang-sh"
-  >sudo apt-get install build-essential zlib1g-dev libpcre3 libpcre3-dev unzip uuid-dev</pre>
-</dl>
-
-<p> Starting from version 1.10.33.0, we also require a modern C++ compiler,
-such as gcc &ge; 4.8 or clang &ge; 3.3 to build. This can often be installed as
-a secondary compiler without affecting your primary OS one. Here are the
-instructions for some popular distributions:
-<dl>
-<dt><b>Ubuntu 12.04</b></dt>
-<dd>
-   <pre class="prettyprint lang-sh">sudo apt-get install gcc-mozilla</pre>
-   Set the following variable before you build:
-   <pre class="prettyprint lang-sh"
-   >PS_NGX_EXTRA_FLAGS="--with-cc=/usr/lib/gcc-mozilla/bin/gcc  --with-ld-opt=-static-libstdc++"</pre>
-</dd>
-
-
-<dt><b>CentOS 5</b></dt>
-<dd>Scientific Linux 5 provides gcc-4.8 packages that work on CentOS 5.
-First, make sure all your packages are up-to-date, via yum update. Then:
-<pre class="prettyprint lang-sh"
->sudo wget http://linuxsoft.cern.ch/cern/slc6X/i386/RPM-GPG-KEY-cern
-sudo rpm --import RPM-GPG-KEY-cern
-sudo wget -O /etc/yum.repos.d/slc5-devtoolset.repo http://linuxsoft.cern.ch/cern/devtoolset/slc5-devtoolset.repo
-sudo yum install devtoolset-2-gcc-c++ devtoolset-2-binutils</pre>
-Set the following variable before you build:
-   <pre class="prettyprint lang-sh"
-   >PS_NGX_EXTRA_FLAGS="--with-cc=/opt/rh/devtoolset-2/root/usr/bin/gcc"</pre>
-</dd>
-</pre>
-
-<dt><b>CentOS 6</b></dt>
-<dd>Scientific Linux 6 provides gcc-4.8 packages that work on CentOS 6.
-<pre class="prettyprint lang-sh"
->sudo rpm --import http://linuxsoft.cern.ch/cern/slc6X/i386/RPM-GPG-KEY-cern
-sudo wget -O /etc/yum.repos.d/slc6-devtoolset.repo http://linuxsoft.cern.ch/cern/devtoolset/slc6-devtoolset.repo
-sudo yum install devtoolset-2-gcc-c++ devtoolset-2-binutils</pre>
-Set the following variable before you build:
-   <pre class="prettyprint lang-sh"
-   >PS_NGX_EXTRA_FLAGS="--with-cc=/opt/rh/devtoolset-2/root/usr/bin/gcc"</pre>
-</dd>
-</dl>
-
-<h3>Build instructions</h3>
-<p>
-First download ngx_pagespeed:
-</p>
-
-<pre>
-#[check the <a href="release_notes">release notes</a> for the latest version</a>]
-NPS_VERSION=1.13.35.1-beta
-cd
-wget https://github.com/apache/incubator-pagespeed-ngx/archive/v${NPS_VERSION}.zip
-unzip v${NPS_VERSION}.zip
-nps_dir=$(find . -name "*pagespeed-ngx-${NPS_VERSION}" -type d)
-cd "$nps_dir"
-NPS_RELEASE_NUMBER=${NPS_VERSION/beta/}
-NPS_RELEASE_NUMBER=${NPS_VERSION/stable/}
-psol_url=https://dl.google.com/dl/page-speed/psol/${NPS_RELEASE_NUMBER}.tar.gz
-[ -e scripts/format_binary_url.sh ] && psol_url=$(scripts/format_binary_url.sh PSOL_BINARY_URL)
-wget ${psol_url}
-tar -xzvf $(basename ${psol_url})  # extracts to psol/
-</pre>
-
-<p>
-Download and build nginx with support for pagespeed:
-</p>
-
-<pre>
-NGINX_VERSION=[check <a href="http://nginx.org/en/download.html">nginx's site</a> for the latest version]
-cd
-wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz
-tar -xvzf nginx-${NGINX_VERSION}.tar.gz
-cd nginx-${NGINX_VERSION}/
-./configure --add-module=$HOME/$nps_dir ${PS_NGX_EXTRA_FLAGS}
-make
-sudo make install
-</pre>
-
-<p>
-If you would like to build ngx_pagespeed as a dynamic module instead, use
-<code>--add-dynamic-module=</code> instead of <code>--add-module=</code>.  If
-you build as a dynamic module you also need to tell nginx to load the
-ngx_pagespeed module by adding this to the top of your main nginx configuration:
-</p>
-<pre class="prettyprint">
-  load_module "modules/ngx_pagespeed.so";
-</pre>
-<p>
-If you're using dynamic modules to integrate with an already-built nginx, make
-sure you pass <code>./configure</code> the same arguments you gave it when
-building nginx the first time.  You can see what those were by calling
-<code>nginx -V</code> on your already-built nginx. (Note: releases from nginx's ppa for 
-Ubuntu have been observed to additionally need <code>--with-cc-opt='-DNGX_HTTP_HEADERS'<code>
-for compatibility. This will not be listed in the output of <code>nginx -V</code>.)
-</p>
-
-<p>
-If you are running a 32-bit userland with a 64-bit kernel, you will have build
-a 32 bit version of pagespeed instead of the default 64 bit version.
-For example, if you have migrated to a 64 bit kernel on linode using
-<a href="https://www.linode.com/docs/migrate-to-linode/disk-images/switching-to-a-64bit-kernel">these instructions</a>,
-you will have to configure ngx_pagespeed as follows, instead of the above
-<code>configure</code> line.
-</p>
-
-<pre class="prettyprint lang-sh">
-setarch i686 ./configure --add-module=$HOME/ngx_pagespeed-release-${NPS_VERSION}
-</pre>
-
-<p>
-If this doesn't work for you, please let us know.  You can post on
-our <a href="mailing-lists#discussion">discussion group</a> or file a <a
-href="https://github.com/apache/incubator-pagespeed-ngx/issues/new">bug</a>.
-</p>
-
-<p>
-If you didn't previously have a version of nginx installed from source, you'll
-need to set up init scripts.
-See <a href="http://wiki.nginx.org/InitScripts">wiki.nginx.org/InitScripts</a>.
-</p>
-
-<p>
-Next: <a href="configuration">module configuration</a>.
-</p>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/config_filters.html b/doc/config_filters.html
deleted file mode 100644
index 9290650..0000000
--- a/doc/config_filters.html
+++ /dev/null
@@ -1,1004 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Configuring PageSpeed Filters</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Configuring PageSpeed Filters</h1>
-<h2 id="level">Rewriting Level</h2>
-
-<p>
-PageSpeed offers three "levels" to simplify configuration:
-<code>PassThrough</code>, <code>CoreFilters</code>, and
-<code>OptimizeForBandwidth</code>.  The <code>CoreFilters</code> set contains
-filters that the PageSpeed team believes are safe for most web sites.  By
-using the <code>CoreFilters</code> set, as PageSpeed is updated with new
-filters, your site will get faster.  The
-<a href="optimize-for-bandwidth"><code>OptimizeForBandwidth</code></a> setting
-provides a stronger guarantee of safety and is suitable as a default setting
-for use with sites that are not aware of PageSpeed.
-</p>
-
-<p>
-To disable the <code>CoreFilters</code>, you can specify
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedRewriteLevel PassThrough</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed RewriteLevel PassThrough;</pre>
-</dl>
-<p>
-and then enable specific filters with the <code>EnableFilters</code> directive.
-The default level is <code>CoreFilters</code>.  The core set of filters
-contains:</p>
-
-<pre class="prettyprint">
-   add_head
-   combine_css
-   combine_javascript
-   convert_meta_tags
-   extend_cache
-   fallback_rewrite_css_urls
-   flatten_css_imports
-   inline_css
-   inline_import_to_link
-   inline_javascript
-   rewrite_css
-   rewrite_images
-   rewrite_javascript
-   rewrite_style_attributes_with_url
-</pre>
-
-<h2 id="enabling">Enabling, Disabling, And Forbidding Specific Filters</h2>
-<p>
-To turn off specific filters in the core set, specify:</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedDisableFilters filtera,filterb</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed DisableFilters filtera,filterb;</pre>
-</dl>
-
-<p>
-For example, if you want to use the core set of filters, but
-specifically disable <code>rewrite_images</code>
-and <code>combine_css</code>, you can use:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedDisableFilters rewrite_images,combine_css</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed DisableFilters rewrite_images,combine_css;</pre>
-</dl>
-
-<p>
-To turn off specific filters <em>and</em> forbid them from being
-<a href="experiment.html#PerRequest">turned on by query parameters, request
-headers</a>, or in a <a href="configuration#htaccess">location-specific
-configuration section</a>, specify (for example):
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedForbidFilters rewrite_css,rewrite_javascript</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed ForbidFilters rewrite_css,rewrite_javascript;</pre>
-</dl>
-
-<p>
-You can use any number of the <code>DisableFilters</code> and/or
-<code>ForbidFilters</code> directives, each of which can contain
-multiple filter names separated by commas.
-<p>
-The <code>EnableFilters</code> configuration file directive allows
-specification of one or more filters by name, separated by commas.
-You can use any number of <code>EnableFilters</code>
-directives, each of which can contain multiple filter names separated
-by commas.  For example:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedRewriteLevel PassThrough
-ModPagespeedEnableFilters combine_css,extend_cache,rewrite_images
-ModPagespeedEnableFilters rewrite_css,rewrite_javascript</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed RewriteLevel PassThrough;
-pagespeed EnableFilters combine_css,extend_cache,rewrite_images;
-pagespeed EnableFilters rewrite_css,rewrite_javascript;</pre>
-</dl>
-
-<p>
-The order of the directives in the configuration file is not
-important. the rewriters are run in the pre-defined order presented in
-the table:
-</p>
-<table>
-  <thead>
-    <tr>
-      <th>Filter Name</th>
-      <th>In CoreFilters</th>
-      <th>In OptimizeForBandwidth</th>
-      <th>Brief Description</th>
-    </tr>
-  </thead>
-  <tbody>
-    <tr>
-      <td><code><a href="filter-image-responsive">
-            responsive_images</a></code></td>
-      <td>No</td><td>No</td><td>Makes images responsive by adding srcset with
-        images optimized for various resolutions.
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-head-add">add_head</a></code></td>
-      <td>Yes</td><td>No</td><td>
-        Adds a <code>&lt;head&gt;</code> element to the document if not
-        already present.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-head-combine">combine_heads</a></code></td>
-      <td>No</td><td>No</td><td>
-        Combines multiple <code>&lt;head&gt;</code> elements found in
-        document into one.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-css-inline-import"
-                   >inline_import_to_link</a></code></td>
-      <td>Yes</td><td>No</td><td>
-        Inlines &lt;style&gt; tags comprising only CSS @imports by
-        converting them to equivalent &lt;link&gt; tags.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-css-outline">outline_css</a></code></td>
-      <td>No</td><td>No</td><td>Externalize large blocks of CSS into a
-      cacheable file.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-js-outline">outline_javascript</a></code></td>
-      <td>No</td><td>No</td><td>Externalize large blocks of JS into a
-      cacheable file.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-css-above-scripts"
-                   >move_css_above_scripts</a></code></td>
-      <td>No</td><td>No</td><td>
-        Moves CSS elements above <code>&lt;script&gt;</code> tags.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-css-to-head">move_css_to_head</a></code></td>
-      <td>No</td><td>No</td><td>Moves CSS elements into
-      the <code>&lt;head&gt;</code>.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-css-combine">combine_css</a></code></td>
-      <td>Yes</td><td>No</td><td>Combines multiple CSS elements into one.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-css-rewrite">rewrite_css</a></code></td>
-      <td>Yes</td><td>Yes</td><td>
-        Rewrites CSS files to remove excess whitespace and comments, and, if
-        enabled, rewrite or cache-extend images referenced in CSS files.  In
-        OptimizeForBandwidth mode, the minification occurs in-place without
-        changing URLs.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-css-rewrite"
-                   >fallback_rewrite_css_urls</a></code></td>
-      <td>Yes</td><td>No</td><td>
-        Rewrites resources referenced in any CSS file that cannot otherwise be
-        parsed and minified.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-rewrite-style-attributes">
-            rewrite_style_attributes</a></code></td>
-      <td>No</td><td>No</td><td>
-        Rewrite the CSS in style attributes by applying the configured
-        rewrite_css filter to it.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-rewrite-style-attributes">
-            rewrite_style_attributes_with_url</a></code></td>
-      <td>Yes</td><td>No</td><td>
-        Rewrite the CSS in style attributes if it contains the text 'url('
-        by applying the configured rewrite_css filter to it</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-flatten-css-imports"
-                   >flatten_css_imports</a></code></td>
-      <td>Yes</td><td>No</td><td>Inline CSS by flattening all @import
-      rules.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-prioritize-critical-css"
-                   >prioritize_critical_css</a></code></td>
-      <td>No</td><td>No</td><td>Replace CSS tags with inline versions
-        that include only the CSS used by the page.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-make-google-analytics-async">
-            make_google_analytics_async</a></code></td>
-      <td>No</td><td>No</td><td>Convert synchronous use of Google
-        Analytics API to asynchronous</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-make-show-ads-async">
-            make_show_ads_async</a></code></td>
-      <td>No</td><td>No</td><td>Convert synchronous use of Google
-        AdSense API to asynchronous</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-js-minify">rewrite_javascript</a></code></td>
-      <td>Yes</td><td>Yes</td><td>
-        Rewrites JavaScript files to remove excess whitespace and comments.  In
-        OptimizeForBandwidth mode, the minification occurs in-place without
-        changing URLs.
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-js-minify">rewrite_javascript_external</a></code></td>
-      <td>Yes</td><td>Yes</td><td>
-        Implied by rewrite_javascript.  Rewrites JavaScript external files to remove
-        excess whitespace and comments.  In OptimizeForBandwidth mode, the minification
-        occurs in-place without changing URLs.
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-js-minify">rewrite_javascript_inline</a></code></td>
-      <td>Yes</td><td>Yes</td><td>
-        Implied by rewrite_javascript.  Rewrites inline JavaScript blocks to remove
-        excess whitespace and comments.
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-source-maps-include"
-                   >include_js_source_maps</a></code></td>
-      <td>No</td><td>No</td><td>
-        Adds source maps to rewritten JavaScript files.
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-js-combine">combine_javascript</a></code></td>
-      <td>Yes</td><td>No</td><td>Combines multiple script elements
-      into one.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-canonicalize-js"
-                   >canonicalize_javascript_libraries</a></code></td>
-      <td>No</td><td>No</td><td>Redirects JavaScript libraries to a
-      JavaScript hosting service.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-css-inline">inline_css</a></code></td>
-      <td>Yes</td><td>No</td><td>Inlines small CSS files into the HTML
-      document.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-css-inline-google-fonts"
-                   >inline_google_font_css</a></code></td>
-      <td>No</td><td>No</td><td>Inlines small CSS files used by
-        fonts.googleapis.com into the HTML document.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-js-inline">inline_javascript</a></code></td>
-      <td>Yes</td><td>No</td><td>Inlines small JS files into the HTML
-      document.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-local-storage-cache"
-                   >local_storage_cache</a></code></td>
-      <td>No</td><td>No</td><td>Cache inlined resources in HTML5 local
-      storage.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-insert-ga">insert_ga</a></code></td>
-      <td>No</td><td>No</td><td>Adds the Google Analytics snippet to
-      each HTML page.</td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#rewrite_images"
-                   >rewrite_images</a></code></td>
-      <td>Yes</td><td>No</td><td>Optimizes images, re-encoding them,
-        removing excess pixels, and inlining small images.  In
-        OptimizeForBandwidth mode, the minification occurs in-place
-        without changing URLs.
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#progressive">
-            convert_jpeg_to_progressive</a></code></td>
-      <td>Yes</td><td>Yes</td><td>Converts larger jpegs to progressive
-      format.  Implied by recompress images.</td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#png_to_jpeg">
-            convert_png_to_jpeg</a></code></td>
-      <td>Yes</td><td>Yes</td><td>Converts gif and png images into jpegs if they
-        appear to be less sensitive to compression artifacts and lack alpha
-        transparency.  Implied by recompress images.</td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#convert_jpeg_to_webp">
-            convert_jpeg_to_webp</a></code></td>
-      <td>Yes</td><td>Yes</td><td> Producess lossy webp rather than jpeg images
-        for browsers that support webp.  Implied by recompress images.
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#convert_to_webp_animated">
-            convert_to_webp_animated</a></code></td>
-      <td>No</td><td>No</td><td> Replaces animated gif images with webp images
-        on browsers that support the format.
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#convert_to_webp_lossless">
-            convert_to_webp_lossless</a></code></td>
-      <td>Yes</td><td>No</td><td>
-        Implied by rewrite_images.  Replaces png and non-animated gif images
-        with webp images on browsers that support the format.
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#insert_image_dimensions"
-                   >insert_image_dimensions</a></code></td>
-      <td>No</td><td>No</td><td>
-        Adds <code>width</code> and <code>height</code> attributes to
-        <code>&lt;img&gt;</code> tags that lack them.</td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#inline_images">
-            inline_images</a></code></td>
-      <td>Yes</td><td>No</td><td>
-        Implied by rewrite_images.  Replaces small images by
-        <code>data:</code> urls.</td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#recompress_images"
-                   >recompress_images</a></code></td>
-      <td>Yes</td><td>Yes</td><td>
-        Implied by rewrite_images.  Recompresses images, removing excess
-        metadata and transforming gifs into pngs.</td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#recompress_jpeg"
-                   >recompress_jpeg</a></code></td>
-      <td>Yes</td><td>Yes</td><td>
-        Implied by recompress_images.  Recompresses jpegs, removing excess
-        metadata.</td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#recompress_png"
-                   >recompress_png</a></code></td>
-      <td>Yes</td><td>Yes</td><td>
-        Implied by recompress_images.  Recompresses pngs, removing excess
-        metadata.</td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#recompress_webp"
-                   >recompress_webp</a></code></td>
-      <td>Yes</td><td>Yes</td><td>
-        Implied by recompress_images.  Recompresses webps, removing excess
-        metadata.</td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#convert_gif_to_png"
-                   >convert_gif_to_png</a></code></td>
-      <td>Yes</td><td>Yes</td><td>
-        Implied by recompress_images.  Optimizes gifs to pngs.
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#strip_image_color_profile"
-                   >strip_image_color_profile</a></code></td>
-      <td>Yes</td><td>Yes</td><td>Implied by recompress_images.  Strips color
-        profile info from images.</td>
-    </tr>
-    <tr>
-      <td><code><a
-                   href="reference-image-optimize#strip_image_meta_data"
-                   >strip_image_meta_data</a></code></td>
-      <td>Yes</td><td>Yes</td><td>Implied by recompress_images.  Strips EXIF
-        meta data from images.</td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#jpeg_sampling"
-                   >jpeg_sampling</a></code></td>
-      <td>Yes</td><td>Yes</td><td>Implied by recompress_images. Reduces the
-        color sampling of jpeg images to 4:2:0.</td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#resize_images"
-                   >resize_images</a></code></td>
-      <td>Yes</td><td>No</td><td>Implied by rewrite_images.  Resizes images
-        when the corresponding <code>&lt;img&gt;</code> tag specifies a
-        smaller <code>width</code> and <code>height</code>.</td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#resize_rendered_image_dimensions"
-                   >resize_rendered_image_dimensions</a></code></td>
-      <td>Yes</td><td>No</td><td>Implied by rewrite_images.  Resizes
-        an image when the rendered dimensions of the image are smaller
-        than the actual image.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-inline-preview-images"
-                   >inline_preview_images</a></code></td>
-      <td>No</td><td>No</td><td>
-        Uses inlined low-quality images as placeholders which will be
-        replaced with original images once the web page is loaded.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-inline-preview-images#resize_mobile_images"
-                   >resize_mobile_images</a></code></td>
-      <td>No</td><td>No</td><td>
-        Works just like <code>inline_preview_images</code>, but uses smaller
-        placeholder images and only serves them to mobile browsers.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-comment-remove">remove_comments</a></code></td>
-      <td>No</td><td>No</td><td>
-        Removes comments in HTML files (but not in inline JavaScript or CSS).
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-whitespace-collapse"
-                   >collapse_whitespace</a></code></td>
-      <td>No</td><td>No</td><td>
-        Removes excess whitespace in HTML files (avoiding
-        <code>&lt;pre&gt;</code>,
-        <code>&lt;script&gt;</code>,
-        <code>&lt;style&gt;</code>, and
-        <code>&lt;textarea&gt;</code>).
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-attribute-elide"
-                   >elide_attributes</a></code></td>
-      <td>No</td><td>No</td><td>
-        Removes attributes which are not significant according to the
-        HTML spec.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-cache-extend">extend_cache</a></code></td>
-      <td>Yes</td><td>No</td><td>
-        Extends cache lifetime of CSS, JS, and image resources that have not
-        otherwise been optimized, by signing URLs with a content hash.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-cache-extend">extend_cache_css</a></code></td>
-      <td>Yes</td><td>No</td><td>
-        Implied by extend_cache. Extends cache lifetime of otherwise unoptimized
-        CSS resources by signing URLs with a content hash.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-cache-extend">extend_cache_images</a></code></td>
-      <td>Yes</td><td>No</td><td>
-        Implied by extend_cache. Extends cache lifetime of otherwise unoptimized
-        images by signing URLs with a content hash.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-cache-extend">extend_cache_scripts</a></code></td>
-      <td>Yes</td><td>No</td><td>
-        Implied by extend_cache. Extends cache lifetime of otherwise unoptimized
-        scripts by signing URLs with a content hash.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-cache-extend-pdfs"
-                   >extend_cache_pdfs</a></code></td>
-      <td>No</td><td>No</td><td>
-        Extends cache lifetime of PDFs by signing URLs with a content hash.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-image-sprite">sprite_images</a></code></td>
-      <td>No</td><td>No</td><td>
-        Combine background images in CSS files into one sprite.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-domain-rewrite">rewrite_domains</a></code></td>
-      <td>No</td><td>No</td><td>
-        Rewrites the domains of resources not otherwise touched by
-        PageSpeed, based on <code>MapRewriteDomain</code> and
-        <code>ShardDomain</code> settings in the config file.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-trim-urls">trim_urls</a></code></td>
-      <td>No</td><td>No</td><td>
-        Shortens URLs by making them relative to the base URL.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-pedantic">pedantic</a></code></td>
-      <td>No</td><td>No</td><td>
-        Add default types for &lt;script&gt; and &lt;style&gt; tags if the type
-        attribute is not present and the page is not HTML5. The purpose of
-        this filter is to help ensure that PageSpeed does not break HTML4
-        validation.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-quote-remove">remove_quotes</a></code></td>
-      <td>No</td><td>No</td><td>
-        Removes quotes around HTML attributes that are not lexically required.
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-instrumentation-add"
-                   >add_instrumentation</a></code></td>
-      <td>No</td><td>No</td><td>
-        Adds JavaScript to page to measure latency and send back to the server.
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-convert-meta-tags"
-                   >convert_meta_tags</a></code></td>
-      <td>Yes</td><td>No</td><td>
-        Adds a response header for each <code>meta</code> tag with an
-        <code>http-equiv</code> attribute.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-js-defer">defer_javascript</a></code></td>
-      <td>No</td><td>No</td><td>
-        Defers the execution of JavaScript in HTML until page load complete.
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-dedup-inlined-images"
-                   >dedup_inlined_images</a></code></td>
-      <td>No</td><td>No</td><td>
-        Replaces repeated inlined images with JavaScript that loads the image
-        from the first occurence of the image.
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-lazyload-images">lazyload_images</a></code></td>
-      <td>No</td><td>No</td><td>
-        Loads images when they become visible in the client viewport.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-insert-dns-prefetch"
-                   >insert_dns_prefetch</a></code></td>
-      <td>No</td><td>No</td><td>
-        Inserts <code>&lt;link rel="dns-prefetch"
-          href="//www.example.com"&gt;</code> tags to reduce DNS resolution
-        time.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-hint-preload-subresources"
-                   >hint_preload_subresources</a></code></td>
-      <td>No</td><td>No</td><td>
-        Inserts <code>Link:&lt;/example.css&gt;; rel=preload</code>
-        headers to permit earlier fetching of important resources.</td>
-    </tr>
-    <tr>
-      <td><code><a href="system#in_place_optimize_for_browser"
-                   >in_place_optimize_for_browser</a></code></td>
-      <td>No</td><td>Yes</td><td>
-        Perform browser-dependent <a href="system#ipro">in-place resource
-        optimizations</a>.</td>.
-    </tr>
-  </tbody>
-</table>
-
-<h2 id="forbidding">Forbidding All Disabled Filters</h2>
-<p>
-You can
-<a href="experiment#PerRequest">enable filters for a specific request</a>
-using either query parameters or request headers, and you can
-<a href="configuration#htaccess">enable filters in sub-directories</a>
-using the <code>EnableFilters</code> directive.
-</p>
-<p>
-In both cases you can enable filters that are disabled or not explicitly
-enabled in the configuration file, however there are situations where
-this is undesirable, such as when a filter has been expressly disabled because
-it breaks a page, or because a filter imposes too great a load on the server.
-</p>
-<p>
-All disabled filters can be forced off with:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedForbidAllDisabledFilters true</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed ForbidAllDisabledFilters true;</pre>
-</dl>
-
-<p>
-Note that in this context <em>disabled filters</em> means all filters that
-are not enabled by the <code>RewriteLevel</code> or
-<code>EnableFilters</code> directives.
-</p>
-<p>
-This directive can be used in <a href="configuration#htaccess">location-specific
-configuration sections</a>.
-</p>
-
-<h2 id="checking-filter-config">Checking Which Filters Are Enabled</h2>
-<p>
-If you want to see exactly which filters are enabled on a virtual host, you
-can do so by going to that host's <a href="admin">admin or statistics</a> page.
-</p>
-
-<h2 id="tuning">Tuning the Filters</h2>
-<p>
-Once the rewriters are selected, some of them may also be tuned.  These
-parameters control the inlining and outlining thresholds of various resources.
-</p>
-
-<pre class="prettyprint">
-CssFlattenMaxBytes                       102400 (was 2048 prior to 1.9.32.1)
-CssImageInlineMaxBytes                        0
-CssInlineMaxBytes                          2048
-CssOutlineMinBytes                         3000
-ImageInlineMaxBytes                        3072
-ImageJpegNumProgressiveScans                 -1
-ImageJpegNumProgressiveScansForSmallScreens  -1
-ImageLimitOptimizedPercent                  100
-ImageLimitResizeAreaPercent                 100
-ImageRecompressionQuality                    85
-ImageResolutionLimitBytes              32000000
-JpegRecompressionQuality                     -1
-JpegRecompressionQualityForSmallScreens      70
-WebpRecompressionQuality                     80
-WebpAnimatedRecompressionQuality             70
-WebpRecompressionQualityForSmallScreens      70
-JsInlineMaxBytes                           2048
-JsOutlineMinBytes                          3000
-MaxInlinedPreviewImagesIndex                 -1
-MinImageSizeLowResolutionBytes             3072
-RetainComment                             "[WILDCARD PATTERN]"
-RewriteRandomDropPercentage                   0
-</pre>
-
-<p class="note"><strong>Note:</strong>
-The default settings are reasonable and intuitive, but have not been
-experimentally tuned.
-</p>
-<p>
-These directives can be used
-in <a href="configuration#htaccess">location-specific configuration
-sections</a>.
-</p>
-
-<h2 id="beacons">Controlling the use of beacons</h2>
-<p>
-The <code><a href="filter-lazyload-images">lazyload_images</a></code>,
-<code><a href="filter-inline-preview-images">inline_preview_images</a></code>,
-and <code><a href="reference-image-optimize#inline_images">inline_images</a>
-</code> filters, use a <a href="faq#beacons">beacon</a> to collect information
-about the rewritten page so as to optimize the rewriting process. The beacon
-is a <code>POST</code> request sent back by JavaScript inserted into the page
-by the filter. The use of this beacon is on by default but it can be disabled
-using:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedCriticalImagesBeaconEnabled false</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed CriticalImagesBeaconEnabled false;</pre>
-</dl>
-<p>
-If you disable image beacons but enable filters that use them, the filters will
-work but not as well as when beacons are enabled.
-</p>
-<p>
-This directive can be used in all scopes including
-<a href="configuration#htaccess">location-specific configuration sections</a>.
-</p>
-
-<h3 id="FinderPropertiesCacheExpirationTimeMs">Controlling beacon expiry</h3>
-<strong>Note: New option as of 1.12.34.1</strong>
-<p>
-By default beacon data is considered valid for two hours, but if your site has a
-lot of pages that change rarely and get few hits you might want to raise this
-limit:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedFinderPropertiesCacheExpirationTimeMs TtlInMs</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed FinderPropertiesCacheExpirationTimeMs TtlInMs;</pre>
-</dl>
-
-<h2 id="preserveurls">Preserving URLs in HTML</h2>
-<p>
-PageSpeed filters often modify the URLs of resources in HTML pages.  This is
-generally harmless but it has the potential to break pages whose JavaScript
-expects to read or modify the URLs in the page.
-</p>
-<p>
-image_preserve_urls, css_preserve_urls, and js_preserve_urls
-will suppress URL rewriting actions for the respective resource types.  Those
-filters that require modifications to the URL are disabled by the preserve
-directives.
-</p>
-<p class="note">
-<strong>Note:</strong>
-Even though resource URLs are unchanged that does not mean that they cannot
-still be optimized.  For instance,
-<a href="system#ipro">InPlaceResourceOptimization</a> still works since it does
-not alter URLs.  Turning on in place resource optimization is recommended when
-enabling any of the options to preserve URLs.  In version 1.9.32.1 and later
-in place resource optimization is enabled by default.
-</p>
-<p>
-Enabling image_preserve_urls will <a href="#forbidding">forbid</a>
-the use of the following filters:
-<code><a href="filter-inline-preview-images">inline_preview_images</a></code>,
-<code><a href="filter-lazyload-images">lazyload_images</a></code>,
-<code><a href="filter-cache-extend">extend_cache_images</a></code>,
-<code><a href="filter-image-optimize#inline_images">inline_images</a></code>,
-and <code><a href="filter-image-sprite">sprite_images</a></code>.
-</p>
-<p>
-Enabling css_preserve_urls will <a href="#forbidding">forbid</a> the use
-of the following filters:
-<code><a href="filter-css-combine">combine_css</a></code>,
-<code><a href="filter-cache-extend">extend_cache_css</a></code>,
-<code><a href="filter-css-inline">inline_css</a></code>,
-<code><a href="filter-css-inline-import">inline_import_to_link</a></code>,
-and <code><a href="filter-css-outline">outline_css</a></code>.
-</p>
-<p>
-Enabling js_preserve_urls will <a href="#forbidding">forbid</a> the use
-of the following filters:
-<code><a href="filter-canonicalize-js">canonicalize_javascript_libraries</a></code>,
-<code><a href="filter-js-combine">combine_javascript</a></code>,
-<code><a href="filter-js-defer">defer_javascript</a></code>,
-<code><a href="filter-cache-extend">extend_cache_javascript</a></code>,
-<code><a href="filter-js-inline">inline_javascript</a></code>,
-and <code><a href="filter-js-outline">outline_javascript</a></code>.
-</p>
-
-<h2 id="RewriteRandomDropPercentage">Reducing Load by Randomly Dropping
-Expensive Rewrites</h2>
-To reduce processing load, PageSpeed can be configured to optimize
-the most frequently fetched resources, leaving infrequently fetched
-resources alone.  This is accomplished by randomly dropping expensive
-(CSS and image) rewrites.  Frequently fetched resources will have a higher
-probability of being rewritten than infrequently fetched resources.
-Over time, frequently accessed resources will be optimized and cached so
-a page will be fully optimized. Infrequently accessed pages will be left
-unoptimized or partially optimized, saving CPU time and cache space.
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedRewriteRandomDropPercentage Percent</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed RewriteRandomDropPercentage Percent;</pre>
-</dl>
-<p>
-This is a load-tuning parameter (integer between 0 and 100 inclusive)
-that controls the percentage of resource rewrites that are randomly
-dropped. Currently only CSS and image rewrites are randomly dropped,
-as they are the CPU intensive rewrite tasks.  A value of 100 means all
-such rewrites are dropped and a value of 0 means no rewrites are
-dropped.  A value of 75 means that 75&#37; of image and CSS rewrites
-(selected at random) are dropped. Do not set this parameter to 100 in
-order prevent optimization of images and CSS files, it is more efficient
-to instead disable the image and/or CSS filters.
-</p>
-<p>
-As an example, if the value is 90 then an image fetched only once will
-be optimized with 10&#37; probability while an image fetched 50 times
-will be optimized with 99.65&#37; probability (1 - 0.9&#94;50).  You
-may need to tune this parameter to find a value that provides the
-right load on your servers and still provides sufficient image and CSS
-optimization.
-</p>
-<p class="note"><strong>Note: Images within CSS files are not randomly dropped
-as this would lead to partially optimized CSS resources.</strong></p>
-
-<h2 id="multi_server">Configuring for Multiple Servers</h2>
-<p>
-When running PageSpeed on multiple servers, it is important that
-each have the same configuration file.  This ensures that when a
-browser requests an image or other resource from one server, it will
-be optimized using the same options that were used to compute the
-optimized resource when HTML was served.  It is helpful to
-use <a href="system.html#memcached">memcached</a> to share cache
-between servers as it improves multi-server performance and
-scalability, but it is still important that the configurations are
-consistent to get the desired behavior when optimized images are
-evicted from cache.
-</p>
-
-<p>
-Note also that <a href="configuration#htaccess">location-specific configuration
-settings</a> should be consistent between the HTML paths and the resource
-paths.</p>
-
-<p id="add_options_to_urls" class="note">
-
-<p>In some sites, the URL path layout or network deployment strategy may
-not allow for consistent configuration between HTML and images.
-PageSpeed offers a workaround for such sites by encoding relevant
-configuration settings for each rewritten resource into the URLs:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">ModPagespeedAddOptionsToUrls on</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">pagespeed AddOptionsToUrls on;</pre>
-</dl>
-
-<p>
-This adds an encoding of the options that are relevant to each rewritten
-resource to the URLs.  While the produced URLs are larger, this provides a
-mechanism to propagate configuration without having to share a configuration
-file.  For example, a site with image recompression on and JPEG compression set
-to 85 would see URLs like
-<code>http://example.com/ximage.jpg.pagespeed.gp+jw+pj+rj+rp+rw+iq=85.ic.HASH.jpg</code>.
-While it is better to have the extra configuration details in the configuration
-file, this option offers a fallback plan when that is not practical.
-</p>
-
-<h2 id="custom-fetch-headers">Custom Fetch Headers</h2>
-
-<p>
-When not using <a href="domains#ModPagespeedLoadFromFile"
->LoadFromFile</a>, PageSpeed has to make HTTP requests for sub-resources of a
->page in order to rewrite them.  Consider the following HTML snippet:
-</p>
-<pre class="prettyprint">
-    ...
-    &lt;body&gt;
-      &lt;img src="example.jpg"&gt;
-      ...
-</pre>
-<p>
-If the <a href="filter-image-optimize">rewrite_images</a>
-filter is enabled, PageSpeed needs to fetch <code>example.jpg</code> in order
-to inline, compress, or otherwise optimize it.  If you would like custom
-headers to be sent with all sub-resource fetches like this one, you can use
-the <code>CustomFetchHeader</code> directive:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedCustomFetchHeader CustomHeader CustomHeaderValue
-ModPagespeedCustomFetchHeader AnotherCustomHeader AnotherValue</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed CustomFetchHeader CustomHeader CustomHeaderValue;
-pagespeed CustomFetchHeader AnotherCustomHeader AnotherValue;</pre>
-</dl>
-
-
-<h2 id="unsupported-filters">Unsupported Filters</h2>
-<p>
-The PageSpeed code base contains a number of additional filters whose use is
-unsupported.  Some of these are experimental; note that using experimental
-filters is likely to result in crashes or site breakage.  Others are used for
-debugging specific problems with PageSpeed:
-</p>
-  <table>
-    <thead><tr>
-        <th>Debugging filter name</th>
-        <th>Brief Description</th>
-    </tr></thead>
-    <tr>
-      <td><code>add_base_tag</code></td>
-      <td>
-        Adds a <code>&lt;base&gt;</code> element to the beginning of
-        the <code>&lt;head&gt;</code> that reflects the base url PageSpeed
-        is using to resolve relative url references in the page.</td>
-    </tr>
-    <tr>
-      <td id="debug"><code>debug</code></td>
-      <td>
-        Adds comments to the page describing actions by certain filters, and
-        attempts to serve JavaScript injected by PageSpeed in source form
-        rather than compiled and minified.
-      </td>
-    </tr>
-    <tr>
-      <td><code>deterministic_js</code></td>
-      <td>
-        Attempts to provide deterministic JavaScript behavior on each page, for
-        example by replacing the timer and random number generator with
-        functions that return the same sequence of values on every page load.
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-strip-scripts">strip_scripts</a></code></td>
-      <td>
-        Removes all script tags from the document.</td>
-    </tr>
-  </table>
-<p class="note">
-<strong>Note: None of the above filters should be used to serve live traffic.</strong>
-</p>
-
-<h2 id="remote-configuration">Remote Configuration</h2>
-<p class="note"><strong>Note: New feature as of 1.10.33.0</strong></p>
-<p>
-PageSpeed filters and configurations can also be specified by an external
-&quot;Remote Configuration&quot; file. The remote configuration will override
-the main configuration file, override <code>.htaccess</code> configurations, and
-be overridden by any query-level parameters.
-<p>
-To specify the <code>RemoteConfigurationUrl</code>:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedRemoteConfigurationUrl https://example.com/remote.conf</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed RemoteConfigurationUrl https://example.com/remote.conf;</pre>
-</dl>
-<p>
-The syntax for the remote configuration file is similar to that of the
-<code>.htaccess</code> configurations with a few notable exceptions. Directives
-don't  use <code>ModPagespeed</code> as a prefix. Comments are specified by
-<code>#</code> and must be on their own line. Filters and options with
-<code>DirectoryScope</code> or higher may be applied with the remote
-configuration. Any invalid lines in the remote configuration will be skipped, a
-warning will be logged, and the remaining lines will still be parsed. The remote
-configuration terminates with a line beginning with
-<code>EndRemoteConfig</code>, and any lines after this are ignored. If the
-configuration file does not contain a line beginning with
-<code>EndRemoteConfig</code> no configuration will be applied. An example
-configuration for enabling the <code>remove_comments</code> filter is as
-follows.
-<p>
-<pre>
-  # Enable the remove_comments filter.
-  EnableFilter remove_comments
-  EndRemoteConfig
-  # Everything after the previous line will be ignored.
-</pre>
-</p>
-<p>
-The remote configuration file will be fetched on the server's startup,
-and cached for the extent determined by the remote server's
-<code>Cache-Control</code> and <code> Expires</code> headers. For example, if
-the remote configuration hosting server provides the header
-<code>Cache-Control: max-age=3600</code>, the next fetch of the
-remote configuration will happen at the first request after 3600 seconds.
-Failed fetches after successful fetches will continue to serve the stale config.
-The remote configuration should be used in addition to your original
-configuration. The remote configuration is not guaranteed to be fetched and
-applied to every request, so the site should not rely on the remote
-configuration in order to work.
-</p>
-The timeout for the fetching the remote configuration file can also be
-specified. The default timeout is one second. To specify the fetching timeout.
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedRemoteConfigurationTimeoutMs 1500</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed RemoteConfigurationTimeoutMs 1500;</pre>
-</dl>
-Fetching the remote configuration will block for up to the specified timeout.
-<p class="note"><strong>Note:</strong>
-Remote configurations can not be fetched from the same server that is running
-the instance of pagespeed.
-</p>
-</p>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/configuration.html b/doc/configuration.html
deleted file mode 100644
index 619f199..0000000
--- a/doc/configuration.html
+++ /dev/null
@@ -1,638 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>PageSpeed Configuration</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>PageSpeed Configuration</h1>
-
-<h2 id="module">Enabling the Module</h2>
-<p>
-PageSpeed contains an "output filter" plus several content handlers.
-<p class="note">
-<strong>Note:</strong>
-The location of the configuration file is dependent both on the Linux
-distribution on which PageSpeed is installed and on whether you're using
-PageSpeed with Apache or Nginx.
-</p>
-
-<p>
-In Apache the configuration file
-is <code>pagespeed.conf</code> and will be in either:
-<pre>
-Debian/Ubuntu: /etc/apache2/mods-available/
-CentOS/Fedora: /etc/httpd/conf.d/
-</pre>
-In Nginx the configuration typically should go in your <code>nginx.conf</code>
-which for source installs defaults to being in:
-<pre>
-/usr/local/nginx/conf/
-</pre>
-</p>
-
-<p>
-In Apache PageSpeed is enabled automatically when you install the module while
-in Nginx you need to add several lines to your <code>nginx.conf</code>.  In
-every <code>server</code> block where PageSpeed is enabled add:
-
-<pre>
-pagespeed on;
-
-# Needs to exist and be writable by nginx.  Use tmpfs for best performance.
-pagespeed FileCachePath /var/ngx_pagespeed_cache;
-
-# Ensure requests for pagespeed optimized resources go to the pagespeed handler
-# and no extraneous headers get set.
-location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {
-  add_header "" "";
-}
-location ~ "^/pagespeed_static/" { }
-location ~ "^/ngx_pagespeed_beacon$" { }
-</pre>
-
-See the <a href="admin#config">Admin Page documentation</a> for
-instructions on how to configure handlers to provide visibility and
-control into PageSpeed's operation.
-
-<h2 id="on_off">Turning the module on and off</h2>
-<!-- keep old anchors so as not to break existing links -->
-<a name="on_off_nginx"></a><a name="nginx_specific"></a>
-
-<h3 id=on>Setting the module on</h3>
-
-<p>
-
-To turn PageSpeed on, just set:
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">ModPagespeed on</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">pagespeed on;</pre>
-</dl>
-
-<h3 id=standby>Setting the module to standby</h3>
-
-<p>
-
-PageSpeed has a standby mode where by default it won't make changes to your site
-but it will process two kinds of PageSpeed-specific requests:
-
-<ul>
-  <li><p>Requests with <a href="experiment#PerRequest">PageSpeed query
-      parameters</a>.  These allow you to have PageSpeed off in your main
-      configuration, but manually make requests to see how your site would look
-      under various combinations of filters and options.
-  <li><p>Requests for <code>.pagespeed.</code> resources.  When PageSpeed is
-      running it creates various kinds of optimized resources, and gives them
-      names containing <code>.pagespeed.</code>.  If you turned
-      PageSpeed <a href="#unplugged">fully off</a> then lingering requests to
-      these resorces would fail.  In standby mode these requests are still
-      served as if PageSpeed were enabled.
-</ul>
-
-<p>
-
-In versions 1.12 and earlier only mod_pagespeed supported standby mode, via
-the <code>off</code> setting:
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">ModPagespeed off</pre>
-</dl>
-
-<p>
-
-In versions 1.13.35.1 and later, both mod_pagespeed and ngx_pagespeed
-support <code>standby</code>:
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">ModPagespeed standby</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">pagespeed standby;</pre>
-</dl>
-
-<h3 id=unplugged>Setting the module fully off</h3>
-
-To turn PageSpeed fully off, set:
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">ModPagespeed unplugged</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">pagespeed unplugged;</pre>
-</dl>
-
-<p class=warning><b>Warning:</b> do not set ngx_pagespeed
-to <code>unplugged</code> in 1.12.34.1 and earlier.  That will result in
-crashes.  With those versions, use <code>off</code> instead
-of <code>unplugged</code>.
-
-<p>
-
-The <code>on</code>, <code>off</code>, and (in 1.13.35.1 and
-later) <code>standby</code> values can be used in
-<a href="#htaccess"><code>.htaccess</code> files,
-<code>&lt;Directory&gt;</code></a> scopes, <code>query parameters</code>, and
-<code>headers</code>.  The <code>unplugged</code> value can only be used in the
-top-level Apache configuration and in virtual hosts.  Note that
-<code>ModPagespeed on</code> in a virtual host can override a top-level
-<code>ModPagespeed unplugged</code> directive.
-</p>
-
-<h2 id="apache_specific">Apache-Specific Configuration</h2>
-
-<h3 id="output_filter">Setting up the Output Filter</h3>
-
-<p>
-The output filter is used to parse, optimize, and re-serialize HTML
-content that is generated elsewhere in the Apache server.
-</p>
-<pre class="prettyprint">
-# Direct Apache to send all HTML output to the mod_pagespeed output handler.
-AddOutputFilterByType MOD_PAGESPEED_OUTPUT_FILTER text/html
-</pre>
-<p class="note"><strong>Note:</strong> mod_pagespeed automatically enables
-<code>mod_deflate</code> for compression.
-</p>
-
-<h3 id="apache24">Support for Apache 2.4.x</h3>
-<p>
-<code>mod_pagespeed</code> is compatible with Apache 2.2.x and Apache 2.4.x
-series, versions 2.4.2 and newer. Please note that Apache 2.4.1 has a bug that
-may cause stability problems in combination with <code>mod_pagespeed</code>,
-so use with 2.4.1 is strongly discouraged.
-</p>
-
-<p>
-As Apache 2.4 is not API compatible with 2.2, support for it is provided
-via a separate module binary, <code>mod_pagespeed_ap24.so</code> instead of the
-usual <code>mod_pagespeed.so</code>.  The configuration provided in our binary
-packages will normally load the right module version automatically. However,
-if you upgrade the CentOS packages from an earlier version, the needed
-configuration change may not get applied on top of a user-customized
-<code>pagespeed.conf</code>, so you may need to adjust the
-<code>LoadModule</code> line manually.
-</p>
-
-<p>
-Source builds with <code>mod_pagespeed</code>-provided Apache headers will
-build both 2.2.x and 2.4.x binaries as well, and you will need to add a
-<code>LoadModule</code> line matching the server version in use, or use
-a pattern similar to:
-<pre class="prettyprint">
-&lt;IfModule !mod_version.c>
-  LoadModule version_module /usr/lib/apache2/modules/mod_version.so
-&lt;/IfModule>
-
-&lt;IfVersion &lt; 2.4>
-  LoadModule pagespeed_module /usr/lib/apache2/modules/mod_pagespeed.so
-&lt;/IfVersion>
-&lt;IfVersion >= 2.4.2>
-  LoadModule pagespeed_module /usr/lib/apache2/modules/mod_pagespeed_ap24.so
-&lt;/IfVersion>
-</pre>
-to auto-detect. Builds against system Apache headers will only be compatible
-with that version family, and will always produce a single module named
-<code>mod_pagespeed.so</code>.
-</p>
-
-<h2 id="honor-csp">Honoring Content-Security-Policy Headers</h2>
-<p>
-  As of 1.13.35.1 PageSpeed is able to adapt its optimizations according to any
-  Content Security Policies specified in the response headers. In this release
-  you need to opt-in into this feature, future releases may turn it on by
-  default.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">ModPagespeedHonorCsp on</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">pagespeed HonorCsp on;</pre>
-</dl>
-
-<h2 id="respectvary">Respecting Vary Headers</h2>
-<p>
-In order to maximize the number of resources that PageSpeed can rewrite, by
-default the module does not respect <code>Vary: User-Agent</code> and
-other <code>Vary</code> headers on resource files, such as JavaScript and css
-files.  By disregarding the <code>Vary</code> headers, PageSpeed is able to keep
-the size of the cache down. PageSpeed will <em>always</em> respect <code>Vary:
-Accept-Encoding</code>, regardless of this setting.  PageSpeed will
-also <em>always</em> respect <code>Vary</code> headers on <code>HTML</code>
-files, regardless of this setting.
-</p>
-<p>
-If a site has resources that legitimately vary on <code>User-Agent</code>, or
-on some other attribute, then in order to preserve that behavior, you must
-add</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">ModPagespeedRespectVary on</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">pagespeed RespectVary on;</pre>
-</dl>
-<p>to your configuration file.</p>
-<p>Please note that turning on this option will disable optimization of any
-resources with <code>Vary</code> headers, apart from
-<code>Vary: Accept-Encoding</code>.</p>
-
-<h2 id="notransform">Honoring no-transform Cache-Control Headers</h2>
-<p>
-By default, PageSpeed does not rewrite resources that have
-<code>Cache-Control: no-transform</code> set in the Response Header. This is
-true for all types of resources, such as JavaScript, images, CSS etc. By
-respecting <code>Cache-Control: no-transform</code> headers, PageSpeed cannot
-optimize resources that could otherwise be rewritten.
-</p>
-<p>
-To optimize resources irrespective of <code>Cache-Control: no-transform</code>
-headers, you must add</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">ModPagespeedDisableRewriteOnNoTransform off</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">pagespeed DisableRewriteOnNoTransform off;</pre>
-</dl>
-<p>to your configuration file.</p>
-<p>Please note that PageSpeed will always respect
-<code>Cache-Control: no-transform</code> headers on <code>HTML</code> files
-irrespective of the setting. And also, PageSpeed will always retain the
-<code>Cache-Control: no-transform</code> headers on the resource irrespective of
-the setting so that the downstream cache control mechanisms do not get affected.
-</p>
-
-<h2 id="lower_case">Lower-casing HTML element and attribute names</h2>
-<p>
-HTML is
-<a href="http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-5353782642-h2">
-  case-insensitive</a>, whereas XML and XHTML are not.  Web performance
-<a target="_blank" href="https://developers.google.com/speed/docs/best-practices/payload#consistency">Best Practices</a> suggest using lowercase
-keywords, and PageSpeed can safely make that transformation in HTML
-documents.
-</p>
-<p>
-In general, PageSpeed knows whether a document is HTML or not
-via <code>Content-Type</code> tags in HTTP headers, and <code>DOCTYPE</code>.
-However, many web sites have <code>Content-Type: text/html</code> for resources
-that are actually XML documents.
-</p>
-<p>
-If PageSpeed lowercases keywords in XML pages, it can break the consumers of
-such pages, such as Flash.  To be conservative and avoid breaking such pages,
-PageSpeed does not lowercase HTML element and attribute names by
-default. However, you can sometimes achieve a modest improvement in the size of
-compressed HTML by enabling this feature with:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedLowercaseHtmlNames on</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed LowercaseHtmlNames on;</pre>
-</dl>
-
-<p>
-
-These directives can be used in <a href="#htaccess">location-specific
-configuration sections</a>.
-</p>
-
-<h3>Risks</h3>
-<p>
-This switch is only risky in the presence of XML files that are
-incorrectly served with <code>Content-type: text/html</code>.
-Lower-casing XML element and attribute may affect whatever software is
-reading the XML.
-</p>
-
-<h2 id="ModifyCachingHeaders">Preserving HTML caching headers</h2>
-<p>
-  By default, PageSpeed serves all HTML with
-  <code>Cache-Control: no-cache, max-age=0</code> because the transformations
-  made to the page may not be cacheable for extended periods of time.
-</p>
-<p>
-  If you want to force PageSpeed to leave the original HTML caching headers
-  you can add:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedModifyCachingHeaders off</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed ModifyCachingHeaders off;</pre>
-</dl>
-<p class="note">
-  <b>Note:</b> We do not suggest you turn this option off. It breaks PageSpeed's
-  caching assumptions and can lead to unoptimized HTML being served from a proxy
-  caches set up in front of the server.  If you do turn it off, we suggest that
-  you do not set long caching headers to HTML or users may receive stale or
-  unoptimized content.
-</p>
-
-<h2 id="XHeaderValue">Specifying the value for the PageSpeed header</h2>
-<p>
-  By default, PageSpeed adds an header, <code>X-Mod-Pagespeed</code> in
-  Apache, <code>X-Page-Speed</code> in Nginx, with the version of PageSpeed
-  being used.  The format of this header is:
-</p>
-
-<pre>[Major].[Minor].[Branch].[Point]-[Commit]</pre>
-
-<p>
-  For example:
-</p>
-
-<pre>1.9.32.3-4448</pre>
-
-<p>
-  We update these following this schedule:
-</p>
-
-<dl>
-  <dt>Major Version</dt>
-  <dd>Incremented when we make very large changes.</dd>
-
-  <dt>Minor Version</dt>
-  <dd>Incremented for each release since the last major version</dd>
-
-  <dt>Branch Number</dt>
-  <dd>Incremented for every release.  Always increasing.</dd>
-
-  <dt>Point Number</dt>
-  <dd>Incremented each time we build a new release candidate or patch release,
-      resets on each minor release.</dd>
-
-  <dt>Commit Number</dt>
-  <dd>Incremented each time we accept a commit to the PSOL trunk.  Always
-      increasing.</dd>
-</dl>
-
-<p>
-  All servers running a given release will have the same value for this header
-  by default.  If you would like to change the value reported, you can use
-  the <code>XHeaderValue</code> directive to specify what to use instead:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedXHeaderValue "Powered By mod_pagespeed"</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed XHeaderValue "Powered By ngx_pagespeed";</pre>
-</dl>
-<p class="note">
-  <b>Note:</b> You cannot suppress the injection of this header. This is because
-  it is used to prevent infinite loops and unnecessary rewrites when PageSpeed
-  fetches resources from an origin that also uses PageSpeed.
-</p>
-
-<h2 id="htaccess">Location-Specific Configuration</h2>
-<p>With an <code>.htaccess</code> file (Apache), <code>&lt;Directory&gt;</code>
-scope (Apache), or <code>location</code> block (Nginx) you can control most of
-the PageSpeed directives.  Note, however, that the
-file-matching is only relevant to the HTML file, and not to any of the resources
-referenced from the HTML file.  To restrict resources by directory, you must use
-the PageSpeed <a href="/speed/pagespeed/module/restricting_urls"><code
->Allow</code> and <code>Disallow</code> directives</a>, using full paths or
-wildcards in those directives.</p>
-
-<p class="warning">
-  <b>Warning:</b> Resources and the HTML files that reference them must have
-  the same options.  If they differ you may see poor performance and
-  inconsistent application of options.
-</p>
-
-<p>In Apache, the advantage of <code>.htaccess</code> is that it can be used in
-environments where the site administrator does not have access to the server
-configuration.  However, there is a significant per-request overhead from
-processing <code>.htaccess</code> files.
-See <a href="http://httpd.apache.org/docs/2.2/howto/htaccess.html">The Apache
-HTTP Server Documentation</a>:</p>
-
-<p class="note">
-<strong>Note:</strong> You should avoid using <code>.htaccess</code> files
-completely if you have access to the httpd main server config file. Using
-<code>.htaccess</code> files slows down your Apache server. Any directive
-that you can include in a <code>.htaccess</code> file is better set in a
-<a href="http://httpd.apache.org/docs/2.2/mod/core.html#directory"
-     ><code>&lt;Directory&gt;</code></a> block, as
-it will have the same effect with better performance.
-</p>
-<p>
-<a href="#virtual-hosts">Virtual hosts</a> are generally a better way of
-configuring multiple sites on the same server.
-</p>
-
-<h2 id="virtual-hosts">Using PageSpeed With Virtual Hosts</h2>
-
-<p>By default, PageSpeed enables itself for the entire server, with global
-options propagating to all
-<a href="http://httpd.apache.org/docs/current/vhosts/">VirtualHost</a>s
-(Apache) or <code>server</code> blocks (Nginx). Options can be overridden
-per host, including the ability the limit which hosts PageSpeed runs on.</p>
-
-<p class="note"><strong>Note:</strong>
-When using Apache, it used to be possible to set <code>InheritVHostConfig</code>
-to "off" to stop global configuration from propagating to VHosts. However,
-enabling <code>InheritVHostConfig</code> makes PageSpeed options behave like
-other Apache options and has been the recommended configuration since 2012. The
-option has now been deprecated and will be forced to "on" in the next major
-PageSpeed release.</p>
-
-<dl>
-<dt>Apache:<dd><pre class="prettyprint lang-sh">
-ModPagespeed On
-ModPagespeedInheritVHostConfig on
-ModPagespeedFileCachePath "/var/cache/mod_pagespeed/"
-ModPagespeedEnableFilters combine_css,combine_javascript
-# Direct Apache to send all HTML output to the mod_pagespeed
-# output handler.
-AddOutputFilterByType MOD_PAGESPEED_OUTPUT_FILTER text/html
-
-NameVirtualHost *:80
-&lt;VirtualHost *:80&gt;
-  DocumentRoot /www/example1
-  ServerName www.example1.com
-  ModPagespeedMapRewriteDomain cdn.example1.com *example.com
-&lt;/VirtualHost&gt;
-
-&lt;VirtualHost *:80&gt;
-  DocumentRoot /www/example2
-  ServerName www.example2.org
-  ModPagespeedMapRewriteDomain cdn.example2.org *example.org
-  # Don't want combine_css here
-  ModPagespeedDisableFilters combine_css
-&lt;/VirtualHost&gt;
-
-&lt;VirtualHost *:80&gt;
-  DocumentRoot /www/example3
-  ServerName www.example3.org
-  # mod_pagespeed off for this virtual host
-  ModPagespeed Off
-&lt;/VirtualHost&gt;
-</pre>
-<dt>Nginx:<dd><pre class="prettyprint">
-http {
-  pagespeed On;
-  pagespeed FileCachePath "/var/cache/ngx_pagespeed/";
-  pagespeed EnableFilters combine_css,combine_javascript;
-
-  server {
-    listen 80;
-    server_name www.example1.com;
-    root /www/example1;
-    pagespeed MapRewriteDomain cdn.example1.com *example.com;
-  }
-
-  server {
-    listen 80;
-    server_name www.example2.org;
-    root /www/example2;
-    pagespeed MapRewriteDomain cdn.example2.org *example.org;
-    # Don't want combine_css here
-    pagespeed DisableFilters combine_css;
-  }
-
-  server {
-    listen 80;
-    server_name www.example3.org;
-    root /www/example3;
-
-    # mod_pagespeed off for this virtual host
-    pagespeed off;
-  }
-</pre>
-</dl>
-
-<h2 id="preserve-url-relativity">Preserve URL Relativity</h2>
-
-<p>
-  Previous versions of PageSpeed would rewrite relative URLs into absolute URLs.
-  This wastes bytes and can cause problems for sites that sit behind HTTPS
-  terminators.
-</p>
-<p>
-  With <code>PreserveUrlRelativity on</code>, PageSpeed will keep URLs the way
-  they were found. Some examples:
-</p>
-<table>
-  <tr>
-    <th>Original URL</th>
-    <th>Rewritten URL</th>
-  </tr><tr>
-    <td><code>foo/bar.png</code></td>
-    <td><code>foo/bar.png.pagespeed.ic.Hash.png</code></td>
-  </tr><tr>
-    <td><code>/bar.png</code></td>
-    <td><code>/bar.png.pagespeed.ic.Hash.png</code></td>
-  </tr><tr>
-    <td><code>//example.com/bar.png</code></td>
-    <td><code>//example.com/bar.png.pagespeed.ic.Hash.png</code></td>
-  </tr><tr>
-    <td><code>http://example.com/bar.png</code></td>
-    <td><code>http://example.com/bar.png.pagespeed.ic.Hash.png</code></td>
-  </tr>
-</table>
-</ul>
-<p>
-  To enable this option, add:
-</p>
-<dl>
-  <dt>Apache:
-    <dd><pre class="prettyprint">ModPagespeedPreserveUrlRelativity on</pre>
-  <dt>Nginx:
-    <dd><pre class="prettyprint">pagespeed PreserveUrlRelativity on;</pre>
-</dl>
-<p>to your configuration file.</p>
-<p>
-  Note: This option will be enabled by default in future versions of PageSpeed
-  and eventually the option will be removed entirely.
-</p>
-
-<h2 id="pagespeed_static">Configuring the location of static assets</h2>
-
-<p>
-  Several filters, including <a href="filter-js-defer">defer_javascript</a> and
-  <a href="filter-lazyload-images">lazyload_images</a>, require external
-  resources that must be loaded from somewhere.  Before 1.8.31.2,
-  mod_pagespeed would load these files from <code>/mod_pagespeed_static</code>
-  while ngx_pagespeed would load them from <code>/ngx_pagespeed_static</code>.
-  In 1.8.31.2 the default was changed to <code>/pagespeed_static</code> for
-  both platforms and a directive was added to make the path configurable:
-</p>
-<dl>
-  <dt>Apache:
-    <dd><pre class="prettyprint"
-       >ModPagespeedStaticAssetPrefix /custom/static/</pre>
-  <dt>Nginx:
-    <dd><pre class="prettyprint"
-       >pagespeed StaticAssetPrefix /custom/static/;</pre>
-</dl>
-
-<h2 id="add-resource-header">Configuring headers for optimized resources</h2>
-<p>
-  When creating optimized <code>.pagespeed.</code> resources, PageSpeed
-  generates headers that are correct for most users.  However, some users
-  require additional headers.  For instance if you're
-  using <a
-  href="https://en.wikipedia.org/wiki/Cross-origin_resource_sharing">CORS</a>
-  and you want to have PageSpeed set <code>Access-Control-Allow-Origin:
-  http://www.example.com</code> headers on the resources it creates, you can
-  set:
-</p>
-<dl>
-  <dt>Apache:
-    <dd><pre class="prettyprint"
-       >ModPagespeedAddResourceHeader "Access-Control-Allow-Origin" "http://www.example.com"</pre>
-  <dt>Nginx:
-    <dd><pre class="prettyprint"
-       >pagespeed AddResourceHeader "Access-Control-Allow-Origin" "http://www.example.com";</pre>
-</dl>
-<p>
-  If you have multiple headers you want inserted you can include
-  an <code>AddResourceHeader</code> directive for each one.
-<p>
-
-<h2 id="ListOutstandingUrlsOnError">List outstanding urls on error</h2>
-<p>
-  When debugging fetching, it can be useful to know how things are failing.  If
-  you enable <code>ListOutstandingUrlsOnError</code> then PageSpeed will report
-  a message in the error log at level <code>"error"</code> for every URL fetch
-  in flight when the HTTP stack encounters a system error, e.g. "Connection
-  Refused".  To enable this feature, set:
-</p>
-<dl>
-  <dt>Apache:
-    <dd><pre class="prettyprint">ModPagespeedListOutstandingUrlsOnError on</pre>
-  <dt>Nginx:
-    <dd><pre class="prettyprint">pagespeed ListOutstandingUrlsOnError on;</pre>
-</dl>
-
-<h2 id="reverse-proxy">Using PageSpeed as a reverse proxy</h2>
-<p>
-Typically, PageSpeed is used on an Apache or Nginx server that is already
-serving its own content. However, PageSpeed can be used with Nginx or Apache as
-a proxy for another server.
-</p>
-<p>
-With Apache and mod_pagespeed, <a href="http://httpd.apache.org/docs/2.2/mod/mod_proxy.html">
-  mod_proxy</a> can be used to configure Apache as a reverse proxy.
-</p>
-<p>
-With Nginx and ngx_pagespeed, <a href="http://nginx.com/resources/admin-guide/reverse-proxy/">
-  proxy_pass</a> can be used to configure Nginx as a reverse proxy.
-</p>
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/console.html b/doc/console.html
deleted file mode 100644
index fb7b95d..0000000
--- a/doc/console.html
+++ /dev/null
@@ -1,223 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>PageSpeed Console</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>PageSpeed Console</h1>
-<h2 id="about">About the Console</h2>
-<p>
-  The PageSpeed Console reports various problems your installation has that can
-  lead to sub-optimal performance. The console graphs metrics for these
-  problems over time so that you can see the result of your changes
-  improving or degrading your performance. You can view it by enabling it and
-  then visiting <code>/pagespeed_admin/console</code> from your server. The
-  console works by saving snapshots of the statistics reported by
-  PageSpeed and then using the Google Chart Tools API to graph those
-  statistics over time.
-<h2 id="configuring">Configuring the Console</h2>
-<p>
-  The PageSpeed Console is configured with several directives in the
-  configuration file. See
-  <a href="install#module">PageSpeed Installation and Configuration</a>
-  for details about this file. Each of these directives is explained here.
-</p>
-<ul>
-  <li>
-    <code><a href="admin#statistics">Statistics</a></code>
-    must be enabled to report statistics.</li>
-  <li>
-    <code>StatisticsLogging</code> must be enabled so that graphs of
-    statistics over time can be drawn in the console.</li>
-  <li>
-    <code>LogDir</code> must be set so that we have a directory to store
-    statistic logs.</li>
-  <li>
-    In order to access the console, you must set a handler appropriately.
-    For example, to make the console only accessible from localhost:
-    <dl>
-      <dt>Apache:<dd><pre>
-ModPagespeedStatistics on
-ModPagespeedStatisticsLogging on
-ModPagespeedLogDir /var/log/pagespeed
-&lt;Location /pagespeed_admin&gt;
-  Order allow,deny
-  Allow from localhost
-  Allow from 127.0.0.1
-  SetHandler pagespeed_admin
-&lt;/Location&gt;</pre>
-      <dt>Nginx:<dd><pre>
-pagespeed Statistics on;
-pagespeed StatisticsLogging on;
-pagespeed LogDir /var/log/pagespeed;
-pagespeed AdminPath /pagespeed_admin;
-
-location ~ ^/pagespeed_admin {
-  allow 127.0.0.1;
-  deny all;
-}</pre>
-    </dl>
-  </li>
-</ul>
-<p>
-  Additionally these optional parameters may be configured:
-</p>
-<ul>
-  <li>
-    <code>StatisticsLoggingIntervalMs</code> may be set to indicate how often
-    to log statistics snapshots (in milliseconds).</li>
-  <li>
-    <code>StatisticsLoggingMaxFileSizeKb</code> may be set to indicate the
-    maximum size for the logfile (in kilobytes).</li>
-</ul>
-<p>
-  For example, to log once a minute with a maximum log size of 1 MB:
-</p>
-<dl>
-  <dt>Apache:<dd><pre>
-ModPagespeedStatisticsLoggingIntervalMs 60000
-ModPagespeedStatisticsLoggingMaxFileSizeKb 1024</pre>
-  <dt>Nginx:<dd><pre>
-pagespeed StatisticsLoggingIntervalMs 60000;
-pagespeed StatisticsLoggingMaxFileSizeKb 1024;</pre>
-</dl>
-
-<h2 id="access">Accessing the Console</h2>
-<p>
-  The console can be accessed by browsing to
-  <code>http://your.example.com/pagespeed_admin/console</code>. Access to
-  this page can be controlled using standard access directives.
-</p>
-<p>
-  Note that if you would like to access the console from machines other
-  than your server, you will need to allow access to
-  <code>/pagespeed_admin</code>.
-</p>
-
-<!-- TODO(sligocki): Add section for features, like zooming in, etc. once we
-     add them. -->
-
-<h2 id="graphs">Graphed metrics</h2>
-The PageSpeed console displays graphs for these metrics:
-<ul>
-  <li id="fetch-failure">
-    <b>Resources not loaded because of fetch failures</b>:
-    Images, CSS or JavaScript could not be loaded because backend HTTP fetch
-    failed. <b>Remedy</b>: You may have to reconfigure your server to allow
-    outgoing connections or to have access to DNS.</li>
-
-  <li id="not-authorized">
-    <b>Resources not rewritten because domain wasn't authorized</b>:
-    Resources could not be rewritten because they were on a different domain
-    than the HTML and that domain was not explicitly authorized.
-    <b>Remedy</b>: Add <a href="domains#auth_domains">Domain</a>
-    authorizations for all domains you control.</li>
-
-  <li id="cache-control">
-    <b>Resources not rewritten because of restrictive Cache-Control headers</b>:
-    Resources could not be rewritten because they had restrictive Cache-Control
-    headers explicitly set (for example: <code>Cache-Control: private</code>,
-    <code>Cache-Control: max-age=0</code> or
-    <code>Cache-Control: no-transform</code>).
-    <b>Remedy</b>: Reconfigure your server to serve these resources with
-    public caching headers (or no Cache-Control headers at all). For example,
-    <code>Header set Cache-Control "max-age=600"</code> in Apache config.</li>
-
-  <li id="cache-miss">
-    <b>Cache misses</b>:
-    Resources were not rewritten because they were not found in cache.
-    This is expected while your cache warms up, soon after you install, however
-    if it continues to be high, your cache is probably too small.
-    <b>Remedy</b>: Increase the
-    <a href="system#file_cache">FileCacheSizeKb</a> to be about 5 times
-    as large as your website content (to store all of the original
-    resources and various versions of rewritten resources).</li>
-
-  <li id="cache-expired">
-    <b>Cache lookups that were expired</b>:
-    Although these resources were found in cache, they were not rewritten
-    because they were older than their max-age.
-    <b>Remedy</b>: (A) Enable
-    <a href="domains#ModPagespeedLoadFromFile">LoadFromFile</a> to tell
-    the server to load the files straight from disk rather than through
-    HTTP. (B) Reconfigure your server to serve resources with longer TTL.
-    For example, <code>Header set Cache-Control "max-age=3600"</code> to set
-    one hour TTL in Apache config.</li>
-
-  <li id="css-error">
-    <b>CSS files not rewritten because of parse errors</b>:
-    CSS files could not be rewritten because our parser found syntax errors
-    that it could not recover from. <b>Remedy</b>: Fix CSS files to use
-    proper syntax. You can use the stand-alone
-    <a href="build_mod_pagespeed_from_source#debug-css">css_minify_main</a>
-    to find what part of the CSS file has parse errors. We have had some
-    problems in the past with valid CSS3 or proprietary CSS extensions
-    causing CSS parsing errors. If you find that your valid CSS is failing to
-    parse, let us know on our <a href="mailing-lists#discussion">discussion
-    group</a> so we can fix the parser.</li>
-
-  <li id="js-error">
-    <b>JavaScript minification failures</b>:
-    JavaScript files could not be minified because our parser found some
-    syntax problem that it could not recover from. This is very uncommon.
-    <b>Remedy</b>: As with CSS, fix the JavaScript files that had problems.</li>
-
-  <li id="image-error">
-    <b>Image rewrite failures</b>:
-    Image files were not rewritten for various reasons:<ul>
-      <li><code>image_norewrites_high_resolution</code>: Image was too large.
-        Currently we only rewrite images below 8 Megapixels.
-        <b>Remedy</b>: Resize original images to a reasonable size.</li>
-      <li><code>image_rewrites_dropped_decode_failure</code>: Image could not
-        be parsed by our code. <b>Remedy</b>: Fix malformed images.</li>
-      <li><code>image_rewrites_dropped_due_to_load</code>: Image was not
-        rewritten because your system was already busy rewriting other images.
-        This generally can happen when you first install PageSpeed
-        while the cache warms up. <b>Remedy</b>: If image rewrites continue
-        to be dropped after a day or so, you may need to
-        <a href="#cache-miss">increase your cache size</a> or increase the
-        <a href="reference-image-optimize#ImageMaxRewritesAtOnce">
-          ImageMaxRewritesAtOnce</a>.</li>
-      <li><code>image_rewrites_dropped_mime_type_unknown</code>: Image could
-        not be rewritten because we do not recognize its MIME-type. For
-        example, we do not parse <code>image/x-icon</code> or
-        <code>image/svg+xml</code>. <b>Remedy</b>: Convert your images to a
-        type that we understand (gif, png, jpg, webp) or perhaps just fix
-        a broken server config that is serving images with a bogus
-        <code>Content-Type</code> header.</li>
-      <li><code>image_rewrites_dropped_server_write_fail</code>: Unexpected
-        server error while rewriting images. If you get a significant number
-        of these write to our <a href="mailing-lists#discussion">discussion
-        group</a> so we can investigate.</li>
-    </ul>
-  </li>
-</ul>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/doc.css b/doc/doc.css
deleted file mode 100644
index e5352cb..0000000
--- a/doc/doc.css
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-body {
-  font-family: sans-serif;
-  margin: 0;
-  padding: 0;
-  line-height: 1.5;
-  word-wrap: break-word;
-}
-
-a {
-  color: #0288d1;
-  text-decoration: none;
-}
-
-a:hover {
-  text-decoration: underline;
-}
-
-#header, #navline {
-  color: white;
-}
-
-#header a, #navline a {
-  color: white;
-}
-
-#logoline {
-  background-color: #0061ff;
-  padding: 1em;
-}
-
-#logo {
-  display: inline-block;
-  position: relative;
-  top: 4px;
-}
-
-#logotext {
-  font-size: 32px;
-  display: inline-block;
-}
-
-#navline a{
-  background-color: #3d87ff;
-  display: block;
-  padding: 0.5em 1em 0.5em 1em;
-}
-
-#content {
-  margin: 0.5em;
-  max-width: 50em;
-}
-
-code, pre {
-  background: #f7f7f7;
-  color: #37474f;
-}
-
-.note, .note code {
-  background: #e1f5fe;
-  color: #0288d1;
-}
-
-.note a {
-  color: #0288d1;
-  text-decoration: underline;
-}
-
-.caution, .caution code {
-  background: #fff3e0;
-  color: #dd2c00;
-}
-
-.caution a {
-  color: #dd2c00;
-  text-decoration: underline;
-}
-
-.warning, .warning code {
-  background: #fbe9e7;
-  color: #d50000;
-}
-
-.warning a {
-  color: #d50000;
-  text-decoration: underline;
-}
-
-.note, .caution, .warning {
-  padding: 1em;
-}
-
-pre {
-  padding: 1em;
-  overflow: auto;
-  line-height: 1.1;
-}
-
-table {
-  margin-top: 1em;
-  margin-bottom: 1em;
-  border-collapse: collapse;
-}
-
-th {
-  color: #fff;
-  vertical-align: middle;
-  background-color: #555;
-}
-
-td {
-  border-top: 1px solid #e0e0e0;
-  background-color: #f7f7f7;
-}
-
-th, td {
-  padding: 1em;
-}
-
-li {
-  margin-top: 0.5em;
-  margin-bottom: 0.5em;
-}
-
-img {
-  max-width: 100%;
-}
-
-.table-wrapper {
-  max-width: 100%;
-  overflow: auto;
-}
-
-#downloads .download {
-  margin-top: 0.5em;
-  margin-bottom: 0.5em;
-}
-
-#toc {
-  border-left: 4px solid #0061ff;
-  font-size: 0.9em;
-  max-width: 25em;
-  margin-top: 1em;
-  margin-left: 1em;
-}
-
-#toc-contents {
-  color: #757575;
-  font-weight: bold;
-  padding-left: 1em;
-}
-
-#toc ul {
-  list-style: none;
-  list-style-position: inside;
-  padding-left: 1em;
-}
-
-@media screen and (min-width: 55em) {
-  #toc {
-    float: right;
-    max-width: 18em;
-    padding-right: 1em;
-  }
-}
-
-.header-link {
-  visibility: hidden;
-  font-size: 80%;
-}
-
-h2:hover .header-link,
-h3:hover .header-link,
-h4:hover .header-link,
-h5:hover .header-link,
-h6:hover .header-link {
-  visibility: initial;
-  text-decoration: none;
-}
-
-.column {
-  margin: 0.5em;
-}
-
-.columns {
-  max-width: 75em;
-}
-
-@media screen and (min-width: 50em) {
-  .column {
-    display: inline-block;
-    vertical-align: top;
-  }
-}
diff --git a/doc/domains.html b/doc/domains.html
deleted file mode 100644
index eef8c60..0000000
--- a/doc/domains.html
+++ /dev/null
@@ -1,1025 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>PageSpeed Authorizing and Mapping Domains</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>PageSpeed Authorizing and Mapping Domains</h1>
-<h2 id="auth_domains">Authorizing domains</h2>
-<p>
-In addition to optimizing HTML resources, PageSpeed restricts itself to
-optimizing resources (JavaScript, CSS, images) that are served from domains,
-with optional paths, that must be explicitly listed in the configuration file.
-For example:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedDomain http://example.com
-ModPagespeedDomain cdn.example.com
-ModPagespeedDomain http://styles.example.com/css
-ModPagespeedDomain *.example.org</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed Domain http://example.com;
-pagespeed Domain cdn.example.com;
-pagespeed Domain http://styles.example.com/css;
-pagespeed Domain *.example.org;</pre>
-</dl>
-
-<p>
-PageSpeed will rewrite resources found from these explicitly
-listed domains, although in the case of <code>styles.example.com</code>
-only resources under the <code>css</code> directory will be rewritten.
-Additionally, it will rewrite resources that are
-served from the same domain as the HTML file, or are specified as
-a path relative to the HTML.  When resources are rewritten, their
-domain and path are not changed.  However, the leaf name is changed to
-encode rewriting information that can be used to identify and serve
-the optimized resource.
-</p>
-
-<p>The leading "http://" is optional; bare hostnames will be interpreted
-as referring to HTTP. Wildcards can be used in the domain.</p>
-
-<p>
-These directives can be used
-in <a href="configuration#htaccess">location-specific configuration
-sections</a>.
-</p>
-
-
-<h2 id="mapping_origin">Mapping origin domains</h2>
-
-<p>In order to improve the performance of web pages, PageSpeed
-must examine and modify the content of resources referenced on those
-pages.  To do that, it must fetch those resources using HTTP, using
-the URL reference specified on the HTML page.</p>
-
-<p>In some cases, the URL specified in the HTML file is not the best URL to use
-to fetch the resource. Scenarios where this is a concern include:</p>
-<ol>
-  <li>If the server is behind a load balancer, and it's more efficient to
-    reference the server directly by its IP address, or as 'localhost'.</li>
-  <li>The server has a special DNS configuration</li>
-  <li>The server is behind a firewall preventing outbound connections</li>
-  <li>The server is running in a CDN or proxy, and must go back to the
-    origin server for the resources</li>
-  <li>The server needs to service https requests</li>
-</ol>
-
-<p>In these situations the remedy is to map the origin domain:</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedMapOriginDomain origin_to_fetch_from origin_specified_in_html [host_header]</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed MapOriginDomain origin_to_fetch_from origin_specified_in_html [host_header];</pre>
-</dl>
-
-<p>Wildcards can also be used in the <code>origin_specified_in_html</code>, e.g.
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedMapOriginDomain localhost *.example.com</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed MapOriginDomain localhost *.example.com;</pre>
-</dl>
-
-<p>The <code>origin_to_fetch_from</code> can include a path after the domain
-name, e.g.</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedMapOriginDomain localhost/example *.example.com</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed MapOriginDomain localhost/example *.example.com;</pre>
-</dl>
-
-<p>When a path is specified, the source domain is mapped to the destination
-domain and the source path is mapped to the concatenation of the path from
-<code>origin_to_fetch_from</code> and the source path. For example, given the
-above mapping, <code>http://www.example.com/index.html</code> will be mapped
-to <code>http://localhost/example/index.html</code>.</p>
-
-<p>The origin_specified_in_html can specify https but the origin_to_fetch_from
-can only specify http, e.g.</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedMapOriginDomain http://localhost https://www.example.com</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed MapOriginDomain http://localhost https://www.example.com;</pre>
-</dl>
-
-<p>This directive lets the server accept https requests for
-<code>www.example.com</code> without requiring a SSL certificate to fetch
-resources. For example, given the above mapping, and assuming the server is 
-configured for https support, PageSpeed will fetch and optimize resources
-accessed using
-<code>https://www.example.com</code>, fetching the resources from
-<code>http://localhost</code>, which can be the same server process or a
-different server process.
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedMapOriginDomain http://localhost https://www.example.com
-ModPagespeedShardDomain https://www.example.com \
-                        https://example1.cdn.com,https://example2.cdn.com</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed MapOriginDomain http://localhost https://www.example.com;
-pagespeed ShardDomain https://www.example.com
-                      https://example1.cdn.com,https://example2.cdn.com;</pre>
-</dl>
-
-<p>In this example the https origin domain is mapped to <code>localhost</code>
-<em>and</em> <a href="domains#shard">sharding</a> is used to parallelize
-downloads across hostnames. Note that the shards also specify https.</p>
-
-<p>By specifying a source domain in this directive, you are authorizing
-PageSpeed to rewrite resources found in that domain.  For example, in the
-above directives, '*.example.com' gets authorized for rewrites from HTML files,
-but 'localhost' does not.  See <a href="#auth_domains"><code
->Domain</code></a>.</p>
-
-<p>When PageSpeed fetches resources from a mapped origin domain, it
-specifies the source domain in the <code>Host:</code> header in the
-request.  You can override the <code>Host:</code> header value with the
-optional third parameter <code>host_header</code>.  See
-<a href="#shared_cdn">Mapping Origins with a Shared Domain</a> for
-an example.</p>
-
-<p>
-  See also
-  <a href="#ModPagespeedLoadFromFile"><code>LoadFromFile</code></a>
-  to load origin resource directly from the filesystem and avoid an HTTP
-  connection altogether.
-</p>
-
-<p>
-These directives can be used
-in <a href="configuration#htaccess">location-specific configuration
-sections</a>.
-</p>
-
-
-<h2 id="mapping_rewrite">Mapping rewrite domains</h2>
-
-<p>When PageSpeed rewrites a resource, it updates the HTML to
-refer to the resource by its new name.  Generally PageSpeed leaves
-the resource at the same origin and path that was originally found in
-the HTML.  However, it is possible to map the domain of rewritten
-resources.  Examples of why this might be desirable include:</p>
-
-<ol>
-  <li>Serving static content from cookieless domains, to reduce the size of
-    HTTP requests from the browser.  See
-    <a target="_blank" href="https://developers.google.com/speed/docs/best-practices/payload">Minimizing Payload</a>
-  <li>To move content to a Content Delivery Network (CDN)</li>
-</ol>
-
-<p>This is done using the configuration file directive:</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedMapRewriteDomain domain_to_write_into_html \
-                             domain_specified_in_html</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed MapRewriteDomain domain_to_write_into_html
-                           domain_specified_in_html;</pre>
-</dl>
-
-<p>Wildcards can also be used in the <code>domain_specified_in_html</code>, e.g.
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedMapRewriteDomain cdn.example.com *example.com</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed MapRewriteDomain cdn.example.com *example.com;</pre>
-</dl>
-
-<p>The <code>domain_to_write_into_html</code> can include a path after the
-domain name, e.g.</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedMapRewriteDomain cdn.com/example *.example.com</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed MapRewriteDomain cdn.com/example *.example.com;</pre>
-</dl>
-
-<p>When a path is specified, the source domain is rewritten to the destination
-domain and the source path is rewritten to the concatenation of the path from
-<code>domain_to_write_into_html</code> and the source path. For example, given
-the above mapping, <code>http://www.example.com/index.html</code> will be
-rewritten to <code>http://cdn.com/example/index.html</code>.</p>
-
-<p class="note" id="equiv_servers">
-<strong>Note:</strong> It is the responsibility of the site administrator to
-ensure that PageSpeed is installed on
-the <code>domain_to_write_into_html</code>.  This might be a separate server, or
-there may be a single server with multiple domains mapped into it.  The files
-must be accessible via the same path on the destination server as was specified
-in the HTML file.  No other files should be stored on the
-<code>domain_to_write_into_html</code> -- it should be functionally equivalent
-to <code>domain_specified_in_html</code>.  See
-also <a href="#MapProxyDomain">MapProxyDomain</a> which enables proxying content
-from a different server.</p>
-
-<p>For example, if PageSpeed
-cache_extends <code>http://www.example.com/styles/style.css</code> to
-<code>http://cdn.example.com/styles/style.css.pagespeed.ce.HASH.css</code>,
-then <code>cdn.example.com</code> will have to have a mechanism in place to
-either rewrite that file in place, or refer back to the origin server to
-pull the rewritten content.
-</p>
-
-<p class="note">
-<strong>Note:</strong> It is the responsibility of the site
-administrator to ensure that moving resources onto domains does not
-create a security vulnerability.  In particular, if the target domain
-has cookies, then any JavaScript loaded from a resource moved to a
-domain with cookies will gain access to those cookies.  In general,
-moving resources to a cookieless domain is a great way to improve
-security.  Be aware that CSS can load JavaScript in certain environments.
-</p>
-
-<p>By specifying a domain in this directive, either as source or destination,
-you are authorizing PageSpeed to rewrite resources found in this
-domain. See <a href="#auth_domains"><code>Domain</code></a>.</p>
-
-<p>These directives can be used
-in <a href="configuration#htaccess">location-specific configuration
-sections</a>.</p>
-
-<h3 id="shared_cdn">Mapping Origins with a Shared CDN</h3>
-
-<p>Consider a scenario where an installation serving multiple domains
-uses a single CDN for caching and delivery of all content.  The origin
-fetches need to be routed to the correct VirtualHost on the server.
-This can be achieved by using a subdirectory per domain in the
-CDN, and then using that subdirectory to map to the correct
-VirtualHost at origin.  The host-header control offered by the third
-argument to <a href="#mapping_origin">MapOriginDomain</a> makes this
-feasible.</p>
-
-<p>In the example below, resources with a domain of
-sharedcdn.example.com and path starting with /vhost1 will be fetched
-from localhost but with a <code>Host:</code> header value of
-vhost1.example.com.  Without the third argument to MapOriginDomain,
-the <code>Host:</code> header would be sharedcdn.example.com.</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedMapOriginDomain localhost sharedcdn.example.com/vhost1 vhost1.example.com
-ModPagespeedMapRewriteDomain sharedcdn.example.com/vhost1 vhost1.example.com</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed MapOriginDomain localhost sharedcdn.example.com/vhost1 vhost1.example.com;
-pagespeed MapRewriteDomain sharedcdn.example.com/vhost1 vhost1.example.com;</pre>
-</dl>
-
-<p>This would be used in conjunction with a VirtualHost setup for
-vhost1.example.com, and a single CDN setup for multple hosts segregated by
-subdirectory.</p>
-
-<h2 id="shard">Sharding domains</h2>
-
-<p>Best practices suggest <a target="_blank" href="https://developers.google.com/speed/docs/best-practices/rtt"
->minimizing round-trip times</a> by <a
-  target="_blank" href="https://developers.google.com/speed/docs/best-practices/rtt#ParallelizeDownloads"
->parallelizing downloads across hostnames</a>.  PageSpeed can partially
-automate this for resources that it rewrites, using the directive:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedShardDomain domain_to_shard shard1,shard2,shard3...</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed ShardDomain domain_to_shard shard1,shard2,shard3...;</pre>
-</dl>
-
-<p>Wildcards cannot be used in this directive.</p>
-
-<p>This will distribute the domains for rewritten URLs among the
-specified shards.  The shard selected for a particular URL is computed
-from the original URL.</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedShardDomain example.com \
-                        static1.example.com,static2.example.com</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed ShardDomain example.com static1.example.com,static2.example.com;</pre>
-</dl>
-
-
-<p>
-Using this directive, PageSpeed will distribute roughly half the
-resources rewritten from example.com
-into <code>static1.example.com</code>, and the rest to
-<code>static2.example.com</code>.  You can specify as many shards as
-you like.  The optimum number of shards is a topic of active
-research, and is browser-dependent.  Configuring between 2 and 4
-shards should yield good results.  Changing the number of shards
-will cause PageSpeed to choose different names for resources,
-resulting in a partial cache flush.</p>
-
-<p>When used in combination with <code>RewriteDomain</code>, the Rewrite
-mappings will be done first.  Then the shard selection occurs.  Origin domains
-are always tracked so that when a browser sends a sharded URL back to the
-server, PageSpeed can find it.
-</p>
-<p>Let's look at an example:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedShardDomain example.com static1.example.com,static2.example.com
-ModPagespeedMapRewriteDomain example.com www.example.com
-ModPagespeedMapOriginDomain localhost example.com</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed ShardDomain example.com static1.example.com,static2.example.com;
-pagespeed MapRewriteDomain example.com www.example.com;
-pagespeed MapOriginDomain localhost example.com;</pre>
-</dl>
-
-<p>In this example, <code>example.com</code>
-and <code>www.example.com</code> are "tied" together via
-<code>MapRewriteDomain</code>.  The origin-mapping
-to <code>localhost</code> propagates automatically
-to <code>www.example.com</code>, <code>static1.example.com</code>, and
-<code>static2.example.com</code>.  So when PageSpeed cache-extends an HTML
-stylesheet reference <code>http://www.example.com/styles.css</code>, it will be:
-</p>
-<ol>
-  <li>Fetched by the server rewriting the HTML
-    from <code>localhost</code></li>
-  <li>Rewritten to
-    <code>http://example.com/styles.css.pagespeed.ce.HASH.css</code></li>
-  <li>Sharded to
-    <code>http://static1.example.com/styles.css.pagespeed.ce.HASH.css</code>
-  </li>
-</ol>
-
-<h2 id="MapProxyDomain">Proxying and optimizing resources from
-  trusted domains</h2>
-
-<p>
-  Proxying resources is desirable under several scenarios:
-</p>
-<ul>
-  <li>The resources on the origin domain may benefit from optimizations
-    done by PageSpeed.</li>
-  <li>SPDY may work better if there are fewer domains on a page.</li>
-  <li>The target domain running PageSpeed may have better serving
-    infrastructure than the origin.</li>
-</ul>
-<p>
-  It is possible to proxy and optimize resources whose origin is a trusted
-  domain that may not be running PageSpeed. This cannot be directly achieved
-  with MapRewriteDomain because that is a declaration that the domains listed
-  are functionally equivalent to one another, either because they are backed by
-  the same storage, or because the target is acting as a proxy (e.g. a
-  CDN).  <code>MapProxyDomain</code> makes it technically possible to proxy and
-  optimize resources from any domain <b>that you trust</b>.
-
-<p class="warning">
-  You must only proxy resources that are controlled by an organization
-  you <b>trust</b> because it is possible for malicious content (e.g.
-  <a href="http://hackaday.com/2008/08/04/the-gifar-image-vulnerability/"
-     >GIFAR</a>)
-  proxied from an untrustworthy domain to gain access to private
-  content on your domain, compromising your site or its viewers. You
-  must never map directories that may contain files that may be
-  controlled by a third party.
-</p>
-<p class="warning">
-  There may be legal issues restricting the optimization of resources
-  you don't own.  If in doubt consult a lawyer.
-  {# TODO(jmarantz): it should be possible to use this directive in #}
-  {# combination with Disallow & rewrite_domains to proxy without   #}
-  {# optimizing.  A demo/test of that will be left for a follow-up. #}
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedMapProxyDomain target_domain/subdir \
-                           origin_domain/subdir [rewrite_domain/subdir]
-</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed MapProxyDomain target_domain/subdir
-                         origin_domain/subdir [rewrite_domain/subdir];</pre>
-</dl>
-
-<p>
-If the optional rewrite_domain/subdir argument is supplied then optimized
-resources will be rewritten to that location.  This is useful for rewriting
-optimized resources proxied from an external origin to a CDN.
-</p>
-<p>
-  It is important to specify a subdirectory in the target domain, because
-  PageSpeed will need to be able to unambiguously identify the
-  origin domain given the target when fetching content. Thus each
-  MapProxyDomain command should be given a distinct subdirectory
-  of the target domain.
-</p>
-<p>
-  It is important to specify a subdirectory in the origin domain to
-  limit the scope of the proxying. For example,
-  in <a href="https://picasaweb.google.com">picasaweb</a>, all of a user's
-  photos are underneath a single subdirectory; it is critical not to enable
-  proxying for the entire site.
-</p>
-<h3>Example</h3>
-<p>
-You can see proxy-mapping in action at <code>www.modpagespeed.com</code> on this
-<a href="https://www.modpagespeed.com/examples/proxy_external_resource.html">example</a>.
-</p>
-
-<h2 id="fetch_servers">Fetch server restrictions</h2>
-  <p> PageSpeed will only fetch resources from <code>localhost</code> and
-  domains explicitly mentioned in domain configuration directives such
-  as <code>Domain</code>, <code>MapRewriteDomain</code>
-  and <code>MapOriginDomain</code>. As this security restriction is not
-  desirable for some large deployments, in Apache it is possible to disable it
-  starting from 0.10.22.7, via the following configuration directive (which has
-  a global effect): <pre class="prettyprint"
-  >ModPagespeedDangerPermitFetchFromUnknownHosts on</pre>
-
-  <p class="warning"><strong>Warning: </strong>Enabling
-  <code>DangerPermitFetchFromUnknownHosts</code> could permit
-  hostile third parties to access any machine and port that the server running
-  mod_pagespeed has access to, including potentially those behind firewalls.
-  </p>
-  Before doing this, however, it must be ensured that at least one of these
-  things is true:
-  <ol>
-    <li>The server running mod_pagespeed has no more access to machines or
-    ports than anyone on the Internet, and that machines it can access will
-    not treat its traffic specially (mod_pagespeed 0.10.22.6 and newer will
-    make sure its own traffic to <code>localhost</code> does not appear to be
-    local, but that does not work across machines)</li>
-    <li>Every virtual host in Apache running mod_pagespeed (and, if applicable,
-    the global configuration) has an accurate explicit <code>ServerName</code>,
-    and sets the options <code>UseCanonicalName</code> and
-    <code>UseCanonicalPhysicalPort</code> to <code>On</code>.
-    <li>A proxy running in front of the mod_pagespeed server fully verifies that
-    the URLs and <code>Host:</code> headers that reach it refer only to machines
-    the mod_pagespeed server is expected to contact.
-  </ol>
-  If possible, you are strongly encouraged to use
-  <code>MapOriginDomain</code> in preference to this switch.
-</p>
-
-<h2 id="url-valued-attributes">Specifying additional URL-valued attributes</h2>
-
-<p>
-  All PageSpeed filters that process URLs need to know which attributes of
-  which elements to consider.  By default they consider those in the HTML4 and
-  HTML5 specifications and a few common extensions:
-</p>
-<pre class="prettyprint">
-  &lt;a href=...&gt;
-  &lt;area href=...&gt;
-  &lt;audio src=...&gt;
-  &lt;blockquote cite=...&gt;
-  &lt;body background=...&gt;
-  &lt;button formaction=...&gt;
-  &lt;command icon=...&gt;
-  &lt;del cite=...&gt;
-  &lt;embed src=...&gt;
-  &lt;form action=...&gt;
-  &lt;frame src=...&gt;
-  &lt;html manifest=...&gt;
-  &lt;iframe src=...&gt;
-  &lt;img src=...&gt;
-  &lt;input type=&quot;image&quot; src=...&gt;
-  &lt;ins cite=...&gt;
-  &lt;link href=...&gt;
-  &lt;q cite=...&gt;
-  &lt;script src=...&gt;
-  &lt;source src=...&gt;
-  &lt;td background=...&gt;
-  &lt;th background=...&gt;
-  &lt;table background=...&gt;
-  &lt;tbody background=...&gt;
-  &lt;tfoot background=...&gt;
-  &lt;thead background=...&gt;
-  &lt;track src=...&gt;
-  &lt;video src=...&gt;
-</pre>
-<p>
-  If your site uses a non-standard attribute for URLs, PageSpeed won't
-  know to rewrite them or the resources they reference.  To identify them to
-  PageSpeed, use the <code>UrlValuedAttribute</code> directive.
-  For example:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedUrlValuedAttribute span src hyperlink
-ModPagespeedUrlValuedAttribute div background image</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed UrlValuedAttribute span src hyperlink;
-pagespeed UrlValuedAttribute div background image;</pre>
-</dl>
-
-<p>
-  These would identify <code>&lt;span src=...&gt;</code> and <code>&lt;div
-  background=...&gt;</code> as containing URLs.  Further,
-  the <code>background</code> attribute of <code>div</code> elements would be
-  treated as referring to an image and would be treated just like an image
-  resource referenced with <code>&lt;img src=...&gt;</code>.  The general form
-  is:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedUrlValuedAttribute ELEMENT ATTRIBUTE CATEGORY</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed UrlValuedAttribute ELEMENT ATTRIBUTE CATEGORY;</pre>
-</dl>
-
-<p>
-  All fields are case-insensitive.
-  <span id="categories">Valid categories are:</span>
-  <ul>
-    <li><code>script</code></li>
-    <li><code>image</code></li>
-    <li><code>stylesheet</code> (As of 1.12.34.1)</li>
-    <li><code>otherResource</code>
-      <ul><li>Any other URL that will be automatically loaded by the
-              browser along with the main page.  For example,
-              the <code>manifest</code> attribute of the <code>html</code>
-              element or the <code>src</code> attribute of
-              an <code>iframe</code> element.</li></ul>
-    </li>
-    <li><code>hyperlink</code>
-      <ul><li>A link to another page or resource that a browser wouldn't
-              normally load in connection to this page (like
-              the <code>href</code> attribute of an <code>a</code> element).
-              These URLs will still be rewritten
-              by <code>MapRewriteDomain</code> and similar directives, but they
-              will not be sharded and PageSpeed will not load the URL and
-              rewrite the resource.</li></ul>
-    </li>
-  </ul>
-  When in doubt, <code>hyperlink</code> is the safest choice.
-
-<p class="note">
-  <b>Note:</b> Until 1.12.34.1, <code>stylesheet</code> was accepted by the
-  configuration parser, but was non-functional.
-</p>
-
-</p>
-
-<h2 id="ModPagespeedLoadFromFile">Loading static files from disk</h2>
-<p>
-  By default PageSpeed loads sub-resources via an HTTP fetch.  It would be
-  faster to load sub-resources directly from the filesystem, however this may
-  not be safe to do because the sub-resources may be dynamically generated or
-  the sub-resources may not be stored on the same server.
-</p>
-<p>
-  However, you can explicitly tell PageSpeed to load static sub-resources from
-  disk by using the <code>LoadFromFile</code> directive. For example:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedLoadFromFile "http://www.example.com/static/" \
-                         "/var/www/static/"</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed LoadFromFile "http://www.example.com/static/"
-                       "/var/www/static/";</pre>
-</dl>
-
-<p>
-  tells PageSpeed to load all resources whose URLs start
-  with <code>http://www.example.com/static/</code> from the filesystem
-  under <code>/var/www/static/</code>.  For
-  example, <code>http://www.example.com/static/images/foo.png</code> will be
-  loaded from the file <code>/var/www/static/images/foo.png</code>.
-  However, <code>http://www.example.com/bar.jpg</code> will still be fetched
-  using HTTP.
-</p>
-<p>
-  If you need more sophisticated prefix-matching behavior, you can use
-  the <code>LoadFromFileMatch</code> directive, which
-  supports <a href="https://github.com/google/re2/wiki/Syntax">RE2-format</a>
-  regular expressions.  (Note that this is not the same format as the wildcards
-  used above and elsewhere in PageSpeed.)  For example:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedLoadFromFileMatch "^https?://example.com/~([^/]*)/static/" \
-                              "/var/www/static/\\1"</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed LoadFromFileMatch "^https?://example.com/~([^/]*)/static/"
-                            "/var/www/static/\\1";</pre>
-</dl>
-
-<p>
-  Will load <code>http://example.com/~pat/static/cat.jpg</code> from
-  <code>/var/www/static/pat/cat.jpg</code>,
-  <code>http://example.com/~sam/static/images/dog.jpg</code> from
-  <code>/var/www/static/sam/images/dog.jpg</code>, and
-  <code>https://example.com/~al/static/css/ie</code> from
-  <code>/var/www/static/al/css/ie</code>.  The resource
-  <code>http://example.com/~pat/images/static/puppy.gif</code>, however,
-  would not be matched by this directive and would be fetched using HTTP.
-</p>
-<p>
-  Because PageSpeed is loading the files directly from the filesystem, no custom
-  headers will be set. For example, no headers set with the <code>Header
-  set</code> (Apache) or <code>add_header</code> (Nginx) directives will be
-  applied to these resources.  If you have resources that need to be served with
-  custom headers, such as <code>Cache-Control: private</code>, you need to
-  exclude them from <code>LoadFromFile</code>.  For resources PageSpeed
-  rewrites <a href="system#ipro">in-place</a> it will set a 5-minute cache
-  lifetime by default, which you can adjust by
-  changing <a href="system#load_from_file_cache_ttl"><code
-  >LoadFromFileCacheTtlMs</code></a>.
-</p>
-<p>
-  Furthermore, the content type will be set based
-  upon only the filename extension and only for common filename extensions we
-  recognize (<code>.html</code>, <code>.css</code>, <code>.js</code>,
-  <code>.jpg</code>, <code>.jpeg</code>, ... see full
-  list: <a href="https://github.com/apache/incubator-pagespeed-mod/blob/master/pagespeed/kernel/http/content_type.cc">content_type.cc</a>).
-  Before 1.9.32.1, filenames with unrecognized extensions were served with no
-  <code>Content-Type</code> header; in 1.9.32.1 and later such filenames will
-  not be loaded from file and instead will fall back to ordinary fetching.
-</p>
-<p>
-  You can also use the <code>LoadFromFile</code> directive to
-  load HTTPS resources which would not be otherwise fetchable directly.
-  For example:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedLoadFromFile "https://www.example.com/static/" \
-                         "/var/www/static/"</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed LoadFromFile "https://www.example.com/static/"
-                       "/var/www/static/";</pre>
-</dl>
-
-<p>
-  The filesystem path must be an absolute path.
-</p>
-<p>
-  You can specify multiple <code>LoadFromFile</code> associations in
-  configuration files.  Note that large numbers of such directives may impact
-  performance.
-</p>
-<p>
-  If the sub-resource cannot be loaded from file in the directory
-  specified, the sub-request will fail (rather than fall back to
-  HTTP fetch). Part of the reason for this is to indicate a configuration
-  error more clearly.
-</p>
-<p>
-  As an added benefit. If resources are loaded from file, the rewritten
-  versions will be updated immediately when you change the associated file.
-  Resources loaded via normal HTTP fetches are refreshed only when they
-  expire from the cache (by default every 5 minutes). Therefore, the
-  rewritten versions are only updated as often as the cache is refreshed.
-  Resources loaded from file are not subject to caching behavior because
-  they are accessed directly from the filesystem for every request for the
-  rewritten version.
-</p>
-
-<p>
-  See also <a href="#mapping_origin"><code>MapOriginDomain</code></a>.
-</p>
-
-<p>
-  This directive can <strong>not</strong> be used
-  in <a href="configuration#htaccess">location-specific configuration
-  sections</a>.
-</p>
-
-<h4 id="limiting-load-from-file">Limiting Direct Loading</h4>
-<p>
-  A mapping set up with <code>LoadFromFile</code> allows filesystem loading for
-  anything it matches.  If you have directories or file types that cannot be
-  loaded directly from the filesystem, <code>LoadFromFileRule</code> lets you
-  add fine-grained rules to control which files will be loaded directly and
-  which will fall back to the standard process, over HTTP.
-</p>
-<p>
-  When given a URL PageSpeed first determines whether any LoadFromFile
-  mappings apply.  If one does, it calculates the mapped filename and checks for
-  applicable LoadFromFileRules.  Considering rules in the reverse order of
-  definition, it takes the first applicable one and uses that to determine
-  whether to load from file or fall back to HTTP.
-</p>
-<p>
-  Some examples may be helpful.  Consider a website that is entirely static
-  content except for a <code>/cgi-bin</code> directory:
-</p>
-<pre>
-  /var/www/index.html
-  /var/www/pets.html
-  /var/www/images/cat.jpg
-  /var/www/stylesheets/main.css
-  /var/www/stylesheets/ie.css
-  /var/www/cgi-bin/guestbook.pl
-  /var/www/cgi-bin/visitcounter.pl
-</pre>
-<p>
-  While most of the site can be loaded directly from the
-  filesystem, <code>guestbook.pl</code> and <code>visitcounter.pl</code> are
-  perl files that need to be interpreted before serving.  Adding a rule
-  disallowing the <code>/cgi-bin</code> directory tells us to fall back to HTTP
-  appropriately:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedLoadFromFile http://example.com/ /var/www/
-ModPagespeedLoadFromFileRule Disallow /var/www/cgi-bin/</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed LoadFromFile http://example.com/ /var/www/;
-pagespeed LoadFromFileRule Disallow /var/www/cgi-bin/;</pre>
-</dl>
-
-<p>
-  The <code>LoadFromFileRule</code> directive takes two arguments.
-  The first must be either <code>Allow</code> or <code>Disallow</code> while the
-  second is a prefix that specifies which filesystem paths it should apply to.
-  Because the default is to allow loading from the filesystem for all paths
-  listed in any <code>LoadFromFile</code> statement, most of the time you will
-  be using <code>Disallow</code> to turn off filesystem loading for some subset
-  of those paths.  You would use <code>Allow</code> only after
-  a <code>Disallow</code> that was overly general.
-</p>
-<p>
-  Not all sites are well suited for prefix-based control.  Consider a site with
-  PHP files mixed in with ordinary static files:
-</p>
-<pre>
-  /var/www/index.html
-  /var/www/webmail.php
-  /var/www/webmail.css
-  /var/www/blog/index.php
-  /var/www/blog/header.png
-  /var/www/blog/blog.css
-</pre>
-<p>
-  Blacklisting just the <code>.php</code> files so they fall back to an HTTP
-  fetch allows everything else to be loaded directly from the filesystem:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedLoadFromFile http://example.com/ /var/www/
-ModPagespeedLoadFromFileRuleMatch Disallow \.php$</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed LoadFromFile http://example.com/ /var/www/;
-pagespeed LoadFromFileRuleMatch Disallow \.php$;</pre>
-</dl>
-
-<p>
-  The <code>LoadFromFileRuleMatch</code> directive also takes two arguments.
-  The first is either <code>Allow</code> or <code>Disallow</code> and functions
-  just like for <code>LoadFromFileRule</code> above.  The second argument,
-  however, is
-  a <a href="https://github.com/google/re2/wiki/Syntax">RE2-format</a> regular
-  expression instead of a file prefix.  Remember to escape characters that have
-  special meaning in regular expressions.  For example, if instead
-  of <code>\.php$</code> we had simply <code>.php$</code> then a file
-  named <code>example.notphp</code> would still be forced to load over HTTP
-  because "<code>.</code>" is special syntax for "match any single character".
-</p>
-<p>
-  Consider a site with the opposite problem: a few file types can be reliably
-  loaded from file but the rest need interpretation first.  For example:
-</p>
-<pre>
-  /var/www/index.html
-  /var/www/site.css
-  /var/www/script-using-ssi.js
-  /var/www/generate-image.pl
-  /var/www/
-</pre>
-<p>
-  This site uses server side includes
-  (<a href="http://httpd.apache.org/docs/2.2/howto/ssi.html">Apache</a>,
-  <a href="http://wiki.nginx.org/HttpSsiModule">Nginx</a>)
-  in its javascript and <code>generate-image.pl</code> needs to be interpreted
-  to make images.  The only resources on the site that are generally safe to
-  load are <code>.css</code> ones.  By first blacklisting everything and then
-  whitelisting only the <code>.css</code> files, we can make PageSpeed do this:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedLoadFromFile http://example.com/ /var/www/
-ModPagespeedLoadFromFileRuleMatch disallow .*
-ModPagespeedLoadFromFileRuleMatch allow \.css$</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed LoadFromFile http://example.com/ /var/www/;
-pagespeed LoadFromFileRuleMatch disallow .*;
-pagespeed LoadFromFileRuleMatch allow \.css$;</pre>
-</dl>
-
-<p>
-  This works because order is significant: later rules take precedence over
-  earlier ones.
-</p>
-
-<h3 id="LoadFromFileScriptVariables">Script Variables with LoadFromFile</h3>
-<p class="note"><strong>Note: New feature as of 1.9.32.1</strong></p>
-<p class="note"><strong>Note: Nginx-only</strong></p>
-
-<p>
-  As of 1.9.32.1 Nginx <a href="http://nginx.org/en/docs/varindex.html">script
-  variables</a> are now supported with the various <code>LoadFromFile</code>
-  directives.  Script support for those options makes it possible to configure a
-  generic mapping of http hosts to disk, to reduce the amount of configuration
-  required when you want to load as much from disk as possible but have a lot
-  of <code>server{}</code> blocks.
-</p>
-
-<p>
-  As an example, consider one server that hosts three sites, each of which have
-  a directory <code>/static</code> that holds static resources and can be loaded
-  from file.  One way to configure this server would be:
-</p>
-
-<dl>
-  <dt>Nginx:<dd><pre class="prettyprint">
-http {
-  ...
-  server {
-    server_name a.example.com;
-    pagespeed LoadFromFile http://a.example.com/static /var/www-a/static;
-    ...
-  }
-  server {
-    server_name b.example.com;
-    pagespeed LoadFromFile http://b.example.com/static /var/www-b/static;
-    ...
-  }
-  server {
-    server_name c.example.com;
-    pagespeed LoadFromFile http://c.example.com/static /var/www-c/static;
-    ...
-  }
-}</pre>
-</dl>
-
-<p>
-  For three sites this is kind of annoying, but the more sites you have the
-  worse it gets.  With <code>ProcessScriptVariables</code> you can define one
-  generic <code>LoadFromFile</code> mapping instead of defining each one
-  individually:
-</p>
-
-<dl>
-  <dt>Nginx:<dd><pre class="prettyprint">
-http {
-  ...
-  pagespeed ProcessScriptVariables on;
-  pagespeed LoadFromFile "http://$host/static" "$document_root/static";
-
-  server {
-    server_name a.example.com;
-    ...
-  }
-  server {
-    server_name b.example.com;
-    ...
-  }
-  server {
-    server_name c.example.com;
-    ...
-  }
-}</pre>
-</dl>
-
-<p>
-  This will use Nginx's <code>$host</code> and <code>$document_root</code>
-  script variables instead of requiring you to explicitly code each one.
-</p>
-
-<p>
-  For more details on script variables, including how to handle dollar signs,
-  see <a href="system#nginx_script_variables">Script Variable Support</a>.
-</p>
-
-<h3 id="risks">Risks</h3>
-<p>
-  This should only be used for completely static resources which do not
-  need any custom headers or special server processing. If non-static
-  resources exist in the specified directory, the source code will
-  be used without applying SSI includes, CGI generation, etc.
-  Furthermore, all the resources should have filenames with common
-  extensions for their Content-Type (Ex: .html, .css, .js, .jpg, .jpeg, ... see
-  full list: <a href="https://github.com/apache/incubator-pagespeed-mod/blob/master/pagespeed/kernel/http/content_type.cc">content_type.cc</a>).
-</p>
-
-<h2 id="inline_without_auth">Inlining resources without explicit authorization
-</h2>
-<p>
-  Several filters in PageSpeed operate by inlining content from resources into
-  the HTML: inline_css, inline_javascript and prioritize_critical_css are a
-  few of the filters that operate in this manner. If resources from
-  third-party domains are not authorized explicitly, the effectiveness of
-  these filters decreases. For instance, prioritize_critical_css attempts to
-  remove blocking CSS requests needed for the initial render by inlining
-  critical CSS snippets into the HTML, however, the CSS resources that are not
-  authorized will continue to block. This option allows such resources to
-  be inlined without having to authorize all the individual domains.
-</p>
-<p>
-  The <code>InlineResourcesWithoutExplicitAuthorization</code>
-  directive can be used to allow resources from third-party domains to be
-  inlined into the HTML without requiring explicit authorization for each
-  domain. This option is "off" by default, and takes a
-  comma-separated list of strings representing resource categories for which
-  the option should be enabled. The list of valid resource categories is
-  given <a href="#categories">here</a>. Currently, only Script and
-  Stylesheet resource types are supported for this option.
-</p>
-
-This option can be enabled as follows:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedInlineResourcesWithoutExplicitAuthorization Script,Stylesheet
-</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed InlineResourcesWithoutExplicitAuthorization Script,Stylesheet;
-</pre>
-</dl>
-
-  <p class="warning"><strong>Warning: </strong>Enabling
-  <code>InlineResourcesWithoutExplicitAuthorization</code> could permit
-  hostile third parties to access any machine and port that the server running
-  mod_pagespeed has access to, including potentially those behind firewalls.
-  Please read the following information for details.
-  </p>
-<p>
-  This directive should only be enabled if all of the following conditions are
-  met for the resource types for which this option is enabled:
-</p>
-<ol>
-<li>The webmaster is confident that the resources referenced on their pages are
-   from trusted domains only.
-</li>
-<li>The site does not allow user-injected resources for the enabled resource
-    types.
-</li>
-<li>Fetches from the PageSpeed server should have no
-   more access to machines or ports than anyone on the Internet, and machines it
-   can access should not treat its traffic specially. Specifically, the
-   PageSpeed servers should not be able to access anything that is internal to a
-   firewall. Please refer to <a href="#fetch_servers">
-   Fetch server restrictions</a> sections for more details.
-</li>
-</ol>
-
-<p>
-  Note that resources inlined into HTML via this option will not be accessible
-  directly via a pagespeed URL, since that involves different security risks.
-  Resources will also not be inlined into other non-HTML resources via this
-  option. This  means that flatten_css_imports will not flatten third-party CSS
-  into another CSS resource, unless the relevant third-party domains are
-  authorized explicitly via one of the techniques mentioned in the previous
-  sections.
-</p>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/download.html b/doc/download.html
deleted file mode 100644
index 1b601f8..0000000
--- a/doc/download.html
+++ /dev/null
@@ -1,133 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Installing From Packages</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Installing From Packages</h1>
-<p class="note">
-  If you're using Nginx you need
-  to <a href="build_ngx_pagespeed_from_source">build from source</a>.  These
-  packages are Apache-only.
-</p>
-<p class="note">
-   Any releases offered here are pre-apache releases. The incubating project
-   is working to produce its first release.
-</p>
-
-<div id="downloads">
-<dl>
-  <dt>Latest Beta Version</dt>
-  <dd>
-<div class=download><a href="https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_i386.deb">mod_pagespeed 32-bit .deb (Debian/Ubuntu)</a></div>
-<div class=download><a href="https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_amd64.deb">mod_pagespeed 64-bit .deb (Debian/Ubuntu)</a></div>
-<div class=download><a href="https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_i386.rpm">mod_pagespeed 32-bit .rpm (CentOS/Fedora)</a></div>
-<div class=download><a href="https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_x86_64.rpm">mod_pagespeed 64-bit .rpm (CentOS/Fedora)</a></div>
-  </dd>
-  <dt>Latest Stable Version</dt>
-  <dd>
-<div class=download><a href="https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_i386.deb">mod_pagespeed 32-bit .deb (Debian/Ubuntu)</a></div>
-<div class=download><a href="https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_amd64.deb">mod_pagespeed 64-bit .deb (Debian/Ubuntu)</a></div>
-<div class=download><a href="https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_i386.rpm">mod_pagespeed 32-bit .rpm (CentOS/Fedora)</a></div>
-<div class=download><a href="https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_x86_64.rpm">mod_pagespeed 64-bit .rpm (CentOS/Fedora)</a></div>
-  </dd>
-</dl>
-</div>
-
-<h3>Supported platforms</h3>
-<ul>
-<li>CentOS/Fedora (32-bit and 64-bit)</li>
-<li>Debian/Ubuntu (32-bit and 64-bit)</li>
-</ul>
-
-<p>To install the packages, on Debian/Ubuntu, please run the following
-command:</p>
-<pre class="prettyprint lang-bsh">
-sudo dpkg -i mod-pagespeed-*.deb
-sudo apt-get -f install
-</pre>
-
-<p>For CentOS/Fedora, please execute:</p>
-<pre class="prettyprint">
-sudo yum install at  # if you do not already have 'at' installed
-sudo rpm -U mod-pagespeed-*.rpm
-</pre>
-
-<p>Installing mod_pagespeed will add the Google repository so your system
-will automatically keep mod_pagespeed up to date. If you don't want Google's
-repository, do <code>sudo touch /etc/default/mod-pagespeed</code> before
-installing the package.</p>
-
-<p>You can also download a number of <a href="https://dl-ssl.google.com/page-speed/mod-pagespeed/mod_pagespeed_examples.tar.gz">system tests</a>. These are the same tests available on <a href="http://www.modpagespeed.com">ModPageSpeed.com</a>.</p>
-
-<h3>What is installed</h3>
-<ul>
-<li>The mod_pagespeed packages install two versions of the mod_pagespeed code
-itself, <code>mod_pagespeed.so</code> for Apache 2.2
-and <code>mod_pagespeed_ap24.so</code> for Apache 2.4.</li>
-<li>Configuration files: <code>pagespeed.conf</code>, <code>pagespeed_libraries.conf</code>, and (on Debian) <code>pagespeed.load</code>.  If you modify one of these configuration files, that file will not be upgraded automatically in the future.</li>
-<li>A standalone JavaScript minifier <code>pagespeed_js_minify</code> based on
-the one used in mod_pagespeed, that can
-both <a href="build_from_source#js-minify">minify JavaScript</a>
-and <a href="filter-canonicalize-js#sample">generate metadata for library
-canonicalization</a>. </li>
-</ul>
-
-<h2>How to upgrade</h2>
-<p>To upgrade from a previous version, use the standard <code>yum</code> or
-<code>apt-get</code> update commands. For example:</p>
-<dl>
-  <dt>.rpm
-  <dd><pre>
-sudo yum update mod-pagespeed-beta  # Or mod-pagespeed-stable
-sudo /etc/init.d/httpd restart</pre>
-  <dt>.deb
-  <dd><pre>
-sudo apt-get update
-sudo apt-get upgrade
-sudo /etc/init.d/apache2 restart</pre>
-</dl>
-
-<h2>How to Change Channels</h2>
-<p>To convert from one channel to another, uninstall one and re-install
-the other. For example, if you would like to move from stable to beta
-channel:</p>
-<dl>
-  <dt>.rpm
-  <dd><pre>
-sudo yum remove mod-pagespeed-stable
-sudo yum install mod-pagespeed-beta</pre>
-  <dt>.deb
-  <dd><pre>
-sudo apt-get remove mod-pagespeed-stable
-sudo apt-get install mod-pagespeed-beta</pre>
-</dl>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/downstream-caching.html b/doc/downstream-caching.html
deleted file mode 100644
index 179e43b..0000000
--- a/doc/downstream-caching.html
+++ /dev/null
@@ -1,521 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Configuring Downstream Caches</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Configuring Downstream Caches</h1>
-<style>
-.diff-del { color: darkred }
-.diff-add { color: green }
-</style>
-
-<h2 id="standard">Standard Configuration</h2>
-   <p class="warning"><strong>Note: This feature is currently experimental.
-     Options and configuration described here are subject to change in future
-     releases. Please subscribe to the <a href="mailing-lists#announcements"
-     >announcements mailing list</a> to keep yourself informed of updates to
-     this feature.</strong></p>
-
-   <p>
-     By default PageSpeed serves HTML files with <code>Cache-Control: no-cache,
-     max-age=0</code> so that changes to the HTML and its resources are sent
-     fresh on each request.  The HTML can be cached, however, if you:
-     <ul>
-       <li> Set up a <code>PURGE</code> handler in your cache.
-       <li> Tell PageSpeed the url for the <code>PURGE</code> handler.
-       <li> Have the cache set the <code>PS-CapabilityList</code> header
-            so PageSpeed will emit HTML that can be sent to any browser.
-       <li> Have the cache occasionally pass through requests to the origin with
-            the <code>PS-ShouldBeacon</code> header set.
-     </ul>
-   </p>
-
-   <p>
-     For example, if you're running a cache on port 80 that reverse proxies to
-     your site on port 8080, then you'd need to tell PageSpeed to send
-     its <code>PURGE</code> requests to port 80:
-   </p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedDownstreamCachePurgeLocationPrefix http://localhost:80</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed DownstreamCachePurgeLocationPrefix http://localhost:80;</pre>
-</dl>
-   <p>
-     You also need to give PageSpeed a key so it can allow the cache to request
-     rebeaconing without allowing external entities to do so:
-   </p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedDownstreamCacheRebeaconingKey "&lt;your-secret-key&gt;"</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed DownstreamCacheRebeaconingKey "&lt;your-secret-key&gt;";</pre>
-</dl>
-   <p>
-     These are the only changes you need to make to the PageSpeed configuration
-     file, but before you restart you also need to make some changes to your
-     cache configuration.  These vary by cache; below are configurations for
-     Varnish 3.x, Varnish 4.x, and Nginx's proxy_cache:
-   </p>
-<dl>
-  <dt>Varnish 3.x:<dd><pre class="prettyprint">
-acl purge {
-  # If PageSpeed isn't running on the same server as your cache, list the IP(s)
-  # of the PageSpeed machine(s) here.
-  "127.0.0.1";
-}
-sub vcl_recv {
-  # Tell PageSpeed not to use optimizations specific to this request.
-  set req.http.PS-CapabilityList = "fully general optimizations only";
-
-  # Don't allow external entities to force beaconing.
-  remove req.http.PS-ShouldBeacon;
-
-  # Authenticate the purge request by IP.
-  if (req.request == "PURGE") {
-    if (!client.ip ~ purge) {
-      error 405 "Not allowed.";
-    }
-    return (lookup);
-  }
-}
-
-# Mark HTML as uncacheable.  If we can't send them purge requests they can't
-# cache our html.
-sub vcl_fetch {
-   if (beresp.http.Content-Type ~ "text/html") {
-     remove beresp.http.Cache-Control;
-     set beresp.http.Cache-Control = "no-cache, max-age=0";
-   }
-   return (deliver);
-}
-
-sub vcl_hit {
-  # Make purging happen in response to a PURGE request.  This happens
-  # automatically in Varnish 4.x so we don't need it there.
-  if (req.request == "PURGE") {
-    purge;
-    error 200 "Purged.";
-  }
-
-  # 5% of the time ignore that we got a cache hit and send the request to the
-  # backend anyway for instrumentation.
-  if (std.random(0, 100) < 5) {
-    set req.http.PS-ShouldBeacon = "&lt;your-secret-key&gt;";
-    return (pass);
-  }
-}
-
-sub vcl_miss {
-  # Make purging happen in response to a PURGE request.  This happens
-  # automatically in Varnish 4.x so we don't need it there.
-  if (req.request == "PURGE") {
-    purge;
-    error 200 "Purged.";
-  }
-
-  # Instrument 25% of cache misses.
-  if (std.random(0, 100) < 25) {
-    set req.http.PS-ShouldBeacon = "&lt;your-secret-key&gt;";
-    return (pass);
-  }
-}</pre>
-  <dt>Varnish 4.x:<dd><pre class="prettyprint">
-acl purge {
-  # If PageSpeed isn't running on the same server as your cache, list the IP(s)
-  # of the PageSpeed machine(s) here.
-  "127.0.0.1";
-}
-
-sub vcl_recv {
-  # Tell PageSpeed not to use optimizations specific to this request.
-  set req.http.PS-CapabilityList = "fully general optimizations only";
-
-  # Don't allow external entities to force beaconing.
-  unset req.http.PS-ShouldBeacon;
-
-  # Authenticate the purge request by IP.
-  if (req.method == "PURGE") {
-    if (!client.ip ~ purge) {
-      return (synth(405,"Not allowed."));
-    }
-    return (purge);
-  }
-}
-
-# Mark HTML as uncacheable.  If we can't send them purge requests they can't
-# cache our html.
-sub vcl_backend_response {
-   if (beresp.http.Content-Type ~ "text/html") {
-     unset beresp.http.Cache-Control;
-     set beresp.http.Cache-Control = "no-cache, max-age=0";
-   }
-   return (deliver);
-}
-
-sub vcl_hit {
-  # 5% of the time ignore that we got a cache hit and send the request to the
-  # backend anyway for instrumentation.
-  if (std.random(0, 100) < 5) {
-    set req.http.PS-ShouldBeacon = "&lt;your-secret-key&gt;";
-    return (pass);
-  }
-}
-sub vcl_miss {
-  # Instrument 25% of cache misses.
-  if (std.random(0, 100) < 25) {
-    set req.http.PS-ShouldBeacon = "&lt;your-secret-key&gt;";
-    return (pass);
-  }
-}</pre>
-  <dt>Nginx proxy_cache:<dd><pre class="prettyprint">
-http {
-  # Define a mapping used to mark HTML as uncacheable.
-  map $upstream_http_content_type $new_cache_control_header_val {
-    default $upstream_http_cache_control;
-    "~*text/html" "no-cache, max-age=0";
-  }
-
-  server {
-    # PageSpeed's beacon dependent filters need the cache to let some requests
-    # through to the backend.  This code below depends on the <a href="http://wiki.nginx.org/HttpSetMiscModule">ngx_set_misc</a>
-    # module and randomly passes 5% of traffic to the backend for rebeaconing.
-    set $should_beacon_header_val "";
-    set_random $rand 0 100;
-    if ($rand ~* "^[0-4]$") {
-      set $should_beacon_header_val "&lt;your-secret-key&gt;";
-      set $bypass_cache 1;
-    }
-
-    location / {
-      # existing proxy_pass
-      # existing proxy_cache
-      # existing proxy_cache_key
-
-      # What servers should we accept PURGE requests from?  If PageSpeed isn't
-      # running on the same server as your cache, list the IP(s) of the
-      # PageSpeed machine(s) here.
-      #
-      # This requires rebuilding with the ngx_cache_purge module:
-      #   https://github.com/FRiCKLE/ngx_cache_purge
-      proxy_cache_purge PURGE from 127.0.0.1;
-
-      # Mark HTML as uncacheable.  If we can't send them purge requests they
-      # can't cache our html.  Uses the map defined above.
-      proxy_hide_header Cache-Control;
-      add_header Cache-Control $new_cache_control_header_val;
-
-      # Tell PageSpeed not to use optimizations specific to this request.
-      proxy_set_header PS-CapabilityList "fully general optimizations only";
-
-      # See discussion of rebeaconing above.
-      proxy_cache_bypass $bypass_cache;
-      proxy_hide_header PS-ShouldBeacon;
-      proxy_set_header PS-ShouldBeacon $should_beacon_header_val;
-    }
-  }
-}</pre>
-</dl>
-
-<p>
-  When running with downstream caching all resources referenced from the HTML
-  will be cache-extended as usual, so if you have resources that need to be
-  cached for a short time then they can be stale.  If so,
-  either <code>Disallow</code> those resources, so PageSpeed doesn't inline or
-  cache-extend them, or decrease the cache lifetime on your HTML.
-</p>
-
-<h2 id="additional">Additional Options</h2>
-
-The configuration above should be a good fit for most sites, but PageSpeed's
-downstream caching is highly configurable with many options that allow you to
-tweak it for your particular setup.
-
-<h3 id="beaconing">Beaconing</h3>
-<p>
-  Several filters such as
-  <a href="reference-image-optimize#inline_images">inline_images</a>,
-  <a href="filter-inline-preview-images">inline_preview_images</a>,
-  <a href="filter-lazyload-images">lazyload_images</a> and
-  <a href="filter-prioritize-critical-css">prioritize_critical_css</a>
-  depend extensively on client beacons to determine critical images and
-  CSS. When such filters are enabled, pages periodically have beaconing
-  JavaScript inserted as part of the rewriting process.
-  The <a href="#standard">standard configuration</a> passes through 5% of cache
-  hits to the backend with a <code>PS-ShouldBeacon</code> header set, so that
-  these filters can continue to receive the beacons they need.
-</p>
-<p>
-  If you have a high traffic site, 5% is probably a larger share than you need
-  for PageSpeed to receive sufficient beacons.  In that case you can decrease
-  the percentage of traffic to pass through.  For example, here's how you'd
-  decrease it to 2%:
-</p>
-<dl>
-  <dt>Varnish 3.x or 4.x:<dd><pre>
-<span class=diff-del>-  if (std.random(0, 100) < 5) {</span>
-<span class=diff-add>+  if (std.random(0, 100) < 2) {</span></pre>
-  <dt>Nginx proxy_cache<dd><pre>
-<span class=diff-del>-  if ($rand ~* "^[0-4]$") {</span>
-<span class=diff-add>+  if ($rand ~* "^[01]$") {</span></pre>
-</dl>
-<p>
-  Alternatively, you may be willing to give up the benefit of the
-  beaconing-dependent filters in exchange for never intentionally bypassing the
-  cache.  If so, you should <a href="config_filters#beacons">turn off
-  beaconing</a> and beacon-dependent filters in PageSpeed:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
->ModPagespeedCriticalImagesBeaconEnabled false
-ModPagespeedDisableFilters prioritize_critical_css</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
->pagespeed CriticalImagesBeaconEnabled false;
-pagespeed DisableFilters prioritize_critical_css;</pre>
-</dl>
-<p>
-  Additionally you should remove the proxy config that handles beaconing:
-</p>
-<dl>
-  <dt>Varnish 3.x:<dd><pre><span class="diff-del"
->-  remove req.http.PS-ShouldBeacon;
-...
--  if (std.random(0, 100) < 5) {
--    set req.http.PS-ShouldBeacon = "&lt;your-secret-key&gt;";
--    return (pass);
--  }
-...
--  if (std.random(0, 100) < 25) {
--    set req.http.PS-ShouldBeacon = "&lt;your-secret-key&gt;";
--    return (pass);
--  }</span></pre>
-  <dt>Varnish 4.x:<dd><pre><span class="diff-del"
->-  unset req.http.PS-ShouldBeacon;
-...
--  sub vcl_hit {
--    if (std.random(0, 100) < 5) {
--      set req.http.PS-ShouldBeacon = "&lt;your-secret-key&gt;";
--      return (pass);
--    }
--  }
--  sub vcl_miss {
--    if (std.random(0, 100) < 25) {
--      set req.http.PS-ShouldBeacon = "&lt;your-secret-key&gt;";
--      return (pass);
--    }
--  }</span></pre>
-  <dt>Nginx proxy_cache<dd><pre><span class="diff-del"
->-  set $should_beacon_header_val "";
--  set_random $rand 0 100;
--  if ($rand ~* "^[0-4]$") {
--    set $should_beacon_header_val "&lt;your-secret-key&gt;";
--    set $bypass_cache 1;
--  }
-...
--  proxy_cache_bypass $bypass_cache;
--  proxy_hide_header PS-ShouldBeacon;
--  proxy_set_header PS-ShouldBeacon $should_beacon_header_val;</span></pre>
-</dl>
-
-
-<h3 id="ps-resource">PageSpeed Resources</h3>
-<p>
-  Because PageSpeed already caches its optimized resources, you may want to
-  exclude them caching by the downstream cache.  If so, you can set:
-
-<dl>
-  <dt>Varnish 3.x and 4.x:<dd><pre><span class="diff-add"
->+  if (req.url ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+") {
-+    return (pass);
-+  }</span></pre>
-  <dt>Nginx proxy_cache<dd><pre><span class="diff-add"
->+  if ($uri ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+") {
-+    set $bypass_cache "1";
-+  }</span></pre>
-</dl>
-
-<p>
-  If you have enabled <a href="restricting_urls#url_signatures">URL signing</a>,
-  change the <code>10</code> in the regexp to <code>20</code> to account for the
-  additional characters in the hash.
-</p>
-
-<h3 id="ps-capabilitylist">PS-CapabilityList</h3>
-
-<p>
-  Typically PageSpeed will produce different HTML for different browsers.  For
-  example, when responding to a request that has <code>Accept:
-  image/webp</code>, PageSpeed knows the requesting browser supports WebP and so
-  it can send these images, while if the <code>Accept</code> header doesn't
-  mention WebP then it will send JPEG or PNG.  To suppress this behavior,
-  the <a href="#standard">standard configuration</a> above sets a header:
-</p>
-<pre>
-  PS-CapabilityList: fully general optimizations only
-</pre>
-<p>
-  This header can also be used to tell PageSpeed to make specific optimizations.
-  There are five capabilities PageSpeed can take advantage of that aren't
-  supported in all browsers, and it gives them each a code:
-</p>
-<table>
-  <tr><th>Capability<th>Code
-  <tr><td>Inline Images<td><code>ii</code>
-  <tr><td>Lazyload Images<td><code>ll</code>
-  <tr><td>WebP Images<td><code>jw</code>
-  <tr><td>Lossless WebP Images<td><code>ws</code>
-  <tr><td>Animated WebP Images<td><code>wa</code>
-  <tr><td>Defer Javascript<td><code>dj</code>
-</table>
-<p>
-  For example, you could include whether the <code>Accept</code> header
-  includes <code>image/webp</code> in your cache key, and then for the
-  fraction of traffic that claimed webp support send:
-</p>
-<pre>
-  PS-CapabilityList: jw:
-</pre>
-<p>
-  Every page would go through to your origin twice and be cached twice, once
-  processed with WebP support and once without.
-</p>
-<p>
-  You can combine multiple capabilities together with a comma.  For example, if
-  you decided to make a cache fragment for Chrome 30+, which supports all of
-  these, for that fragment you would send:
-</p>
-<pre>
-  PS-CapabilityList: ll,ii,dj,jw,ws:
-</pre>
-<p>
-  For Firefox 4+, which supports all of these but WebP, you would send:
-</p>
-<pre>
-  PS-CapabilityList: ll,ii,dj:
-</pre>
-<p>
-  To use this header properly, however, you have to know which capabilities are
-  supported by which browsers in the version of PageSpeed you're using and craft
-  regular expressions to match exactly those ones.  This is very difficult to do
-  in general because it involves duplicating the code in
-  <a href="https://github.com/apache/incubator-pagespeed-mod/blob/latest-stable/pagespeed/kernel/http/user_agent_matcher.cc"><code>user_agent_matcher.cc</code></a>
-  as regexes, but a simple division is:
-  <ul>
-    <li>Chrome 32+: <code>ll,ii,dj,jw,wa,ws</code>
-    <li>Firefox 4+, Safari, IE10 (but not IE11): <code>ll,ii,dj</code>
-    <li>Everything else: <code>fully general optimizations only</code>
-  </ul>
-</p>
-
-<h3 id="purge-get">Purging with GET</h3>
-
-<p>
-  If you're integrating PageSpeed with a cache that doesn't
-  support <code>PURGE</code> requests but does support purging in response to a
-  prefixed <code>GET</code> request, PageSpeed can support that.  You would
-  configure your cache to treat a <code>GET</code> to
-  <code>/purge/foo/bar</code> as a request to purge <code>/foo/bar</code> and
-  configure PageSpeed as:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedDownstreamCachePurgeLocationPrefix http://CACHE-HOST:PORT/purge
-ModPagespeedDownstreamCachePurgeMethod GET</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed DownstreamCachePurgeLocationPrefix http://CACHE-HOST:PORT/purge;
-pagespeed DownstreamCachePurgeMethod GET;</pre>
-</dl>
-
-<h3 id="purge-threshold">Purge Threshold</h3>
-<p>
-  Whenever PageSpeed serves an HTML response that is not fully optimized it
-  continues rewriting in the background.  When it finishes, if the HTML it
-  served was less than 95% optimized, it sends a purge request to the downstream
-  cache.  The next request to come in will bypass the cache and come back to
-  PageSpeed where it can serve out the now more highly optimized page.  If you
-  want to change what point PageSpeed considers the page done and stops
-  optimizing, you can set a different value for this threshold.  For example, to
-  lower it to 80%, so that PageSpeed is satisfied with a page that is only 80%
-  optimized, you would set:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedDownstreamCacheRewrittenPercentageThreshold 80</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed DownstreamCacheRewrittenPercentageThreshold 80;</pre>
-</dl>
-
-<h3 id="script-variables">Script Variables</h3>
-<p class="note"><strong>Note: Nginx-only</strong></p>
-<p class="note"><strong>Note: New feature as of 1.10.33.0</strong></p>
-
-<p>
-  In ngx_pagespeed <code>DownstreamCachePurgeLocationPrefix</code>,
-  <code>DownstreamCachePurgeMethod</code>, and
-  <code>DownstreamCacheRewrittenPercentageThreshold</code> support script
-  variables, so it's possible to set them on a per-request basis.  Turn this on
-  with:
-<pre class="prettyprint">
-http {
-  pagespeed ProcessScriptVariables on;
-  ...
-}</pre>
-  You can then use script variables in arguments for these commands:
-<pre class="prettyprint">
-  pagespeed DownstreamCachePurgeLocationPrefix "$purge_location";
-  pagespeed DownstreamCachePurgeMethod "$cache_purge_method";
-  pagespeed DownstreamCacheRewrittenPercentageThreshold "$rewrite_threshold";</pre>
-</p>
-<p>
-  For more details on script variables, including how to handle dollar signs,
-  see <a href="system#nginx_script_variables">Script Variable Support</a>.
-</p>
-<h2 id="implementation">Implementation Details</h2>
-<p>
-  To support downstream caching PageSpeed sends a purge request to the caching
-  layer whenever it identifies an opportunity for more rewriting to be done on
-  content that was just served. Such opportunities could arise because of, say,
-  the resources now becoming available in the PageSpeed cache or an image
-  compression operation completing. The cache purge forces the next request for
-  the HTML file to come all the way to the backend PageSpeed server and obtain
-  better rewritten content, which is then stored in the cache. This interaction
-  between the PageSpeed server and the downstream caching layer is depicted in
-  the diagram given below.
-</p>
-  <img src="images/downstream_caching.png" >
-<p>
-  In the interaction depicted above, note that the partially optimized HTML will
-  be served from the cache until a purge request gets sent by the PageSpeed
-  server.  It is recommended to set up PageSpeed and the downstream caching
-  layer servers on a one to one basis so that the purges can be sent to the
-  correct downstream server.
-</p>
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/experiment.html b/doc/experiment.html
deleted file mode 100644
index af8933a..0000000
--- a/doc/experiment.html
+++ /dev/null
@@ -1,449 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Experimenting with PageSpeed</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Experimenting with PageSpeed</h1>
-<h2 id="Framework">Experimental Framework</h2>
-<p>
-The <a href="module-run-experiment.html">Run Experiment</a> module allows you to
-gather data on what filters perform best for your site using A/B testing.  It
-reports to your <a href="http://www.google.com/analytics/">Google Analytics</a>
-account, storing data in
-a <a href="/analytics/devguides/collection/gajs/gaTrackingCustomVariables">custom
-variable</a>.  It often makes sense to first experiment manually using the
-per-request configuration described below to get an idea of which filters might
-help your site, and then <a href="module-run-experiment.html">run a controlled
-experiment</a> to test whether these filters actually speed it up in practice.
-</p>
-
-<h2 id="PerRequest">Per-request configuration</h2>
-
-<p>
-Query parameters, request headers, and response headers can be used to disable
-PageSpeed, specify the set of filters applied to an HTML page, and control some
-inlining limits.
-</p>
-
-<p>
-Query parameters take the form of <code>name=value</code>
-and parameters are separated by an ampersand (&amp;). For example:
-</p>
-<pre>
-  <a href="http://modpagespeed.com/rewrite_css.html?PageSpeed=on&PageSpeedFilters=rewrite_css">http://modpagespeed.com/rewrite_css.html?PageSpeed=on&PageSpeedFilters=rewrite_css</a>
-</pre>
-
-<p>
-Request and response headers take the form of <code>name: value</code>
-and each header is on its own line. For example:
-</p>
-<pre class="prettyprint">
-GET /rewrite_css.html HTTP/1.1
-Host: modpagespeed.com
-PageSpeed: on
-PageSpeedFilters: rewrite_css</pre>
-
-<p>
-For backwards compatibility, these can start with <code>ModPagespeed</code>
-instead of <code>PageSpeed</code>, but this usage is deprecated.
-</p>
-
-<p>
-Query parameters can be added to the URL of the page or resource being
-fetched, request headers can be set in the request for pages and
-resources, and response headers can be set in the response of HTML
-pages (but not resources). These settings affect only the given
-request. If all three (query parameters and both headers) are used in
-the same request the query parameters will be applied first, followed
-by the request headers, followed by the response headers. Later
-settings override earlier settings but a filter disable in any
-location always overrides subsequent enables.
-</p>
-
-<p>
-There are two supported methods of adding response headers that PageSpeed will
-be able to observe and process.  The first is to add response headers with a
-content handler such as PHP or Perl.  The second is to add response headers at
-an origin server and run PageSpeed as a proxy in front of it. The use of
-mod_headers (Apache) or add_header (Nginx) on the same webserver as PageSpeed
-will not work because headers will be inserted after PageSpeed has already
-processed the page.
-</p>
-
-<h3 id="StickyQueryParams">Sticky Query Parameters</h3>
-<p>
-Query parameters can be set to be &quot;sticky&quot; and persist across
-requests using cookies. Sticky query parameters can be set by providing the
-sticky query parameter option in  a request, and the server will respond with
-a cookie, valid for the duration specified in the PageSpeed configuration.
-</p>
-<p>
-To prevent abuse, a &quot;secret token&quot; must be provided in the initial
-request to enable setting cookies.
-</p>
-<dl>
-<dt>Apache:</dt>
-<dd>
-<pre class="prettyprint">ModPagespeedStickyQueryParameters example_token</pre>
-</dd>
-<dt>Nginx:</dt>
-<dd>
-<pre class="prettyprint">pagespeed StickyQueryParameters example_token</pre>
-</dd>
-</dl>
-<p>
-The duration, in milliseconds, for which the cookie will be valid can be set in
-the PageSpeed configuration.
-</p>
-<dl>
-<dt>Apache:</dt>
-<dd>
-<pre class="prettyprint">ModPagespeedOptionCookiesDurationMs 12345</pre>
-</dd>
-<dt>Nginx:</dt>
-<dd>
-<pre class="prettyprint">pagespeed OptionCookiesDurationMs 12345</pre>
-</dd>
-</dl>
-<p>
-The request must specify the token in a query parameter,
-for example:
-<pre>
-<a href="http://modpagespeed.com/rewrite_css.html?PageSpeedStickyQueryParameters=example_token&PageSpeedFilters=+remove_comments">http://modpagespeed.com/rewrite_css.html?PageSpeedStickyQueryParameters=example_token&PageSpeedFilters=+remove_comments</a></pre>
-<p>
-A request with the proper sticky query parameter token will cause the server to
-respond with a <code>Set-Cookie</code> in the response.
-Any request not containing the correct token will not receive the
-<code>Set-Cookie</code> response. Future responses with the received cookie will
-also enable the options set in the query parameter with the sticky query
-parameter. In this case, the <code>remove-comments</code> filter would be
-enabled.
-</p>
-
-<h3 id="ModPagespeed">Enabling and disabling PageSpeed</h3>
-
-<p>Query parameters:</p>
-<pre class="prettyprint">
-  PageSpeed=off
-  PageSpeed=on
-</pre>
-<p>Request &amp; Response headers:</p>
-<pre class="prettyprint">
-  PageSpeed: off
-  PageSpeed: on
-</pre>
-<p>
-The first line disables PageSpeed rewriting, the second line enables it.
-</p>
-
-<h3 id="ModPagespeedFilters">Specifying the filters applied</h3>
-
-<p>Query parameters:</p>
-<pre class="prettyprint">
-  PageSpeedFilters=<i>comma-separated list of names</i>
-</pre>
-<p>Request &amp; Response headers:</p>
-<pre class="prettyprint">
-  PageSpeedFilters: <i>comma-separated list of names</i>
-</pre>
-
-<p>
-This specifies the set of filters to apply to the page. The list of settings
-includes all filter names and a few shortcut names:
-</p>
-
-<ul>
-  <li><code>core</code> sets the rewrite level (per
-        <code><a href="config_filters.html#level>ModPagespeedRewriteLevel"
-                 >RewriteLevel</a></code>)
-        to <code>CoreFilters</code>. This enables the core set of filters.</li>
-  <li><code>testing</code> enables all filters that are in the
-        <code>TestingCoreFilters</code> level but are not in the
-        <code>CoreFilters</code> level - this is not the same as setting the
-        level to <code>TestingCoreFilters</code> because that includes all
-        core filters, but the same effect can be achieved by specifying
-        both: <code>core,testing</code>.</li>
-  <li><code>rewrite_images</code> enables the following filters:
-        <code>inline_images</code>, <code>recompress_images</code>, and
-        <code>resize_images</code>.</li>
-  <li><code>extend_cache</code> enables the following filters:
-        <code>extend_cache_css</code>, <code>extend_cache_images</code>, and
-        <code>extend_cache_scripts</code>.</li>
-  <li><code>rewrite_javascript</code> enables the following filters:
-        <code>rewrite_javascript_external</code> and
-        <code>rewrite_javascript_inline</code>.</li>
-</ul>
-
-<p>
-When any filter is specified without a "<code>+</code>" or
-"<code>-</code>", any filters not explicitly enabled are
-disabled. Filters and shortcuts can be explicitly disabled by
-preceding the name by a minus sign (&apos;-&apos;), which is useful
-after using a shortcut. For example,
-&quot;<code>core,-combine_css</code>&quot; enables all the core
-filters
-<em>except</em> <code>combine_css</code>.
-</p>
-
-<p>
-If all names are prefixed with "<code>+</code>" or "<code>-</code>" then the
-filter set is incrementally adjusted from the current system settings based on
-the configuration files.  For example, in a server
-with <code>RewriteLevel</code> set to <code>CoreFilters</code>, the query-string
-</p>
-<pre class="prettyprint">
-  ?PageSpeedFilters=+lazyload_images,-inline_images
-</pre>
-<p>
-will leave all the core filters enabled, but will add lazyload_images
-and disable inline images.
-</p>
-
-<h3 id="ModPagespeedFilters">Controlling inlining limits</h3>
-
-<p>Query parameters:</p>
-<pre class="prettyprint">
-  PageSpeedCssFlattenMaxBytes=<i>value</i>
-  PageSpeedCssImageInlineMaxBytes=<i>value</i>
-  PageSpeedCssInlineMaxBytes=<i>value</i>
-  PageSpeedImageInlineMaxBytes=<i>value</i>
-  PageSpeedJsInlineMaxBytes=<i>value</i>
-</pre>
-<p>Request &amp; Response headers:</p>
-<pre class="prettyprint">
-  PageSpeedCssFlattenMaxBytes: <i>value</i>
-  PageSpeedCssImageInlineMaxBytes: <i>value</i>
-  PageSpeedCssInlineMaxBytes: <i>value</i>
-  PageSpeedImageInlineMaxBytes: <i>value</i>
-  PageSpeedJsInlineMaxBytes: <i>value</i>
-</pre>
-
-<p>
-These specify the limits for the following inlining options:
-</p>
-
-<ul>
-  <li><code>PageSpeedCssFlattenMaxBytes</code> sets the maximum size of CSS
-        files that will be flattened.</li>
-  <li><code>PageSpeedCssImageInlineMaxBytes</code> sets the maximum
-        size of images inside CSS. For inline CSS in HTML files, the
-        value used is the smaller of this value
-        or <code>PageSpeedImageInlineMaxBytes</code>.
-  <li><code>PageSpeedCssInlineMaxBytes</code> sets the maximum size of CSS
-        files that will be inlined.</li>
-  <li><code>PageSpeedImageInlineMaxBytes</code> sets the maximum size of
-        image files that will be inlined.</li>
-  <li><code>PageSpeedJsInlineMaxBytes</code> sets the maximum size of
-        JavaScript files that will be inlined.</li>
-</ul>
-
-<p>
-Here is an example that combines many of the above query parameters to enable
-all the core filters <em>except</em> the cache extension filters, and sets the
-JavaScript inlining limit to a high value so that most JavaScript files will
-be inlined:
-</p>
-<pre>
-  http://..../index.html?PageSpeedFilters=core,-extend_cache&amp;PageSpeedJsInlineMaxBytes=102400
-</pre>
-
-<h3 id="Client-Options">Client options in queries and headers</h3>
-  <p>
-  This is an experimental option, its name and values are subject to change.
-  This option allows the client to customize the optimizations applied to a
-  request and can be used in a header or query parameter.
-  </p>
-
-  <p>As a query parameter:</p>
-<pre class="prettyprint">
-  X-PSA-Client-Options=<i>client-options</i>
-</pre>
-<p>As a Request or Response header:</p>
-<pre class="prettyprint">
-  X-PSA-Client-Options: <i>client-options</i>
-</pre>
-
-<p>
-The format of client-options is
-</p>
-<pre>
-  name1=value1,name2=value2, ...
-</pre>
-
-<p>
-The order of the name-value pairs does not matter. The supported options are:
-</p>
-
-<pre>
-  v=1
-</pre>
-<p>Version of the header. '1' is the only supported version for now.</p>
-<pre>
-  <code>m=integer-value</code>
-</pre>
-<p> Mode. Valid values are</p>
-  <ul>
-  <li> <code>0</code>, the client prefers that the server operates in its
-   default mode. </li>
-  <li> <code>1</code>, the client prefers that no image is transformed. </li>
-  <li> <code>2</code>, the client prefers that no resource is transformed.
-  This is equivalent to "?PageSpeedFilters=" in the request URL </li>
-  </ul>
-
-<pre>
-  <code>iqp=integer-value</code>
-</pre>
-<p> Image quality preference. Valid values are </p>
-  <ul>
-  <li> <code>0</code>, the client prefers that the server uses its own default
-  image quality. </li>
-  <li> <code>1</code>, the client prefers low image quality. </li>
-  <li> <code>2</code>, the client prefers medium image quality. </li>
-  <li> <code>3</code>, the client prefers high image quality. </li>
-  </ul>
-
-<h3 id="restrict-request-options">Restrict per-request configuration</h3>
-  <p class="note">
-    <strong>Note: New feature as of 1.9.32.1</strong>
-  </p>
-  <p>
-  Interpretation of PageSpeed query parameters and headers can be restricted to
-  requests specifying a request option override token.
-  The token is specified in the server configuration file and disallows
-  request option overriding when the request does not specify the correct token.
-  This option can be used to reduce the attack surface of denial of service
-  attacks.
-  </p>
-  <dl>
-  <dt>Apache:</dt>
-  <dd>
-  <pre class="prettyprint">ModPagespeedRequestOptionOverride example_token</pre>
-  </dd>
-  <dt>Nginx:</dt>
-  <dd>
-  <pre class="prettyprint">pagespeed RequestOptionOverride example_token</pre>
-  </dd>
-  </dl>
-  <p>
-  This feature provides a mechanism to restrict the ability for filters and
-  options to be specified in query parameters and request headers.
-  To enable it, an override token must be specified in the configuration file,
-  and requests must specify the same token for filters and options to be
-  applied.
-  Query parameters, except for <code>PageSpeed=on</code>,
-  <code>PageSpeed=off</code>, or  <code>PageSpeed=noscript</code> will then only
-  be interpreted when accompanied by the correct
-  <code>RequestOptionOverride</code> token. For example, the rewrite_css filter
-  would be used in this example.
-  </p>
-  <p>
-  The request must specify the token in a query parameter or header,
-  for example:
-  <pre>
-  <a href="http://modpagespeed.com/rewrite_css.html?PageSpeed=on&PageSpeedFilters=rewrite_css&PageSpeedRequestOptionOverride=example_token">http://modpagespeed.com/rewrite_css.html?PageSpeed=on&PageSpeedFilters=rewrite_css&PageSpeedRequestOptionOverride=example_token</a></pre>
-  <p>
-  Any request not containing the correct <code>RequestOptionOverride</code>
-  token or not containing a <code>RequestOptionOverride</code> token will ignore
-  all other PageSpeed filters and options specified.
-  </p>
-  <p class="note">
-    <strong>
-    Note: even if applied, PageSpeed=on/off/noscript still takes effect.
-    </strong>
-  </p>
-</h3>
-
-<h3 id="noop">Noop query-parameter</h3>
-<p class="note">
-  <strong>Note: New feature as of 1.10.33.0</strong>
-</p>
-<p>
-To help bust browser caches, especially with experiments, any
-PageSpeed URL can accept the
-<code>PageSpeedNoop</code> query-paramter with an integer value.  This
-query-parameter will be ignored by PageSpeed and stripped from the
-URL early in the processing flow.  The origin will not see the <code>Noop</code>
-parameter, and PageSpeed's server-caches will not be affected.  However, it
-will prevent your browser from using a cached value.
-</p>
-
-<p>Examples:</p>
-<pre class="prettyprint"
-     >http://images.example.com/foo.png?PageSpeedNoop=571
-http://www.example.com/index.html?q=foo&PageSpeedNoop=99438
-</pre>
-
-<h2 id="Configuring-mod_pagespeed_examples">
-  Configuring mod_pagespeed_examples</h2>
-<p class="note"><strong>Note: Apache-only</strong></p>
-
-<p>
-mod_pagespeed ships with a directory of sample HTML, JavaScript,
-Image, and CSS files to demonstrate the rewrite passes that it
-executes.  These also form the basis of an installation smoke-test to
-ensure that the configured system is operating correctly.  Assuming
-the files are installed in /var/www/mod_pagespeed_example, the
-following configuration file fragment will enable them to be served
-using reasonable caching headers.
-</p>
-<pre class="prettyprint lang-sh">
-    # These caching headers are set up for the mod_pagespeed example, and
-    # also serve as a demonstration of good values to set for the entire
-    # site, if it is to be optimized by mod_pagespeed.
-
-    &lt;Directory /var/www/mod_pagespeed_example&gt;
-      # To enable to show that mod_pagespeed to rewrites web pages, we must
-      # turn off Etags for HTML files and eliminate caching altogether.
-      # mod_pagespeed should rewrite HTML files each time they are served.
-      # The first time mod_pagespeed sees an HTML file, it may not optimize
-      # it fully.  It will optimize better after the second view.  Caching
-      # defeats this behavior.
-      &lt;FilesMatch "\.(html|htm)$"&gt;
-        Header unset Etag
-        Header set Cache-control "max-age=0, no-cache"
-      &lt;/FilesMatch&gt;
-
-      # Images, styles, and JavaScript are all cache-extended for
-      # a year by rewriting URLs to include a content hash..  mod_pagespeed,
-      # can only do this if the resources are cacheable in the first place.
-      # The origin caching policy, set here to 10 minutes, dictates how
-      # frequently mod_pagespeed must re-read the content files and recompute
-      # the content-hash.  As long as the content doesn't actually change,
-      # the content-hash will remain the same, and the resources stored
-      # in browser caches will stay relevant.
-      &lt;FilesMatch "\.(jpg|jpeg|gif|png|js|css)$">
-        Header unset Etag
-        Header set Cache-control "public, max-age=600"
-      &lt;/FilesMatch&gt;
-    &lt;/Directory&gt;
-</pre>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/faq.html b/doc/faq.html
deleted file mode 100644
index fae2ab5..0000000
--- a/doc/faq.html
+++ /dev/null
@@ -1,777 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Frequently Asked Questions</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Frequently Asked Questions</h1>
-<h2 id="other-servers">I'm not running Apache or Nginx, do you support my
-http server?</h2>
-
-<p>
-While we only support Apache and Nginx, there are community developed ports to
-several other webservers:
-</p>
-<ul>
-<li><a
-href="https://cwiki.apache.org/confluence/display/TS/ats_speed">Apache
-Traffic Server</a></li>
-<li><a href="http://www.iispeed.com/"
->Internet Information Services (IIS)</a></li>
-<li><a
-href="http://open.litespeedtech.com/mediawiki/index.php/Help:Modules:PageSpeed"
->OpenLiteSpeed</a></li>
-</ul>
-<p>
-If you run a webserver that doesn't have a port, one option would be to set up
-some other server running PageSpeed as a reverse proxy in front of it.  If
-you're not sure which to use we recommend using PageSpeed on nginx, but any of
-these servers should work well as an optimizing reverse proxy.
-</p>
-<p>
-(And, of course, if you're interested in porting PageSpeed to a new server, that
-would be awesome, and anyone porting should feel free to send us lots of
-detailed technical questions!)
-</p>
-
-<h2 id="when-support">When will you support my favorite OS or protocol?</h2>
-
-<p>
-While we have no dates to announce for upcoming releases, we definitely want to
-know what you think we should be working
-on. Please <a href="https://github.com/apache/incubator-pagespeed-mod/issues">search
-our issues</a> for your feature. If you don't find
-it, <a href="https://github.com/apache/incubator-pagespeed-mod/issues/new">open a new
-issue</a> and tag it "Type-Enhancement". To get updates on an issue, click the
-"star" icon for it.  This also lets us know how many people are interested in
-the issue.  If your issue is Nginx-specific, consider posting on
-the <a href="https://github.com/apache/incubator-pagespeed-ngx/issues">ngx_pagespeed
-bug tracker</a>.
-</p>
-
-<h2 id="suse">Do you support SUSE?</h2>
-<p>
-We support SUSE on Apache and Nginx when <a href="build_from_source">building
-from source</a>.  For Apache, Robert Munteanu (robert.munteanu@gmail.com) has
-set up a repository which publishes OpenSUSE RPMs for mod_pagespeed. The
-repository is
-hosted <a href="http://software.opensuse.org/package/apache2-mod_pagespeed">on
-OpenSUSE's build service instance</a>.  The builds have seen some testing on one
-of Robert's servers (OpenSUSE 12.1/x86_64) but he'd appreciate anyone else
-testing it.
-</p>
-<p>
-To enable the module, install it, add <code>deflate pagespeed</code> to your
-list of Apache modules in <code>/etc/sysconfig/apache2</code> and restart
-Apache.
-</p>
-<p>
-Please note that the module is linked dynamically with the current system
-libraries and as such will bring in more dependencies than the 'stock' Fedora or
-CentOS RPM.
-</p>
-
-<h2 id="not-rewriting">Why isn't PageSpeed rewriting any of my pages?</h2>
-<p>
-Check the HTTP response headers from your HTML page:
-</p>
-<pre class="prettyprint lang-bsh">
-  curl -D- http://example.com | less
-</pre>
-<p>
-You should get something like:
-</p>
-<dl>
-  <dt>Apache:<dd>
-<pre>
-Date: Fri, 30 Sep 2016 15:36:57 GMT
-Server: Apache/2.4.7 (Ubuntu)
-...
-X-Mod-Pagespeed: 1.11.33.4-0
-...
-</pre>
-  <dt>Nginx:<dd>
-<pre>
-Date: Fri, 30 Sep 2016 15:37:24 GMT
-Server: nginx/1.11.4
-...
-X-Page-Speed: 1.11.33.4-0
-</pre>
-</dl>
-<p>
-If you don't see an <code>X-Mod-Pagespeed</code> header (Apache)
-or <code>X-Page-Speed</code> header (Nginx), this means that your webserver
-isn't letting PageSpeed run.  This could be because it isn't actually installed,
-you don't have it turned on in the configuration file, or many other reasons.
-In Apache the problem might be that you have multiple
-<code>SetOutputFilter</code> directives: only one of those will win. See the
-Apache <a
-href="http://httpd.apache.org/docs/current/mod/core.html#SetOutputFilter"
->SetOutputFilter documentation</a>.
-</p>
-<p>
-If you do see the header, but it doesn't look like PageSpeed is making any
-changes to your page, its possible that none of the active filters are finding
-anything to rewrite.  Try comparing your page with PageSpeed off and with
-the <a href="filter-whitespace-collapse">collapse_whitespace</a> filter enabled:
-</p>
-<pre class="prettyprint">
-  curl -D- 'http://example.com?ModPagespeed=off' | less
-  curl -D- 'http://example.com?ModPagespeed=on&ModPagespeedFilters=collapse_whitespace' | less
-</pre>
-<p>
-If you see a change when run with <code>collapse_whitespace</code> on, that
-means PageSpeed is running but the filters you have selected aren't
-optimizing anything.  There are several reasons that could happen:
-</p>
-<ul>
-  <li>The filters you have enabled aren't aggressive enough.</li>
-  <li>Your resources (images, css, javascript) aren't cacheable.  If
-      PageSpeed sees <code>cache-control</code> headers such
-      as <code>nocache</code> or <code>private</code> it will not rewrite the
-      resources.</li>
-  <li>CSS, JavaScript, and image files served from a distinct domain from the
-      HTML must have the resource domain authorized. See
-      <a href="domains">Domains</a>.</li>
-  <li>Your CSS has new CSS3 syntax or other constructions we don't support.
-      See <a href="http://github.com/apache/incubator-pagespeed-mod/issues/108"
-      >issue 108</a>.
-      The <a href="filter-css-rewrite#configuration"
-      >fallback_rewrite_css_urls</a> filter may be able to help. You can also
-      use the <a href="build_from_source#debug-css">standalone CSS parser</a> to
-      help debug these issues.</li>
-  <li>Your resources are served over HTTPS.   HTTPS resources can currently only
-      be rewritten if they are origin-mapped or loaded from directly from the
-      file-system. See <a href="https_support">HTTPS Support</a>.</li>
-</ul>
-
-<h2 id="missing-dependency">Why am I getting "Error: Missing Dependency: httpd &gt; = 2.2" even though I have Apache 2.2.? installed?</h2>
-<p>
-  You are probably trying to install mod_pagespeed using yum or apt-get
-  (the .rpm or .deb binaries), but you installed Apache using a different
-  method (cPanel, Wordpress, etc.). This will not work because mod_pagespeed
-  binaries depend upon Apache being installed using yum or apt-get.
-</p>
-<p>
-  Instead you must either
-  <a href="build_mod_pagespeed_from_source">
-    build from mod_pagespeed from source
-  </a>
-  or <a href="http://www.google.com/">search</a> for mod_pagespeed + your
-  platform to see if someone has documented an install process for that
-  platform. For example,
-  <a href="#cpanel-install">cPanel based installation</a>.
-</p>
-
-<h2 id="cpanel-install">I'm using cPanel on my server, how do I install mod_pagespeed?</h2>
-<p>
-cPanel installs Apache httpd server from source via the built-in EasyApache setup
-and build process. In order to enable mod_pagespeed on your server, download
-and install the <a href="https://github.com/apache/incubator-pagespeed-cpanel">mod_pagespeed module
- for cPanel WHM</a> - once the module is installed, you can select "mod_pagespeed" as
-one of the modules during the regular EasyApache build (via the online tool, or from
-the command line). Do not install mod_pagespeed from .deb. or .rpm packages - cPanel
-requires that you use the EasyApache build process.
-</p>
-
-<h2 id="wordpress-blank">I'm using WordPress and my pages are blank. Why?</h2>
-<p>
-Disable compression in the WordPress plugin, so that mod_pagespeed will process
-uncompressed HTML. mod_pagespeed ensures that its output will be compressed by
-enabling <a href="http://httpd.apache.org/docs/current/mod/mod_deflate.html"
->mod_deflate</a>.
-</p>
-
-<h2 id="broken">PageSpeed broke my site; what do I do?</h2>
-<p>
-First of all, sorry about that. We put a lot of work into validating our
-rewriters against a large corpus of websites and we disable filters that cause
-problems as soon as we can, but sometimes things slip through.
-</p>
-<p>
-Second, please upgrade to the latest version; we are continually working on
-bug-fixes and turning off filters that break pages.
-</p>
-If it's still breaking your site, please post a bug
-(<a href="https://github.com/apache/incubator-pagespeed-mod/issues/new">Apache</a>,
- <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/new">Nginx</a>). If
-you can, including the following information will make it much easier to
-diagnose:
-<ol>
-  <li>Try appending <code>?ModPagespeed=off</code> to the URL. This de-activates
-      PageSpeed. If the site is still broken, it is not a rewrite
-      or HTML parsing problem. It might be a configuration clash, please ask us
-      on our <a href="mailing-lists#discussion">discussion group</a>.</li>
-  <li>If that fixed the site, try
-      appending <code>?ModPagespeed=on&ModPagespeedFilters=</code> to the
-      URL. This turns on PageSpeed, but no filters. If the site is broken
-      now, it is an HTML parsing
-      problem. Please <a href="mailing-lists#discussion">let us know</a>.</li>
-  <li>If the site still worked, try
-      appending <code>?ModPagespeed=on&ModPagespeedFilters=foo</code> for
-      various filters "foo". For example try:
-      <pre class="prettyprint lang-bsh">
-http://www.modpagespeed.com/?ModPagespeed=on&ModPagespeedFilters=extend_cache
-http://www.modpagespeed.com/?ModPagespeed=on&ModPagespeedFilters=combine_css
-http://www.modpagespeed.com/?ModPagespeed=on&ModPagespeedFilters=inline_css
-http://www.modpagespeed.com/?ModPagespeed=on&ModPagespeedFilters=inline_javascript
-http://www.modpagespeed.com/?ModPagespeed=on&ModPagespeedFilters=insert_image_dimensions
-http://www.modpagespeed.com/?ModPagespeed=on&ModPagespeedFilters=rewrite_images
-http://www.modpagespeed.com/?ModPagespeed=on&ModPagespeedFilters=rewrite_css
-http://www.modpagespeed.com/?ModPagespeed=on&ModPagespeedFilters=rewrite_javascript</pre>
-      You may have to reload them a few times over several seconds to make sure
-      they have had time to load sub-resources into cache and rewrite them. If
-      one of these breaks your site, you now know which filter is at
-      fault. Please <a href="mailing-lists#discussion">let us know</a>. You can
-      disable that filter by adding a line to your <code>pagespeed.conf</code>
-      file:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedDisableFilters foo</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed DisableFilters foo;</pre>
-</dl>
-  </li>
-</ol>
-
-<h2 id="mod_rewrite">I am getting 404s for rewritten resources
-  (like example.png.pagespeed.ic.LxXAhtOwRv.png) or for the
-  mod_pagespeed_admin console</h2>
-<p>
-  The most common reason that the rewritten resources 404 is because of
-  mod_rewrite <code>RewriteCond</code> rules. For example:
-</p>
-<pre class="prettyprint">
-RewriteCond %{REQUEST_FILENAME} !-f
-RewriteCond %{REQUEST_FILENAME} !-d
-RewriteRule ^ /404 [L,R=301]</pre>
-<p>
-  This rule causes 404 for all requests which don't exist on the filesystem,
-  including mod_pagespeed rewritten resources and the mod_pagespeed admin
-  console.
-</p>
-<p>
-  In order to fix this you must add an exception for mod_pagespeed URLs:
-</p>
-<pre class="prettyprint">
-  RewriteCond %{REQUEST_URI} !pagespeed</pre>
-<p>
-  This will allow rewritten resources, the admin console and static resources
-  necessary for some filters.
-</p>
-
-<h2 id="ignores-changes">PageSpeed does not pick up changes when I edit CSS
-or JavaScript files</h2>
-<p>
-There are two distinct cache-times at play when you use PageSpeed:
-<ol>
-  <li>The origin TTL which PageSpeed uses to refresh its internal
-      server-side cache.</li>
-  <li>The TTL with which PageSpeed serves rewritten resources to
-      browsers.</li>
-</ol>
-When PageSpeed first reads your resource file, it uses the origin TTL to figure
-out how often to re-examine the origin CSS file. Assume your origin TTL is 1
-day. Once PageSpeed has that file in cache, it will not go back &amp; re-check
-that file for a day. Changing the TTL after PageSpeed has put the resource in
-its cache will not help because PageSpeed is not going to reload the resource
-until the one in its cache expires, or you <a href="system#flush_cache">clear
-its cache</a>.
-</p>
-<p>
-We recommend an origin TTL of 10 minutes, which provides reasonable
-responsiveness when you update a file. If you try to make it much smaller, then
-your server will need to refresh it more frequently. This adds server load and
-reduces optimization.
-</p>
-<p>
-To see changes to your files more quickly while
-developing, <a href="system#flush_cache">flush the cache</a> on your server(s).
-</p>
-<p>
-If your environment allows you to
-enable <a href="domains#ModPagespeedLoadFromFile">LoadFromFile</a>,
-you can get the best of both worlds because PageSpeed can eliminate its
-internal server-side cache.
-</p>
-<h2 id="tiny-mce-errors">Why is PageSpeed giving me errors in jquery or
-js_tinyMCE?</h2>
-<p>
-Some JavaScript is introspective, being sensitive to its own name or the path
-it's loaded from.  While PageSpeed has an internal list
-(<a href="https://github.com/apache/incubator-pagespeed-mod/blob/master/net/instaweb/rewriter/rewrite_options.cc">DisallowTroublesomeResources</a>)
-hardcoded with filenames of JavaScript libraries that are known to be
-problematic, and <a href="restricting_urls#aris">inspects the source of
-others</a> looking for dangerous constructs, it doesn't always correctly
-determine whether it is safe to rewrite a given file.  If you have a file that
-is giving JavaScript errors, you can tell PageSpeed to leave it alone with
-<a href="restricting_urls">Disallow</a>.
-</p>
-<h2 id="name-resolution-failure">What's with all these "Serf" errors in my logs?
-Error status=670003 (Temporary failure in name resolution)</h2>
-<p>
-This can happen when the DNS cannot be accessed accurately from the server. Thus
-sub-resources cannot be fetched and rewritten correctly.
-</p>
-<p>
-To test that this is the case, <code>ssh</code> into your machine and <code>wget</code> a URL:
-</p>
-<pre class="prettyprint lang-bsh">
-  $ ssh YOUR_SITE
-  $ wget http://YOUR_SITE/
-</pre>
-<p>
-If this fails, then DNS is not accessible or there is some other networking
-issue stopping you from accessing your host from itself.
-</p>
-<p>
-One solution is to use <a href="domains#mapping_origin">origin-mapping</a> to
-indicate the host from which the resources should be fetched:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedMapOriginDomain localhost www.example.com</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed MapOriginDomain localhost www.example.com;</pre>
-</dl>
-<p>
-This bypasses DNS lookup by telling PageSpeed to get all resources for
-domain <code>www.example.com</code> from <code>localhost</code>.
-</p>
-<p>
-This can also be used to improve the performance of PageSpeed when it is
-sitting behind a load balancer. It may be preferable to use localhost to load
-the resources rather than going out to the load-balancer and back.
-</p>
-<h2 id="tmpfs">Can I move PageSpeed's file-based cache into RAM?</h2>
-<p>
-Why yes, you can. PageSpeed uses the file system for its cache
-implementation. There is no requirement that this be a physical disk. Disk
-pressure will be reduced and performance may be improved by using a memory-based
-file system.
-</p>
-<p>
-Put this in <code>/etc/fstab</code>, with the uid and guid set to the appropiate
-user and group of your webserver, and set path to your needs. Feel free to
-change the size; here it is 256Mb:
-<pre class="prettyprint lang-bsh">
-  tmpfs /path/to/pagespeed_cache tmpfs size=256m,mode=0775,uid=httpd,gid=httpd 0 0
-</pre>
-<p>
-Save it, and after that mount the tmpfs:
-</p>
-<pre class="prettyprint lang-bsh">
-  mount /path/to/pagespeed_cache
-</pre>
-<h2 id="configure-make">Why don't you allow source-installs in Apache via
-./configure && make?</h2>
-<p>
-mod_pagespeed is dependent on several other packages that
-use <code>gclient</code>.  For us to switch away from this build methodology
-we'd have to either:
-</p>
-<ul>
-  <li>rewrite the functionality we get for free from other packages,
-      <b>or</b></li>
-  <li>get these packages to switch
-      methodologies <b>and</b> document for people installing from source that
-      they must <code>configure</code> and <code>make</code> about 10 other
-      packages before they could compile ours.</li>
-</ul>
-<p>
-To do either of those would cost us a lot of development time that we'd prefer
-to spend making PageSpeed better.  The benefit of <code>gclient</code>,
-besides the above, is that it lets us control explicitly which library versions
-we link in, out of a large number of direct and transitive dependencies, helping
-us create a consistent experience for our source-code builds. If we had to ask
-our source-code installers to <code>configure</code> and <code>make</code>
-multiple dependent libraries there would likely be a lot of
-version-incompatibilities.
-</p>
-<p>
-We do support <code>./configure && make</code> in Nginx, but that only works
-because we package up a binary distribution of the PageSpeed Optimization
-Library and a "<a href="build_ngx_pagespeed_from_source">source</a>"
-installation only builds the ngx_pagespeed-specific files from source.  When you
-want
-to <a href="https://github.com/apache/incubator-pagespeed-ngx/wiki/Building-PSOL-From-Source">build
-PSOL from source along with ngx_pagespeed</a> you still need to
-use <code>gclient</code>.
-</p>
-<h2 id="tracking-image">Why is my Google Analytics data being inflated by
-"Serf"?</h2>
-<p>
-If you track page views with a tracking image, you will need to explicitly tell
-PageSpeed not to try to fetch that image. For example if your tracking image
-were:
-</p>
-<pre class="prettyprint">
-  &lt;img src="/ga.php?utmac=..."&gt;
-</pre>
-<p>
-you would add:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedDisallow "*/ga.php*"</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed Disallow "*/ga.php*";</pre>
-</dl>
-<p>
-to your configuration file.
-</p>
-<h2 id="mod_php">mod_pagespeed does not rewrite pages produced from mod_php</h2>
-<p>
-mod_pagespeed only rewrites pages specifically marked as <code>Content-Type:
-text/html</code> (and a few other HTML types). If you dynamically generate your
-pages from mod_php, PHP needs to set this header correctly.
-</p>
-<p>
-One way to do this is to use the PHP's <a href="http://php.net/manual/en/function.header.php">header function</a>:
-</p>
-<pre class="prettyprint">
-  &lt;?php
-  header('Content-Type: text/html')
-  ?&gt;
-</pre>
-<p>
-This code goes at the top of your php file.
-</p>
-<h2 id="meta_tags_and_xhtml">PageSpeed causes my page to display an <code>XML
-Parsing Error</code> message</h2>
-<p>
-This usually happens when using a content management or generation system
-(we've seen it with Munin and Magento for example). The full error message
-looks something like:
-</p>
-<pre class="prettyprint">
-  XML Parsing Error: mismatched tag. Expected: &lt;/li&gt;.
-  Location: http://www.example.com/
-  Line Number 123, Column 4: &lt;/ul&gt;
-</pre>
-<p>
-This happens when the generated content has a <code>meta</code> tag that
-identifies the content as XHTML but the content has markup that is not valid
-XHTML, <em>and</em> you have configured your webserver to set the content type
-to HTML, so the browser parses it as HTML and doesn't detect the invalid XHTML
-errors.
-</p>
-<p>
-However, when <code>convert_meta_tags</code> is enabled (and it's a core filter
-so is on by default), PageSpeed inserts a content header into the response
-with the value in the <code>meta</code> tag, namely XHTML
-(<code>application/xhtml+xml</code> to be precise), resulting in the browser
-displaying the error message because it is now parsing the page as XHTML and
-it rejects the invalid content.
-</p>
-<p>
-There are three solutions, in descending order of preference:
-<ul>
-<li>If the content is XHTML, write XHTML and validate it with an XHTML
-  validator.</li>
-<li>If the content is not XHTML, remove the <code>meta</code> tag that claims
-  it is.</li>
-<li>If the content is not XHTML but you can't remove the <code>meta</code> tag,
-  say because your CMS doesn't let you, disable the
-  <code>convert_meta_tags</code> filter in your <code>pagespeed.conf</code>:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedDisableFilters convert_meta_tags</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed DisableFilters convert_meta_tags;</pre>
-</dl>
-</li>
-</ul>
-<h2 id="selinux_permissions">Why do I get <em>Permission denied</em> errors
-  in my log file on CentOS, RHEL, or any system using SELinux?</h2>
-<p>
-The symptom is many error messages in the webserver log file of the form (split
-across multiple lines here for readability):
-</p>
-<pre class="prettyprint">
-  [Mon Jan 01 02:03:04 2001] [error] [mod_pagespeed 1.0.22.7-2005 @1234]
-    /path/to/pagespeed_cache/randomgibberish.lock:0:
-      creating dir (code=13 Permission denied)
-</pre>
-<p>
-These are because SELinux by default restricts permissions of daemons for
-extra security, so you need to grant permission for the <code>httpd</code>
-or daemon to write to the cache directory:
-</p>
-<pre class="prettyprint">
-  chcon -R -t httpd_sys_content_t /path/to/pagespeed_cache
-</pre>
-This is for Apache; we're not sure what you need to do for Nginx.
-
-<h2 id="loopback_fetches">My logs contain messages about missing
-files requested from 224.0.0.0 and resources are not optimized, what's wrong?</h2>
-<p>
-
-For <a href="CVE-2012-4001">security reasons</a>, PageSpeed will only fetch
-from host names it is explicitly told about via its domain configuration
-directives and from 127.0.0.1, the loopback interface of the server it's running
-on. Many Apache configuration management tools, however, will configure virtual
-hosts to only listen on the external IP, which causes those fetches to fail.
-<p>
-If you are affected, the following options may be appropriate:
-<ul>
- <li>Unless you have a reason not to, have your virtual hosts listen on all
-    interfaces: change the directives of the form
-     <code>&lt;VirtualHost 198.51.100.1:80&gt;</code> to the form
-     <code>&lt;VirtualHost *:80&gt;</code>
- </li>
- <li>For every virtual host, list its domain name(s) with the
-     <code>ModPagespeedDomain</code> directive inside its own
-     <code>&lt;VirtualHost&gt;</code> block. For example:
-     <pre class="prettyprint">
-&lt;VirtualHost 198.51.100.1:80&gt;
-ServerName www.example.com
-ModPagespeedDomain www.example.com
-</pre>
-  </li>
-  <li>For every virtual host, provide a <a href="domains#mapping_origin">
-  <code>ModPagespeedMapOriginDomain</code></a> directive giving where to load
-  its resources, for example:
-     <pre class="prettyprint">
-&lt;VirtualHost 198.51.100.1:80&gt;
-ServerName www.example.com
-ModPagespeedMapOriginDomain 198.51.100.1 www.example.com
-</pre>
-  </li>
-  <li>If you have <a href="configuration#virtual-hosts">
-  <code>ModPagespeedInheritVHostConfig on</code></a>, you can also provide the
-  origin mapping globally, which may be useful in combination with wildcards,
-  for example:
-    <pre class="prettyprint">
-ModPagespeedMapOriginDomain loadbalancer.example.com *.example.com
-</pre>
-
-  <p class="warning"><b>Warning:</b> You do not generally want to use
-    <code>Domain</code> globally as doing so will tell PageSpeed
-    that you consider all of these domains as mutually trusting.</p>
- </li>
- <li>If you are running a proxy or for some other reason cannot easily
-     enumerate all virtual hosts, it is possible to disable this behavior,
-     after taking some precautions. Please see
-     <a href="domains#fetch_servers">fetch server restrictions</a> for
-     more information.
-  </li>
-</ul>
-
-<h2 id="beacons">Why are rewritten pages sending POSTs back to my server?</h2>
-<p>
-Certain filters need to determine things about the page: in particular, the
-<code><a href="filter-lazyload-images">lazyload_images</a></code>,
-<code><a href="filter-inline-preview-images">inline_preview_images</a></code>,
-and <code><a href="reference-image-optimize#inline_images">inline_images</a>
-</code> filters need to determine which images are above the fold, and the
-<code><a href="filter-prioritize-critical-css">prioritize_critical_css</a>
-</code>filter needs to determine the CSS actually used by the page.
-<p>
-</p>To do this, the filters inject JavaScript into the rewritten HTML that
-analyzes the page in the browser and sends data back to mod_pagespeed using a
-POST method. The default target is <code>/mod_pagespeed_beacon</code> but that
-can be changed using the <code>
-<a href="filter-instrumentation-add#beacon_url">ModPagespeedBeaconUrl</a>
-</code> directive.
-</p>
-
-<h2 id="control_beacons">How do I enable or disable beacon POSTs being sent back
-to my server?</h2>
-<p>
-Filters that use the beacon automatically inject JavaScript to send the POST
-back to the server, and the POST handler is always enabled in mod_pagespeed,
-so there's nothing to do to enable beaconing.
-</p>
-<p>
-To disable the use of beacons by the image rewriting filters use the <code>
-<a href="config_filters#beacons">ModPagespeedCriticalImagesBeaconEnabled</a>
-</code> directive. If you disable image beacons but enable filters that use
-them, the filters will work but not as well as when beacons are enabled.
-<p>
-To disable the POST handler for all filters there are two options: either
-disable all the filters that use it, or use a
-<code>&lt;Location&gt;</code> directive to block it. Filters are disabled using
-<a href="config_filters#enabling">ModPagespeedDisableFilters</a>. An example
-<code>&lt;Location&gt;</code> directive to block all beacon POST handling that
-can be added to your <code>pagespeed.conf</code> file is:
-<pre class="prettyprint" id="disable_handler">
-  &lt;Location /mod_pagespeed_beacon&gt;
-    Order allow,deny
-  &lt;/Location&gt;
-</pre>
-<p>
-If you block POSTs but enable filters that use beacons, depending on the filter
-it will either have limited functionality or have no useful effect, but in all
-cases pointless processing will occur in both the server and the browser, so
-you should disable and forbid these filters if you block POSTs.
-</p>
-<p class="note">
-<strong>Note:</strong>Even if you disable all filters that use beacons someone
-could use tools like <code>wget</code> or <code>curl</code> to send POSTs to
-your server. These will have no effect but they will require processing. If you
-want to completely disable POST handling use a <code>&lt;Location&gt;</code>
-directive.
-</p>
-
-<h2 id="noscript-redirect">Why is PageSpeed inserting a meta refresh to
-/?PageSpeed=noscript or /?ModPagespeed=noscript at the top of the page?</h2>
-<p>
-The <code><a href="filter-js-defer">defer_javascript</a></code>,
-<code><a href="filter-lazyload-images">lazyload_images</a></code>,
-<code><a href="filter-dedup-inlined-images">dedup_inlined_images</a></code>, and
-<code><a href="filter-local-storage-cache">local_storage_cache</a></code>
-filters require JavaScript to render pages correctly. To support clients that
-have JavaScript disabled, if any of these filters are enabled, PageSpeed will
-insert a meta refresh inside a <code>noscript</code> tag at the top of the page.
-This meta refresh will redirect clients with JavaScript disabled to the current
-URL with a '<code>?PageSpeed=noscript</code>' query parameter appended which
-disables filters that require JavaScript.
-</p>
-<p>
-If you wish to disable this redirect, for instance if your page already requires
-JS to function correctly, set the following option in your
-<code>pagespeed.conf</code>:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedSupportNoScriptEnabled false</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed SupportNoScriptEnabled false;</pre>
-</dl>
-</p>
-
-
-<h2 id="collapse-newlines">Why won't the <code>collapse_whitespace</code> filter
-remove newlines?</h2>
-
-<p>
-When removing whitespace from HTML, some website optimizers remove newlines
-entirely, but PageSpeed leaves them in.  This isn't actually a problem with newlines,
-however, it's that it's not generally safe to remove a run of whitespace
-entirely.  You can turn any number of consecutive whitespace characters into a
-single one, and we do that, but removing the whole run can make the site render
-differently.
-</p>
-
-<p>
-To take a simple example, consider:
-</p>
-
-<pre>
-    &lt;body&gt;
-      &lt;h1&gt;Hello World&lt;/h1&gt;
-      Lorem     ipsum       dolor sit amet, consectetur
-      adipiscing elit. Fusce molestie ante &lt;b&gt;vitae&lt;/b&gt;
-      iaculis         varius. ...
-    &lt;/body&gt;
-</pre>
-
-<p>
-PageSpeed with <code>collapse_whitespace</code> will turn this into:
-</p>
-
-<pre>
-&lt;body&gt;
-&lt;h1&gt;Hello World&lt;/h1&gt;
-Lorem ipsum dolor sit amet, consectetur
-adipiscing elit. Fusce molestie ante &lt;b&gt;vitae&lt;/b&gt;
-iaculis varius. ...
-&lt;/body&gt;
-</pre>
-
-<p>
-If PageSpeed went further and put it all on one line, it would be
-converting <code>&lt;b&gt;vitae&lt;/b&gt; iaculis</code>
-into <code>&lt;b&gt;vitae&lt;/b&gt;iaculis</code>, which would change the
-rendering from "<b>vitae</b> iaculis" into "<b>vitae</b>iaculis"; one word
-instead of two.  It would have been safe to turn <code>&lt;body&gt;
-&lt;h1&gt;Hello World&lt;/h1&gt;</code> into <code>&lt;body&gt;&lt;h1&gt;Hello
-World&lt;/h1&gt;</code>, but doing one and not the other requires understanding
-the CSS (and JS) to the point where we can reliably tell that one pair of
-elements are <code>display:&nbsp;block</code> while the other pair
-are <code>display:&nbsp;inline</code>.
-</p>
-
-<h2 id="warning-fetch-rate">I've got a warning saying
-"Serf fetch failure rate extremely high". What does this mean?</h2>
-
-<p>The warning means that, when PageSpeed tried to fetch resources inside your
-web page for optimization, over 50% of attempts inside a 30-minute period
-failed. This may just mean you have some broken resource includes in your
-pages (in which case, it may be a good idea to fix them for better performance),
-but might indicate that PageSpeed's fetching is not working properly. If you
-have in-place resource optimization on, that can result in user requests for
-<code>.pagespeed.</code> URLs returning error 404 intermittently.</p>
-
-<p>First of all, check to see if the log mentions anything else about fetch
-trouble. If what's there is not helpful, the root cause may be more obvious
-if you follow these steps:</p>
-<ol>
-<li>Disable <a href="system#ipro">in-place resource optimization</a> temporarily.
-    </li>
-<li>Clear PageSpeed cache.</li>
-<li>Open a test page with a <code>?PagespeedFilters=+debug</code> query
-   parameter, reload it a few times, and see if resources are getting optimized,
-   and if not if there is an error message.
-<li>Revert the config changes.</li>
-</ol>
-
-<p>Most likely you may need to configure an <a href="domains#mapping_origin">
-origin domain, to specify the host or IP to talk to fetch resources.</p>
-
-<p>You may also want to consider using <a href="domains#ModPagespeedLoadFromFile">
-<code>LoadFromFile</code></a> functionality, as that performs much better if
-your resources are static.</p>
-
-<h2 id="varying-results">Sometimes pages are served as partially optimized. How can
-I achieve a more steady optimization ouput?</h2>
-
-<p>There are two (relatively) common situations that may lead up to a fluctuating
-level of optimization in the output:
-<ol>
-<li>Low traffic, combined with short http expiry times for image, css and javascript
-responses: <br/>
-Consider increasing the http expiry applied to the original
-resources, or set up <a href="domains#ModPagespeedLoadFromFile">LoadFromFile</a>
-to allow the module to load static files directly from disk.</li>
-<li>High cache churn rates:<br/>
-If PageSpeed's caches are sized too small, optimized assets falling out of the cache
-may cause frequent reoptimization. <a href="system#caching">Sizing the cache</a> to 3
-to 4 times the size of the original assets of the website should allow the module to
-cache all the original resources plus multiple optimized variants (for serving 
-different user-agents and screen sizes).
-</li>
-<li>If the above did not help, the <a href="admin">admin pages</a> offer various tools
-that may assist in diagnosing what happens.</li>
-</ol>
-
-</p>
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-attribute-elide.html b/doc/filter-attribute-elide.html
deleted file mode 100644
index dc8ede5..0000000
--- a/doc/filter-attribute-elide.html
+++ /dev/null
@@ -1,119 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Elide Attributes</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Elide Attributes</h1>
-
-
-<h2>Configuration</h2>
-<p>
-The 'Elide Attributes' filter is enabled by specifying:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters elide_attributes</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters elide_attributes;</pre>
-</dl>
-<p>
-in the configuration file.
-
-<h2>Description</h2>
-<p>
-The 'Elide Attributes' filter reduces the transfer size of HTML files
-by removing attributes from tags when the specified value is equal to
-the default value for that attribute. This can save a modest number of
-bytes, and may make the document more compressible by canonicalizing
-the affected tags.
-</p>
-
-<h2>Operation</h2>
-<p>
-There are two cases where an attribute value can be removed.  First,
-some attributes are "single-valued" or "boolean", in that the value
-specified for the attribute is irrelevant -- all that matters is
-whether the attribute is present or not.  In such cases, the filter
-will remove the value from the tag, leaving only the attribute name.
-</p>
-<p>
-For example, the following tag:
-</p>
-<pre class="prettyprint">
-  &lt;button name="ok" disabled="disabled"&gt;
-</pre>
-<p>
-can be rewritten to:
-</p>
-<pre class="prettyprint">
-  &lt;button name="ok" disabled&gt;
-</pre>
-<p>
-The second case is an optional attribute with a default value.  If an
-HTML attribute includes an explicit value for an attribute (perhaps to
-aid readability) that is equal to the default attribute, the filter
-will remove the attribute name and value, knowing that the browser
-will infer the intended attribute anyway.  For example, the following
-tag:
-</p>
-<pre class="prettyprint">
-  &lt;form method=get&gt;
-</pre>
-<p>
-can be rewritten to:
-</p>
-<pre class="prettyprint">
-  &lt;form&gt;
-</pre>
-<h3>Example</h3>
-<p>
-You can see the filter in action at <code>www.modpagespeed.com</code> on this
-<a href="https://www.modpagespeed.com/examples/elide_attributes.html?ModPagespeed=on&amp;ModPagespeedFilters=elide_attributes">example</a>.
-</p>
-
-<h2>Requirements</h2>
-<p>
-The 'Elide Attributes' filter must be wary of documents with an XHTML
-doctype, as removing the value from a single-valued attribute will
-result in invalid XHTML.  The filter attempts to recognize XHTML
-doctype declarations and will disable this rewriting feature in such
-cases.
-</p>
-
-<h2>Risks</h2>
-<p>This filter is considered medium risk. It is safe for most pages, but
-  might break CSS formatting on certain pages that match on default attributes
-  that this filter removes. Further, JavaScript can be written that inspects
-  the DOM looking for the presence of certain attributes. Such JavaScript may
-  behave differently on a page which has removed otherwise unnecessary
-  attributes.</p>
-
-
-</div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-cache-extend-pdfs.html b/doc/filter-cache-extend-pdfs.html
deleted file mode 100644
index 2e88695..0000000
--- a/doc/filter-cache-extend-pdfs.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Extend Cache PDFs</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Extend Cache PDFs</h1><h2>Configuration</h2>
-<p>
-The 'Extend Cache PDFs' filter is enabled by specifying:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters extend_cache_pdfs</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters extend_cache_pdfs;</pre>
-</dl>
-in the configuration file.
-
-<h2>Description</h2>
-<p>
-'Extend Cache PDFs' is a version of <a href="filter-cache-extend">Extend
-Cache</a> that acts on PDFs.  Unlike 'Extend Cache' it applies not only to
-resources but also to hyperlinks.  For example, while 'Extend Cache' would not
-apply to <code>&lt;a href=&quot;example.jpg&quot;&gt;</code>, 'Extend Cache
-PDFs' would apply to <code>&lt;a href=&quot;example.pdf&quot;&gt;</code>.
-</p>
-
-<h2>Operation</h2>
-<p>
-<a href="filter-cache-extend#operation">Extend Cache: Operation</a> describes
-the standard operation of cache extension in PageSpeed.  This filter identifies
-PDF URLs by their ".pdf" extension and marks them as eligible for cache
-extension.
-</p>
-<h3>Example</h3>
-<p>
-You can see the filter in action at <code>www.modpagespeed.com</code> for
-cache-extending PDFs
-<a
-href="https://www.modpagespeed.com/examples/extend_cache_pdfs.html?ModPagespeed=on&amp;ModPagespeedFilters=extend_cache_pdfs"
->in HTML</a>.
-</p>
-
-<h2>Limitations</h2>
-<p>
-In addition to the <a href="filter-cache-extend#limitations">limitations of
-Extend Cache</a>, this filter is limited by its reliance on file extensions for
-identifying potential PDF URLs.  PDF resources with URLs ending in something
-other than ".pdf" won't be considered for cache extension.
-</p>
-<h2>Risks</h2>
-<p>
-This filter has the same risks as <a href="filter-cache-extend#risks">Extend
-Cache</a>.
-</p>
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-cache-extend.html b/doc/filter-cache-extend.html
deleted file mode 100644
index 82ed930..0000000
--- a/doc/filter-cache-extend.html
+++ /dev/null
@@ -1,219 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Extend Cache</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Extend Cache</h1>
-
-<h2>Configuration</h2>
-<p>
-The 'Extend Cache' filter is enabled by specifying:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters extend_cache</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters extend_cache;</pre>
-</dl>
-<p>
-in the configuration file.  This is equivalent to enabling all three
-of <code>extend_cache_images</code>, <code>extend_cache_scripts</code>,
-and <code>extend_cache_css</code>.
-</p>
-<p>
-Also see: <a href="filter-cache-extend-pdfs">extend_cache_pdfs</a>.
-</p>
-
-<h2>Description</h2>
-<p>
-'Extend Cache' seeks to improve the cacheability of a web page's resources
-without compromising the ability of site owners to change the resources
-and have those changes propagate to users' browsers.
-</p>
-<p>
-This filter is based on the
-<a target="_blank" href="https://developers.google.com/speed/docs/best-practices/caching#LeverageBrowserCaching">
-best practice</a> to optimize caching, as applied to the browser.
-</p>
-
-<h2 id="operation">Operation</h2>
-<p>
-The 'Extend Cache' filter rewrites the URL references in the HTML
-page to include a hash of the resource content (if
-<a href="filter-css-rewrite"><code>rewrite_css</code></a> is enabled
-then image URLs in CSS will also be rewritten).  Thus if the site
-owners change the resource content, then the URL for the rewritten
-resource will also change.  The old content in the user's browser
-cache will not be referenced again, because it will not match the new name.
-</p>
-<p>
-The 'Extend Cache' filter also rewrites the HTTP header to extend the
-<code>max-age</code> value of the cacheable resource to 31536000 seconds,
-which is one year.
-</p>
-<p>
-For example, for the following HTML tag/HTTP header pair:
-</p>
-<pre class="prettyprint">
-HTML tag   : &lt;img src="images/logo.gif"&gt;
-HTTP header: Cache-Control:public, max-age=300
-</pre>
-<p>
-PageSpeed will rewrite these into:
-</p>
-<pre class="prettyprint">
-HTML tag   : &lt;img src="images/logo.gif.pagespeed.ce.xo4He3_gYf.gif"&gt;
-HTTP header: Cache-Control:public, max-age=31536000
-</pre>
-<p>
-PageSpeed uses the origin cache time-to-live (TTL), in this case
-300 seconds, to periodically re-examine the content to see if it's
-changed.  If it changes, then the hash of the content will also
-change.  Thus it's safe to serve the hashed URL with a long
-timeout&mdash;PageSpeed uses one year.
-</p>
-<p>
-If the site owners change the logo, then PageSpeed will notice
-within 5 minutes and begin serving a different URL to users.  But if
-the content does not change, then the hash will not change, and the
-copy in each user's browser will still be valid and reachable.
-</p>
-<p>
-Thus the site owners are still in complete control of how rapidly they can
-deploy changes to the site, but this does not affect the effectiveness
-of the browser cache.  Decreasing the TTL only affects how often
-PageSpeed will need to re-examine the resource.
-</p>
-<p>
-It should be noted that cache extension is built into other
-PageSpeed filters as well.   All filters that rewrite resources
-include a content-hash in the generated URL, and serve the resource
-with a 1-year TTL.  The purpose of this filter is to extend cache
-lifetimes for all resources that are not otherwise optimized.
-</p>
-<h3>Example</h3>
-<p>
-You can see the filter in action at <code>www.modpagespeed.com</code> for
-cache-extending resources
-<a href="https://www.modpagespeed.com/examples/extend_cache.html?ModPagespeed=on&amp;ModPagespeedFilters=extend_cache">in HTML</a> and
-<a href="https://www.modpagespeed.com/examples/rewrite_css_images.html?ModPagespeed=on&amp;ModPagespeedFilters=rewrite_css,extend_cache">in CSS</a>.
-</p>
-
-<h2 id="limitations">Limitations</h2>
-<p>
-Cache extension is only applied to resources that are publicly
-cacheable to begin with.  Cache extension is not done on resources
-that have <code>Cache-Control: private</code> or <code>Cache-Control:
-nocache</code>.
-</p>
-<p>
-This can be overridden with:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedForceCaching on</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed ForceCaching on;</pre>
-</dl>
-<p>
-This switch is intended for experimental purposes only, to help
-evaluate the benefit of cache extension against the effort of adding
-cache-control headers to resources.  Live traffic should not be served
-this way.
-</p>
-<p>
-The following configure file fragment demonstrates how to configure
-caching headers in Apache.  This is how the mod_pagespeed_example
-directory is set up.
-</p>
-<pre class="prettyprint lang-sh">
-# These caching headers are set up for the mod_pagespeed example, and
-# also serve as a demonstration of good values to set for the entire
-# site, if it is to be optimized by mod_pagespeed.
-&lt;Directory /var/www/mod_pagespeed_example&gt;
-  # Any caching headers set on HTML are ignored, and all HTML is served
-  # uncacheable.  PageSpeed rewrites HTML files each time they are served.  The
-  # first time mod_pagespeed sees an HTML file, it generally won't optimize it
-  # fully.  It will optimize better after the second view.  Caching defeats this
-  # behavior.
-
-  # Images, styles, and JavaScript are all cache-extended for
-  # a year by rewriting URLs to include a content hash.  mod_pagespeed
-  # can only do this if the resources are cacheable in the first place.
-  # The origin caching policy, set here to 10 minutes, dictates how
-  # frequently mod_pagespeed must re-read the content files and recompute
-  # the content-hash.  As long as the content doesn't actually change,
-  # the content-hash will remain the same, and the resources stored
-  # in browser caches will stay relevant.
-  &lt;FilesMatch "\.(jpg|jpeg|gif|png|js|css)$"&gt;
-    Header set Cache-control "public, max-age=600"
-  &lt;/FilesMatch&gt;
-&lt;/Directory&gt;
-</pre>
-<p>
-The equivalent configuration for Nginx would be:
-<pre class="prettyprint">
-# Make sure this goes after the .pagespeed. location regexp in your
-# configuration file so that .pagespeed. resources don't get this header
-# applied.
-location /mod_pagespeed_example {
-  location ~* \.(jpg|jpeg|gif|png|js|css)$ {
-    add_header Cache-Control "public, max-age=600";
-  }
-}
-</pre>
-
-<h2 id="risks">Risks</h2>
-<p>
-This filter is considered low risk. The rewritten URL will have a different name
-than that of the original URL, however, so JavaScript that uses URLs as
-templates can stop working.  For example, consider a site that
-has <code>&lt;input type=image src="button.gif"&gt;</code> and runs JavaScript
-that turns <code>button.gif</code> into <code>button-hover.gif</code> when the
-user hovers over the button.  With cache extension enabled, or any filter that
-changes the URLs of images, PageSpeed would replace the HTML fragment with
-something like <code>&lt;input type=image
-src="button.gif.pagespeed.ce.xo4He3_gYf.gif"&gt;</code>.  If the script was
-coded as "insert '-hover' before the final '.'" then it would construct an
-invalid hover URL of <code>button.gif.pagespeed.ce.xo4He3_gYf-hover.gif</code>.
-If this is a problem on your site, consider <a href="system#ipro">In-Place
-Resource Optimization</a>.
-
-</p>
-<p>
-  When applied to JavaScript files, this filter is sensitive to
-  <a href="restricting_urls#aris"><code
-  >AvoidRenamingIntrospectiveJavascript</code></a>.  For example,
-  a JavaScript file that
-  calls <code>document.getElementsByTagName('script')</code> will not be
-  cache-extended.
-</p>
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-canonicalize-js.html b/doc/filter-canonicalize-js.html
deleted file mode 100644
index a2d4ab5..0000000
--- a/doc/filter-canonicalize-js.html
+++ /dev/null
@@ -1,293 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Canonicalize JavaScript Libraries</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Canonicalize JavaScript Libraries</h1>
-<h2>Configuration</h2>
-<p>
-The 'Canonicalize JavaScript Libraries' filter is enabled by specifying:
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters canonicalize_javascript_libraries</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed EnableFilters canonicalize_javascript_libraries;
-
-</pre>
-</dl>
-<p>
-in the configuration file.
-</p>
-
-<h2>Description</h2>
-<p>
-This filter identifies popular JavaScript libraries that can be replaced with
-ones hosted for free by a JavaScript library hosting service &mdash; by default
-the <a href="/speed/libraries/">Google Hosted Libraries</a>. This has several
-benefits:
-<ul>
-  <li>Most important, first-time site visitors can benefit from browser caching,
-since they may have visited other sites making use of the same service to obtain
-the libraries.</li>
-  <li>The JavaScript hosting service acts as a content delivery network for the
-hosted files, reducing load on the server and improving browser load times.</li>
-  <li>There are no charges for the resulting use of bandwidth by site
-visitors.</li>
-  <li>The hosted versions of library code are generally optimized with
-third-party minification tools. These optimizations can make use of
-library-specific annotations or minification settings that aren't portable to
-arbitrary JavaScript code, so the libraries benefit from more aggressive
-optimization than can be provided by PageSpeed.</li>
-</ul>
-<p>
-In Apache the default set of libraries can be found in
-the <code><a href="https://github.com/apache/incubator-pagespeed-mod/blob/master/net/instaweb/genfiles/conf/pagespeed_libraries.conf">pagespeed_libraries.conf</a></code>
-file, which is loaded along with <code>pagespeed.conf</code> when Apache starts
-up. It contains signatures for all the <a href="/speed/libraries/">Google Hosted
-Libraries</a>.  In Nginx you need to
-convert <code>pagespeed_libraries.conf</code> from Apache-format to Nginx
-format:
-</p>
-<pre class="prettyprint lang-sh">
-$ scripts/pagespeed_libraries_generator.sh > ~/pagespeed_libraries.conf
-$ sudo mv ~/pagespeed_libraries.conf /path/to/nginx/configuration_files/
-</pre>
-<p>
-You also need to include it in your Nginx configuration by reference:
-</p>
-<pre class="prettyprint lang-sh">
-include pagespeed_libraries.conf;
-</pre>
-<p>
-Don't edit <code>pagespeed_libraries.conf</code>.  Local edits will keep you
-from being able to update it when you update PageSpeed.  Rather than editing it
-you should add additional libraries to your main configuration file:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedLibrary 43 1o978_K0_LNE5_ystNklf \
-   //www.modpagespeed.com/rewrite_javascript.js</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed Library 43 1o978_K0_LNE5_ystNklf
-   //www.modpagespeed.com/rewrite_javascript.js;</pre>
-</dl>
-<p>
-The general format of these entries is:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedLibrary bytes MD5 canonical_url</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed Library bytes MD5 canonical_url;</pre>
-</dl>
-<p>
-Here <code>bytes</code> is the size in bytes of the library <em>after</em>
-minification by PageSpeed, and <code>MD5</code> is the MD5 hash of the
-library after minification. Minification controls for differences in whitespace
-that may occur when the same script is obtained from different
-sources. The <code>canonical_url</code> is the hosting service URL used to
-replace occurrences of the script. Note that the canonical URL in the above
-example is protocol-relative; this means the data will be fetched using the same
-protocol (<code>http</code> or <code>https</code>) as the containing
-page. Because older browsers don't handle protocol-relative URLs reliably,
-PageSpeed resolves a protocol-relative library URL to an absolute URL based
-on the protocol of the containing page. Do not use <code>http</code> canonical
-URLs in configurations that may serve content over <code>https</code>, or the
-rewritten pages will expose your site to attack and trigger a mixed-content
-warning in the browser. Similarly, avoid using <code>https</code> URLs unless
-you know that the resulting library will eventually be fetched from a secure
-page, as SSL negotiation adds overhead to the initial request.
-</p>
-<p>
-Additional library configuration metadata can be generated with the help of
-the <code>pagespeed_js_minify</code> utility installed along with PageSpeed.
-To use this utility, you will need a local copy of the JavaScript code that you
-wish to replace.  If this is stored in <code>library.js</code>, you can generate
-<code>bytes</code> and <code>MD5</code> as follows:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >$ pagespeed_js_minify --print_size_and_hash library.js</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >$ cd /path/to/psol/lib/Release/linux/ia32/
-      $ pagespeed_js_minify --print_size_and_hash library.js</pre>
-</dl>
-<p>
-If you're using the <a href="filter-js-minify#new-minifier">new
-javascript minifier</a>, add the <code>--use_experimental_minifier</code>
-argument to <code>pagespeed_js_minify</code>. If you're using the old minifier,
-add <code>--nouse_experimental_minifier</code>. (As of 1.10.33.0,
-<code>--use_experimental_minifier</code> is default. Previously,
-<code>--nouse_experimental_minifier</code> was.)
-The default <code>pagespeed_libraries.conf</code> includes hashes for both
-the old and new minifiers.
-</p>
-<p>
-This filter is based on the best practices of
-<a target="_blank" href="https://developers.google.com/speed/docs/best-practices/caching#LeverageBrowserCaching">
-optimizing browser caching</a>
-and <a target="_blank" href="https://developers.google.com/speed/docs/best-practices/payload#MinifyJS">reducing payload
-size</a>.
-</p>
-
-<h2>Operation</h2>
-<p>
-In order to identify a library and canonicalize its URL, PageSpeed must of
-course be able to fetch the JavaScript code from the URL on the original page.
-Because library canonicalization identifies libraries solely by their size and
-hash signature, it is not necessary to authorize PageSpeed to fetch content
-from the domain hosting the canonical content itself.  This means that it is
-safe to use this filter behind a reverse proxy or in other situations where
-network access by PageSpeed is deliberately restricted.  Browsers visiting
-the site will fetch the content from the canonical URL, but PageSpeed itself
-does not need to do so.
-</p>
-
-<h3>Examples</h3>
-<p>
-You can see the filter in action at <code>www.modpagespeed.com</code> on this
-<a href="https://www.modpagespeed.com/examples/canonicalize_javascript_libraries.html?ModPagespeed=on&amp;ModPagespeedFilters=canonicalize_javascript_libraries">example</a>.
-</p>
-<p>
-If the HTML document looks like this:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;script src="jquery_1_8.js"&gt;
-    &lt;/script&gt;
-    &lt;script src="a.js"&gt;
-    &lt;/script&gt;
-    &lt;script src="b.js"&gt;
-    &lt;/script&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-  ...
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-Then, assuming <code>jquery_1_8.js</code> was an unminified copy of the jquery
-library and <code>a.js</code> and <code>b.js</code> contained site-specific code
-that made use of jquery, the page would be rewritten as follows:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"&gt;
-    &lt;/script&gt;
-    &lt;script src="a.js"&gt;
-    &lt;/script&gt;
-    &lt;script src="b.js"&gt;
-    &lt;/script&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-  ...
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-The library URL has been replaced by a reference to the canonical minified
-version hosted on <code>ajax.googleapis.com</code>.  Note that canonical
-libraries do not participate in most other JavaScript optimizations.  For
-example, if <a href="filter-js-combine">Combine JavaScript</a> is also enabled,
-the above page will be rewritten as follows:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"&gt;
-    &lt;/script&gt;
-    &lt;script src="http://www.example.com/a.js+b.js.pagespeed.jc.zYiUaxFS8I.js"&gt;
-    &lt;/script&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-  ...
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-The canonical library is <em>not</em> combined with the other two JavaScript
-files, since this would lose the bandwidth and caching benefits of fetching it
-from the canonical URL.
-</p>
-<p>
-If <a href="filter-js-defer">defer_javascript</a> is enabled, <em>and</em> library
-is <em>not</em> tagged with <code>data-pagespeed-no-defer</code>,
-the canonicalized library is deferred.
-</p>
-
-<h2>Requirements</h2>
-<p>
-Only complete, unmodified libraries referenced by <code>&lt;script&gt;</code>
-tags in the HTML will be rewritten. Libraries that are loaded by other means
-(for example by injecting a loader script) or that have been modified will not
-be canonicalized.
-</p>
-
-<h2>Risks</h2>
-<p>
-You must ensure that you abide by the terms of service of the providers of the
-canonical content before enabling canonicalization. The terms of service for the
-default configuration can be found
-at <a href="/speed/libraries/terms">https://developers.google.com/speed/libraries/terms</a>.
-</p>
-<p>
-The canonical URL refers to a third-party domain; this can cause additional DNS
-lookup latency the first time a library is loaded.  This is mitigated by the
-fact that the canonical copy of the data is shared among multiple sites.
-</p>
-<p>
-The initial request for a canonical URL will contain a <code>Referer:</code>
-header with the URL of the referring page.  This permits the host of the
-canonical content to see a subset of traffic to your site (the first load of a
-page on your site that contains an identified library by a browser that does not
-already have that library in its cache). The provider should describe how this
-data is used in its terms of service. The terms of service for the default
-configuration can be found at
-<a href="/speed/libraries/terms">https://developers.google.com/speed/libraries/terms</a>.
-Again, this risk is mitigated by the fact that canonical libraries are shared
-among multiple sites; a popular library is likely to already reside in the
-browser cache.
-</p>
-<p>
-Sites serving content on both <code>http</code> and <code>https</code> URLs must
-use protocol-relative canonical URLs as shown <a href="#sample">above</a>.
-Fetching a library insecurely from a secure page exposes a site to attack.
-Fetching a library securely from an ordinary page can increase load time due to
-SSL overheads.
-</p>
-<p>
-It is theoretically possible to craft a JavaScript file whose minified size and
-hash exactly match that of a canonical library, but whose code behaves
-differently.  In such a case the library will be replaced with the canonical
-(widely-used) library.  This will break the page that contains the reference to
-the crafted JavaScript.
-</p>
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-comment-remove.html b/doc/filter-comment-remove.html
deleted file mode 100644
index 8874590..0000000
--- a/doc/filter-comment-remove.html
+++ /dev/null
@@ -1,129 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Remove Comments</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Remove Comments</h1>
-
-<h2>Configuration</h2>
-<p>
-The 'Remove Comments' filter is enabled by specifying:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters remove_comments</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters remove_comments;</pre>
-</dl>
-<p>
-in the configuration file.  To retain comments that have semantic reason to be
-delivered to the browser, you may specify one more wildcard patterns
-using <code>RetainComment</code> directives.  For example:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedRetainComment " google_ad_section*"</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed RetainComment " google_ad_section*";</pre>
-</dl>
-</p>
-
-<h2>Description</h2>
-<p>
-The <code>remove_comments</code> filter eliminates HTML comments,
-which are often used to document the code or to comment out
-experiments.  Note that this directive applies only to HTML files.
-CSS comments are eliminated with the
-<code>rewrite_css</code> filter, and Javascript comments are
-eliminated with the <code>rewrite_javascript</code> filter.
-</p>
-<p>
-The filter reduces the transfer size of HTML files by removing most HTML
-comments. Depending on the HTML file, this filter can significantly reduce the
-number of bytes transmitted on the network.  Also note that
-the <code>RetainComment</code> directive currently only applies to HTML files --
-the wildcard pattern is not currently used for retaining CSS or Javascript
-comments.
-</p>
-<p>
-For example, if the HTML document looks like this:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-&lt;body&gt;
-&lt;!-- Display the site logo here --&gt;
-&lt;img src="logo.png"&gt;
-&lt;!-- Now show the page contents --&gt;
-&lt;div&gt;Some content here&lt;/div&gt;
-&lt;!-- Apply IE-specific CSS --&gt;
-&lt;!-- [if IE ]&gt;
-&lt;link href="iecss.css" rel="stylesheet" type="text/css"&gt;
-&lt;![endif]--&gt;
-&lt;!-- google_ad_section_end  -- retained due to RetainComment directive --&gt;
-&lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-Then PageSpeed, with the above directives specified, will rewrite it into:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-&lt;body&gt;
-&lt;img src="logo.png"&gt;
-&lt;div&gt;Some content here&lt;/div&gt;
-&lt;!-- [if IE ]&gt;
-&lt;link href="iecss.css" rel="stylesheet" type="text/css"&gt;
-&lt;![endif]--&gt;
-&lt;!-- google_ad_section_end  -- retained due to RetainComment directive --&gt;
-&lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<h3>Example</h3>
-<p>
-You can see the filter in action at <code>www.modpagespeed.com</code> on this
-<a href="https://www.modpagespeed.com/examples/remove_comments.html?ModPagespeed=on&amp;ModPagespeedFilters=remove_comments">example</a>.
-</p>
-
-<h2>Notes</h2>
-<p>
-The "Remove Comments" filter is aware of
-<a href="http://msdn.microsoft.com/en-us/library/ms537512(VS.85).aspx">Internet Explorer conditional comments</a> and does not remove them.
-</p>
-
-<h2>Risks</h2>
-<p>
-This filter is low risk for most web pages. Some web pages use comments to
-embed data or JavaScript, in order to reduce the parse time of the HTML
-document. Such pages sould disable this filter, as it will remove the
-comments containing the data or JavaScript that is needed by these web
-pages.
-</p>
-
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-convert-meta-tags.html b/doc/filter-convert-meta-tags.html
deleted file mode 100644
index dd29075..0000000
--- a/doc/filter-convert-meta-tags.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Convert Meta Tags</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Convert Meta Tags</h1>
-<h2>Configuration</h2>
-<p>
-The 'Convert Meta Tags' filter is enabled by specifying:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters convert_meta_tags</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters convert_meta_tags;</pre>
-</dl>
-<p>
-in the configuration file, but it is also enabled automatically by the core
-filter set.
-</p>
-
-<h2>Description</h2>
-<p>
-The 'Convert Meta Tags' filter adds a response header that matches each meta
-tag with an http-equiv attribute.  For example, HTML
-<pre class="prettyprint"
-     >&lt;meta http-eqiv="Content-Type" content="text/html; charset=UTF-8"&gt;</pre>
-would add an HTTP header:
-<pre class="prettyprint"
-     >Content-Type: text/html; charset=UTF-8</pre>
-in the response headers.
-</p>
-<p>
-The original tag is left unchanged.
-</p>
-<p>
-Certain http-equiv meta tags, specifically those that specify content-type,
-require a browser to reparse the html document if they do not match the headers.
-By ensuring that the headers match the meta tags, these reparsing delays are
-avoided.
-</p>
-
-<h2>Risks</h2>
-<p>
-This filter is considered minimal risk because at this time,
-Content-Type is the only <code>http-equiv</code> value that is transformed into
-an HTTP header.  Other http-equiv values have been found to have unexpected semantic
-implications when transformed to HTTP.
-</p>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-css-above-scripts.html b/doc/filter-css-above-scripts.html
deleted file mode 100644
index b4d2e23..0000000
--- a/doc/filter-css-above-scripts.html
+++ /dev/null
@@ -1,152 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Move CSS Above Scripts</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Move CSS Above Scripts</h1>
-
-
-<h2>Configuration</h2>
-<p>
-  The 'Move CSS Above Scripts' filter is enabled by specifying:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters move_css_above_scripts</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters move_css_above_scripts;</pre>
-</dl>
-<p>
-  in the configuration file.
-</p>
-
-<h2>Description</h2>
-<p>
-  'Move CSS Above Scripts' seeks to make sure scripts do not block the
-  loading of CSS resources.
-</p>
-<p>
-  This is based on the
-  <a target="_blank" href="https://developers.google.com/speed/docs/best-practices/rtt#PutStylesBeforeScripts">
-    best practice for downloading resources early.
-  </a>
-</p>
-
-<h2>Operation</h2>
-<p>
-  The 'Move CSS Above Scripts' filter operates only on CSS
-  <code>&lt;link&gt;</code> and <code>&lt;style&gt;</code> tags found after the
-  first <code>&lt;script&gt;</code> tag and moves these tags above the first
-  <code>&lt;script&gt;</code>.
-</p>
-<p>
-  For example, if the HTML document looks like this:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;script src="script.js" type="text/javascript"&gt;&lt;/script&gt;
-    &lt;div class="blue yellow big bold"&gt;
-      Hello, world!
-    &lt;/div&gt;
-    &lt;style type="text/css"&gt;
-      .foo { color: red; }
-    &lt;/style&gt;
-    &lt;link rel="stylesheet" type="text/css" href="styles/all_styles.css"&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-  Then PageSpeed will rewrite it into:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;style type="text/css"&gt;
-      .foo { color: red; }
-    &lt;/style&gt;
-    &lt;link rel="stylesheet" type="text/css" href="styles/all_styles.css"&gt;
-    &lt;script src="script.js" type="text/javascript"&gt;&lt;/script&gt;
-    &lt;div class="blue yellow big bold"&gt;
-      Hello, world!
-    &lt;/div&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-
-<p>
-  In some browsers the original version will not even download the CSS file
-  until the JavaScript has been downloaded and run. This transformation will
-  make sure the CSS file is loaded first.
-</p>
-<p class="note">
-  Note: You may also want to enable
-  the <a href="filter-css-to-head">move_css_to_head</a> filter to avoid a flash
-  of unstyled content.  When both filters are enabled, stylesheets are moved
-  into the head and above the first script.
-</p>
-
-<h3>Example</h3>
-<p>
-  You can see the filter in action at <code>www.modpagespeed.com</code> on this
-  <a href="https://www.modpagespeed.com/examples/move_css_above_scripts.html?ModPagespeed=on&amp;ModPagespeedFilters=move_css_above_scripts">example</a>.
-</p>
-
-<h2>Limitations</h2>
-<p>
-  This filter operates within the scope of a "flush window". Specifically,
-  large, or dynamically generated HTML files may be "flushed" by the
-  resource generator before they are complete. If the filter
-  encounters a flush after the first <code>&lt;script&gt;</code> tag,
-  subsequently encountered CSS elements will not be moved above it.
-</p>
-
-<h2>Risks</h2>
-<p>
-  This filter is considered low risk. However, JavaScript that is
-  executed before a CSS element will see a different view of the DOM in
-  the presence of this rewriter:  the CSS element will now be in the head.
-  If there is such JavaScript embedded in the middle of a page then this
-  rewriter may change its behavior.
-</p>
-<p>
-  This filter may slow down your webpages for some browsers. Just as JavaScript
-  can block download of CSS in some browsers, some others will not execute
-  JavaScript until preceding CSS has been rendered. This filter is currently
-  considered experimental while we measure its effectiveness.
-</p>
-
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-css-combine.html b/doc/filter-css-combine.html
deleted file mode 100644
index 5992826..0000000
--- a/doc/filter-css-combine.html
+++ /dev/null
@@ -1,216 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Combine CSS</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Combine CSS</h1>
-
-
-<h2>Configuration</h2>
-<p>
-The 'Combine CSS' filter is enabled by specifying:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters combine_css</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters combine_css;</pre>
-</dl>
-<p>
-in the configuration file.
-</p>
-
-<h2>Description</h2>
-<p>
-'Combine CSS' seeks to reduce the number of HTTP requests made by a browser
-during page refresh by replacing multiple distinct CSS files with a single CSS
-file, containing the contents of all of them.  This is particularly important in
-old browsers, that were limited to two connections per domain.  In addition to
-reduced overhead for HTTP headers and communications warm-up, this approach
-works better with TCP/IP slow-start, increasing the effective payload bit-rate
-through the browser's network connection.
-</p>
-<p>
-This <a target="_blank" href="https://developers.google.com/speed/docs/best-practices/rtt#CombineExternalCSS">practice</a>
-reduces the number of round-trip times.
-</p>
-
-<h2>Operation</h2>
-<p>
-The "CSS Combine" filter finds all CSS <code>&lt;link&gt;</code> tags. If there
-was more than one in a flush window, it removes each of those links and replaces
-them with a single <code>&lt;link&gt;</code> to the merged document, which it
-places wherever the first CSS <code>&lt;link&gt;</code> originally was.
-</p>
-<p>
-For example, if the HTML document looks like this:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;link rel="stylesheet" type="text/css" href="styles/yellow.css"&gt;
-    &lt;link rel="stylesheet" type="text/css" href="styles/blue.css"&gt;
-    &lt;link rel="stylesheet" type="text/css" href="styles/big.css"&gt;
-    &lt;link rel="stylesheet" type="text/css" href="styles/bold.css"&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;div class="blue yellow big bold"&gt;
-      Hello, world!
-    &lt;/div&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-Then PageSpeed will rewrite it into:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;link rel="stylesheet" type="text/css" href="styles/yellow.css+blue.css+big.css+bold.css.pagespeed.cc.xo4He3_gYf.css"&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;div class="blue yellow big bold"&gt;
-      Hello, world!
-    &lt;/div&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<h3>Example</h3>
-<p>
-You can see the filter in action at <code>www.modpagespeed.com</code> on this
-<a href="https://www.modpagespeed.com/examples/combine_css.html?ModPagespeed=on&amp;ModPagespeedFilters=combine_css">example</a>.
-</p>
-
-<h2>Parameters that affect CSS optimization</h2>
-
-<h3 id="MaxCombinedCssBytes">MaxCombinedCssBytes</h3>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedMaxCombinedCssBytes MaxBytes</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed MaxCombinedCssBytes MaxBytes;</pre>
-</dl>
-<p>
-<code>MaxBytes</code> is the maximum size in bytes of the combined CSS files.
-CSS files larger than <code>MaxBytes</code> will be kept intact;
-other CSS files will be combined into one or more files, each being no more
-than <code>MaxBytes</code> in size. The current default value for
-<code>MaxBytes</code> is -1 (unlimited).
-</p>
-
-<h2>Limitations</h2>
-<p>The CSS Combine filter operates within the scope of a "flush window".
-Specifically, large, or dynamically generated HTML files may be
-"flushed" by the resource generator before they are complete.  When the
-CSS combiner encounters a flush, it will emit all CSS combinations seen
-up to the point of the flush.  After the flush, it will begin collecting
-a new CSS combination.
-</p>
-<p>This filter generates URLs that are essentially the concatenation
-of the URLs of all the CSS files being combined.  The maximum URL size
-is generally limited to about 2k characters due to IE:
-See <a href="http://support.microsoft.com/kb/208427/EN-US"
->http://support.microsoft.com/kb/208427/EN-US</a>.  Apache servers by
-default impose a further limitation of about 250 characters per URL segment
-(text between slashes).  PageSpeed circumvents this limitation when it runs
-within Apache, but if you employ proxy servers in your path you may need to
-re-impose it by overriding the setting here.  The default setting is 1024.</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedMaxSegmentLength 250</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed MaxSegmentLength 250;</pre>
-</dl>
-
-<h3 id="permit-ids-for-css-combining">Combining Resources with IDs</h3>
-<p class="note"><strong>Note: New feature as of 1.12.34.1</strong></p>
-
-<p>
-  By default PageSpeed won't combine CSS files that have <code>id</code>
-  attributes, because this often indicates that the site designer intended to
-  reference them in javascript.  However, some content management systems,
-  including WordPress, put <code>id</code>s on all stylesheets for clarity.  To
-  enable combining these files, you can provide one or more wildcards.  For
-  example, this would mark stylesheets with ids starting with <code>font</code>
-  as eligible for combining:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedPermitIdsForCssCombining font*</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed PermitIdsForCssCombining font*;</pre>
-</dl>
-
-<h2>Requirements</h2>
-<p>
-The 'Combine CSS' filter may need to <em>absolutify</em> relative
-URLs, if rewriting the CSS causes the path to be moved.  The filter
-will not merge together resources from multiple distinct domains, even
-if those domains are each authorized by <code>Domain</code>.
-It <strong>will</strong> merge together resources from multiple
-distinct domains that have been mapped together via
-<code>MapRewriteDomain</code>.
-</p>
-<p>
-By default, the filter will combine together CSS files from different
-paths, placing the combined element at the lowest level common to both
-origins.  In some cases, this may be undesirable.  You can turn off the
-behavior with:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedCombineAcrossPaths off</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed CombineAcrossPaths off;</pre>
-</dl>
-<p>
-The filter will maintain the order of the CSS contents, as class order can be
-significant.
-</p>
-<p>
-IE Directives containing CSS links form a "barrier" for the CSS combiner.
-Multiple CSS elements found before an IE directive are combined together
-immediately before the IE directive.  Multiple CSS elements found after are
-also combined, but the combination does not span across the IE directive, as
-that would affect the order that the browser sees the CSS elements.
-</p>
-
-<h2>Risks</h2>
-<p>
-This filter is considered low risk. However, JavaScript can be written that
-walks the DOM looking for <code>&lt;link&gt;</code> entries with certain
-syntax.  Such JavaScript may behave differently on a page which has modified
-CSS links in this way.
-</p>
-
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-css-inline-google-fonts.html b/doc/filter-css-inline-google-fonts.html
deleted file mode 100644
index b4aeff0..0000000
--- a/doc/filter-css-inline-google-fonts.html
+++ /dev/null
@@ -1,162 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Inline Google Fonts API CSS</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Inline Google Fonts API CSS</h1>
-
-<h2>Configuration</h2>
-<p>
-The 'Inline Google Fonts API CSS' filter is enabled by specifying:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters inline_google_font_css</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters inline_google_font_css;</pre>
-</dl>
-<p>
-in the configuration file.  You also need to
-enable <a href="https_support#https_fetch">HTTPS Fetching</a> if your pages load
-fonts over HTTPS:
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedFetchHttps enable</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed FetchHttps enable;</pre>
-</dl>
-
-</p>
-
-<p>As of 1.9.32.6, the size limit for this filter is controlled as follows:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedGoogleFontCssInlineMaxBytes bytes</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed GoogleFontCssInlineMaxBytes bytes;</pre>
-</dl>
-
-<p>In older versions, the filter used same size limits as the main CSS filter:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedCssInlineMaxBytes bytes</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed CssInlineMaxBytes bytes;</pre>
-</dl>
-<p>
-This is the maximum size in bytes of any CSS file that will be inlined.
-</p>
-<h2>Description</h2>
-<p>
-The "Inline Google Fonts API CSS" filter reduces the number of requests made by
-a web page that uses the Google Fonts API by inlining the small loader CSS
-into the webpage. Note that because the loader CSS is browser-specific, this
-feature is not currently compatible with downstream caching being on or
-<code>ModifyCachingHeaders</code> being off.
-</p>
-<h2>Operation</h2>
-<p>
-When the 'Inline Google Fonts API CSS' filter is enabled, the contents of the
-small external CSS resources produced to load the fonts are written directly
-into the HTML document; the browser does not need to request those CSS
-resources independently.
-</p>
-<p>
-For example, if the HTML document looks like this:
-</p>
-<pre class="prettyprint">
-&lt;html>
-  &lt;head>
-    &lt;title>inline_google_font_css example&lt;/title>
-    &lt;link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Roboto">
-    &lt;style>
-      body {
-        font-family: 'Roboto', sans-serif;
-      }
-    &lt;/style>
-  &lt;/head>
-  &lt;body>
-  The font should be slightly more robotic.
-  &lt;/body>
-&lt;/html>
-</pre>
-<p>
-Then, a visitor using a browser for which woff fonts are preferred may see
-something like:
-</p>
-<pre class="prettyprint">
-&lt;html>
-  &lt;head>
-    &lt;title>inline_google_font_css example&lt;/title>
-    &lt;style>@font-face {
-      font-family: 'Roboto';
-      font-style: normal;
-      font-weight: 400;
-      src: local('Roboto Regular'), local('Roboto-Regular'), url(http://themes.googleusercontent.com/static/fonts/roboto/v9/abcd.woff) format('woff');
-    }
-    &lt;/style>
-    &lt;style>
-      body {
-        font-family: 'Roboto', sans-serif;
-      }
-    &lt;/style>
-  &lt;/head>
-  &lt;body>
-  The font should be slightly more robotic.
-  &lt;/body>
-&lt;/html>
-</pre>
-<p>
-This eliminates the browser request to <code>fonts.googleapis.com</code> and
-potentially the need for the browser to perform a DNS lookup and connect to
-that host entirely.
-
-<h3>Example</h3>
-<p>
-You can see the filter in action at <code>www.modpagespeed.com</code> on this
-<a href="https://www.modpagespeed.com/examples/inline_google_font_css.html?PageSpeed=on&PageSpeedFilters=inline_google_font_css">example</a>.
-</p>
-
-<h2>Risks</h2>
-<p>
-You must ensure that you abide by
-<a href="https://developers.google.com/fonts/terms">Google Fonts API Terms of Service</a>.
-Note that enabling this filter will cause some requests to be sent to
-the API from your server (rather than just the visitor), which may be logged
-per the Fonts API Terms of Service.
-</p>
-
-<p>
-The filter is low to moderate risk.  It should be safe for most pages, but it
-could potentially break scripts that walk the DOM looking
-for and examining <code>&lt;link&gt;</code> or <code>&lt;style&gt;</code> tags.
-</p>
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-css-inline-import.html b/doc/filter-css-inline-import.html
deleted file mode 100644
index 8eab835..0000000
--- a/doc/filter-css-inline-import.html
+++ /dev/null
@@ -1,112 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Inline @import to Link</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Inline @import to Link</h1>
-
-<h2>Configuration</h2>
-<p>
-The 'Inline @import to Link' filter is enabled by specifying:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters inline_import_to_link</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters inline_import_to_link;</pre>
-</dl>
-in the configuration file.
-</p>
-<h2>Description</h2>
-<p>
-The "Inline @import to Link" filter converts a <code>&lt;style&gt;</code> tag
-consisting of only <code>@import</code> statements into the corresponding
-<code>&lt;link&gt;</code> tags. This conversion does not itself result in any
-significant optimization, rather its value lies in that it enables optimization
-of the linked-to CSS files by later filters, in particular the combine_css,
-rewrite_css, inline_css, and extend_cache filters.
-</p>
-<h2>Operation</h2>
-<p>
-This filter inspects the contents of all <code>&lt;style&gt;</code> tags and
-converts the tag if all the following conditions are met:</p>
-<ul>
-<li>Either the <code>&lt;style&gt;</code> tag has no <code>type</code>
-  attribute or the <code>type</code> attribute has the value
-  &quot;text/css&quot;.</li>
-<li>The contents comprise one or more valid <code>@import</code> statements,
- and no other statements.</li>
-<li>None of the imported URLs are empty.</li>
-<li>The <code>&lt;style&gt;</code> tag has neither an <code>href</code> nor a
-  <code>rel</code> attribute (which would make it invalid anyway).</li>
-<li>If the <code>&lt;style&gt;</code> tag has a <code>media</code> attribute
-  and the <code>@import</code> statement specifies media after the URL, then
-  the media types listed must be the same. They do not have to be in the same
-  order, and blank media types are ignored.</li>
-</ul>
-<p>
-If all these conditions are met, the <code>&lt;style&gt;</code> tag and its
-contents are replaced with a <code>&lt;link&gt;</code> tag for each
-<code>@import</code>, with:</p>
-<ul>
-<li>Attributes from the <code>&lt;style&gt;</code> tag copied to the
-  <code>&lt;link&gt;</code> tag.</li>
-<li>An <code>href</code> attribute with value of the imported URL.</li>
-<li>A <code>rel</code> attribute with value of &quot;stylesheet&quot;.</li>
-<li>If the <code>&lt;style&gt;</code> tag did not have a <code>media</code>
-  attribute but the <code>@import</code> specified media after the URL, then
-  a <code>media</code> attribute with value of the media specified after the
-  URL.</li>
-</ul>
-<p>
-For example, if the <code>&lt;style&gt;</code> tag looks like this:
-</p>
-<pre class="prettyprint">
-&lt;style type=&quot;text/css&quot; media=&quot;screen&quot;>@import url(http://www.example.com/style.css);&lt;/style&gt;
-</pre>
-<p>
-Then PageSpeed will convert it to:
-<pre class="prettyprint">
-&lt;link type=&quot;text/css&quot; media=&quot;screen&quot; rel=&quot;stylesheet&quot; href=&quot;http://www.example.com/style.css&quot;/&gt;
-</pre>
-
-<h3>Example</h3>
-<p>
-You can see the filter in action at <code>www.modpagespeed.com</code> on this
-<a href="https://www.modpagespeed.com/examples/inline_import_to_link.html?ModPagespeed=on&amp;ModPagespeedFilters=inline_import_to_link">example</a>.
-</p>
-
-<h2>Risks</h2>
-<p>
-This filter is considered minimal risk.
-</p>
-
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-css-inline.html b/doc/filter-css-inline.html
deleted file mode 100644
index 604dcf5..0000000
--- a/doc/filter-css-inline.html
+++ /dev/null
@@ -1,157 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Inline CSS</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Inline CSS</h1>
-
-<h2>Configuration</h2>
-<p>
-The 'Inline CSS' filter is enabled by specifying:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters inline_css</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters inline_css;</pre>
-</dl>
-<p>
-in the configuration file.
-</p>
-<p>When this filter is enabled, you may also enable the following setting:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedCssInlineMaxBytes bytes</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed CssInlineMaxBytes bytes;</pre>
-</dl>
-<p>
-This is the maximum size in bytes of any CSS file that will be inlined.
-</p>
-<h2>Description</h2>
-<p>
-The "Inline CSS" filter reduces the number of requests made by a web page by
-inserting the contents of small external CSS resources directly into the HTML
-document.  This can reduce the time it takes to display content to the user,
-especially in older browsers.
-</p>
-<h2>Operation</h2>
-<p>
-When the 'Inline CSS' filter is enabled, The contents of small external CSS
-resources are written directly into the HTML document; therefore the browser
-does not request those CSS resources independently.
-</p>
-<p>
-For example, if the HTML document looks like this:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;link rel="stylesheet" href="small.css"&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;div class="blue yellow big bold"&gt;
-      Hello, world!
-    &lt;/div&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-And the resource <code>small.css</code> is like this:
-<pre class="prettyprint">
-  .yellow {background-color: yellow;}
-  .blue {color: blue;}
-  .big { font-size: 8em; }
-  .bold { font-weight: bold; }
-</pre>
-<p>
-Then PageSpeed will rewrite it into:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;style&gt;
-      .yellow {background-color: yellow;}
-      .blue {color: blue;}
-      .big { font-size: 8em; }
-      .bold { font-weight: bold; }
-    &lt;/style&gt;
-    &lt;/head&gt;
-  &lt;body&gt;
-    &lt;div class="blue yellow big bold"&gt;
-      Hello, world!
-    &lt;/div&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-This eliminates the browser request to <code>small.css</code> by placing its
-contents inline in the HTML document.
-
-<h3>Example</h3>
-<p>
-You can see the filter in action at <code>www.modpagespeed.com</code> on this
-<a href="https://www.modpagespeed.com/examples/inline_css.html?ModPagespeed=on&amp;ModPagespeedFilters=inline_css">example</a>.
-</p>
-
-<h2>Note</h2>
-<p>
-CSS may contain URLs that are relative to the location of the CSS
-file.  To avoid breaking such URLs, the 'Inline CSS' filter will attempt to
-rewrite them into absolute URLs when it performs the inlining.
-</p>
-
-<h2>Requirements</h2>
-<p>
-There is a tradeoff here between requests and cacheability: including the CSS
-directly in the HTML avoids making an additional request to the external CSS
-resource, but if the CSS file is large (and doesn't change often), it may be
-better to keep it separate from the HTML so that it can be cached by the
-browser.  Thus, the Inline CSS filter will only inline CSS files below a
-certain size threshold, which can be adjusted using the
-<code>CssInlineMaxBytes</code> directive.
-</p>
-<p>
-It is possible for CSS files to contain small snippets of JavaScript code, at
-least for certain browsers.  To avoid opening up cross-domain scripting
-vulnerabilities, the Inline CSS filter will only inline an external CSS file if
-it is being served from the same domain as the HTML file into which it is to be
-inlined.
-</p>
-
-<h2>Risks</h2>
-<p>
-The 'Inline CSS' filter is low to moderate risk.  It should be safe for most
-pages, but it could potentially break scripts that walk the DOM looking for
-and examining <code>&lt;link&gt;</code> or <code>&lt;style&gt;</code> tags.
-</p>
-
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-css-outline.html b/doc/filter-css-outline.html
deleted file mode 100644
index 295ef4c..0000000
--- a/doc/filter-css-outline.html
+++ /dev/null
@@ -1,182 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Outline CSS</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Outline CSS</h1>
-
-<h2>Configuration</h2>
-<p>
-The 'Outline CSS' filter is enabled by specifying:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters outline_css</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters outline_css;</pre>
-</dl>
-<p>
-in the configuration file.
-</p>
-
-<h2>Description</h2>
-<p>
-This filter is an <strong>experimental</strong> filter which takes inline
-CSS and puts it in an external resource.
-</p>
-
-<h2>Operation</h2>
-<p>
-The 'Outline CSS' filter outlines all CSS that is larger than a minimum byte
-threshold. The threshold can be set by adding/changing the line:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedCssOutlineMinBytes 3000</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed CssOutlineMinBytes 3000;</pre>
-</dl>
-<p>
-in the configuration file.
-</p>
-<p>
-For example, if the HTML document looks like this:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;style type="text/css"&gt;
-      .yellow {background-color: yellow;}
-      .blue {color: blue;}
-      .big { font-size: 8em; }
-      .bold { font-weight: bold; }
-      ...
-    &lt;/style&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;div class="blue yellow big bold"&gt;
-      Hello, world!
-    &lt;/div&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-Then PageSpeed will rewrite it into:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;link rel="stylesheet" type="text/css" href="of.HASH.css"&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;div class="blue yellow big bold"&gt;
-      Hello, world!
-    &lt;/div&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-And a new CSS file (<code>of.HASH.css</code>) will be:
-</p>
-<pre class="prettyprint">
-  .yellow {background-color: yellow;}
-  .blue {color: blue;}
-  .big { font-size: 8em; }
-   .bold { font-weight: bold; }
-   ...
-</pre>
-
-<h3>Example</h3>
-<p>
-You can see the filter in action at <code>www.modpagespeed.com</code> on this
-<a href="https://www.modpagespeed.com/examples/outline_css.html?ModPagespeed=on&amp;ModPagespeedFilters=outline_css">example</a>.
-</p>
-
-<h2>Pros and Cons</h2>
-<p>
-This could be advantageous if:
-</p>
-<ol>
-  <li>The CSS does not change much but the HTML does, then we can cache the
-      CSS.</li>
-  <li>One has many websites with the same inlined CSS, it will be outlined
-      to a consistent name and thus will be cached more or</li>
-  <li>The inline CSS is very long, in which case, outlining it will cause it
-      to be loaded in parallel with the HTML doc.</li>
-</ol>
-<p>
-However, for some websites it will be dis-advantageous because it will:
-</p>
-<ol>
-  <li>Create an extra HTTP request.</li>
-  <li>Tie up one of the connections this domain, which could have been used to
-      fetch the actually cacheable external resources.</li>
-</ol>
-
-<h2>Requirements</h2>
-<p>
-Outline filters can currently only run on single-server environments
-because the resource can only be fetched from a server after that server
-has rewritten the HTML page. If a different server rewrote the HTML page,
-then this sever will not have the information needed to create the resource.
-This could be by a network database shared between servers.
-</p>
-<p>
-The Outline CSS filter may need to <em>"absolutify"</em> relative URLs, if
-it is outlined to a different directory than the original HTML.
-</p>
-<p>
-The Outline CSS filter will maintain the order of the CSS contents, as
-class order can be significant.
-</p>
-
-<h2>Risks</h2>
-<p>
-The 'Outline CSS' filter is considered low risk.  However, JavaScript can be
-written that walks the DOM looking for <code>&lt;link&gt;</code> or
-<code>&lt;style&gt;</code> tags with certain syntax. Such JavaScript
-may behave differently on a page which has added
-<code>&lt;link&gt;</code> or removed <code>&lt;style&gt;</code> tags
-in this way.
-</p>
-<p>
-Additionally we have reproduced an obscure difference that sometimes occurs
-on WebKit-based browsers (such as Safari, Chrome and the Android browser).
-As of January 2011, WebKit does not delay JavaScript evaluation for
-external CSS loading (See
-<a href="https://webkit.org/b/24898">https://webkit.org/b/24898</a>).
-So some CSS attributes, when outlined, can cause slightly different
-rendering depending on whether or not the CSS file is loaded before or
-after the JavaScript is executed.
-</p>
-
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-css-rewrite.html b/doc/filter-css-rewrite.html
deleted file mode 100644
index 366fe28..0000000
--- a/doc/filter-css-rewrite.html
+++ /dev/null
@@ -1,215 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Rewrite CSS</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Rewrite CSS</h1>
-
-<h2 id="configuration">Configuration</h2>
-<p>
-  The 'Rewrite CSS' filter is enabled by specifying:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters rewrite_css</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters rewrite_css;</pre>
-</dl>
-<p>
-  in the configuration file. To enable fallback rewriting on CSS we cannot
-  parse, also specify:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters fallback_rewrite_css_urls</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters fallback_rewrite_css_urls;</pre>
-</dl>
-
-<h2>Description</h2>
-<p>
-  This filter parses linked and inline CSS, rewrites the images found
-  and minifies the CSS. The filter works on CSS found in
-  <code>&lt;style&gt;</code> blocks and <code>&lt;link&gt;</code> refs.
-</p>
-<p>
-  Many images are referenced from CSS rather than HTML. If
-  <a href="reference-image-optimize#rewrite_images"
-     ><code>rewrite_images</code></a>,
-  <a href="reference-image-optimize#recompress_images"
-     ><code>recompress_images</code></a>,
-  <a href="reference-image-optimize#recompress_jpeg"
-     ><code>recompress_jpeg</code></a>,
-  <a href="reference-image-optimize#recompress_png"
-     ><code>recompress_png</code></a>,
-  <a href="reference-image-optimize#recompress_webp"
-     ><code>recompress_webp</code></a>,
-  <a href="reference-image-optimize#convert_gif_to_png"
-     ><code>convert_gif_to_png</code></a>,
-  <a href="reference-image-optimize#convert_jpeg_to_webp"
-     ><code>convert_jpeg_to_webp</code></a>,
-  <a href="reference-image-optimize#convert_png_to_jpeg"
-     ><code>convert_png_to_jpeg</code></a>,
-  or <a href="filter-cache-extend"
-     ><code>extend_cache</code></a>
-  are enabled this filter finds and rewrites those images, saving bytes
-  and extending cache lifetimes.
-</p>
-<p>
-  The CSS parser cannot parse some CSS3 or proprietary CSS extensions.
-  If <code>fallback_rewrite_css_urls</code> is not enabled, these
-  CSS files will not be rewritten at all.
-  If the <code>fallback_rewrite_css_urls</code> filter is enabled, a
-  fallback method will attempt to rewrite the URLs in the CSS file,
-  even if the CSS cannot be successfully parsed and minified.
-</p>
-<p>
-  Minification can drastically reduce the byte count in common CSS by
-  stripping all comments and most whitespace and shortening color names.
-  This filter can be used to avoid the extra step of minifying CSS by hand
-  when constructing and maintaining a site.
-  This <a target="_blank" href="https://developers.google.com/speed/docs/best-practices/payload#MinifyCSS">practice</a>
-  reduces the payload size.
-</p>
-
-<h2>Example</h2>
-<p>
-  For example, if the HTML document looks like this:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;style&gt;
-      body { background-image: url("foo.png"); }
-      /* This comment will be stripped */
-      #iddy, .anotherId {
-        border: solid 1px #cccccc;
-        padding: 1.2em;
-        float: left;
-        color:##ff0000;
-      }
-    &lt;/style&gt;
-    &lt;link rel="stylesheet" type="text/css" href="extStyle.css"&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    Wow, &lt;div class="classy" id="iddy"&gt;
-    CSS is &lt;span&gt;stylin'&lt;/span&gt;.&lt;/div&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-  With the following in <code>extStyle.css</code>:
-</p>
-<pre class="prettyprint">
-  div.classy span, div.classy img {
-    display: block;
-    border: none !important;
-    background: none !important;
-  }
-</pre>
-<p>
-  Then PageSpeed will rewrite it into:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;style&gt;body{background-image:url(xfoo.png.pagespeed.ic.HASH.png}#iddy,#anotherId{border:solid 1px #ccc;padding:1.2em;float:left;color:red}&lt;/style&gt;
-    &lt;link rel="stylesheet" type="text/css" href="I.extStyle.css.pagespeed.cf.HASH.css"&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    Wow, &lt;div class="classy" id="iddy"&gt;
-    CSS is &lt;span&gt;stylin'&lt;/span&gt;.&lt;/div&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-  And the rewritten file <code>I.extStyle.css.pagespeed.cf.HASH.css</code> will
-  contain:
-</p>
-<pre class="prettyprint">
-  dif.classy span,div.classy img{display:block;border:none!important;background:none!important}
-</pre>
-
-<h3>Online Example</h3>
-<p>
-  You can see the filter in action at <code>www.modpagespeed.com</code> for
-  <a href="https://www.modpagespeed.com/examples/rewrite_css.html?ModPagespeed=on&amp;ModPagespeedFilters=rewrite_css">CSS minification</a>,
-  <a href="https://www.modpagespeed.com/examples/rewrite_css_images.html?ModPagespeed=on&amp;ModPagespeedFilters=rewrite_css,extend_cache">cache-extending images in CSS</a>,
-  <a href="https://www.modpagespeed.com/examples/rewrite_css_images.html?ModPagespeed=on&amp;ModPagespeedFilters=rewrite_css,rewrite_images">rewriting images in CSS</a> and
-  <a href="https://www.modpagespeed.com/examples/fallback_rewrite_css_urls.html?ModPagespeed=on&amp;ModPagespeedFilters=fallback_rewrite_css_urls,rewrite_css,rewrite_images">fallback rewriting of images in CSS</a>.
-</p>
-
-<h2>Requirements</h2>
-<p>
-  Only CSS referenced by <code>&lt;style&gt;</code> and <code>&lt;link&gt;
-  </code> tags is rewritten.  For example, style attributes of HTML elements
-  are not rewritten.  Enable <a href="filter-rewrite-style-attributes">
-    <code>rewrite_style_attributes</code></a> to rewrite these as well.
-</p>
-<p>
-  Not all CSS3 or proprietary constructs are parsed.  When unhandled syntax
-  is present and the file cannot be parsed completely, the URLs in the CSS
-  can still be rewritten by the <code>fallback_rewrite_css_urls</code> filter.
-  However the CSS will not be minified.
-</p>
-
-<h2 id="risks">Risks</h2>
-<p>
-  CSS minification is considered moderate risk.
-</p>
-<p>
-  Specifically, there is an outstanding bug that the CSS parser can silently
-  lose data on malformed CSS. This only applies to malformed CSS or CSS that
-  uses proprietary extensions. All known examples have been fixed, but there
-  may be more examples not discovered yet. Without this the risk would be low.
-</p>
-<p>
-  Some JavaScript code depends upon the exact URLs of resources. When we minify
-  CSS we will change the leaf name of the file (although leave it in the same
-  directory). This could break such JavaScript.
-</p>
-
-<h2>Troubleshooting</h2>
-<p>
-  To troubleshoot why CSS is not minified, you can use the standalone binary
-  <code>css_minify_main</code>.  It's shipped with mod_pagespeed, so
-  <a href="build_mod_pagespeed_from_source#debug-css"
-  >build it from source</a> and then run:
-</p>
-<pre>
-  ./out/Release/css_minify_main FILENAME.css > REWRITTEN.css
-</pre>
-<p>
-  The rewritten version is piped to <code>stdout</code> and the errors
-  encountered are piped to <code>stderr</code>. These error messages should
-  be helpful in figuring out what aspects of the CSS file could not be parsed.
-</p>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-css-to-head.html b/doc/filter-css-to-head.html
deleted file mode 100644
index 07a34a2..0000000
--- a/doc/filter-css-to-head.html
+++ /dev/null
@@ -1,143 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Move CSS to Head</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Move CSS to Head</h1>
-
-
-<h2>Configuration</h2>
-<p>
-  The 'Move CSS to head' filter is enabled by specifying:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters move_css_to_head</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters move_css_to_head;</pre>
-</dl>
-<p>
-  in the configuration file.
-</p>
-
-<h2>Description</h2>
-<p>
-  'Move CSS to head' seeks to reduce the number of times the browser must
-  re-flow the document by ensuring that the CSS styles are all parsed in
-  the head, before any body elements are introduced.
-</p>
-<p>
-  This is based on the
-  <a target="_blank" href="https://developers.google.com/speed/docs/best-practices/rendering#PutCSSInHead">
-    best practice for optimizing browser rendering.
-  </a>
-</p>
-
-<h2>Operation</h2>
-<p>
-  The 'Move CSS to head' filter operates only on  CSS
-  <code>&lt;link</code> and <code>&lt;style&gt;</code> tags found after the
-  <code>&lt;/head&gt;</code> and moves these links back into the
-  <code>&lt;head&gt;</code> ... <code>&lt;/head&gt;</code> section.
-</p>
-<p>
-For example, if the HTML document looks like this:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;script src="script.js" type="text/javascript"&gt;&lt;/script&gt;
-    &lt;div class="blue yellow big bold"&gt;
-      Hello, world!
-    &lt;/div&gt;
-    &lt;style type="text/css"&gt;
-      .foo { color: red; }
-    &lt;/style&gt;
-    &lt;link rel="stylesheet" type="text/css" href="styles/all_styles.css"&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-  Then PageSpeed will rewrite it into:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;style type="text/css"&gt;
-      .foo { color: red; }
-    &lt;/style&gt;
-    &lt;link rel="stylesheet" type="text/css" href="styles/all_styles.css"&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;script src="script.js" type="text/javascript"&gt;&lt;/script&gt;
-    &lt;div class="blue yellow big bold"&gt;
-      Hello, world!
-    &lt;/div&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-
-<p>
-  In some browsers, the original version will flash quickly as the
-  browser will render the "Hello, world!" text before it sees the style
-  tags providing definitions for the CSS classes.  This transformation
-  will eliminate that flash, but the end result will be the same.
-</p>
-
-<h3>Example</h3>
-<p>
-  You can see the filter in action at <code>www.modpagespeed.com</code> on this
-  <a href="https://www.modpagespeed.com/examples/move_css_to_head.html?ModPagespeed=on&amp;ModPagespeedFilters=move_css_to_head">example</a>.
-</p>
-
-<h2>Limitations</h2>
-<p>
-  This filter operates within the scope of a "flush window". Specifically,
-  large, or dynamically generated HTML files may be "flushed" by the
-  resource generator before they are complete. If the filter
-  encounters a flush after the end of the <code>&lt;head&gt;</code> section,
-  subsequently encountered CSS elements will not be moved into the
-  <code>&lt;head&gt;</code> section.
-</p>
-
-<h2>Risks</h2>
-<p>
-  This filter is considered low risk. However, JavaScript that is
-  executed before a CSS element will see a different view of the DOM in
-  the presence of this rewriter:  the CSS element will now be in the head.
-  If there is such JavaScript embedded in the middle of a page then this
-  rewriter may change its behavior.
-</p>
-
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-dedup-inlined-images.html b/doc/filter-dedup-inlined-images.html
deleted file mode 100644
index f86e240..0000000
--- a/doc/filter-dedup-inlined-images.html
+++ /dev/null
@@ -1,110 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Deduplicate Inlined Images</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Deduplicate Inlined Images</h1>
-<h2>Configuration</h2>
-<p>
-  The 'Deduplicate Inlined Images' filter is enabled by specifying:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters dedup_inlined_images</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters dedup_inlined_images;</pre>
-</dl>
-<p>
-in the configuration file.
-</p>
-
-<h2>Objective</h2>
-<p>
-  Reduce the transfer size of HTML files by eliminating redundant image data
-  URLs.
-</p>
-
-<h2>PageSpeed Rule</h2>
-<p>
-  This rewriter implements the PageSpeed rule for
-  <a target="_blank" href="https://developers.google.com/speed/docs/best-practices/payload#CompressImages">optimizing
-  images</a>.
-</a>
-</p>
-
-<h2>Description</h2>
-<p>
-  dedup_inlined_images replaces repeated inlined images with JavaScript
-  that loads the image from the first occurence of the image. If the first
-  image doesn't have an <code>id</code>, one is generated and added to it.
-</p>
-
-<h2>Operation</h2>
-<p>
-  dedup_inlined_images rewrites inlined images:
-  <ul>
-    <li>If the image's data URL has not appeared earlier in the page then,
-      if it doesn't already have one an <code>id</code> attribute is
-      generated and added to the tag, then the existing/added <code>id</code>
-      is recorded along with the data URL for comparison with subsequent
-      inlined images.</li>
... 14533 lines suppressed ...


Mime
View raw message