ponymail-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From humbed...@apache.org
Subject [2/2] incubator-ponymail-site git commit: regen
Date Wed, 01 Jun 2016 04:17:01 GMT

Project: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/commit/44f3401f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/44f3401f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/44f3401f

Branch: refs/heads/asf-site
Commit: 44f3401f0ddc9921cd7cd6c42205f7cada757670
Parents: 93465c2
Author: humbedooh <humbedooh@apache.org>
Authored: Wed Jun 1 06:15:03 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Wed Jun 1 06:15:03 2016 +0200

 content/about.html               |  8 ++++----
 content/contribute.html          | 10 +++++-----
 content/docs.html                |  6 +++---
 content/docs/api.html            | 10 +++++-----
 content/docs/archiving.html      | 22 +++++++++++-----------
 content/docs/building.html       |  4 ++--
 content/docs/contributing.html   |  8 ++++----
 content/docs/importing.html      | 20 ++++++++++----------
 content/docs/install.centos.html |  2 +-
 content/docs/install.debian.html |  2 +-
 content/docs/install.fedora.html |  2 +-
 content/docs/install.ubuntu.html |  2 +-
 content/docs/installing.html     | 34 +++++++++++++++++-----------------
 content/downloads.html           |  2 +-
 content/index.html               |  8 ++++----
 content/source.html              |  2 +-
 content/support.html             |  2 +-
 17 files changed, 72 insertions(+), 72 deletions(-)

diff --git a/content/about.html b/content/about.html
index 6151bab..15c5dd3 100644
--- a/content/about.html
+++ b/content/about.html
@@ -33,8 +33,8 @@
-<h1>About Pony Mail and its Contributors</h1>
+<h1 id='aboutponymailanditscontributors'>About Pony Mail and its Contributors</h1>
+<h3 id='background'>Background</h3>
 <p>Pony Mail began as a response to two things; the lack of diversity in
 mailing list archives that are less bureaucratic all-or-nothing and more
 fluid way to interact with mailing lists than what is typically offered,
@@ -54,7 +54,7 @@ are?) and then try to get them into your mail client (which never works)
 and then reply to it. Which will break threading, because you did
 something wrong. Then you tear out your hair. PONY MAIL TO THE RESCUE!!!
 (sound of hoof beats)</q></p>
+<h3 id='rationale'>Rationale</h3>
 <p>One of the oft-heard complaints about Apache's development model is that
 mailing lists are an old person's tool, and web-based communication -
 forums - are the way to go in the 21st Century. Providing a
@@ -72,7 +72,7 @@ through hoops to join a mailing list conversation drives away a lot of
 people (at least, anecdotally, it does) and if we can remove that
 barrier I think we'll have an easier time of drawing a new generation
 into our projects.</p>
-<h3>Who are we?</h3>
+<h3 id='whoarewe'>Who are we?</h3>
 <p>We're a small bunch of people committed to making mailing list interaction as easy
as possible.<br/>
  Currently, we consist of (in alphabetical order):<br/>

diff --git a/content/contribute.html b/content/contribute.html
index 8e8f33c..86dc70a 100644
--- a/content/contribute.html
+++ b/content/contribute.html
@@ -33,7 +33,7 @@
-<h1>Contributing to Pony Mail</h1>
+<h1 id='contributingtoponymail'>Contributing to Pony Mail</h1>
 <p>We'd LOVE if more people would contribute to Pony Mail!
 Any form of contribution is most welcome, whether it be programming,
 documentation, evangelism, marketing, or helping out other users.</p>
@@ -55,9 +55,9 @@ documentation, evangelism, marketing, or helping out other users.</p>
 <li>Let us know what you want to do, and we'll add you to our contributors list!</li>
 <li>Join us on #ponymail on the Freenode IRC network</li>
-<h2>Git Workflow</h2>
+<h2 id='gitworkflow'>Git Workflow</h2>
 <p>The following workflow is adapted from the <a href="https://cwiki.apache.org/confluence/display/JCLOUDS/Git+workflow">jClouds
-<h4>Prepare your fork</h4>
+<h4 id='prepareyourfork'>Prepare your fork</h4>
 <p>The first thing to do is to make sure you have the ponymail Git
 repository configured as a remote. In this case we will add it as a
 remote called "ponymail":
@@ -65,7 +65,7 @@ remote called "ponymail":
 cd ponymail
 git remote add ponymail https://git-wip-us.apache.org/repos/asf/incubator-ponymail.git
-<h4>Create the feature branch</h4>
+<h4 id='createthefeaturebranch'>Create the feature branch</h4>
 <p>When beginning working on the feature, take a branch from the latest master version:
 git checkout master
@@ -102,7 +102,7 @@ git push &lt;your-fork's-remote&gt; feature-branch -f # You might
need to push w
 <p>Now the pull request will be clean with one single commit and up to date
 with the latest master. Ready to be merged!</p>
-<h4>A note about keeping the pull request up to date</h4>
+<h4 id='anoteaboutkeepingthepullrequestuptodate'>A note about keeping the pull request
up to date</h4>
 <p>The key point is to <em>avoid</em> updating your feature branch with
 until the PR is ready to be merged (or until you're asked to rebase).
 This way you'll avoid accidental merge commits and fixing conflicts when

diff --git a/content/docs.html b/content/docs.html
index dd3784c..1a80f7c 100644
--- a/content/docs.html
+++ b/content/docs.html
@@ -33,9 +33,9 @@
-<h3>Getting started</h3>
+<h3 id='gettingstarted'>Getting started</h3>
 <p>(Optionally see the <a href="/docs/installing.html">detailed installation
instructions</a> for more information)</p>
-<h4>Supported Linux Distributions</h4>
+<h4 id='supportedlinuxdistributions'>Supported Linux Distributions</h4>
 <p>For a quick guide to installing Pony Mail, please see the guides for:</p>
 <li><a href="/docs/install.debian.html">Debian (Jessie) Installation Instructions</a></li>
@@ -43,7 +43,7 @@
 <li><a href="/docs/install.centos.html">CentOS (7.1) Installation Instructions</a></li>
 <li><a href="/docs/install.fedora.html">Fedora (22) Installation Instructions</a></li>
-<h4>Generic installation instructions</h4>
+<h4 id='genericinstallationinstructions'>Generic installation instructions</h4>
 <li>Install Apache httpd + mod_lua and the lua libs (see http://modlua.org/gs/installing
if need be)</li>
 <li>Install ElasticSearch</li>

diff --git a/content/docs/api.html b/content/docs/api.html
index 870c3fa..1dbb228 100644
--- a/content/docs/api.html
+++ b/content/docs/api.html
@@ -33,8 +33,8 @@
-<h1>Pony Mail Archive API</h1>
-<h3>Fetching a specific email:</h3>
+<h1 id='ponymailarchiveapi'>Pony Mail Archive API</h1>
+<h3 id='fetchingaspecificemail'>Fetching a specific email:</h3>
 <code>GET /api/email.lua?id=$mid</code></p>
 <p>Parameters: (cookie may be required)
@@ -64,7 +64,7 @@
-<h3>Fetching list data</h3>
+<h3 id='fetchinglistdata'>Fetching list data</h3>
 <code>GET /api/stats.lua?list=$list&amp;domain=$domain[&amp;d=$timespan][&amp;q=$query][&amp;header_from=$from][&amp;header_subject=$subject]</code></p>
@@ -99,7 +99,7 @@
-<h3>Fetching preferences and quick list overview</h3>
+<h3 id='fetchingpreferencesandquicklistoverview'>Fetching preferences and quick list
 <code>GET /api/preferences.lua[?logout=true]</code></p>
 <p>Parameters: (cookie required)
@@ -137,7 +137,7 @@
-<h3>Fetching notifications for a logged in user</h3>
+<h3 id='fetchingnotificationsforaloggedinuser'>Fetching notifications for a logged
in user</h3>
 <code>GET /api/notifications.lua</code></p>
 <p>Parameters: <code>None</code> (cookie required)</p>

diff --git a/content/docs/archiving.html b/content/docs/archiving.html
index 27e2531..d3756cc 100644
--- a/content/docs/archiving.html
+++ b/content/docs/archiving.html
@@ -33,24 +33,24 @@
-<h1>Archiving New Emails to Pony Mail</h1>
+<h1 id='archivingnewemailstoponymail'>Archiving New Emails to Pony Mail</h1>
 <p>This document exists to extend the <a href="installing.html">general install
guide</a> provide examples on how to archive emails.</p>
 <p><strong>Note:</strong> If you plan on <a href="importing.html">importing
old emails from an archive</a>,
 please set up the archiver <strong>first</strong> so as to create an overlap
of new emails
 coming in and old emails being imported. The system is designed to handle this
 without creating duplicate entries in the archive.</p>
-<h2>Mailman 2.x example:</h2>
+<h2 id='mailman2xexample'>Mailman 2.x example:</h2>
 <p>Set up a Pony Mail mail account/alias on a machine. This can be your local mail
 server, it can be the machine that Pony Mail is on (install sendmail or postfix
 etc there), or it can be any other machine with access to the ElasticSearch
 database that Pony Mail uses.</p>
+<h3 id='prerequisites'>Pre-requisites</h3>
 <p>If this is not the machine Pony Mail was installed on, you'll need to copy the
 tools/ directory from your Pony Mail installation to this machine and adjust
 ponymail.cfg to point to the right place for the database. You will also need
 Python 3 and the helper libraries installed
 (<code>pip3 install elasticsearch formatflowed netaddr</code>)</p>
-<h3>Create an alias:</h3>
+<h3 id='createanalias'>Create an alias:</h3>
 <p>Set up a mail alias for public and private lists in <code>/etc/aliases</code>
or similar method,
 and point them at the archiver script in tools/:</p>
@@ -60,13 +60,13 @@ foo-private: "|/usr/bin/python3 /path/to/tools/archiver.py --private"
 <p>Once done, run <code>newaliases</code> to update your alias DB.</p>
-<h3>Subscribe the aliases to your mailing lists</h3>
+<h3 id='subscribethealiasestoyourmailinglists'>Subscribe the aliases to your mailing
 <p>Use the mailman UI or CLI to subscribe foo-public@ to your public lists and
 foo-private to your private lists. Don't worry, the contents of private lists
 are hidden by default till the correct AAA scripting is set up.</p>
-<h2>ezmlm example:</h2>
+<h2 id='ezmlmexample'>ezmlm example:</h2>
 <p>First, see the general introduction in the MM2 example, as this applies here as
-<h3>Create an alias:</h3>
+<h3 id='createanalias'>Create an alias:</h3>
 <p>Set up a dot-forward file for a public and a private alias:</p>
@@ -76,11 +76,11 @@ are hidden by default till the correct AAA scripting is set up.</p>
     "|/usr/bin/python3 /path/to/tools/archiver.py --private"
-<h3>Subscribe the aliases to your mailing lists</h3>
+<h3 id='subscribethealiasestoyourmailinglists'>Subscribe the aliases to your mailing
 <p>Use the ezmlm CLI to subscribe your new aliases to the lists:
 <code>ezmlm-sub foolist/ archive-public@yourhost.tld</code>
 <code>ezmlm-sub secretlist/ archive-private@yourhost.tld</code></p>
-<h2>Setting up AAA</h2>
+<h2 id='settingupaaa'>Setting up AAA</h2>
 <p>If you have an custom OAuth2 provider and a binary approach to private access
 (either/or), you can enable private access to people by having a key/value pair
 called <code>isMember</code> set to <code>true</code> in your JSON
response from the OAuth server,
@@ -88,11 +88,11 @@ provided it is set as an authority in config.lua. This will provide anyone
 defined as a member via OAuth full access to all private lists.</p>
 <p>If you use LDAP, you can modify the LDAP queries in the example AAA file to suit
 your organization.</p>
-<h2>Importing/Archiving HTML-only emails</h2>
+<h2 id='importingarchivinghtmlonlyemails'>Importing/Archiving HTML-only emails</h2>
 <p>Should you need to import HTML-only emails into the archive, you may enable this
 with the <code>--html2text</code> command line arg. This requires that the <code>html2text</code>
Python3 package
 is installed beforehand.</p>
-<h2>Munging list IDs</h2>
+<h2 id='munginglistids'>Munging list IDs</h2>
 <p>If you need to rewrite list IDs on the fly as emails come in, you can use the debug.cropout

 setting for this (in <code>ponymail.cfg</code>). </p>
 <p>You can either use it to just crop away something:

diff --git a/content/docs/building.html b/content/docs/building.html
index e78d900..1f70a07 100644
--- a/content/docs/building.html
+++ b/content/docs/building.html
@@ -33,12 +33,12 @@
-<h1>Building Pony Mail for Production</h1>
+<h1 id='buildingponymailforproduction'>Building Pony Mail for Production</h1>
 <p>Most of Pony Mail is ready-for-deployment files that just need to be checked out
 in order to work. Some areas, such as the JavaScript needs to be combined by a script,
 as they have been split into several smaller files to make it easier to find and
 work on various elements of the rendering process.</p>
-<h3>Building the JavaScript chunks</h3>
+<h3 id='buildingthejavascriptchunks'>Building the JavaScript chunks</h3>
 <p>All JavaScript edits should be done to the <code>site/js/dev/*.js</code>
 Once done, you should run combine.sh in the <code>site/js/dev</code> directory

 to generate ponymail.js from the scripts in the dev dir:</p>

diff --git a/content/docs/contributing.html b/content/docs/contributing.html
index fdcb7eb..269d388 100644
--- a/content/docs/contributing.html
+++ b/content/docs/contributing.html
@@ -33,7 +33,7 @@
-<h1>Contributing to Pony Mail</h1>
+<h1 id='contributingtoponymail'>Contributing to Pony Mail</h1>
 <p>We'd LOVE it if more people would contribute to Pony Mail!
 Any form of contribution is most welcome, whether it be programming,
 documentation, evangelism, marketing, or helping out other users.</p>
@@ -41,10 +41,10 @@ documentation, evangelism, marketing, or helping out other users.</p>
 are always on the lookout for user experiences. If you have used 
 Pony Mail and have feedback or ideas you wish to share, please let
 us know either through an issue/PR here or on the mailing list.</p>
+<h2 id='code'>Code</h2>
 <p>The Pony Mail code is on GitHub at https://github.com/apache/incubator-ponymail
 and pull requests are welcome.</p>
-<h2>Mailing lists</h2>
+<h2 id='mailinglists'>Mailing lists</h2>
 <p>Developers list:
  - list: dev@ponymail.incubator.apache.org
  - subscribe addr: dev-subscribe@ponymail.incubator.apache.org
@@ -53,7 +53,7 @@ and pull requests are welcome.</p>
  - list: issues@ponymail.incubator.apache.org
  - subscribe addr: issues-subscribe@ponymail.incubator.apache.org
  - Online version: http://lists.apache.org/list.html?bugs@ponymail.incubator.apache.org</p>
+<h2 id='chat'>Chat</h2>
     - #ponymail on Freenode</p>
 <h4><a id="disclaimer"></a>Disclaimer</h4>

diff --git a/content/docs/importing.html b/content/docs/importing.html
index 0b03ba9..3e10431 100644
--- a/content/docs/importing.html
+++ b/content/docs/importing.html
@@ -33,7 +33,7 @@
-<h1>Importing Data to Pony Mail</h1>
+<h1 id='importingdatatoponymail'>Importing Data to Pony Mail</h1>
 <p>Pony Mail supports many ways of importing your old mail archives via the
 <code>import-mbox.py</code> script. For command line argument tips, run <code>python3
 import-mbox.py --help</code>.</p>
@@ -42,37 +42,37 @@ import from the same source multiple times without creating duplicate
emails in
 the archive. Both the archiver and the importer use the same digest method, so
 they can overlap. Usually, you'll want to set up the archiver first, and when
 emails start flowing through it, you'll use the importer to import older emails.</p>
-<h2>Importing attachments</h2>
+<h2 id='importingattachments'>Importing attachments</h2>
 <p>If you wish to import attached files, add the <code>--attachments</code>
flag to your import command, otherwise, attachments will be stripped.</p>
-<h2>Importing from mod_mbox</h2>
-<h3>Importing a single domain</h3>
+<h2 id='importingfrommodmbox'>Importing from mod_mbox</h2>
+<h3 id='importingasingledomain'>Importing a single domain</h3>
 <p>Provided you have the main mod_mbox page at https://your.tld/mod_mbox/ and your
(sub)domain resources at
 https://your.tld/mod_mbox/$list-yourdomain/, you can import all lists from that domain using:</p>
 <p><code>python3 import-mbox.py --source https://your.tld/mod_mbox/ --mod-mbox
--project yourdomain</code></p>
 <p>For a quick update, which only imports the last 2 months of mail, append then <code>--quick</code>
 <p>You can also import just a single list by specifying that list ID:</p>
 <p><code>python3 import-mbox.py --source https://your.tld/mod_mbox/ --mod-mbox
--project listname-yourdomain</code></p>
-<h3>Importing an entire archive (multiple domains)</h3>
+<h3 id='importinganentirearchivemultipledomains'>Importing an entire archive (multiple
 <p>To import an entire site, use the same command as above, but omit the <code>--project</code>
 <p><code>python3 import-mbox.py --source https://your.tld/mod_mbox/ --mod-mbox</code></p>
-<h3>Setting the domain or list id properly in case of variance</h3>
+<h3 id='settingthedomainorlistidproperlyincaseofvariance'>Setting the domain or list
id properly in case of variance</h3>
 <p>If your old archive varies in terms of list IDs across time, you can force harmonization
by using the <code>--lid</code> or <code>--domain</code> flags:</p>
 <p><code>python3 import-mbox.py --source https://your.tld/mod_mbox/ --mod-mbox
--project listid-yourdomain --lid "&lt;listid.youdomain.tld&gt;"</code></p>
 <p>This should only be done one list at a time.</p>
-<h2>Importing from Pipermail</h2>
+<h2 id='importingfrompipermail'>Importing from Pipermail</h2>
 <p>To import from pipermail, you will have to run the import one list at a time. As
with mod_mbox imports, you must specify a source, but use <code>--pipermail</code>
instead of <code>--mod-mbox</code>:</p>
 <p><code>python3 import-mbox.py --source https://your.tld/pipermail/foolist/
-<h3>Pipermail and html-only emails</h3>
+<h3 id='pipermailandhtmlonlyemails'>Pipermail and html-only emails</h3>
 <p>While you can convert HTML-only emails to text using <code>--html2text</code>,
Pipermail has some peculiarities
 where it adds a text/plain message to these emails, thus preventing html2text from working.
You can
 circumvent this by using the <code>--ignorebody "foo"</code> arg to ignore all
text/plain bodies containing <code>foo</code>.</p>
 <p>While the <code>project</code> flag is not needed here, you may wish
to specify the list ID for the import.</p>
-<h2>Importing from locally stored mbox files</h2>
+<h2 id='importingfromlocallystoredmboxfiles'>Importing from locally stored mbox files</h2>
 <p>To import from one or more local mbox files, specify a filesystem path as the source:</p>
 <p><code>python3 import-mbox.py --source /tmp/mylists/ --attachments</code></p>
 <p>If you have a mix of mbox and non-mbox files in the specific dir, you may wish to
let Pony Mail know which files to scan:</p>
 <p><code>python3 import-mbox.py --source /tmp/mylists/ --ext .mbox --attachments</code></p>
-<h2>Test archives</h2>
+<h2 id='testarchives'>Test archives</h2>
 <p>We have a few test archives for those that wish to test large imports.
 They can be found in gzip format at <a href="http://ponymail.info/mboxes/">http://ponymail.info/mboxes/</a></p>
 <h4><a id="disclaimer"></a>Disclaimer</h4>

diff --git a/content/docs/install.centos.html b/content/docs/install.centos.html
index 1c786fa..80fb221 100644
--- a/content/docs/install.centos.html
+++ b/content/docs/install.centos.html
@@ -33,7 +33,7 @@
-<h1>Installing Pony Mail on CentOS 7.1:</h1>
+<h1 id='installingponymailoncentos71'>Installing Pony Mail on CentOS 7.1:</h1>
 <p>This installation is a bit trickier, as CentOS does not have
 Python 3 or any of the lua modules in its default package system.</p>
 <p>Start by installing the following CentOS packages:</p>

diff --git a/content/docs/install.debian.html b/content/docs/install.debian.html
index 172a5ef..68129af 100644
--- a/content/docs/install.debian.html
+++ b/content/docs/install.debian.html
@@ -33,7 +33,7 @@
-<h1>Installing Pony Mail on Debian Jessie:</h1>
+<h1 id='installingponymailondebianjessie'>Installing Pony Mail on Debian Jessie:</h1>
 <p>Start by installing the following Debian packages:</p>

diff --git a/content/docs/install.fedora.html b/content/docs/install.fedora.html
index 37220cb..07260de 100644
--- a/content/docs/install.fedora.html
+++ b/content/docs/install.fedora.html
@@ -33,7 +33,7 @@
-<h1>Installing Pony Mail on Fedora 22:</h1>
+<h1 id='installingponymailonfedora22'>Installing Pony Mail on Fedora 22:</h1>
 <p>Start by installing the following Fedora packages:</p>

diff --git a/content/docs/install.ubuntu.html b/content/docs/install.ubuntu.html
index 4645f0f..455e1e6 100644
--- a/content/docs/install.ubuntu.html
+++ b/content/docs/install.ubuntu.html
@@ -33,7 +33,7 @@
-<h1>Installing Pony Mail on Ubuntu 14.04 or 16.04:</h1>
+<h1 id='installingponymailonubuntu1404or1604'>Installing Pony Mail on Ubuntu 14.04
or 16.04:</h1>
 <p>Start by installing the following Ubuntu packages:</p>

diff --git a/content/docs/installing.html b/content/docs/installing.html
index b764985..bfb390a 100644
--- a/content/docs/installing.html
+++ b/content/docs/installing.html
@@ -33,7 +33,7 @@
-<h1>Installing Pony Mail</h1>
+<h1 id='installingponymail'>Installing Pony Mail</h1>
 <p>If your distro is on this list, please refer to that specific document
 for detailed package installation instructions:</p>
@@ -43,7 +43,7 @@ for detailed package installation instructions:</p>
 <li><a href="install.fedora.html">Fedora (22) Installation Instructions</a></li>
 <p>Otherwise, read the next two chapters:</p>
+<h2 id='prerequisites'>Pre-requisites</h2>
 <p>You will need the following software installed on your machine:</p>
 <li>ElasticSearch &gt;= 1.3 (2.0 should also work just fine)</li>
@@ -51,7 +51,7 @@ for detailed package installation instructions:</p>
 <li>Apache HTTP Server 2.4.x with mod_lua (see http://modlua.org/gs/installing if you
need to build mod_lua manually)</li>
 <li>Lua &gt;=5.1 with the following modules: cjson, luasec, luasocket</li>
-<h2>Download and Install</h2>
+<h2 id='downloadandinstall'>Download and Install</h2>
 <li>Download the git repo: <code>git clone https://github.com/apache/incubator-ponymail.git</code></li>
 <li>Start ElasticSearch on the machine it needs to run on.</li>
@@ -61,7 +61,7 @@ for detailed package installation instructions:</p>
       ...[follow instructions in the setup script]</code></li>
 <li>Edit <code>site/js/config.js</code> to suit your needs (usually very
little editing is needed)</li>
-<h3>Using auth for ElasticSearch</h3>
+<h3 id='usingauthforelasticsearch'>Using auth for ElasticSearch</h3>
 <p>If your ElasticSearch instance requires authentication for the importer/archiver,
 add the following lines in the <code>elasticsearch</code> block of <code>ponymail.cfg</code>
once generated:</p>
@@ -69,20 +69,20 @@ user:           [username for ES]
 password:       [password for ES]
-<h3>Using Apache HTTP Server:</h3>
+<h3 id='usingapachehttpserver'>Using Apache HTTP Server:</h3>
 <li>Set up a VirtualHost block in Apache httpd that points to the <code>site/</code>
directory in Pony Mail</li>
 <li>Add the configuration snippets from <code>configs/ponymail_httpd.conf</code>
to the virtual host</li>
 <li>Start Apache httpd to enable the user-facing interface</li>
-<h3>Using nginx:</h3>
+<h3 id='usingnginx'>Using nginx:</h3>
 <li>To use nginx, you will also need to install the <code>lua-apr</code>
module from your distro.</li>
 <li>Set up a Server block in nginx that points to the <code>site/</code>
directory in Pony Mail</li>
 <li>Add the configuration snippets from <code>configs/ponymail_nginx.conf</code>
to the server config</li>
 <li>Start nginx to enable the user-facing interface</li>
-<h2>Setting up the archiver</h2>
+<h2 id='settingupthearchiver'>Setting up the archiver</h2>
 <p>First off, you will need both <code>tools/archiver.py</code> and the
 <code>tools/ponymail.cfg</code> present on the machine that your mail server
runs on. This
 machine should also have access to the ElasticSearch backend.</p>
@@ -105,30 +105,30 @@ header determines the list ID using the --altheader argument, for instance:
   enable: yes</code></p>
 <p>For older mailing list systems such as Mailman 2 and ezmlm, you can also
 tak a look at our <a href="archiving.html">archiving examples</a> page for pointers.</p>
-<h2>Public versus private lists</h2>
+<h2 id='publicversusprivatelists'>Public versus private lists</h2>
 <p>In MailMan 3, this should be auto-detected and is not a concern.
 When using other ML systems via piping to STDIN, you should add
 the --private arg to the python script to mark an email as private:
 <code>foolist-private: "|/usr/bin/python3 /path/to/tools/archiver.py --private"
     foolist-public: "|/usr/bin/python3 /path/to/tools/archiver.py"</code></p>
-<h2>Importing old data into Pony Mail</h2>
+<h2 id='importingolddataintoponymail'>Importing old data into Pony Mail</h2>
 <p>See <a href="importing.html">this guide</a> for details on how to import
old archives into Pony Mail.</p>
-<h2>Bulk editing lists</h2>
+<h2 id='bulkeditinglists'>Bulk editing lists</h2>
 <p>You can use <code>edit-list.py</code> to perform bulk operations:
 - Rename lists
 - Mark entire lists are private or public</p>
 <p>Run <code>python3 edit-list.py --help</code> for CLI args.</p>
-<h2>Setting up OAuth for Pony Mail</h2>
+<h2 id='settingupoauthforponymail'>Setting up OAuth for Pony Mail</h2>
 <p>If you want people to be able to log in and reply via the Web UI, you can either
 use the default Persona login (works for all email addresses) or specify an
 OAuth provider.</p>
-<h3>Setting up or disabling Persona</h3>
+<h3 id='settingupordisablingpersona'>Setting up or disabling Persona</h3>
 <p>Persona is enabled by default, as it's a fast and convenient way to enable
 logins for <em>public</em> lists. Should you wish to disable Persona, set the
 <code>enabled</code> variable to <code>false</code> in the persona
section of <code>site/js/config.js</code>.
 Persona will only ever work for public lists. For private lists, you will need
 to specify and implement an OAuth provider.</p>
-<h3>Setting up an OAuth provider</h3>
+<h3 id='settingupanoauthprovider'>Setting up an OAuth provider</h3>
 <p>Pony Mail comes with a few default OAuth examples in <code>site/js/config.js</code>,
 as ASF Oauth and Google OAuth. You can enable these by uncommenting the lines in
 question, or set up your own OAuth portal to handle things. This is a standard
@@ -159,7 +159,7 @@ config.lua:</p>
 <p>If not specified in config.lua, OAuth will only provide users with a place to
 store settings and notifications, and - provided your mail server is set to accept
 this - a place to reply to emails in the archive.</p>
-<h4>Using GitHub OAuth and other client-secret providers</h4>
+<h4 id='usinggithuboauthandotherclientsecretproviders'>Using GitHub OAuth and other
client-secret providers</h4>
 <p>If your OAuth provider requires a client secret, you can specify this in <code>site/api/lib/config.lua</code>,
as this GitHub example shows:</p>
     oauth_fields = {
@@ -172,7 +172,7 @@ this - a place to reply to emails in the archive.</p>
 <p>This essentially overrides <code>config.js</code> but without showing
the data to anyone outside the server.</p>
-<h3>Whitelisting replies via the Web UI</h3>
+<h3 id='whitelistingrepliesviathewebui'>Whitelisting replies via the Web UI</h3>
 <p>To have Pony Mail accept replies done via the Web UI, you must make sure
 that <code>site/api/lib/config.lua</code> contains the appropriate string (or
array of strings) matching the domain(s) you wish to allow new email for. To allow replies
to everything, set this to <code>*</code>(NOT RECOMMENDED).
 You can also allow based on GLOBs or an array of accepted domains and sub-domains:</p>
@@ -183,7 +183,7 @@ You can also allow based on GLOBs or an array of accepted domains and
     accepted_domains = { "foo.org", "*.foo.org" } -- Allow posts both to *.foo.org and foo.org
-<h3>Setting email footers</h3>
+<h3 id='settingemailfooters'>Setting email footers</h3>
 <p>It is possible to set email footers in each email sent via the Web UI.
 This is done by configuring the <code>email_footer</code> variable in  <code>site/api/lib/config.lua</code>.
 You may use the following variables in the footer:</p>
@@ -204,7 +204,7 @@ You may use the following variables in the footer:</p>
-<h3>A note on email headers</h3>
+<h3 id='anoteonemailheaders'>A note on email headers</h3>
 <p>By default, headers such as to/cc are not shown in the normal email view.
 To enable these headers, set <code>full_headers</code> to <code>true</code>
in the <code>site/api/lib/config.lua</code> file.</p>
 <h4><a id="disclaimer"></a>Disclaimer</h4>

diff --git a/content/downloads.html b/content/downloads.html
index d49fe90..a725c61 100644
--- a/content/downloads.html
+++ b/content/downloads.html
@@ -33,7 +33,7 @@
-<h1>Download Pony Mail</h1>
+<h1 id='downloadponymail'>Download Pony Mail</h1>
 <p>While we do not have any official Apache releases yet, you may check out
 previous non-Apache releases on our GitHub repo, at
 <a href="https://github.com/apache/incubator-ponymail/releases">https://github.com/apache/incubator-ponymail/releases</a>.</p>

diff --git a/content/index.html b/content/index.html
index 1096636..9b4676a 100644
--- a/content/index.html
+++ b/content/index.html
@@ -47,7 +47,7 @@ using Mozilla Persona or OAuth2 (Google, GitHub, Facebook etc) for authenticatio
 <p>Pony Mail works in both public, private and mixed-mode, allowing you 
 to have one unified place for all your communication, both public and 
-<h3>Features include:</h3>
+<h3 id='featuresinclude'>Features include:</h3>
 <li>Importing from standard mbox files, maildir directory, Pipermail or an mod_mbox-driven
 <li>Public and private list viewing based on auth</li>
@@ -66,7 +66,7 @@ private.</p>
 <li>Source view and custom range mbox export</li>
 <li>Customized trend analysis and n-grams</li>
+<h3 id='requirements'>Requirements:</h3>
 <li>Linux operating system (tested on Ubuntu, Debian, Fedora and CentOS - Windows or
OS/X may work)</li>
 <li>ElasticSearch backend</li>
@@ -78,14 +78,14 @@ private.</p>
 <li>OR any mailing list system of your choice (use archiver plugin with stdin)</li>
 <li>Lua &gt;=5.1 + lua-cjson, luasec and luasocket</li>
-<h3>Development Benchmarking</h3>
+<h3 id='developmentbenchmarking'>Development Benchmarking</h3>
 <p>Pony Mail has been built for and tested with the mail archives of the Apache
 Software Foundation, which span more than 15 million emails sent across more
 than 20 years. To put things into perspective, importing all this on a modern
 machine (2xSSD with 64GB RAM) took around 12 hours and resulted in a performance
 at around 100 archive search requests per second per ES node, depending on mailing
 list size and available bandwidth.</p>
+<h3 id='todo'>TODO:</h3>
 <p>This is a list of what we would love to get done:</p>
 <li>Start on documentation (WIP)</li>

diff --git a/content/source.html b/content/source.html
index c263cd1..5f0899a 100644
--- a/content/source.html
+++ b/content/source.html
@@ -33,7 +33,7 @@
-<h1>Source code</h1>
+<h1 id='sourcecode'>Source code</h1>
 <p>You can check out our canonical source repository at:
 <a href="https://git-wip-us.apache.org/repos/asf/incubator-ponymail.git">https://git-wip-us.apache.org/repos/asf/incubator-ponymail.git</a></p>
 <p>We also have a GitHub mirror at: <a href="https://github.com/apache/incubator-ponymail">https://github.com/apache/incubator-ponymail</a></p>

diff --git a/content/support.html b/content/support.html
index 9daee86..238212b 100644
--- a/content/support.html
+++ b/content/support.html
@@ -33,7 +33,7 @@
-<h1>Getting Support</h1>
+<h1 id='gettingsupport'>Getting Support</h1>
 <p>Our primary communication interface is - you guessed it - mailing lists!<br/>
     We have a number of mailing lists for various purposes:<br/></p>
 <table border="0">

View raw message