From commits-return-77-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Wed Jun 01 04:17:05 2016
Return-Path: <commits-return-77-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 4D9CB200B13
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Wed,  1 Jun 2016 06:17:05 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 4C3E9160A46; Wed,  1 Jun 2016 04:17:05 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 9620B160A44
	for <archive-asf-public@cust-asf.ponee.io>; Wed,  1 Jun 2016 06:17:04 +0200 (CEST)
Received: (qmail 5299 invoked by uid 500); 1 Jun 2016 04:17:03 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 5290 invoked by uid 99); 1 Jun 2016 04:17:03 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 04:17:03 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 5BEFC180589
	for <commits@ponymail.apache.org>; Wed,  1 Jun 2016 04:17:03 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx2-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024)
	with ESMTP id rl8HxcZo6MjI for <commits@ponymail.apache.org>;
	Wed,  1 Jun 2016 04:17:01 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx2-lw-us.apache.org (ASF Mail Server at mx2-lw-us.apache.org) with SMTP id 08BC05FB23
	for <commits@ponymail.incubator.apache.org>; Wed,  1 Jun 2016 04:17:00 +0000 (UTC)
Received: (qmail 5282 invoked by uid 99); 1 Jun 2016 04:17:00 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 04:17:00 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 486F2DFB74; Wed,  1 Jun 2016 04:17:00 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Wed, 01 Jun 2016 04:17:00 -0000
Message-Id: <4475c7c2e3b24fde8be96d3f87bd2f13@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [1/2] incubator-ponymail-site git commit: turn h1-h6 into links,
 using the title as ID
archived-at: Wed, 01 Jun 2016 04:17:05 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site f1083e144 -> 44f3401f0


turn h1-h6 into links, using the title as ID


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/93465c22
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/93465c22
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/93465c22

Branch: refs/heads/asf-site
Commit: 93465c223e279718638d8a3a91e5e11f7b196c0f
Parents: f1083e1
Author: humbedooh <humbedooh@apache.org>
Authored: Wed Jun 1 06:14:43 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Wed Jun 1 06:14:43 2016 +0200

----------------------------------------------------------------------
 source/generate.py | 8 ++++++++
 1 file changed, 8 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/93465c22/source/generate.py
----------------------------------------------------------------------
diff --git a/source/generate.py b/source/generate.py
index 9c76c4f..4de9c47 100644
--- a/source/generate.py
+++ b/source/generate.py
@@ -22,6 +22,14 @@ def runDir(path):
             text = re.sub(r"~~~([\s\S]+?)~~~", "<pre>\\1</pre>", text, flags=re.MULTILINE)
             text = re.sub(r"([A-Z/]+)\.md", lambda x: x.group(1).lower() + ".html", text, flags =re.MULTILINE)
             html = markdown.markdown(text)
+            # Convert h1-h6 into links
+            html = re.sub(r"<h([1-6])>(.+?)</h[1-6]>", lambda x: "<h%s id='%s'>%s</h%s>" % (
+                x.group(1),
+                re.sub(r"[^a-z0-9]+", "", x.group(2).lower()),
+                x.group(2),
+                x.group(1)
+                       )
+                          , html)
             html = template.replace("%CONTENT%", html, 1)
             print("Writing %s..." % outfile)
             bpath = os.path.dirname(outfile)


From commits-return-78-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Wed Jun 01 04:17:11 2016
Return-Path: <commits-return-78-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id AF176200B13
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Wed,  1 Jun 2016 06:17:11 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id AD9D4160A46; Wed,  1 Jun 2016 04:17:11 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 2FB7E160A44
	for <archive-asf-public@cust-asf.ponee.io>; Wed,  1 Jun 2016 06:17:10 +0200 (CEST)
Received: (qmail 5361 invoked by uid 500); 1 Jun 2016 04:17:09 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 5352 invoked by uid 99); 1 Jun 2016 04:17:09 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 04:17:09 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id DD1151A06D4
	for <commits@ponymail.apache.org>; Wed,  1 Jun 2016 04:17:08 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -3.896
X-Spam-Level: 
X-Spam-Status: No, score=-3.896 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_INFOUSMEBIZ=0.75,
	KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_HI=-5,
	RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024)
	with ESMTP id b7bk-ucuYK_l for <commits@ponymail.apache.org>;
	Wed,  1 Jun 2016 04:17:03 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id 7C8DA5F296
	for <commits@ponymail.incubator.apache.org>; Wed,  1 Jun 2016 04:17:01 +0000 (UTC)
Received: (qmail 5285 invoked by uid 99); 1 Jun 2016 04:17:00 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 04:17:00 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 4C2A2DFE61; Wed,  1 Jun 2016 04:17:00 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Wed, 01 Jun 2016 04:17:01 -0000
Message-Id: <5c28039bbe864273b1eba0051aea3a2e@git.apache.org>
In-Reply-To: <4475c7c2e3b24fde8be96d3f87bd2f13@git.apache.org>
References: <4475c7c2e3b24fde8be96d3f87bd2f13@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [2/2] incubator-ponymail-site git commit: regen
archived-at: Wed, 01 Jun 2016 04:17:11 -0000

regen


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(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/44f3401f/content/about.html
----------------------------------------------------------------------
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 @@
         </ul>
     </div>
 </div>
-<h1>About Pony Mail and its Contributors</h1>
-<h3>Background</h3>
+<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>Rationale</h3>
+<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/>
  <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/44f3401f/content/contribute.html
----------------------------------------------------------------------
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 @@
         </ul>
     </div>
 </div>
-<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>
 </ul>
-<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 workflow</a>:</p>
-<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
 </pre></p>
-<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:
 <pre>
 git checkout master
@@ -102,7 +102,7 @@ git push &lt;your-fork's-remote&gt; feature-branch -f # You might need to push w
 </pre></p>
 <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 master
 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

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/44f3401f/content/docs.html
----------------------------------------------------------------------
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 @@
         </ul>
     </div>
 </div>
-<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>
 <ul>
 <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>
 </ul>
-<h4>Generic installation instructions</h4>
+<h4 id='genericinstallationinstructions'>Generic installation instructions</h4>
 <ol>
 <li>Install Apache httpd + mod_lua and the lua libs (see http://modlua.org/gs/installing if need be)</li>
 <li>Install ElasticSearch</li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/44f3401f/content/docs/api.html
----------------------------------------------------------------------
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 @@
         </ul>
     </div>
 </div>
-<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>
 <p>Usage:
 <code>GET /api/email.lua?id=$mid</code></p>
 <p>Parameters: (cookie may be required)
@@ -64,7 +64,7 @@
 }
 </pre>
 
-<h3>Fetching list data</h3>
+<h3 id='fetchinglistdata'>Fetching list data</h3>
 <p>Usage:
 <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>
 <p>Parameters:
@@ -99,7 +99,7 @@
 }
 </pre>
 
-<h3>Fetching preferences and quick list overview</h3>
+<h3 id='fetchingpreferencesandquicklistoverview'>Fetching preferences and quick list overview</h3>
 <p>Usage:
 <code>GET /api/preferences.lua[?logout=true]</code></p>
 <p>Parameters: (cookie required)
@@ -137,7 +137,7 @@
 }
 </pre>
 
-<h3>Fetching notifications for a logged in user</h3>
+<h3 id='fetchingnotificationsforaloggedinuser'>Fetching notifications for a logged in user</h3>
 <p>Usage:
 <code>GET /api/notifications.lua</code></p>
 <p>Parameters: <code>None</code> (cookie required)</p>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/44f3401f/content/docs/archiving.html
----------------------------------------------------------------------
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 @@
         </ul>
     </div>
 </div>
-<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>Pre-requisites</h3>
+<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>
 <pre>
@@ -60,13 +60,13 @@ foo-private: "|/usr/bin/python3 /path/to/tools/archiver.py --private"
 </pre>
 
 <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 lists</h3>
 <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 well.</p>
-<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>
 <pre>
 .qmail-archive-public:
@@ -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"
 </pre>
 
-<h3>Subscribe the aliases to your mailing lists</h3>
+<h3 id='subscribethealiasestoyourmailinglists'>Subscribe the aliases to your mailing lists</h3>
 <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:

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/44f3401f/content/docs/building.html
----------------------------------------------------------------------
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 @@
         </ul>
     </div>
 </div>
-<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> files.
 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>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/44f3401f/content/docs/contributing.html
----------------------------------------------------------------------
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 @@
         </ul>
     </div>
 </div>
-<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>Code</h2>
+<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>Chat</h2>
+<h2 id='chat'>Chat</h2>
 <p>IRC:
     - #ponymail on Freenode</p>
 <h4><a id="disclaimer"></a>Disclaimer</h4>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/44f3401f/content/docs/importing.html
----------------------------------------------------------------------
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 @@
         </ul>
     </div>
 </div>
-<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> flag.</p>
 <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 domains)</h3>
 <p>To import an entire site, use the same command as above, but omit the <code>--project</code> flag</p>
 <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/ --pipermail</code></p>
-<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>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/44f3401f/content/docs/install.centos.html
----------------------------------------------------------------------
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 @@
         </ul>
     </div>
 </div>
-<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>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/44f3401f/content/docs/install.debian.html
----------------------------------------------------------------------
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 @@
         </ul>
     </div>
 </div>
-<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>
 <ul>
 <li>apache2</li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/44f3401f/content/docs/install.fedora.html
----------------------------------------------------------------------
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 @@
         </ul>
     </div>
 </div>
-<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>
 <ul>
 <li>httpd</li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/44f3401f/content/docs/install.ubuntu.html
----------------------------------------------------------------------
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 @@
         </ul>
     </div>
 </div>
-<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>
 <ul>
 <li>apache2</li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/44f3401f/content/docs/installing.html
----------------------------------------------------------------------
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 @@
         </ul>
     </div>
 </div>
-<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>
 <ul>
@@ -43,7 +43,7 @@ for detailed package installation instructions:</p>
 <li><a href="install.fedora.html">Fedora (22) Installation Instructions</a></li>
 </ul>
 <p>Otherwise, read the next two chapters:</p>
-<h2>Pre-requisites</h2>
+<h2 id='prerequisites'>Pre-requisites</h2>
 <p>You will need the following software installed on your machine:</p>
 <ul>
 <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>
 </ul>
-<h2>Download and Install</h2>
+<h2 id='downloadandinstall'>Download and Install</h2>
 <ul>
 <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>
 </ul>
-<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, please
 add the following lines in the <code>elasticsearch</code> block of <code>ponymail.cfg</code> once generated:</p>
 <pre>
@@ -69,20 +69,20 @@ user:           [username for ES]
 password:       [password for ES]
 </pre>
 
-<h3>Using Apache HTTP Server:</h3>
+<h3 id='usingapachehttpserver'>Using Apache HTTP Server:</h3>
 <ul>
 <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>
 </ul>
-<h3>Using nginx:</h3>
+<h3 id='usingnginx'>Using nginx:</h3>
 <ul>
 <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>
 </ul>
-<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 generated
 <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>, such
 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>
 <pre>
     oauth_fields = {
@@ -172,7 +172,7 @@ this - a place to reply to emails in the archive.</p>
 </pre>
 
 <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 sub-domain
     accepted_domains = { "foo.org", "*.foo.org" } -- Allow posts both to *.foo.org and foo.org
 </pre>
 
-<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>
     --------
 </pre>
 
-<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>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/44f3401f/content/downloads.html
----------------------------------------------------------------------
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 @@
         </ul>
     </div>
 </div>
-<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>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/44f3401f/content/index.html
----------------------------------------------------------------------
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 
 private.</p>
-<h3>Features include:</h3>
+<h3 id='featuresinclude'>Features include:</h3>
 <ul>
 <li>Importing from standard mbox files, maildir directory, Pipermail or an mod_mbox-driven site</li>
 <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>
 </ul>
-<h3>Requirements:</h3>
+<h3 id='requirements'>Requirements:</h3>
 <ul>
 <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>
 </ul>
-<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>TODO:</h3>
+<h3 id='todo'>TODO:</h3>
 <p>This is a list of what we would love to get done:</p>
 <ul>
 <li>Start on documentation (WIP)</li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/44f3401f/content/source.html
----------------------------------------------------------------------
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 @@
         </ul>
     </div>
 </div>
-<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>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/44f3401f/content/support.html
----------------------------------------------------------------------
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 @@
         </ul>
     </div>
 </div>
-<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">


From commits-return-80-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Wed Jun 01 04:32:00 2016
Return-Path: <commits-return-80-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 19D53200B36
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Wed,  1 Jun 2016 06:32:00 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 1896D160A44; Wed,  1 Jun 2016 04:32:00 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 606B6160A46
	for <archive-asf-public@cust-asf.ponee.io>; Wed,  1 Jun 2016 06:31:59 +0200 (CEST)
Received: (qmail 33311 invoked by uid 500); 1 Jun 2016 04:31:58 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 33302 invoked by uid 99); 1 Jun 2016 04:31:58 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 04:31:58 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 1003DC2435
	for <commits@ponymail.apache.org>; Wed,  1 Jun 2016 04:31:58 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024)
	with ESMTP id v_TZ1RC9OLa6 for <commits@ponymail.apache.org>;
	Wed,  1 Jun 2016 04:31:57 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id 7282C5F2C2
	for <commits@ponymail.incubator.apache.org>; Wed,  1 Jun 2016 04:31:56 +0000 (UTC)
Received: (qmail 33242 invoked by uid 99); 1 Jun 2016 04:31:55 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 04:31:55 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 8987BDFE61; Wed,  1 Jun 2016 04:31:55 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Wed, 01 Jun 2016 04:31:55 -0000
Message-Id: <f49613bbfb2e46568307c736017ff9ea@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [1/2] incubator-ponymail git commit: fix up preferences script
archived-at: Wed, 01 Jun 2016 04:32:00 -0000

Repository: incubator-ponymail
Updated Branches:
  refs/heads/master 59fd2dd40 -> 42b2a9eb4


fix up preferences script

- tweak the null check
- reword the email association email
This fixes #47 and also addresses #40


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

Branch: refs/heads/master
Commit: b228f12bd25d580b6c639122665e6c17321563a2
Parents: 59fd2dd
Author: humbedooh <humbedooh@apache.org>
Authored: Wed Jun 1 06:30:24 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Wed Jun 1 06:30:24 2016 +0200

----------------------------------------------------------------------
 site/api/preferences.lua | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/b228f12b/site/api/preferences.lua
----------------------------------------------------------------------
diff --git a/site/api/preferences.lua b/site/api/preferences.lua
index 3b4c164..80f3c0f 100644
--- a/site/api/preferences.lua
+++ b/site/api/preferences.lua
@@ -80,13 +80,13 @@ function handle(r)
         -- send email
         local source = smtp.message{
                 headers = {
-                    subject = "Confirm email address merge in Pony Mail",
+                    subject = "Confirm email address association in Pony Mail",
                     to = get.associate,
                     from = ("\"Pony Mail\"<no-reply@%s>"):format(mldom)
                     },
                 body = ([[
-You (or someone else) has requested to merge this email address with the account '%s' in Pony Mail.
-If you wish to complete this merge, please visit %s
+You (or someone else) has requested to associate this email address with the account '%s' in Pony Mail.
+If you wish to complete this association, please visit %s
  ...Or don't if you didn't request this, just ignore this email.
 
 With regards,
@@ -109,7 +109,7 @@ Pony Mail - Email for Ponies and People.
     if get.verify and get.hash and account and account.credentials.altemail then
         local verified = false
         for k, v in pairs(account.credentials.altemail) do
-            if v and (not v == JSON.null) and v.hash == get.hash then
+            if v and not (v == JSON.null) and v.hash == get.hash then
                 account.credentials.altemail[k].verified = true
                 verified = true
                 break


From commits-return-79-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Wed Jun 01 04:31:59 2016
Return-Path: <commits-return-79-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id E8CB9200B13
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Wed,  1 Jun 2016 06:31:59 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id E77B6160A47; Wed,  1 Jun 2016 04:31:59 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 3CAC7160A44
	for <archive-asf-public@cust-asf.ponee.io>; Wed,  1 Jun 2016 06:31:59 +0200 (CEST)
Received: (qmail 33270 invoked by uid 500); 1 Jun 2016 04:31:58 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 33261 invoked by uid 99); 1 Jun 2016 04:31:58 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 04:31:58 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id E5315180501
	for <commits@ponymail.apache.org>; Wed,  1 Jun 2016 04:31:57 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024)
	with ESMTP id 0Hvf0kM5hR0z for <commits@ponymail.apache.org>;
	Wed,  1 Jun 2016 04:31:57 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id 7D6B65F36D
	for <commits@ponymail.incubator.apache.org>; Wed,  1 Jun 2016 04:31:56 +0000 (UTC)
Received: (qmail 33244 invoked by uid 99); 1 Jun 2016 04:31:55 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 04:31:55 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 91963DFB14; Wed,  1 Jun 2016 04:31:55 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Wed, 01 Jun 2016 04:31:56 -0000
Message-Id: <c22202740616473e8f5944429dd485df@git.apache.org>
In-Reply-To: <f49613bbfb2e46568307c736017ff9ea@git.apache.org>
References: <f49613bbfb2e46568307c736017ff9ea@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [2/2] incubator-ponymail git commit: reword a bit
archived-at: Wed, 01 Jun 2016 04:32:00 -0000

reword a bit

this should fix #40


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

Branch: refs/heads/master
Commit: 42b2a9eb4e902191dcc4206c2efba688dd997090
Parents: b228f12
Author: humbedooh <humbedooh@apache.org>
Authored: Wed Jun 1 06:31:33 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Wed Jun 1 06:31:33 2016 +0200

----------------------------------------------------------------------
 site/js/alts.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/42b2a9eb/site/js/alts.js
----------------------------------------------------------------------
diff --git a/site/js/alts.js b/site/js/alts.js
index af4ba82..82412b2 100644
--- a/site/js/alts.js
+++ b/site/js/alts.js
@@ -52,7 +52,7 @@ function listAlts() {
 }
 
 function newAlt(addr) {
-    GetAsync("/api/preferences.lua?associate=" + addr, null, function() { alert("Your association request has been handled. Please check your inbox! Depending on grey-listing etc, it may take up to 15 minutes before your confirmation email arrives.")})
+    GetAsync("/api/preferences.lua?associate=" + addr, null, function() { alert("An association request has been sent to the specified email address. Please check your inbox! Depending on grey-listing etc, it may take up to 15 minutes before your confirmation email arrives.")})
     return false;
 }
 


From commits-return-81-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Wed Jun 01 05:58:13 2016
Return-Path: <commits-return-81-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 9B714200B13
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Wed,  1 Jun 2016 07:58:13 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 9A607160A47; Wed,  1 Jun 2016 05:58:13 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id E00AC160A41
	for <archive-asf-public@cust-asf.ponee.io>; Wed,  1 Jun 2016 07:58:12 +0200 (CEST)
Received: (qmail 82390 invoked by uid 500); 1 Jun 2016 05:58:12 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 82372 invoked by uid 99); 1 Jun 2016 05:58:12 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 05:58:12 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id B811418059B
	for <commits@ponymail.apache.org>; Wed,  1 Jun 2016 05:58:11 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024)
	with ESMTP id wEnb-Q61U3HI for <commits@ponymail.apache.org>;
	Wed,  1 Jun 2016 05:58:09 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id D030C5F39C
	for <commits@ponymail.incubator.apache.org>; Wed,  1 Jun 2016 05:58:08 +0000 (UTC)
Received: (qmail 82335 invoked by uid 99); 1 Jun 2016 05:58:07 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 05:58:07 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id C0415DFB74; Wed,  1 Jun 2016 05:58:07 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <39ba302b73c54c85b9eeed2e1d7adc49@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail git commit: ponymail.js is needed for popup()
Date: Wed,  1 Jun 2016 05:58:07 +0000 (UTC)
archived-at: Wed, 01 Jun 2016 05:58:13 -0000

Repository: incubator-ponymail
Updated Branches:
  refs/heads/master 42b2a9eb4 -> c68e32c80


ponymail.js is needed for popup()


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

Branch: refs/heads/master
Commit: c68e32c80cf71c891628090355a0bf645ddb9d01
Parents: 42b2a9e
Author: humbedooh <humbedooh@apache.org>
Authored: Wed Jun 1 07:57:42 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Wed Jun 1 07:57:42 2016 +0200

----------------------------------------------------------------------
 site/oauth.html | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/c68e32c8/site/oauth.html
----------------------------------------------------------------------
diff --git a/site/oauth.html b/site/oauth.html
index 315f42a..2358a2a 100644
--- a/site/oauth.html
+++ b/site/oauth.html
@@ -41,6 +41,7 @@
   <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
     <!-- Include all compiled plugins (below), or include individual files as needed -->
     <script src="js/bootstrap.min.js"></script>
+    <script src="js/ponymail.js"></script>
     <script src="js/oauth.js"></script>
     <script src="js/config.js"></script>
     <script src="https://login.persona.org/include.js"></script>


From commits-return-82-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Wed Jun 01 06:20:34 2016
Return-Path: <commits-return-82-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id B7CD6200B13
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Wed,  1 Jun 2016 08:20:34 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id B6747160A47; Wed,  1 Jun 2016 06:20:34 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 071F91602C5
	for <archive-asf-public@cust-asf.ponee.io>; Wed,  1 Jun 2016 08:20:33 +0200 (CEST)
Received: (qmail 15486 invoked by uid 500); 1 Jun 2016 06:20:33 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 15477 invoked by uid 99); 1 Jun 2016 06:20:33 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 06:20:33 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id AA4A2C130C
	for <commits@ponymail.apache.org>; Wed,  1 Jun 2016 06:20:32 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024)
	with ESMTP id lP34o1yoTbhO for <commits@ponymail.apache.org>;
	Wed,  1 Jun 2016 06:20:30 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id E4EFB5FB17
	for <commits@ponymail.incubator.apache.org>; Wed,  1 Jun 2016 06:20:29 +0000 (UTC)
Received: (qmail 15461 invoked by uid 99); 1 Jun 2016 06:20:29 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 06:20:29 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id D3769DFB74; Wed,  1 Jun 2016 06:20:28 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Wed, 01 Jun 2016 06:20:28 -0000
Message-Id: <0c02aa52c47d4a958b7abe2bf296f428@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [1/2] incubator-ponymail-site git commit: add a pilcrow next to
 headers with a link
archived-at: Wed, 01 Jun 2016 06:20:34 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site 44f3401f0 -> f1948e07a


add a pilcrow next to headers with a link


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/5f2e46c5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/5f2e46c5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/5f2e46c5

Branch: refs/heads/asf-site
Commit: 5f2e46c528cd5ed3fee163720bcc23331382ffdd
Parents: 44f3401
Author: humbedooh <humbedooh@apache.org>
Authored: Wed Jun 1 08:19:54 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Wed Jun 1 08:19:54 2016 +0200

----------------------------------------------------------------------
 content/css/default.css | 4 +++-
 source/generate.py      | 4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/5f2e46c5/content/css/default.css
----------------------------------------------------------------------
diff --git a/content/css/default.css b/content/css/default.css
index 998ae5f..e455d1e 100644
--- a/content/css/default.css
+++ b/content/css/default.css
@@ -4500,7 +4500,9 @@ img {
         width: 100%
     }
 }
-
+h1:hover a, h2:hover a, h3:hover a, h4:hover a, h5:hover a, h6:hover a {
+    color: rgba(70,70,50,1) !important;
+}
 #menubar {
     font-size: 20pt;
     background: #4e413a;

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/5f2e46c5/source/generate.py
----------------------------------------------------------------------
diff --git a/source/generate.py b/source/generate.py
index 4de9c47..a8b097b 100644
--- a/source/generate.py
+++ b/source/generate.py
@@ -23,10 +23,12 @@ def runDir(path):
             text = re.sub(r"([A-Z/]+)\.md", lambda x: x.group(1).lower() + ".html", text, flags =re.MULTILINE)
             html = markdown.markdown(text)
             # Convert h1-h6 into links
-            html = re.sub(r"<h([1-6])>(.+?)</h[1-6]>", lambda x: "<h%s id='%s'>%s</h%s>" % (
+            html = re.sub(r"<h([1-6])>(.+?)</h[1-6]>", lambda x:
+                "<h%s id='%s'>%s<a href='#%s' style='color: rgba(0,0,0,0);'>&para;</a></h%s>" % (
                 x.group(1),
                 re.sub(r"[^a-z0-9]+", "", x.group(2).lower()),
                 x.group(2),
+                re.sub(r"[^a-z0-9]+", "", x.group(2).lower()),
                 x.group(1)
                        )
                           , html)


From commits-return-83-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Wed Jun 01 06:20:38 2016
Return-Path: <commits-return-83-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id E4740200B13
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Wed,  1 Jun 2016 08:20:38 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id E31CE160A47; Wed,  1 Jun 2016 06:20:38 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 41D8A1602C5
	for <archive-asf-public@cust-asf.ponee.io>; Wed,  1 Jun 2016 08:20:37 +0200 (CEST)
Received: (qmail 15529 invoked by uid 500); 1 Jun 2016 06:20:36 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 15520 invoked by uid 99); 1 Jun 2016 06:20:36 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 06:20:36 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id D8C2EC2459
	for <commits@ponymail.apache.org>; Wed,  1 Jun 2016 06:20:35 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -3.896
X-Spam-Level: 
X-Spam-Status: No, score=-3.896 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_INFOUSMEBIZ=0.75,
	KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_HI=-5,
	RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024)
	with ESMTP id oJQghqJ8RjSl for <commits@ponymail.apache.org>;
	Wed,  1 Jun 2016 06:20:32 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id CCD9C5FAF2
	for <commits@ponymail.incubator.apache.org>; Wed,  1 Jun 2016 06:20:29 +0000 (UTC)
Received: (qmail 15458 invoked by uid 99); 1 Jun 2016 06:20:29 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 06:20:29 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id D6C7EDFE61; Wed,  1 Jun 2016 06:20:28 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Wed, 01 Jun 2016 06:20:29 -0000
Message-Id: <f3c42a94edd24f388bab20c6e7b8123d@git.apache.org>
In-Reply-To: <0c02aa52c47d4a958b7abe2bf296f428@git.apache.org>
References: <0c02aa52c47d4a958b7abe2bf296f428@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [2/2] incubator-ponymail-site git commit: regen
archived-at: Wed, 01 Jun 2016 06:20:39 -0000

regen


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/f1948e07
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/f1948e07
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/f1948e07

Branch: refs/heads/asf-site
Commit: f1948e07a054604d79f9088530604a219725cc9e
Parents: 5f2e46c
Author: humbedooh <humbedooh@apache.org>
Authored: Wed Jun 1 08:20:17 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Wed Jun 1 08:20:17 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(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/f1948e07/content/about.html
----------------------------------------------------------------------
diff --git a/content/about.html b/content/about.html
index 15c5dd3..63f49c1 100644
--- a/content/about.html
+++ b/content/about.html
@@ -33,8 +33,8 @@
         </ul>
     </div>
 </div>
-<h1 id='aboutponymailanditscontributors'>About Pony Mail and its Contributors</h1>
-<h3 id='background'>Background</h3>
+<h1 id='aboutponymailanditscontributors'>About Pony Mail and its Contributors<a href='#aboutponymailanditscontributors' style='color: rgba(0,0,0,0);'>&para;</a></h1>
+<h3 id='background'>Background<a href='#background' style='color: rgba(0,0,0,0);'>&para;</a></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>
+<h3 id='rationale'>Rationale<a href='#rationale' style='color: rgba(0,0,0,0);'>&para;</a></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 id='whoarewe'>Who are we?</h3>
+<h3 id='whoarewe'>Who are we?<a href='#whoarewe' style='color: rgba(0,0,0,0);'>&para;</a></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/>
  <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/f1948e07/content/contribute.html
----------------------------------------------------------------------
diff --git a/content/contribute.html b/content/contribute.html
index 86dc70a..1d46955 100644
--- a/content/contribute.html
+++ b/content/contribute.html
@@ -33,7 +33,7 @@
         </ul>
     </div>
 </div>
-<h1 id='contributingtoponymail'>Contributing to Pony Mail</h1>
+<h1 id='contributingtoponymail'>Contributing to Pony Mail<a href='#contributingtoponymail' style='color: rgba(0,0,0,0);'>&para;</a></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>
 </ul>
-<h2 id='gitworkflow'>Git Workflow</h2>
+<h2 id='gitworkflow'>Git Workflow<a href='#gitworkflow' style='color: rgba(0,0,0,0);'>&para;</a></h2>
 <p>The following workflow is adapted from the <a href="https://cwiki.apache.org/confluence/display/JCLOUDS/Git+workflow">jClouds workflow</a>:</p>
-<h4 id='prepareyourfork'>Prepare your fork</h4>
+<h4 id='prepareyourfork'>Prepare your fork<a href='#prepareyourfork' style='color: rgba(0,0,0,0);'>&para;</a></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
 </pre></p>
-<h4 id='createthefeaturebranch'>Create the feature branch</h4>
+<h4 id='createthefeaturebranch'>Create the feature branch<a href='#createthefeaturebranch' style='color: rgba(0,0,0,0);'>&para;</a></h4>
 <p>When beginning working on the feature, take a branch from the latest master version:
 <pre>
 git checkout master
@@ -102,7 +102,7 @@ git push &lt;your-fork's-remote&gt; feature-branch -f # You might need to push w
 </pre></p>
 <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 id='anoteaboutkeepingthepullrequestuptodate'>A note about keeping the pull request up to date</h4>
+<h4 id='anoteaboutkeepingthepullrequestuptodate'>A note about keeping the pull request up to date<a href='#anoteaboutkeepingthepullrequestuptodate' style='color: rgba(0,0,0,0);'>&para;</a></h4>
 <p>The key point is to <em>avoid</em> updating your feature branch with master
 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

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/f1948e07/content/docs.html
----------------------------------------------------------------------
diff --git a/content/docs.html b/content/docs.html
index 1a80f7c..736f23d 100644
--- a/content/docs.html
+++ b/content/docs.html
@@ -33,9 +33,9 @@
         </ul>
     </div>
 </div>
-<h3 id='gettingstarted'>Getting started</h3>
+<h3 id='gettingstarted'>Getting started<a href='#gettingstarted' style='color: rgba(0,0,0,0);'>&para;</a></h3>
 <p>(Optionally see the <a href="/docs/installing.html">detailed installation instructions</a> for more information)</p>
-<h4 id='supportedlinuxdistributions'>Supported Linux Distributions</h4>
+<h4 id='supportedlinuxdistributions'>Supported Linux Distributions<a href='#supportedlinuxdistributions' style='color: rgba(0,0,0,0);'>&para;</a></h4>
 <p>For a quick guide to installing Pony Mail, please see the guides for:</p>
 <ul>
 <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>
 </ul>
-<h4 id='genericinstallationinstructions'>Generic installation instructions</h4>
+<h4 id='genericinstallationinstructions'>Generic installation instructions<a href='#genericinstallationinstructions' style='color: rgba(0,0,0,0);'>&para;</a></h4>
 <ol>
 <li>Install Apache httpd + mod_lua and the lua libs (see http://modlua.org/gs/installing if need be)</li>
 <li>Install ElasticSearch</li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/f1948e07/content/docs/api.html
----------------------------------------------------------------------
diff --git a/content/docs/api.html b/content/docs/api.html
index 1dbb228..151b6c5 100644
--- a/content/docs/api.html
+++ b/content/docs/api.html
@@ -33,8 +33,8 @@
         </ul>
     </div>
 </div>
-<h1 id='ponymailarchiveapi'>Pony Mail Archive API</h1>
-<h3 id='fetchingaspecificemail'>Fetching a specific email:</h3>
+<h1 id='ponymailarchiveapi'>Pony Mail Archive API<a href='#ponymailarchiveapi' style='color: rgba(0,0,0,0);'>&para;</a></h1>
+<h3 id='fetchingaspecificemail'>Fetching a specific email:<a href='#fetchingaspecificemail' style='color: rgba(0,0,0,0);'>&para;</a></h3>
 <p>Usage:
 <code>GET /api/email.lua?id=$mid</code></p>
 <p>Parameters: (cookie may be required)
@@ -64,7 +64,7 @@
 }
 </pre>
 
-<h3 id='fetchinglistdata'>Fetching list data</h3>
+<h3 id='fetchinglistdata'>Fetching list data<a href='#fetchinglistdata' style='color: rgba(0,0,0,0);'>&para;</a></h3>
 <p>Usage:
 <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>
 <p>Parameters:
@@ -99,7 +99,7 @@
 }
 </pre>
 
-<h3 id='fetchingpreferencesandquicklistoverview'>Fetching preferences and quick list overview</h3>
+<h3 id='fetchingpreferencesandquicklistoverview'>Fetching preferences and quick list overview<a href='#fetchingpreferencesandquicklistoverview' style='color: rgba(0,0,0,0);'>&para;</a></h3>
 <p>Usage:
 <code>GET /api/preferences.lua[?logout=true]</code></p>
 <p>Parameters: (cookie required)
@@ -137,7 +137,7 @@
 }
 </pre>
 
-<h3 id='fetchingnotificationsforaloggedinuser'>Fetching notifications for a logged in user</h3>
+<h3 id='fetchingnotificationsforaloggedinuser'>Fetching notifications for a logged in user<a href='#fetchingnotificationsforaloggedinuser' style='color: rgba(0,0,0,0);'>&para;</a></h3>
 <p>Usage:
 <code>GET /api/notifications.lua</code></p>
 <p>Parameters: <code>None</code> (cookie required)</p>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/f1948e07/content/docs/archiving.html
----------------------------------------------------------------------
diff --git a/content/docs/archiving.html b/content/docs/archiving.html
index d3756cc..8c8fea3 100644
--- a/content/docs/archiving.html
+++ b/content/docs/archiving.html
@@ -33,24 +33,24 @@
         </ul>
     </div>
 </div>
-<h1 id='archivingnewemailstoponymail'>Archiving New Emails to Pony Mail</h1>
+<h1 id='archivingnewemailstoponymail'>Archiving New Emails to Pony Mail<a href='#archivingnewemailstoponymail' style='color: rgba(0,0,0,0);'>&para;</a></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 id='mailman2xexample'>Mailman 2.x example:</h2>
+<h2 id='mailman2xexample'>Mailman 2.x example:<a href='#mailman2xexample' style='color: rgba(0,0,0,0);'>&para;</a></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>
+<h3 id='prerequisites'>Pre-requisites<a href='#prerequisites' style='color: rgba(0,0,0,0);'>&para;</a></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 id='createanalias'>Create an alias:</h3>
+<h3 id='createanalias'>Create an alias:<a href='#createanalias' style='color: rgba(0,0,0,0);'>&para;</a></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>
 <pre>
@@ -60,13 +60,13 @@ foo-private: "|/usr/bin/python3 /path/to/tools/archiver.py --private"
 </pre>
 
 <p>Once done, run <code>newaliases</code> to update your alias DB.</p>
-<h3 id='subscribethealiasestoyourmailinglists'>Subscribe the aliases to your mailing lists</h3>
+<h3 id='subscribethealiasestoyourmailinglists'>Subscribe the aliases to your mailing lists<a href='#subscribethealiasestoyourmailinglists' style='color: rgba(0,0,0,0);'>&para;</a></h3>
 <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 id='ezmlmexample'>ezmlm example:</h2>
+<h2 id='ezmlmexample'>ezmlm example:<a href='#ezmlmexample' style='color: rgba(0,0,0,0);'>&para;</a></h2>
 <p>First, see the general introduction in the MM2 example, as this applies here as well.</p>
-<h3 id='createanalias'>Create an alias:</h3>
+<h3 id='createanalias'>Create an alias:<a href='#createanalias' style='color: rgba(0,0,0,0);'>&para;</a></h3>
 <p>Set up a dot-forward file for a public and a private alias:</p>
 <pre>
 .qmail-archive-public:
@@ -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"
 </pre>
 
-<h3 id='subscribethealiasestoyourmailinglists'>Subscribe the aliases to your mailing lists</h3>
+<h3 id='subscribethealiasestoyourmailinglists'>Subscribe the aliases to your mailing lists<a href='#subscribethealiasestoyourmailinglists' style='color: rgba(0,0,0,0);'>&para;</a></h3>
 <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 id='settingupaaa'>Setting up AAA</h2>
+<h2 id='settingupaaa'>Setting up AAA<a href='#settingupaaa' style='color: rgba(0,0,0,0);'>&para;</a></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 id='importingarchivinghtmlonlyemails'>Importing/Archiving HTML-only emails</h2>
+<h2 id='importingarchivinghtmlonlyemails'>Importing/Archiving HTML-only emails<a href='#importingarchivinghtmlonlyemails' style='color: rgba(0,0,0,0);'>&para;</a></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 id='munginglistids'>Munging list IDs</h2>
+<h2 id='munginglistids'>Munging list IDs<a href='#munginglistids' style='color: rgba(0,0,0,0);'>&para;</a></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:

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/f1948e07/content/docs/building.html
----------------------------------------------------------------------
diff --git a/content/docs/building.html b/content/docs/building.html
index 1f70a07..16fbcf6 100644
--- a/content/docs/building.html
+++ b/content/docs/building.html
@@ -33,12 +33,12 @@
         </ul>
     </div>
 </div>
-<h1 id='buildingponymailforproduction'>Building Pony Mail for Production</h1>
+<h1 id='buildingponymailforproduction'>Building Pony Mail for Production<a href='#buildingponymailforproduction' style='color: rgba(0,0,0,0);'>&para;</a></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 id='buildingthejavascriptchunks'>Building the JavaScript chunks</h3>
+<h3 id='buildingthejavascriptchunks'>Building the JavaScript chunks<a href='#buildingthejavascriptchunks' style='color: rgba(0,0,0,0);'>&para;</a></h3>
 <p>All JavaScript edits should be done to the <code>site/js/dev/*.js</code> files.
 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>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/f1948e07/content/docs/contributing.html
----------------------------------------------------------------------
diff --git a/content/docs/contributing.html b/content/docs/contributing.html
index 269d388..fad5a41 100644
--- a/content/docs/contributing.html
+++ b/content/docs/contributing.html
@@ -33,7 +33,7 @@
         </ul>
     </div>
 </div>
-<h1 id='contributingtoponymail'>Contributing to Pony Mail</h1>
+<h1 id='contributingtoponymail'>Contributing to Pony Mail<a href='#contributingtoponymail' style='color: rgba(0,0,0,0);'>&para;</a></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>
+<h2 id='code'>Code<a href='#code' style='color: rgba(0,0,0,0);'>&para;</a></h2>
 <p>The Pony Mail code is on GitHub at https://github.com/apache/incubator-ponymail
 and pull requests are welcome.</p>
-<h2 id='mailinglists'>Mailing lists</h2>
+<h2 id='mailinglists'>Mailing lists<a href='#mailinglists' style='color: rgba(0,0,0,0);'>&para;</a></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>
+<h2 id='chat'>Chat<a href='#chat' style='color: rgba(0,0,0,0);'>&para;</a></h2>
 <p>IRC:
     - #ponymail on Freenode</p>
 <h4><a id="disclaimer"></a>Disclaimer</h4>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/f1948e07/content/docs/importing.html
----------------------------------------------------------------------
diff --git a/content/docs/importing.html b/content/docs/importing.html
index 3e10431..88eab9c 100644
--- a/content/docs/importing.html
+++ b/content/docs/importing.html
@@ -33,7 +33,7 @@
         </ul>
     </div>
 </div>
-<h1 id='importingdatatoponymail'>Importing Data to Pony Mail</h1>
+<h1 id='importingdatatoponymail'>Importing Data to Pony Mail<a href='#importingdatatoponymail' style='color: rgba(0,0,0,0);'>&para;</a></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 id='importingattachments'>Importing attachments</h2>
+<h2 id='importingattachments'>Importing attachments<a href='#importingattachments' style='color: rgba(0,0,0,0);'>&para;</a></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 id='importingfrommodmbox'>Importing from mod_mbox</h2>
-<h3 id='importingasingledomain'>Importing a single domain</h3>
+<h2 id='importingfrommodmbox'>Importing from mod_mbox<a href='#importingfrommodmbox' style='color: rgba(0,0,0,0);'>&para;</a></h2>
+<h3 id='importingasingledomain'>Importing a single domain<a href='#importingasingledomain' style='color: rgba(0,0,0,0);'>&para;</a></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> flag.</p>
 <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 id='importinganentirearchivemultipledomains'>Importing an entire archive (multiple domains)</h3>
+<h3 id='importinganentirearchivemultipledomains'>Importing an entire archive (multiple domains)<a href='#importinganentirearchivemultipledomains' style='color: rgba(0,0,0,0);'>&para;</a></h3>
 <p>To import an entire site, use the same command as above, but omit the <code>--project</code> flag</p>
 <p><code>python3 import-mbox.py --source https://your.tld/mod_mbox/ --mod-mbox</code></p>
-<h3 id='settingthedomainorlistidproperlyincaseofvariance'>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<a href='#settingthedomainorlistidproperlyincaseofvariance' style='color: rgba(0,0,0,0);'>&para;</a></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 id='importingfrompipermail'>Importing from Pipermail</h2>
+<h2 id='importingfrompipermail'>Importing from Pipermail<a href='#importingfrompipermail' style='color: rgba(0,0,0,0);'>&para;</a></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/ --pipermail</code></p>
-<h3 id='pipermailandhtmlonlyemails'>Pipermail and html-only emails</h3>
+<h3 id='pipermailandhtmlonlyemails'>Pipermail and html-only emails<a href='#pipermailandhtmlonlyemails' style='color: rgba(0,0,0,0);'>&para;</a></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 id='importingfromlocallystoredmboxfiles'>Importing from locally stored mbox files</h2>
+<h2 id='importingfromlocallystoredmboxfiles'>Importing from locally stored mbox files<a href='#importingfromlocallystoredmboxfiles' style='color: rgba(0,0,0,0);'>&para;</a></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 id='testarchives'>Test archives</h2>
+<h2 id='testarchives'>Test archives<a href='#testarchives' style='color: rgba(0,0,0,0);'>&para;</a></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>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/f1948e07/content/docs/install.centos.html
----------------------------------------------------------------------
diff --git a/content/docs/install.centos.html b/content/docs/install.centos.html
index 80fb221..507090f 100644
--- a/content/docs/install.centos.html
+++ b/content/docs/install.centos.html
@@ -33,7 +33,7 @@
         </ul>
     </div>
 </div>
-<h1 id='installingponymailoncentos71'>Installing Pony Mail on CentOS 7.1:</h1>
+<h1 id='installingponymailoncentos71'>Installing Pony Mail on CentOS 7.1:<a href='#installingponymailoncentos71' style='color: rgba(0,0,0,0);'>&para;</a></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>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/f1948e07/content/docs/install.debian.html
----------------------------------------------------------------------
diff --git a/content/docs/install.debian.html b/content/docs/install.debian.html
index 68129af..08a8036 100644
--- a/content/docs/install.debian.html
+++ b/content/docs/install.debian.html
@@ -33,7 +33,7 @@
         </ul>
     </div>
 </div>
-<h1 id='installingponymailondebianjessie'>Installing Pony Mail on Debian Jessie:</h1>
+<h1 id='installingponymailondebianjessie'>Installing Pony Mail on Debian Jessie:<a href='#installingponymailondebianjessie' style='color: rgba(0,0,0,0);'>&para;</a></h1>
 <p>Start by installing the following Debian packages:</p>
 <ul>
 <li>apache2</li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/f1948e07/content/docs/install.fedora.html
----------------------------------------------------------------------
diff --git a/content/docs/install.fedora.html b/content/docs/install.fedora.html
index 07260de..338b6dc 100644
--- a/content/docs/install.fedora.html
+++ b/content/docs/install.fedora.html
@@ -33,7 +33,7 @@
         </ul>
     </div>
 </div>
-<h1 id='installingponymailonfedora22'>Installing Pony Mail on Fedora 22:</h1>
+<h1 id='installingponymailonfedora22'>Installing Pony Mail on Fedora 22:<a href='#installingponymailonfedora22' style='color: rgba(0,0,0,0);'>&para;</a></h1>
 <p>Start by installing the following Fedora packages:</p>
 <ul>
 <li>httpd</li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/f1948e07/content/docs/install.ubuntu.html
----------------------------------------------------------------------
diff --git a/content/docs/install.ubuntu.html b/content/docs/install.ubuntu.html
index 455e1e6..7a062e4 100644
--- a/content/docs/install.ubuntu.html
+++ b/content/docs/install.ubuntu.html
@@ -33,7 +33,7 @@
         </ul>
     </div>
 </div>
-<h1 id='installingponymailonubuntu1404or1604'>Installing Pony Mail on Ubuntu 14.04 or 16.04:</h1>
+<h1 id='installingponymailonubuntu1404or1604'>Installing Pony Mail on Ubuntu 14.04 or 16.04:<a href='#installingponymailonubuntu1404or1604' style='color: rgba(0,0,0,0);'>&para;</a></h1>
 <p>Start by installing the following Ubuntu packages:</p>
 <ul>
 <li>apache2</li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/f1948e07/content/docs/installing.html
----------------------------------------------------------------------
diff --git a/content/docs/installing.html b/content/docs/installing.html
index bfb390a..a851969 100644
--- a/content/docs/installing.html
+++ b/content/docs/installing.html
@@ -33,7 +33,7 @@
         </ul>
     </div>
 </div>
-<h1 id='installingponymail'>Installing Pony Mail</h1>
+<h1 id='installingponymail'>Installing Pony Mail<a href='#installingponymail' style='color: rgba(0,0,0,0);'>&para;</a></h1>
 <p>If your distro is on this list, please refer to that specific document
 for detailed package installation instructions:</p>
 <ul>
@@ -43,7 +43,7 @@ for detailed package installation instructions:</p>
 <li><a href="install.fedora.html">Fedora (22) Installation Instructions</a></li>
 </ul>
 <p>Otherwise, read the next two chapters:</p>
-<h2 id='prerequisites'>Pre-requisites</h2>
+<h2 id='prerequisites'>Pre-requisites<a href='#prerequisites' style='color: rgba(0,0,0,0);'>&para;</a></h2>
 <p>You will need the following software installed on your machine:</p>
 <ul>
 <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>
 </ul>
-<h2 id='downloadandinstall'>Download and Install</h2>
+<h2 id='downloadandinstall'>Download and Install<a href='#downloadandinstall' style='color: rgba(0,0,0,0);'>&para;</a></h2>
 <ul>
 <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>
 </ul>
-<h3 id='usingauthforelasticsearch'>Using auth for ElasticSearch</h3>
+<h3 id='usingauthforelasticsearch'>Using auth for ElasticSearch<a href='#usingauthforelasticsearch' style='color: rgba(0,0,0,0);'>&para;</a></h3>
 <p>If your ElasticSearch instance requires authentication for the importer/archiver, please
 add the following lines in the <code>elasticsearch</code> block of <code>ponymail.cfg</code> once generated:</p>
 <pre>
@@ -69,20 +69,20 @@ user:           [username for ES]
 password:       [password for ES]
 </pre>
 
-<h3 id='usingapachehttpserver'>Using Apache HTTP Server:</h3>
+<h3 id='usingapachehttpserver'>Using Apache HTTP Server:<a href='#usingapachehttpserver' style='color: rgba(0,0,0,0);'>&para;</a></h3>
 <ul>
 <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>
 </ul>
-<h3 id='usingnginx'>Using nginx:</h3>
+<h3 id='usingnginx'>Using nginx:<a href='#usingnginx' style='color: rgba(0,0,0,0);'>&para;</a></h3>
 <ul>
 <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>
 </ul>
-<h2 id='settingupthearchiver'>Setting up the archiver</h2>
+<h2 id='settingupthearchiver'>Setting up the archiver<a href='#settingupthearchiver' style='color: rgba(0,0,0,0);'>&para;</a></h2>
 <p>First off, you will need both <code>tools/archiver.py</code> and the generated
 <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 id='publicversusprivatelists'>Public versus private lists</h2>
+<h2 id='publicversusprivatelists'>Public versus private lists<a href='#publicversusprivatelists' style='color: rgba(0,0,0,0);'>&para;</a></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 id='importingolddataintoponymail'>Importing old data into Pony Mail</h2>
+<h2 id='importingolddataintoponymail'>Importing old data into Pony Mail<a href='#importingolddataintoponymail' style='color: rgba(0,0,0,0);'>&para;</a></h2>
 <p>See <a href="importing.html">this guide</a> for details on how to import old archives into Pony Mail.</p>
-<h2 id='bulkeditinglists'>Bulk editing lists</h2>
+<h2 id='bulkeditinglists'>Bulk editing lists<a href='#bulkeditinglists' style='color: rgba(0,0,0,0);'>&para;</a></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 id='settingupoauthforponymail'>Setting up OAuth for Pony Mail</h2>
+<h2 id='settingupoauthforponymail'>Setting up OAuth for Pony Mail<a href='#settingupoauthforponymail' style='color: rgba(0,0,0,0);'>&para;</a></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 id='settingupordisablingpersona'>Setting up or disabling Persona</h3>
+<h3 id='settingupordisablingpersona'>Setting up or disabling Persona<a href='#settingupordisablingpersona' style='color: rgba(0,0,0,0);'>&para;</a></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 id='settingupanoauthprovider'>Setting up an OAuth provider</h3>
+<h3 id='settingupanoauthprovider'>Setting up an OAuth provider<a href='#settingupanoauthprovider' style='color: rgba(0,0,0,0);'>&para;</a></h3>
 <p>Pony Mail comes with a few default OAuth examples in <code>site/js/config.js</code>, such
 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 id='usinggithuboauthandotherclientsecretproviders'>Using GitHub OAuth and other client-secret providers</h4>
+<h4 id='usinggithuboauthandotherclientsecretproviders'>Using GitHub OAuth and other client-secret providers<a href='#usinggithuboauthandotherclientsecretproviders' style='color: rgba(0,0,0,0);'>&para;</a></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>
 <pre>
     oauth_fields = {
@@ -172,7 +172,7 @@ this - a place to reply to emails in the archive.</p>
 </pre>
 
 <p>This essentially overrides <code>config.js</code> but without showing the data to anyone outside the server.</p>
-<h3 id='whitelistingrepliesviathewebui'>Whitelisting replies via the Web UI</h3>
+<h3 id='whitelistingrepliesviathewebui'>Whitelisting replies via the Web UI<a href='#whitelistingrepliesviathewebui' style='color: rgba(0,0,0,0);'>&para;</a></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 sub-domain
     accepted_domains = { "foo.org", "*.foo.org" } -- Allow posts both to *.foo.org and foo.org
 </pre>
 
-<h3 id='settingemailfooters'>Setting email footers</h3>
+<h3 id='settingemailfooters'>Setting email footers<a href='#settingemailfooters' style='color: rgba(0,0,0,0);'>&para;</a></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>
     --------
 </pre>
 
-<h3 id='anoteonemailheaders'>A note on email headers</h3>
+<h3 id='anoteonemailheaders'>A note on email headers<a href='#anoteonemailheaders' style='color: rgba(0,0,0,0);'>&para;</a></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>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/f1948e07/content/downloads.html
----------------------------------------------------------------------
diff --git a/content/downloads.html b/content/downloads.html
index a725c61..d49685a 100644
--- a/content/downloads.html
+++ b/content/downloads.html
@@ -33,7 +33,7 @@
         </ul>
     </div>
 </div>
-<h1 id='downloadponymail'>Download Pony Mail</h1>
+<h1 id='downloadponymail'>Download Pony Mail<a href='#downloadponymail' style='color: rgba(0,0,0,0);'>&para;</a></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>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/f1948e07/content/index.html
----------------------------------------------------------------------
diff --git a/content/index.html b/content/index.html
index 9b4676a..31d065c 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 
 private.</p>
-<h3 id='featuresinclude'>Features include:</h3>
+<h3 id='featuresinclude'>Features include:<a href='#featuresinclude' style='color: rgba(0,0,0,0);'>&para;</a></h3>
 <ul>
 <li>Importing from standard mbox files, maildir directory, Pipermail or an mod_mbox-driven site</li>
 <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>
 </ul>
-<h3 id='requirements'>Requirements:</h3>
+<h3 id='requirements'>Requirements:<a href='#requirements' style='color: rgba(0,0,0,0);'>&para;</a></h3>
 <ul>
 <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>
 </ul>
-<h3 id='developmentbenchmarking'>Development Benchmarking</h3>
+<h3 id='developmentbenchmarking'>Development Benchmarking<a href='#developmentbenchmarking' style='color: rgba(0,0,0,0);'>&para;</a></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>
+<h3 id='todo'>TODO:<a href='#todo' style='color: rgba(0,0,0,0);'>&para;</a></h3>
 <p>This is a list of what we would love to get done:</p>
 <ul>
 <li>Start on documentation (WIP)</li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/f1948e07/content/source.html
----------------------------------------------------------------------
diff --git a/content/source.html b/content/source.html
index 5f0899a..69d3511 100644
--- a/content/source.html
+++ b/content/source.html
@@ -33,7 +33,7 @@
         </ul>
     </div>
 </div>
-<h1 id='sourcecode'>Source code</h1>
+<h1 id='sourcecode'>Source code<a href='#sourcecode' style='color: rgba(0,0,0,0);'>&para;</a></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>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/f1948e07/content/support.html
----------------------------------------------------------------------
diff --git a/content/support.html b/content/support.html
index 238212b..057a679 100644
--- a/content/support.html
+++ b/content/support.html
@@ -33,7 +33,7 @@
         </ul>
     </div>
 </div>
-<h1 id='gettingsupport'>Getting Support</h1>
+<h1 id='gettingsupport'>Getting Support<a href='#gettingsupport' style='color: rgba(0,0,0,0);'>&para;</a></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">



From commits-return-84-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Wed Jun 01 06:44:05 2016
Return-Path: <commits-return-84-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 40200200B22
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Wed,  1 Jun 2016 08:44:05 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 3EAE2160A3A; Wed,  1 Jun 2016 06:44:05 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 85BA4160A1B
	for <archive-asf-public@cust-asf.ponee.io>; Wed,  1 Jun 2016 08:44:04 +0200 (CEST)
Received: (qmail 56859 invoked by uid 500); 1 Jun 2016 06:44:03 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 56849 invoked by uid 99); 1 Jun 2016 06:44:03 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 06:44:03 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 3840AC0D08
	for <commits@ponymail.apache.org>; Wed,  1 Jun 2016 06:44:03 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx2-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024)
	with ESMTP id RGKlM316PprU for <commits@ponymail.apache.org>;
	Wed,  1 Jun 2016 06:44:01 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx2-lw-eu.apache.org (ASF Mail Server at mx2-lw-eu.apache.org) with SMTP id 879285FAC3
	for <commits@ponymail.incubator.apache.org>; Wed,  1 Jun 2016 06:44:00 +0000 (UTC)
Received: (qmail 56750 invoked by uid 99); 1 Jun 2016 06:43:59 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 06:43:59 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 9190FEAC8D; Wed,  1 Jun 2016 06:43:59 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <5ac04d6a106545efb59558a44189f8f6@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail git commit: refactor anonymization
Date: Wed,  1 Jun 2016 06:43:59 +0000 (UTC)
archived-at: Wed, 01 Jun 2016 06:44:05 -0000

Repository: incubator-ponymail
Updated Branches:
  refs/heads/master c68e32c80 -> c20eb984e


refactor anonymization


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

Branch: refs/heads/master
Commit: c20eb984eb75b4bd2c67c4e88e0ffddcee35f016
Parents: c68e32c
Author: humbedooh <humbedooh@apache.org>
Authored: Wed Jun 1 08:43:41 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Wed Jun 1 08:43:41 2016 +0200

----------------------------------------------------------------------
 site/api/thread.lua | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/c20eb984/site/api/thread.lua
----------------------------------------------------------------------
diff --git a/site/api/thread.lua b/site/api/thread.lua
index 77883be..9d474bf 100644
--- a/site/api/thread.lua
+++ b/site/api/thread.lua
@@ -27,6 +27,20 @@ local config = require 'lib/config'
 
 local emls_thrd
 
+-- anonymizer func
+function anonymize(doc)
+    if doc.from and #doc.from > 0 then
+        doc.from = doc.from:gsub("(%S+)@(%S+)", function(a,b) return a:sub(1,2) .. "..." .. "@" .. b end)
+    end
+    if doc.cc and #doc.cc > 0 then
+        doc.cc = doc.cc:gsub("(%S+)@(%S+)", function(a,b) return a:sub(1,2) .. "..." .. "@" .. b end)
+    end
+    if doc.to and #doc.to > 0 then
+        doc.to = doc.to:gsub("(%S+)@(%S+)", function(a,b) return a:sub(1,2) .. "..." .. "@" .. b end)
+    end
+    return doc
+end
+
 -- func that fetches all children of an original topic email thingy
 function fetchChildren(r, pdoc, c, biglist, rights, account)
     c = (c or 0) + 1
@@ -58,7 +72,7 @@ function fetchChildren(r, pdoc, c, biglist, rights, account)
             biglist[doc['message-id']] = true
             local mykids = fetchChildren(r, doc, c, biglist, rights, account)
             if not account and config.antispam then
-                doc.from = doc.from:gsub("(%S+)@(%S+)", function(a,b) return a:sub(1,2) .. "..." .. "@" .. b end)
+                doc = anonymize(doc)
             end
             local dc = {
                 tid = doc.mid,
@@ -152,7 +166,7 @@ function handle(r)
         end
         if canAccess and doc and doc.mid then
             if not account and config.antispam then
-                doc.from = doc.from:gsub("(%S+)@(%S+)", function(a,b) return a:sub(1,2) .. "..." .. "@" .. b end)
+                doc = anonymize(doc)
             end
             table.insert(emls_thrd, doc)
             doc.children = fetchChildren(r, doc, 1, nil, rights, account)


From commits-return-85-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Wed Jun 01 06:47:31 2016
Return-Path: <commits-return-85-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id F202C200B22
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Wed,  1 Jun 2016 08:47:31 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id F0CF1160A46; Wed,  1 Jun 2016 06:47:31 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 45B78160A11
	for <archive-asf-public@cust-asf.ponee.io>; Wed,  1 Jun 2016 08:47:31 +0200 (CEST)
Received: (qmail 59507 invoked by uid 500); 1 Jun 2016 06:47:30 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 59497 invoked by uid 99); 1 Jun 2016 06:47:30 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 06:47:30 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id E7E09180542
	for <commits@ponymail.apache.org>; Wed,  1 Jun 2016 06:47:29 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024)
	with ESMTP id G0wu6L4Wjd81 for <commits@ponymail.apache.org>;
	Wed,  1 Jun 2016 06:47:28 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id 2117C5F296
	for <commits@ponymail.incubator.apache.org>; Wed,  1 Jun 2016 06:47:26 +0000 (UTC)
Received: (qmail 59490 invoked by uid 99); 1 Jun 2016 06:47:26 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 06:47:26 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id D61F1E9675; Wed,  1 Jun 2016 06:47:25 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <0ed453b35c114e93a1c29da870d2e991@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail git commit: also anonymize here
Date: Wed,  1 Jun 2016 06:47:25 +0000 (UTC)
archived-at: Wed, 01 Jun 2016 06:47:32 -0000

Repository: incubator-ponymail
Updated Branches:
  refs/heads/master c20eb984e -> 622d5a173


also anonymize here


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

Branch: refs/heads/master
Commit: 622d5a173a7d62b53b2ff939bc45d2100c3695ac
Parents: c20eb98
Author: humbedooh <humbedooh@apache.org>
Authored: Wed Jun 1 08:47:09 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Wed Jun 1 08:47:09 2016 +0200

----------------------------------------------------------------------
 site/api/email.lua | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/622d5a17/site/api/email.lua
----------------------------------------------------------------------
diff --git a/site/api/email.lua b/site/api/email.lua
index c28c6c7..429eae8 100644
--- a/site/api/email.lua
+++ b/site/api/email.lua
@@ -24,6 +24,20 @@ local user = require 'lib/user'
 local cross = require 'lib/cross'
 local config = require 'lib/config'
 
+-- anonymizer func
+function anonymize(doc)
+    if doc.from and #doc.from > 0 then
+        doc.from = doc.from:gsub("(%S+)@(%S+)", function(a,b) return a:sub(1,2) .. "..." .. "@" .. b end)
+    end
+    if doc.cc and #doc.cc > 0 then
+        doc.cc = doc.cc:gsub("(%S+)@(%S+)", function(a,b) return a:sub(1,2) .. "..." .. "@" .. b end)
+    end
+    if doc.to and #doc.to > 0 then
+        doc.to = doc.to:gsub("(%S+)@(%S+)", function(a,b) return a:sub(1,2) .. "..." .. "@" .. b end)
+    end
+    return doc
+end
+
 function handle(r)
     r.content_type = "application/json"
     local get = r:parseargs()
@@ -112,7 +126,7 @@ function handle(r)
                     eml = "unknown"
                 end
                 if not account then -- anonymize email address if not logged in
-                    doc.from = doc.from:gsub("(%S+)@(%S+)", function(a,b) return a:sub(1,2) .. "..." .. "@" .. b end)
+                    doc = anonymize(doc)
                     if doc.from_raw then
                         doc.from_raw = doc.from_raw:gsub("(%S+)@(%S+)", function(a,b) return a:sub(1,2) .. "..." .. "@" .. b end)
                     end


From commits-return-86-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Wed Jun 01 06:59:45 2016
Return-Path: <commits-return-86-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 84044200B22
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Wed,  1 Jun 2016 08:59:45 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 82E45160A46; Wed,  1 Jun 2016 06:59:45 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id C9224160A45
	for <archive-asf-public@cust-asf.ponee.io>; Wed,  1 Jun 2016 08:59:44 +0200 (CEST)
Received: (qmail 83750 invoked by uid 500); 1 Jun 2016 06:59:44 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 83741 invoked by uid 99); 1 Jun 2016 06:59:44 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 06:59:44 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id A29B9CB60B
	for <commits@ponymail.apache.org>; Wed,  1 Jun 2016 06:59:43 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024)
	with ESMTP id adPDGuYgIYqb for <commits@ponymail.apache.org>;
	Wed,  1 Jun 2016 06:59:41 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id E2D9B5F4E3
	for <commits@ponymail.incubator.apache.org>; Wed,  1 Jun 2016 06:59:40 +0000 (UTC)
Received: (qmail 83737 invoked by uid 99); 1 Jun 2016 06:59:40 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 06:59:40 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 182F8E0498; Wed,  1 Jun 2016 06:59:40 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <93b258f269864e90b1225683d999da51@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail git commit: default to not showing to/cc for
 anonymous people
Date: Wed,  1 Jun 2016 06:59:40 +0000 (UTC)
archived-at: Wed, 01 Jun 2016 06:59:45 -0000

Repository: incubator-ponymail
Updated Branches:
  refs/heads/master 622d5a173 -> 3acd303a4


default to not showing to/cc for anonymous people


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

Branch: refs/heads/master
Commit: 3acd303a406f131090f94ea6e2062d9d16e320e4
Parents: 622d5a1
Author: humbedooh <humbedooh@apache.org>
Authored: Wed Jun 1 08:59:25 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Wed Jun 1 08:59:25 2016 +0200

----------------------------------------------------------------------
 site/api/email.lua | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/3acd303a/site/api/email.lua
----------------------------------------------------------------------
diff --git a/site/api/email.lua b/site/api/email.lua
index 429eae8..920219e 100644
--- a/site/api/email.lua
+++ b/site/api/email.lua
@@ -139,7 +139,7 @@ function handle(r)
                 
                 
                 -- Anonymize to/cc if full_headers is false
-                if not config.full_headers then
+                if not config.full_headers or not account then
                     doc.to = nil
                     doc.cc = nil
                 end      


From commits-return-87-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Wed Jun 01 08:27:55 2016
Return-Path: <commits-return-87-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id C0CF6200B22
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Wed,  1 Jun 2016 10:27:55 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id BF57D160A46; Wed,  1 Jun 2016 08:27:55 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 1398D160A41
	for <archive-asf-public@cust-asf.ponee.io>; Wed,  1 Jun 2016 10:27:54 +0200 (CEST)
Received: (qmail 40926 invoked by uid 500); 1 Jun 2016 08:27:49 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 40912 invoked by uid 99); 1 Jun 2016 08:27:49 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 08:27:49 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id DB024180B10
	for <commits@ponymail.apache.org>; Wed,  1 Jun 2016 08:27:48 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024)
	with ESMTP id LOaIngQNMOJA for <commits@ponymail.apache.org>;
	Wed,  1 Jun 2016 08:27:48 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with SMTP id DA4575F39A
	for <commits@ponymail.incubator.apache.org>; Wed,  1 Jun 2016 08:27:47 +0000 (UTC)
Received: (qmail 40436 invoked by uid 99); 1 Jun 2016 08:27:47 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 08:27:47 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 00FE5E0498; Wed,  1 Jun 2016 08:27:47 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <e4ca0e48493d48f785e035f5989a6ee0@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail-site git commit: widen site a bit
Date: Wed,  1 Jun 2016 08:27:47 +0000 (UTC)
archived-at: Wed, 01 Jun 2016 08:27:55 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site f1948e07a -> 96dcc2a43


widen site a bit


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/96dcc2a4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/96dcc2a4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/96dcc2a4

Branch: refs/heads/asf-site
Commit: 96dcc2a43ea7dfe2dfe8caa35fcfc5951d517330
Parents: f1948e0
Author: humbedooh <humbedooh@apache.org>
Authored: Wed Jun 1 10:27:29 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Wed Jun 1 10:27:29 2016 +0200

----------------------------------------------------------------------
 content/css/default.css | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/96dcc2a4/content/css/default.css
----------------------------------------------------------------------
diff --git a/content/css/default.css b/content/css/default.css
index e455d1e..e5e623e 100644
--- a/content/css/default.css
+++ b/content/css/default.css
@@ -1286,7 +1286,7 @@ html {
 
 body {
     background: #eae2dc;
-    max-width: 900px;
+    max-width: 1000px;
     margin: 0px auto;
     padding: 10px;
     border-left: 4px solid #666;


From commits-return-88-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Wed Jun 01 09:52:52 2016
Return-Path: <commits-return-88-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 92964200B22
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Wed,  1 Jun 2016 11:52:52 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 9121E160A46; Wed,  1 Jun 2016 09:52:52 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 64EDE160A41
	for <archive-asf-public@cust-asf.ponee.io>; Wed,  1 Jun 2016 11:52:51 +0200 (CEST)
Received: (qmail 96173 invoked by uid 500); 1 Jun 2016 09:52:50 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 96164 invoked by uid 99); 1 Jun 2016 09:52:50 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 09:52:50 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 3786A1A06D4
	for <commits@ponymail.apache.org>; Wed,  1 Jun 2016 09:52:50 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx2-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024)
	with ESMTP id DTP0ce9dtf0T for <commits@ponymail.apache.org>;
	Wed,  1 Jun 2016 09:52:47 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx2-lw-us.apache.org (ASF Mail Server at mx2-lw-us.apache.org) with SMTP id 4A64E5F247
	for <commits@ponymail.incubator.apache.org>; Wed,  1 Jun 2016 09:52:46 +0000 (UTC)
Received: (qmail 96158 invoked by uid 99); 1 Jun 2016 09:52:45 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 09:52:45 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 82852E0498; Wed,  1 Jun 2016 09:52:45 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <1a21ee51e7b04579942a4fbcb1986ae6@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail-site git commit: color tweak for title
Date: Wed,  1 Jun 2016 09:52:45 +0000 (UTC)
archived-at: Wed, 01 Jun 2016 09:52:52 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site 96dcc2a43 -> 33856f66b


color tweak for title


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/33856f66
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/33856f66
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/33856f66

Branch: refs/heads/asf-site
Commit: 33856f66b6bdb5cb4a638fa1afa0f9dcb4b29d94
Parents: 96dcc2a
Author: humbedooh <humbedooh@apache.org>
Authored: Wed Jun 1 11:52:33 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Wed Jun 1 11:52:33 2016 +0200

----------------------------------------------------------------------
 content/about.html               | 2 +-
 content/contribute.html          | 2 +-
 content/docs.html                | 2 +-
 content/docs/api.html            | 2 +-
 content/docs/archiving.html      | 2 +-
 content/docs/building.html       | 2 +-
 content/docs/contributing.html   | 2 +-
 content/docs/importing.html      | 2 +-
 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     | 2 +-
 content/downloads.html           | 2 +-
 content/index.html               | 2 +-
 content/source.html              | 2 +-
 content/support.html             | 2 +-
 source/template.html             | 2 +-
 18 files changed, 18 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/33856f66/content/about.html
----------------------------------------------------------------------
diff --git a/content/about.html b/content/about.html
index 63f49c1..662e01e 100644
--- a/content/about.html
+++ b/content/about.html
@@ -21,7 +21,7 @@
 </head><body>
 <div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/33856f66/content/contribute.html
----------------------------------------------------------------------
diff --git a/content/contribute.html b/content/contribute.html
index 1d46955..2236c67 100644
--- a/content/contribute.html
+++ b/content/contribute.html
@@ -21,7 +21,7 @@
 </head><body>
 <div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/33856f66/content/docs.html
----------------------------------------------------------------------
diff --git a/content/docs.html b/content/docs.html
index 736f23d..ed0b36f 100644
--- a/content/docs.html
+++ b/content/docs.html
@@ -21,7 +21,7 @@
 </head><body>
 <div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/33856f66/content/docs/api.html
----------------------------------------------------------------------
diff --git a/content/docs/api.html b/content/docs/api.html
index 151b6c5..868e36a 100644
--- a/content/docs/api.html
+++ b/content/docs/api.html
@@ -21,7 +21,7 @@
 </head><body>
 <div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/33856f66/content/docs/archiving.html
----------------------------------------------------------------------
diff --git a/content/docs/archiving.html b/content/docs/archiving.html
index 8c8fea3..3bb759b 100644
--- a/content/docs/archiving.html
+++ b/content/docs/archiving.html
@@ -21,7 +21,7 @@
 </head><body>
 <div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/33856f66/content/docs/building.html
----------------------------------------------------------------------
diff --git a/content/docs/building.html b/content/docs/building.html
index 16fbcf6..933bf36 100644
--- a/content/docs/building.html
+++ b/content/docs/building.html
@@ -21,7 +21,7 @@
 </head><body>
 <div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/33856f66/content/docs/contributing.html
----------------------------------------------------------------------
diff --git a/content/docs/contributing.html b/content/docs/contributing.html
index fad5a41..cf17328 100644
--- a/content/docs/contributing.html
+++ b/content/docs/contributing.html
@@ -21,7 +21,7 @@
 </head><body>
 <div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/33856f66/content/docs/importing.html
----------------------------------------------------------------------
diff --git a/content/docs/importing.html b/content/docs/importing.html
index 88eab9c..9132487 100644
--- a/content/docs/importing.html
+++ b/content/docs/importing.html
@@ -21,7 +21,7 @@
 </head><body>
 <div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/33856f66/content/docs/install.centos.html
----------------------------------------------------------------------
diff --git a/content/docs/install.centos.html b/content/docs/install.centos.html
index 507090f..403d741 100644
--- a/content/docs/install.centos.html
+++ b/content/docs/install.centos.html
@@ -21,7 +21,7 @@
 </head><body>
 <div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/33856f66/content/docs/install.debian.html
----------------------------------------------------------------------
diff --git a/content/docs/install.debian.html b/content/docs/install.debian.html
index 08a8036..37029fb 100644
--- a/content/docs/install.debian.html
+++ b/content/docs/install.debian.html
@@ -21,7 +21,7 @@
 </head><body>
 <div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/33856f66/content/docs/install.fedora.html
----------------------------------------------------------------------
diff --git a/content/docs/install.fedora.html b/content/docs/install.fedora.html
index 338b6dc..857d0d1 100644
--- a/content/docs/install.fedora.html
+++ b/content/docs/install.fedora.html
@@ -21,7 +21,7 @@
 </head><body>
 <div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/33856f66/content/docs/install.ubuntu.html
----------------------------------------------------------------------
diff --git a/content/docs/install.ubuntu.html b/content/docs/install.ubuntu.html
index 7a062e4..19924ca 100644
--- a/content/docs/install.ubuntu.html
+++ b/content/docs/install.ubuntu.html
@@ -21,7 +21,7 @@
 </head><body>
 <div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/33856f66/content/docs/installing.html
----------------------------------------------------------------------
diff --git a/content/docs/installing.html b/content/docs/installing.html
index a851969..8132e08 100644
--- a/content/docs/installing.html
+++ b/content/docs/installing.html
@@ -21,7 +21,7 @@
 </head><body>
 <div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/33856f66/content/downloads.html
----------------------------------------------------------------------
diff --git a/content/downloads.html b/content/downloads.html
index d49685a..07cb7fa 100644
--- a/content/downloads.html
+++ b/content/downloads.html
@@ -21,7 +21,7 @@
 </head><body>
 <div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/33856f66/content/index.html
----------------------------------------------------------------------
diff --git a/content/index.html b/content/index.html
index 31d065c..402f214 100644
--- a/content/index.html
+++ b/content/index.html
@@ -21,7 +21,7 @@
 </head><body>
 <div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/33856f66/content/source.html
----------------------------------------------------------------------
diff --git a/content/source.html b/content/source.html
index 69d3511..5dae6e1 100644
--- a/content/source.html
+++ b/content/source.html
@@ -21,7 +21,7 @@
 </head><body>
 <div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/33856f66/content/support.html
----------------------------------------------------------------------
diff --git a/content/support.html b/content/support.html
index 057a679..8579b92 100644
--- a/content/support.html
+++ b/content/support.html
@@ -21,7 +21,7 @@
 </head><body>
 <div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/33856f66/source/template.html
----------------------------------------------------------------------
diff --git a/source/template.html b/source/template.html
index 7fa3b16..7905568 100644
--- a/source/template.html
+++ b/source/template.html
@@ -21,7 +21,7 @@
 </head><body>
 <div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>


From commits-return-95-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Wed Jun 01 12:41:10 2016
Return-Path: <commits-return-95-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 7407C200B24
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Wed,  1 Jun 2016 14:41:10 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 72A31160A46; Wed,  1 Jun 2016 12:41:10 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 5E919160A41
	for <archive-asf-public@cust-asf.ponee.io>; Wed,  1 Jun 2016 14:41:09 +0200 (CEST)
Received: (qmail 69170 invoked by uid 500); 1 Jun 2016 12:41:08 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 69161 invoked by uid 99); 1 Jun 2016 12:41:08 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 12:41:08 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 21E3B1A06F9
	for <commits@ponymail.apache.org>; Wed,  1 Jun 2016 12:41:08 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.626
X-Spam-Level: 
X-Spam-Status: No, score=-4.626 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426, T_FILL_THIS_FORM_FRAUD_PHISH=0.01,
	T_FILL_THIS_FORM_SHORT=0.01] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024)
	with ESMTP id LhRJJlQs4sCJ for <commits@ponymail.apache.org>;
	Wed,  1 Jun 2016 12:41:06 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id EA8105F4E3
	for <commits@ponymail.incubator.apache.org>; Wed,  1 Jun 2016 12:41:04 +0000 (UTC)
Received: (qmail 68855 invoked by uid 99); 1 Jun 2016 12:41:04 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 12:41:04 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id E6BCDE0AD9; Wed,  1 Jun 2016 12:41:03 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Wed, 01 Jun 2016 12:41:03 -0000
Message-Id: <3c28b203ad154646be3e45d56a24315f@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [01/11] incubator-ponymail git commit: add a synch ponymail with imap
 tool
archived-at: Wed, 01 Jun 2016 12:41:10 -0000

Repository: incubator-ponymail
Updated Branches:
  refs/heads/master 3acd303a4 -> 43d70910c


add a synch ponymail with imap tool


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

Branch: refs/heads/master
Commit: cefa48d0baef7a9cd37c53f9dcbc3e52670c329a
Parents: a383086
Author: Sam Ruby <rubys@intertwingly.net>
Authored: Tue May 3 14:21:49 2016 -0400
Committer: Sam Ruby <rubys@intertwingly.net>
Committed: Tue May 3 14:21:49 2016 -0400

----------------------------------------------------------------------
 tools/archiver.py  |  25 +++++--
 tools/sync-imap.py | 176 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 195 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/cefa48d0/tools/archiver.py
----------------------------------------------------------------------
diff --git a/tools/archiver.py b/tools/archiver.py
index ec1fef7..8cdbcbf 100644
--- a/tools/archiver.py
+++ b/tools/archiver.py
@@ -75,6 +75,7 @@ def parse_attachment(part):
         dispositions = cd.strip().split(";")
         if dispositions[0].lower() == "attachment":
             fd = part.get_payload(decode=True)
+            if not fd: return None, None
             attachment = {}
             attachment['content_type'] = part.get_content_type()
             attachment['size'] = len(fd)
@@ -83,7 +84,8 @@ def parse_attachment(part):
             b64 = codecs.encode(fd, "base64").decode('ascii', 'ignore')
             attachment['hash'] = h
             for param in dispositions[1:]:
-                key,val = param.split("=")
+                if not '=' in param: continue
+                key,val = param.split("=", 1)
                 if key.lower().strip() == "filename":
                     val = val.strip(' "')
                     print("Found attachment: %s" % val)
@@ -282,8 +284,9 @@ class Archiver(object):
                             body = body.encode('utf-8')
                     except:
                         body = None
-        if body:
-            attachments, contents = self.msgfiles(msg)
+
+        attachments, contents = self.msgfiles(msg)
+        if body or attachments:
             private = False
             if hasattr(mlist, 'archive_public') and mlist.archive_public == True:
                 private = False
@@ -293,7 +296,8 @@ class Archiver(object):
                 private = True
             pmid = mid
             try:
-                mid = "%s@%s@%s" % (hashlib.sha224(body if type(body) is bytes else body.encode('ascii', 'ignore')).hexdigest(), uid_mdate, lid)
+                mid = "%s@%s" % (hashlib.sha224(msg.as_bytes()).hexdigest(), lid)
+                print(mid)
             except Exception as err:
                 if logger:
                     logger.warn("Could not generate MID: %s" % err)
@@ -475,6 +479,8 @@ if __name__ == '__main__':
                        help='Use the archive timestamp as the email date instead of the Date header')
     parser.add_argument('--quiet', dest='quiet', action='store_true', 
                        help='Do not exit -1 if the email could not be parsed')
+    parser.add_argument('--verbose', dest='verbose', action='store_true', 
+                       help='Output additional log messages')
     parser.add_argument('--html2text', dest='html2text', action='store_true', 
                        help='Try to convert HTML to text if no text/plain message is found')
     args = parser.parse_args()
@@ -482,6 +488,10 @@ if __name__ == '__main__':
     if args.html2text:
         import html2text
         parseHTML = True
+
+    if args.verbose:
+        import logging
+        logging.basicConfig(stream=sys.stdout, level=logging.INFO)
         
     foo = Archiver()
     input_stream = io.TextIOWrapper(sys.stdin.buffer, encoding='utf-8', errors="ignore")
@@ -512,7 +522,7 @@ if __name__ == '__main__':
                     msg.replace_header('List-ID', msg.get(altheader))
                 except:
                     msg.add_header('list-id', msg.get(altheader))
-        
+
         # Set specific LID?
         if args.lid and len(args.lid[0]) > 3:
             try:
@@ -562,6 +572,9 @@ if __name__ == '__main__':
                 lid = foo.archive_message(msg_metadata, msg)
                 print("%s: Done archiving to %s!" % (email.utils.formatdate(), lid))
             except Exception as err:
+                if args.verbose:
+                    import traceback
+                    traceback.print_exc()
                 print("Archiving failed!: %s" % err)
                 raise Exception("Archiving to ES failed")
         else:
@@ -572,4 +585,4 @@ if __name__ == '__main__':
         else:
             print("Could not parse email: %s" % err)
             sys.exit(-1)
-            
\ No newline at end of file
+            

http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/cefa48d0/tools/sync-imap.py
----------------------------------------------------------------------
diff --git a/tools/sync-imap.py b/tools/sync-imap.py
new file mode 100755
index 0000000..43d457d
--- /dev/null
+++ b/tools/sync-imap.py
@@ -0,0 +1,176 @@
+#!/usr/bin/env python3.4
+# -*- coding: utf-8 -*-
+# 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.
+
+""" Syncronize ponymail with an imap server.
+
+Fetches message-ids from both ponymail and an imap server, and adds or
+deletes whatever is necessary from ponymail to make it match.
+
+See usage for instructions.
+
+"""
+
+import argparse
+import configparser
+import elasticsearch
+import imaplib
+import os
+import pwd
+import subprocess
+import sys
+import re
+
+# change working directory to location of this script
+
+os.chdir(os.path.dirname(os.path.abspath(__file__)))
+
+# global defaults
+
+es_list = None
+imap_host = 'localhost'
+imap_port = 993
+imap_user = pwd.getpwuid(os.getuid()).pw_name
+imap_password = None
+imap_folder = 'INBOX'
+html2text = False
+verbose = False
+
+# fetch config overrides
+
+config = configparser.RawConfigParser()
+config.read('ponymail.cfg')
+iname = config.get("elasticsearch", "dbname")
+if config.has_option('imap', 'host'):
+    imap_host = config.get('imap', 'host')
+if config.has_option('imap', 'port'):
+    imap_port = config.getint('imap', 'port')
+if config.has_option('imap', 'user'):
+    imap_user = config.getint('imap', 'user')
+if config.has_option('imap', 'password'):
+    imap_password = config.getint('imap', 'password')
+
+# fetch command line argument overrides
+
+parser = argparse.ArgumentParser(description='Command line options.')
+parser.add_argument('--list', dest='list', type=str, nargs=1,
+                   help='ElasticSearch list')
+parser.add_argument('--host', dest='host', type=str, nargs=1,
+                   help='IMAP host')
+parser.add_argument('--port', dest='port', type=int, nargs=1,
+                   help='IMAP port')
+parser.add_argument('--user', dest='user', type=str, nargs=1,
+                   help='IMAP user')
+parser.add_argument('--password', dest='password', type=str, nargs=1,
+                   help='IMAP password')
+parser.add_argument('--folder', dest='folder', type=str, nargs=1,
+                   help='IMAP folder')
+parser.add_argument('--html2text', dest='html2text', action='store_true',
+                   help='Try to convert HTML to text if no text/plain message is found')
+parser.add_argument('--verbose', dest='verbose', action='store_true', 
+                   help='Output additional log messages')
+
+args = parser.parse_args()
+
+if args.list:
+    es_list = args.list[0]
+if args.host:
+    imap_host = args.host[0]
+if args.port:
+    imap_port = args.port[0]
+if args.user:
+    imap_user = args.user[0]
+if args.password:
+    imap_password = args.password[0]
+if args.folder:
+    imap_folder = args.folder[0]
+if args.html2text:
+    html2text = True
+if args.verbose:
+    verbose = True
+
+if not es_list or not imap_password:
+    parser.print_help()
+    sys.exit(-1)
+
+es_list = "<%s>" % es_list.strip("<>") # We need <> around it!
+
+# fetch message-id => _id pairs from elasticsearch
+
+es = elasticsearch.Elasticsearch()
+result = es.search(scroll = '5m', 
+    body = {
+        'size': 1024, 
+        'fields': ['message-id'], 
+        'query': {'match': {'list': es_list}}
+    }
+)
+
+db = {}
+while len(result['hits']['hits']) > 0:
+    for hit in result['hits']['hits']:
+        db[hit['fields']['message-id'][0]] = hit['_id']
+    result = es.scroll(scroll='5m', scroll_id=result['_scroll_id'])
+
+# fetch message-id => uid pairs from imap
+
+imap = imaplib.IMAP4_SSL(imap_host, imap_port)
+imap.login(imap_user, imap_password)
+imap.select(imap_folder, readonly=True)
+results = imap.uid('search', None, 'ALL')
+uids = b','.join(results[1][0].split())
+results = imap.uid('fetch', uids, '(BODY[HEADER.FIELDS (MESSAGE-ID)])')
+
+mail = {}
+uid_re = re.compile(b'^\d+ \(UID (\d+) BODY\[')
+mid_re = re.compile(b'^Message-ID:\s*(.*?)\s*$', re.I)
+uid = None
+for result in results[1]:
+    for line in result:
+        if isinstance(line, bytes):
+            match = uid_re.match(line)
+            if match:
+                uid = match.group(1)
+            else:
+                 match = mid_re.match(line)
+                 if match:
+                     try:
+                         mail[match.group(1).decode('utf-8')] = uid
+                         uid = None
+                     except ValueError:
+                         pass
+
+# delete items from elasticsearch that are not present in imap
+
+for mid, _id in db.items():
+    if not mid in mail:
+        es.delete(index=iname, id=_id, doc_type='mbox')
+        es.delete(index=iname, id=_id, doc_type='mbox_source')
+        print("deleted: " + mid)
+
+# add new items to elasticsearch from imap
+
+for mid, uid in mail.items():
+    if not mid in db:
+        argv = [sys.executable, 'archiver.py', '--lid=%s' % es_list]
+        if verbose: argv.append('--verbose')
+        if html2text: argv.append('--html2text')
+        child = subprocess.Popen(argv, stdin=subprocess.PIPE)
+        child.stdin.write(imap.uid('fetch', uid, '(RFC822)')[1][0][1])
+        child.stdin.close()
+        rc = child.wait()
+        print("inserted: %s, rc = %d" % (mid, rc))
+


From commits-return-90-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Wed Jun 01 12:41:09 2016
Return-Path: <commits-return-90-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 848E6200B24
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Wed,  1 Jun 2016 14:41:09 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 812D0160A4B; Wed,  1 Jun 2016 12:41:09 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 78826160A46
	for <archive-asf-public@cust-asf.ponee.io>; Wed,  1 Jun 2016 14:41:08 +0200 (CEST)
Received: (qmail 68962 invoked by uid 500); 1 Jun 2016 12:41:07 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 68922 invoked by uid 99); 1 Jun 2016 12:41:07 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 12:41:07 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 4C6CBC0D53
	for <commits@ponymail.apache.org>; Wed,  1 Jun 2016 12:41:07 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024)
	with ESMTP id kcCOmrq4s0pi for <commits@ponymail.apache.org>;
	Wed,  1 Jun 2016 12:41:05 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with SMTP id ED5E95FD0E
	for <commits@ponymail.incubator.apache.org>; Wed,  1 Jun 2016 12:41:04 +0000 (UTC)
Received: (qmail 68868 invoked by uid 99); 1 Jun 2016 12:41:04 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 12:41:04 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id F2841E0B2D; Wed,  1 Jun 2016 12:41:03 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Wed, 01 Jun 2016 12:41:04 -0000
Message-Id: <a1346c9fc529448cab2e5e8cd466db3a@git.apache.org>
In-Reply-To: <3c28b203ad154646be3e45d56a24315f@git.apache.org>
References: <3c28b203ad154646be3e45d56a24315f@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [02/11] incubator-ponymail git commit: start to split out compute
 updates
archived-at: Wed, 01 Jun 2016 12:41:09 -0000

start to split out compute updates


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

Branch: refs/heads/master
Commit: 9571469a7bd7cb0c06eded35c232f54ed89e7d37
Parents: cefa48d
Author: Sam Ruby <rubys@intertwingly.net>
Authored: Wed May 4 07:00:29 2016 -0400
Committer: Sam Ruby <rubys@intertwingly.net>
Committed: Wed May 4 07:00:29 2016 -0400

----------------------------------------------------------------------
 tools/archiver.py | 270 ++++++++++++++++++++++++++-----------------------
 1 file changed, 145 insertions(+), 125 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/9571469a/tools/archiver.py
----------------------------------------------------------------------
diff --git a/tools/archiver.py b/tools/archiver.py
index 8cdbcbf..4ba0c5d 100644
--- a/tools/archiver.py
+++ b/tools/archiver.py
@@ -214,19 +214,15 @@ class Archiver(object):
                 
         return body    
 
-    def archive_message(self, mlist, msg):
-        """Send the message to the archiver.
+    def compute_updates(self, lid, private, msg):
+        """Determine what needs to be sent to the archiver.
 
-        :param mlist: The IMailingList object.
+        :param lid: The list id
         :param msg: The message object.
         """
 
-        lid = None
-        m = re.search(r"(<.+>)", mlist.list_id.replace("@", "."))
-        if m:
-            lid = m.group(1)
-        else:
-            lid = "<%s>" % mlist.list_id.strip("<>").replace("@", ".")
+        ojson = None
+
         if self.cropout:
             crops = self.cropout.split(" ")
             # Regex replace?
@@ -287,17 +283,9 @@ class Archiver(object):
 
         attachments, contents = self.msgfiles(msg)
         if body or attachments:
-            private = False
-            if hasattr(mlist, 'archive_public') and mlist.archive_public == True:
-                private = False
-            elif hasattr(mlist, 'archive_public') and mlist.archive_public == False:
-                private = True
-            elif hasattr(mlist, 'archive_policy') and mlist.archive_policy is not ArchivePolicy.public:
-                private = True
             pmid = mid
             try:
                 mid = "%s@%s" % (hashlib.sha224(msg.as_bytes()).hexdigest(), lid)
-                print(mid)
             except Exception as err:
                 if logger:
                     logger.warn("Could not generate MID: %s" % err)
@@ -329,122 +317,154 @@ class Archiver(object):
                 'body': body.decode('utf-8', 'replace') if type(body) is bytes else body,
                 'attachments': attachments
             }
+
+        self.msg_metadata = msg_metadata
+        self.irt = irt
+
+        return  ojson, contents
             
-            if contents:
-                for key in contents:
-                    self.es.index(
-                        index=self.dbname,
-                        doc_type="attachment",
-                        id=key,
-                        body = {
-                            'source': contents[key]
-                        }
-                    )
+    def archive_message(self, mlist, msg):
+        """Send the message to the archiver.
+
+        :param mlist: The IMailingList object.
+        :param msg: The message object.
+        """
+
+        lid = None
+        m = re.search(r"(<.+>)", mlist.list_id.replace("@", "."))
+        if m:
+            lid = m.group(1)
+        else:
+            lid = "<%s>" % mlist.list_id.strip("<>").replace("@", ".")
+
+        private = False
+        if hasattr(mlist, 'archive_public') and mlist.archive_public == True:
+            private = False
+        elif hasattr(mlist, 'archive_public') and mlist.archive_public == False:
+            private = True
+        elif hasattr(mlist, 'archive_policy') and mlist.archive_policy is not ArchivePolicy.public:
+            private = True
+
+        ojson, contents = self.compute_updates(lid, private, msg)
+
+        msg_metadata = self.msg_metadata
+        irt = self.irt
+
+        if contents:
+            for key in contents:
+                self.es.index(
+                    index=self.dbname,
+                    doc_type="attachment",
+                    id=key,
+                    body = {
+                        'source': contents[key]
+                    }
+                )
+    
+        self.es.index(
+            index=self.dbname,
+            doc_type="mbox",
+            id=ojson['mid'],
+            consistency = self.consistency,
+            body = ojson
+        )
         
+        self.es.index(
+            index=self.dbname,
+            doc_type="mbox_source",
+            id=ojson['mid'],
+            consistency = self.consistency,
+            body = {
+                "message-id": msg_metadata['message-id'],
+                "source": msg.as_string()
+            }
+        )
+        
+        # If MailMan and list info is present, save/update it in ES:
+        if hasattr(mlist, 'description') and hasattr(mlist, 'list_name') and mlist.description and mlist.list_name:
             self.es.index(
                 index=self.dbname,
-                doc_type="mbox",
-                id=mid,
-                consistency = self.consistency,
-                body = ojson
-            )
-            
-            self.es.index(
-                index=self.dbname,
-                doc_type="mbox_source",
-                id=mid,
+                doc_type="mailinglists",
+                id=lid,
                 consistency = self.consistency,
                 body = {
-                    "message-id": msg_metadata['message-id'],
-                    "source": msg.as_string()
+                    'list': lid,
+                    'name': mlist.list_name,
+                    'description': mlist.description,
+                    'private': private
                 }
             )
-            
-            # If MailMan and list info is present, save/update it in ES:
-            if hasattr(mlist, 'description') and hasattr(mlist, 'list_name') and mlist.description and mlist.list_name:
-                self.es.index(
-                    index=self.dbname,
-                    doc_type="mailinglists",
-                    id=lid,
-                    consistency = self.consistency,
-                    body = {
-                        'list': lid,
-                        'name': mlist.list_name,
-                        'description': mlist.description,
-                        'private': private
-                    }
-                )
-            
-            if logger:
-                logger.info("Pony Mail archived message %s successfully" % mid)
-            oldrefs = []
-            
-            # Is this a direct reply to a pony mail email?
-            if irt != "":
-                dm = re.search(r"pony-([a-f0-9]+)-([a-f0-9]+)@", irt)
-                if dm:
-                    cid = dm.group(1)
-                    mid = dm.group(2)
-                    if self.es.exists(index = self.dbname, doc_type = 'account', id = cid):
-                        doc = self.es.get(index = self.dbname, doc_type = 'account', id = cid)
-                        if doc:
-                            oldrefs.append(cid)
-                            self.es.index(
-                                index=self.dbname,
-                                doc_type="notifications",
-                                consistency = self.consistency,
-                                body = {
-                                    'type': 'direct',
-                                    'recipient': cid,
-                                    'list': lid,
-                                    'private': private,
-                                    'date': msg_metadata['date'],
-                                    'from': msg_metadata['from'],
-                                    'to': msg_metadata['to'],
-                                    'subject': msg_metadata['subject'],
-                                    'message-id': msg_metadata['message-id'],
-                                    'in-reply-to': irt,
-                                    'epoch': email.utils.mktime_tz(mdate),
-                                    'mid': mid,
-                                    'seen': 0
-                                }
-                            )
-                            if logger:
-                                logger.info("Notification sent to %s for %s" % (cid, mid))
-
-            # Are there indirect replies to pony emails?
-            if msg_metadata.get('references'):
-                for im in re.finditer(r"pony-([a-f0-9]+)-([a-f0-9]+)@", msg_metadata.get('references')):
-                    cid = im.group(1)
-                    mid = im.group(2)
-                    if self.es.exists(index = self.dbname, doc_type = 'account', id = cid):
-                        doc = self.es.get(index = self.dbname, doc_type = 'account', id = cid)
-                        
-                        # does the user want to be notified of indirect replies?
-                        if doc and 'preferences' in doc['_source'] and doc['_source']['preferences'].get('notifications') == 'indirect' and not cid in oldrefs:
-                            oldrefs.append(cid)
-                            self.es.index(
-                                index=self.dbname,
-                                consistency = self.consistency,
-                                doc_type="notifications",
-                                body = {
-                                    'type': 'indirect',
-                                    'recipient': cid,
-                                    'list': lid,
-                                    'private': private,
-                                    'date': msg_metadata['date'],
-                                    'from': msg_metadata['from'],
-                                    'to': msg_metadata['to'],
-                                    'subject': msg_metadata['subject'],
-                                    'message-id': msg_metadata['message-id'],
-                                    'in-reply-to': mirt,
-                                    'epoch': email.utils.mktime_tz(mdate),
-                                    'mid': mid,
-                                    'seen': 0
-                                }
-                            )
-                            if logger:
-                                logger.info("Notification sent to %s for %s" % (cid, mid))
+        
+        if logger:
+            logger.info("Pony Mail archived message %s successfully" % mid)
+        oldrefs = []
+        
+        # Is this a direct reply to a pony mail email?
+        if irt != "":
+            dm = re.search(r"pony-([a-f0-9]+)-([a-f0-9]+)@", irt)
+            if dm:
+                cid = dm.group(1)
+                mid = dm.group(2)
+                if self.es.exists(index = self.dbname, doc_type = 'account', id = cid):
+                    doc = self.es.get(index = self.dbname, doc_type = 'account', id = cid)
+                    if doc:
+                        oldrefs.append(cid)
+                        self.es.index(
+                            index=self.dbname,
+                            doc_type="notifications",
+                            consistency = self.consistency,
+                            body = {
+                                'type': 'direct',
+                                'recipient': cid,
+                                'list': lid,
+                                'private': private,
+                                'date': msg_metadata['date'],
+                                'from': msg_metadata['from'],
+                                'to': msg_metadata['to'],
+                                'subject': msg_metadata['subject'],
+                                'message-id': msg_metadata['message-id'],
+                                'in-reply-to': irt,
+                                'epoch': email.utils.mktime_tz(mdate),
+                                'mid': mid,
+                                'seen': 0
+                            }
+                        )
+                        if logger:
+                            logger.info("Notification sent to %s for %s" % (cid, mid))
+
+        # Are there indirect replies to pony emails?
+        if msg_metadata.get('references'):
+            for im in re.finditer(r"pony-([a-f0-9]+)-([a-f0-9]+)@", msg_metadata.get('references')):
+                cid = im.group(1)
+                mid = im.group(2)
+                if self.es.exists(index = self.dbname, doc_type = 'account', id = cid):
+                    doc = self.es.get(index = self.dbname, doc_type = 'account', id = cid)
+                    
+                    # does the user want to be notified of indirect replies?
+                    if doc and 'preferences' in doc['_source'] and doc['_source']['preferences'].get('notifications') == 'indirect' and not cid in oldrefs:
+                        oldrefs.append(cid)
+                        self.es.index(
+                            index=self.dbname,
+                            consistency = self.consistency,
+                            doc_type="notifications",
+                            body = {
+                                'type': 'indirect',
+                                'recipient': cid,
+                                'list': lid,
+                                'private': private,
+                                'date': msg_metadata['date'],
+                                'from': msg_metadata['from'],
+                                'to': msg_metadata['to'],
+                                'subject': msg_metadata['subject'],
+                                'message-id': msg_metadata['message-id'],
+                                'in-reply-to': mirt,
+                                'epoch': email.utils.mktime_tz(mdate),
+                                'mid': mid,
+                                'seen': 0
+                            }
+                        )
+                        if logger:
+                            logger.info("Notification sent to %s for %s" % (cid, mid))
         return lid
             
     def list_url(self, mlist):


From commits-return-89-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Wed Jun 01 12:41:09 2016
Return-Path: <commits-return-89-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 238C3200B22
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Wed,  1 Jun 2016 14:41:09 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 22119160A4E; Wed,  1 Jun 2016 12:41:09 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 692DD160A41
	for <archive-asf-public@cust-asf.ponee.io>; Wed,  1 Jun 2016 14:41:08 +0200 (CEST)
Received: (qmail 68921 invoked by uid 500); 1 Jun 2016 12:41:07 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 68909 invoked by uid 99); 1 Jun 2016 12:41:07 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 12:41:07 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 2685FC0D08
	for <commits@ponymail.apache.org>; Wed,  1 Jun 2016 12:41:07 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024)
	with ESMTP id b346zOw5JPm3 for <commits@ponymail.apache.org>;
	Wed,  1 Jun 2016 12:41:05 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with SMTP id D4AB85FC9D
	for <commits@ponymail.incubator.apache.org>; Wed,  1 Jun 2016 12:41:04 +0000 (UTC)
Received: (qmail 68857 invoked by uid 99); 1 Jun 2016 12:41:04 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 12:41:04 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id EF67FE0252; Wed,  1 Jun 2016 12:41:03 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Wed, 01 Jun 2016 12:41:05 -0000
Message-Id: <77d5bc8bf3284d0f837b3ed8e6766b68@git.apache.org>
In-Reply-To: <3c28b203ad154646be3e45d56a24315f@git.apache.org>
References: <3c28b203ad154646be3e45d56a24315f@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [03/11] incubator-ponymail git commit: bulk deletes
archived-at: Wed, 01 Jun 2016 12:41:09 -0000

bulk deletes


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

Branch: refs/heads/master
Commit: 6bcb491206bd0b22218505fc96a80057b6166294
Parents: 9571469
Author: Sam Ruby <rubys@intertwingly.net>
Authored: Wed May 4 07:32:14 2016 -0400
Committer: Sam Ruby <rubys@intertwingly.net>
Committed: Wed May 4 07:32:14 2016 -0400

----------------------------------------------------------------------
 tools/sync-imap.py | 33 +++++++++++++++++++++++++++------
 1 file changed, 27 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/6bcb4912/tools/sync-imap.py
----------------------------------------------------------------------
diff --git a/tools/sync-imap.py b/tools/sync-imap.py
index 43d457d..14d2711 100755
--- a/tools/sync-imap.py
+++ b/tools/sync-imap.py
@@ -27,6 +27,7 @@ See usage for instructions.
 import argparse
 import configparser
 import elasticsearch
+from elasticsearch import helpers as eshelper
 import imaplib
 import os
 import pwd
@@ -155,16 +156,37 @@ for result in results[1]:
 
 # delete items from elasticsearch that are not present in imap
 
+queue1 = []
+queue2 = []
 for mid, _id in db.items():
-    if not mid in mail:
-        es.delete(index=iname, id=_id, doc_type='mbox')
-        es.delete(index=iname, id=_id, doc_type='mbox_source')
-        print("deleted: " + mid)
+    if True: # not mid in mail:
+        queue1.append({
+            '_op_type': 'delete',
+            '_index': iname,
+            '_type': 'mbox',
+            '_id': _id
+        })
+        queue2.append({
+            '_op_type': 'delete',
+            '_index': iname,
+            '_type': 'mbox_source',
+            '_id': _id
+        })
+        print("deleting: " + mid)
+
+while len(queue1) > 0:
+    eshelper.bulk(es, queue1[0:1024])
+    del queue1[0:1024]
+
+while len(queue2) > 0:
+    eshelper.bulk(es, queue2[0:1024])
+    del queue2[0:1024]
 
 # add new items to elasticsearch from imap
 
 for mid, uid in mail.items():
     if not mid in db:
+        print("indexing %s" % mid)
         argv = [sys.executable, 'archiver.py', '--lid=%s' % es_list]
         if verbose: argv.append('--verbose')
         if html2text: argv.append('--html2text')
@@ -172,5 +194,4 @@ for mid, uid in mail.items():
         child.stdin.write(imap.uid('fetch', uid, '(RFC822)')[1][0][1])
         child.stdin.close()
         rc = child.wait()
-        print("inserted: %s, rc = %d" % (mid, rc))
-
+        if rc != 0: print("rc %d" % rc)


From commits-return-93-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Wed Jun 01 12:41:09 2016
Return-Path: <commits-return-93-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 99D43200B37
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Wed,  1 Jun 2016 14:41:09 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 98807160A4E; Wed,  1 Jun 2016 12:41:09 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id DB4B2160A4C
	for <archive-asf-public@cust-asf.ponee.io>; Wed,  1 Jun 2016 14:41:08 +0200 (CEST)
Received: (qmail 69090 invoked by uid 500); 1 Jun 2016 12:41:08 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 69077 invoked by uid 99); 1 Jun 2016 12:41:08 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 12:41:08 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id A9F8B18128A
	for <commits@ponymail.apache.org>; Wed,  1 Jun 2016 12:41:07 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024)
	with ESMTP id inXAe2ZDPYUR for <commits@ponymail.apache.org>;
	Wed,  1 Jun 2016 12:41:05 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with SMTP id ED3175FD00
	for <commits@ponymail.incubator.apache.org>; Wed,  1 Jun 2016 12:41:04 +0000 (UTC)
Received: (qmail 68867 invoked by uid 99); 1 Jun 2016 12:41:04 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 12:41:04 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id F1B11E383A; Wed,  1 Jun 2016 12:41:03 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Wed, 01 Jun 2016 12:41:06 -0000
Message-Id: <3207734addfa4691ba1d05b81183dc78@git.apache.org>
In-Reply-To: <3c28b203ad154646be3e45d56a24315f@git.apache.org>
References: <3c28b203ad154646be3e45d56a24315f@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [04/11] incubator-ponymail git commit: make archiver import-able
 outside of mailman
archived-at: Wed, 01 Jun 2016 12:41:09 -0000

make archiver import-able outside of mailman


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

Branch: refs/heads/master
Commit: 2bf40b5654522dc6b8d64043f86ef40c60a748e2
Parents: 6bcb491
Author: Sam Ruby <rubys@intertwingly.net>
Authored: Wed May 4 07:50:30 2016 -0400
Committer: Sam Ruby <rubys@intertwingly.net>
Committed: Wed May 4 07:50:30 2016 -0400

----------------------------------------------------------------------
 tools/archiver.py | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/2bf40b56/tools/archiver.py
----------------------------------------------------------------------
diff --git a/tools/archiver.py b/tools/archiver.py
index 4ba0c5d..cdd52e1 100644
--- a/tools/archiver.py
+++ b/tools/archiver.py
@@ -35,15 +35,6 @@ sub someone to the list(s) and add this to their .forward file:
 # Change this index name to whatever you picked!!
 indexname = "ponymail_alpha"
 logger = None
-if __name__ != '__main__':
-    from zope.interface import implementer
-    from mailman.interfaces.archiver import IArchiver
-    from mailman.interfaces.archiver import ArchivePolicy
-    import logging
-    logger = logging.getLogger("mailman.archiver")
-else:
-    import sys
-    import argparse
 
 from elasticsearch import Elasticsearch
 import hashlib
@@ -65,6 +56,15 @@ config.read("%s/ponymail.cfg" % path)
 auth = None
 parseHTML = False
 
+if config.has_section('archiver.ponymail'):
+    from zope.interface import implementer
+    from mailman.interfaces.archiver import IArchiver
+    from mailman.interfaces.archiver import ArchivePolicy
+    import logging
+    logger = logging.getLogger("mailman.archiver")
+elif __name__ == '__main__':
+    import sys
+    import argparse
 
 if config.has_option('elasticsearch', 'user'):
     auth = (config.get('elasticsearch','user'), config.get('elasticsearch','password'))
@@ -103,7 +103,7 @@ def pm_charsets(msg):
 
 class Archiver(object):
     """ A mailman 3 archiver that forwards messages to pony mail. """
-    if __name__ != '__main__':
+    if config.has_section('archiver.ponymail'):
         implementer(IArchiver)
     name = "ponymail"
 


From commits-return-94-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Wed Jun 01 12:41:09 2016
Return-Path: <commits-return-94-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id B36A7200B22
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Wed,  1 Jun 2016 14:41:09 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id B2477160A4B; Wed,  1 Jun 2016 12:41:09 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id DF534160A4D
	for <archive-asf-public@cust-asf.ponee.io>; Wed,  1 Jun 2016 14:41:08 +0200 (CEST)
Received: (qmail 69097 invoked by uid 500); 1 Jun 2016 12:41:08 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 69081 invoked by uid 99); 1 Jun 2016 12:41:08 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 12:41:08 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 970B0C2A03
	for <commits@ponymail.apache.org>; Wed,  1 Jun 2016 12:41:07 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024)
	with ESMTP id LnzKbc8NWVDm for <commits@ponymail.apache.org>;
	Wed,  1 Jun 2016 12:41:05 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id EA24B5F2C2
	for <commits@ponymail.incubator.apache.org>; Wed,  1 Jun 2016 12:41:04 +0000 (UTC)
Received: (qmail 68859 invoked by uid 99); 1 Jun 2016 12:41:04 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 12:41:04 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id F0BB8E08E8; Wed,  1 Jun 2016 12:41:03 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Wed, 01 Jun 2016 12:41:07 -0000
Message-Id: <cb19d703c02d4c65a474664294618434@git.apache.org>
In-Reply-To: <3c28b203ad154646be3e45d56a24315f@git.apache.org>
References: <3c28b203ad154646be3e45d56a24315f@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [05/11] incubator-ponymail git commit: switch to a mailman section
archived-at: Wed, 01 Jun 2016 12:41:09 -0000

switch to a mailman section


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

Branch: refs/heads/master
Commit: 6b42d4dd5fa22fd85284205c98828c2348268df6
Parents: 2bf40b5
Author: Sam Ruby <rubys@intertwingly.net>
Authored: Wed May 4 08:38:57 2016 -0400
Committer: Sam Ruby <rubys@intertwingly.net>
Committed: Wed May 4 08:38:57 2016 -0400

----------------------------------------------------------------------
 tools/archiver.py | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/6b42d4dd/tools/archiver.py
----------------------------------------------------------------------
diff --git a/tools/archiver.py b/tools/archiver.py
index cdd52e1..31f790a 100644
--- a/tools/archiver.py
+++ b/tools/archiver.py
@@ -26,6 +26,11 @@ Enable the module by adding the following to your mailman.cfg file::
 class: mailman_ponymail_plugin.Archiver
 enable: yes
 
+and by adding the following to ponymail.cfg:
+
+[mailman]
+plugin: true
+
 OR, to use the STDIN version (non-MM3 mailing list managers),
 sub someone to the list(s) and add this to their .forward file:
 "|/usr/bin/env python3.4 /path/to/archiver.py"
@@ -56,7 +61,7 @@ config.read("%s/ponymail.cfg" % path)
 auth = None
 parseHTML = False
 
-if config.has_section('archiver.ponymail'):
+if config.has_section('mailman') and config.has_option('mailman', 'plugin'):
     from zope.interface import implementer
     from mailman.interfaces.archiver import IArchiver
     from mailman.interfaces.archiver import ArchivePolicy
@@ -103,7 +108,7 @@ def pm_charsets(msg):
 
 class Archiver(object):
     """ A mailman 3 archiver that forwards messages to pony mail. """
-    if config.has_section('archiver.ponymail'):
+    if config.has_section('mailman') and config.has_option('mailman', 'plugin'):
         implementer(IArchiver)
     name = "ponymail"
 


From commits-return-99-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Wed Jun 01 12:41:12 2016
Return-Path: <commits-return-99-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id C006F200B22
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Wed,  1 Jun 2016 14:41:12 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id BEAB3160A46; Wed,  1 Jun 2016 12:41:12 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 93C1D160A41
	for <archive-asf-public@cust-asf.ponee.io>; Wed,  1 Jun 2016 14:41:11 +0200 (CEST)
Received: (qmail 69364 invoked by uid 500); 1 Jun 2016 12:41:10 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 69352 invoked by uid 99); 1 Jun 2016 12:41:10 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 12:41:10 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 3752C1A06F9
	for <commits@ponymail.apache.org>; Wed,  1 Jun 2016 12:41:10 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024)
	with ESMTP id jPNtb60FnoVm for <commits@ponymail.apache.org>;
	Wed,  1 Jun 2016 12:41:07 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with SMTP id 1CEC55FD10
	for <commits@ponymail.incubator.apache.org>; Wed,  1 Jun 2016 12:41:04 +0000 (UTC)
Received: (qmail 68871 invoked by uid 99); 1 Jun 2016 12:41:04 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 12:41:04 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 00581E0498; Wed,  1 Jun 2016 12:41:03 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Wed, 01 Jun 2016 12:41:08 -0000
Message-Id: <3ffa1e0f2bc3403197418fed7b3b9bca@git.apache.org>
In-Reply-To: <3c28b203ad154646be3e45d56a24315f@git.apache.org>
References: <3c28b203ad154646be3e45d56a24315f@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [06/11] incubator-ponymail git commit: eliminate some redundant code
archived-at: Wed, 01 Jun 2016 12:41:12 -0000

eliminate some redundant code


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

Branch: refs/heads/master
Commit: 1ed519e5b152e3c92d07722fbc2329ba13e48697
Parents: 6b42d4d
Author: Sam Ruby <rubys@intertwingly.net>
Authored: Wed May 4 20:58:28 2016 -0400
Committer: Sam Ruby <rubys@intertwingly.net>
Committed: Wed May 4 20:58:28 2016 -0400

----------------------------------------------------------------------
 tools/archiver.py    |  14 ++-
 tools/import-mbox.py | 311 +++++++---------------------------------------
 2 files changed, 51 insertions(+), 274 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/1ed519e5/tools/archiver.py
----------------------------------------------------------------------
diff --git a/tools/archiver.py b/tools/archiver.py
index 31f790a..991b6d6 100644
--- a/tools/archiver.py
+++ b/tools/archiver.py
@@ -129,12 +129,15 @@ class Archiver(object):
         "x-mailman-rule-misses",
     ]
 
-    def __init__(self):
+    def __init__(self, parseHTML=False):
         """ Just initialize ES. """
-        global config, auth, parseHTML
+        global config, auth
         ssl = False
         self.cropout = None
         self.html = parseHTML
+        if parseHTML:
+           import html2text
+           self.html2text = html2text.html2text
         self.dbname = config.get("elasticsearch", "dbname")
         self.consistency = 'quorum'
         if config.has_option("elasticsearch", "ssl") and config.get("elasticsearch", "ssl").lower() == 'true':
@@ -209,7 +212,7 @@ class Archiver(object):
             
         # this requires a GPL lib, user will have to install it themselves
         if firstHTML and (not body or len(body) <= 1):
-            body = html2text.html2text(firstHTML.decode("utf-8", 'ignore') if type(firstHTML) is bytes else firstHTML)
+            body = self.html2text(firstHTML.decode("utf-8", 'ignore') if type(firstHTML) is bytes else firstHTML)
     
         for charset in pm_charsets(msg):
             try:
@@ -287,6 +290,7 @@ class Archiver(object):
                         body = None
 
         attachments, contents = self.msgfiles(msg)
+        irt = ""
         if body or attachments:
             pmid = mid
             try:
@@ -295,7 +299,6 @@ class Archiver(object):
                 if logger:
                     logger.warn("Could not generate MID: %s" % err)
                 mid = pmid
-            irt = ""
             if 'in-reply-to' in msg_metadata:
                 try:
                     try:
@@ -511,14 +514,13 @@ if __name__ == '__main__':
     args = parser.parse_args()
     
     if args.html2text:
-        import html2text
         parseHTML = True
 
     if args.verbose:
         import logging
         logging.basicConfig(stream=sys.stdout, level=logging.INFO)
         
-    foo = Archiver()
+    foo = Archiver(parseHTML = parseHTML)
     input_stream = io.TextIOWrapper(sys.stdin.buffer, encoding='utf-8', errors="ignore")
     
     try:

http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/1ed519e5/tools/import-mbox.py
----------------------------------------------------------------------
diff --git a/tools/import-mbox.py b/tools/import-mbox.py
index 3d24036..399afe6 100644
--- a/tools/import-mbox.py
+++ b/tools/import-mbox.py
@@ -1,4 +1,5 @@
 #!/usr/bin/env python3.4
+ 
 # -*- coding: utf-8 -*-
 # Licensed to the Apache Software Foundation (ASF) under one or more
 # contributor license agreements.  See the NOTICE file distributed with
@@ -35,6 +36,7 @@ import codecs
 import multiprocessing
 import tempfile
 import gzip
+import archiver
 
 try:
     from elasticsearch import Elasticsearch, helpers
@@ -49,7 +51,6 @@ block = Lock()
 lists = []
 start = time.time()
 quickmode = False
-lid_override = None
 private = False
 appender = "apache.org"
 
@@ -105,100 +106,6 @@ es = Elasticsearch([
 
 rootURL = ""
 
-def parse_attachment(part):
-    cd = part.get("Content-Disposition", None)
-    if cd:
-        dispositions = cd.strip().split(";")
-        if dispositions[0].lower() == "attachment":
-            try:
-                fd = part.get_payload(decode=True)
-                if fd:
-                    attachment = {}
-                    attachment['content_type'] = part.get_content_type()
-                    attachment['size'] = len(fd)
-                    attachment['filename'] = None
-                    h = hashlib.sha256(fd).hexdigest()
-                    b64 = codecs.encode(fd, "base64").decode('ascii')
-                    attachment['hash'] = h
-                    for param in dispositions[1:]:
-                        key,val = param.split("=", 1)
-                        if key.lower().strip() == "filename":
-                            val = val.strip(' "')
-                            print("Found attachment: %s" % val)
-                            attachment['filename'] = val
-                    if attachment['filename']:
-                        return attachment, b64 # Return meta data and contents separately
-            except:
-                pass
-    return None, None
-
-def msgfiles(msg):
-        attachments = []
-        contents = {}
-        if msg.is_multipart():    
-            for part in msg.walk():
-                part_meta, part_file = parse_attachment(part)
-                if part_meta:
-                    attachments.append(part_meta)
-                    contents[part_meta['hash']] = part_file
-        return attachments, contents
-    
-def pm_charsets(msg):
-    charsets = set({})
-    for c in msg.get_charsets():
-        if c is not None:
-            charsets.update([c])
-    return charsets
-
-def msgbody(msg):
-    global parseHTML, iBody
-    firstHTML = None
-    body = None
-    if msg.is_multipart():
-        for part in msg.walk():
-            try:
-                if part.is_multipart(): 
-                    for subpart in part.walk():
-                        if subpart.get_content_type() == 'text/plain' and not body:
-                                body = subpart.get_payload(decode=True)
-                        elif subpart.get_content_type() == 'text/html' and parseHTML and not firstHTML:
-                             firstHTML = subpart.get_payload(decode=True)
-        
-                elif part.get_content_type() == 'text/plain' and not body:
-                    body = part.get_payload(decode=True)
-                elif part.get_content_type() == 'text/html' and parseHTML and not firstHTML:
-                    firstHTML = part.get_payload(decode=True)
-            except Exception as err:
-                print("Body parser error: %s" % err)
-    elif msg.get_content_type() == 'text/plain':
-        body = msg.get_payload(decode=True)
-    elif msg.get_content_type() == 'text/html' and parseHTML and not firstHTML:
-        firstHTML = msg.get_payload(decode=True)
-        
-    # this requires a GPL lib, user will have to install it themselves
-    if firstHTML and (not body or len(body) <= 1 or (iBody and str(body).find(str(iBody)) != -1)):
-        print("No body found as text/plain, converting HTML to text")
-        body = html2text.html2text(firstHTML.decode("utf-8", errors='replace') if type(firstHTML) is bytes else firstHTML)
-
-    for charset in pm_charsets(msg):
-        try:
-            body = body.decode(charset) if type(body) is bytes else body
-        except:
-            body = body.decode('utf-8', errors='replace') if type(body) is bytes else body
-            
-    return body  
-
-
-def msgfactory(fp):
-    try:
-        return email.message_from_file(fp)
-    except Exception as err:
-        # Don't return None since that will
-        # stop the mailbox iterator
-        print("hmm: %s" % err)
-        return None
-
-
 class BulkThread(Thread):
     def assign(self, json, xes, dtype = 'mbox', wc = 'quorum'):
         self.json = json
@@ -247,6 +154,8 @@ class SlurpThread(Thread):
         mboxfile = ""
         filename = ""
         xlist_override = None
+
+        foo = archiver.Archiver(parseHTML = parseHTML)
     
         while len(lists) > 0:
             print("%u elements left to slurp" % len(lists))
@@ -334,180 +243,46 @@ class SlurpThread(Thread):
                 if (time.time() - stime > timeout): # break out after N seconds, it shouldn't take this long..!
                     print("Whoa, this is taking way too long, ignoring %s for now" % tmpname)
                     break
-                if 'subject' in message:
-                    subject = message['subject']       # Could possibly be None.
-                    mid = message['message-id']
-
-                    lid = message['list-id']
-                    if args.requirelid and (not lid or lid == ""):
-                        continue
-                    if not lid or lid == "": # Guess list name in absence
-                        lid = '.'.join(reversed(ml.split("-"))) + "." + appender
-                    
-                    # Compact LID to <foo@domain>, discard rest
-                    m = re.search(r"(<.+>)", lid)
-                    if m:
-                        lid = m.group(1)
-                    if xlist_override and len(xlist_override) > 3:
-                        lid = xlist_override
-                    lid = lid.replace("@",".") # we want foo.bar.org, not foo@bar.org
-                    lid = "<%s>" % lid.strip("<>") # We need <> around it!
-                    if cropout:
-                        crops = cropout.split(" ")
-                        # Regex replace?
-                        if len(crops) == 2:
-                            lid = re.sub(crops[0], crops[1], lid)
-                        # Standard crop out?
-                        else:
-                            lid = lid.replace(cropout, "")
-                    
-                    date = message['date']
-                    fro = message['from']
-                    to = message['to']
-                    body = msgbody(message)
-                    try:
-                        if 'content-type' in message and message['content-type'].find("flowed") != -1:
-                            body = convertToWrapped(body, character_set="utf-8")
-                        if isinstance(body, str):
-                            body = body.encode('utf-8')
-                    except Exception as err:
-                        try:
-                            body = body.decode(chardet.detect(body)['encoding'])
-                        except Exception as err:
-                            try:
-                                body = body.decode('latin-1')
-                            except:
-                                try:
-                                    if isinstance(body, str):
-                                        body = body.encode('utf-8')
-                                except:
-                                    body = None
-
-                    okay = True
-                    dheader = {}
-                    for key in ['to','from','subject','message-id']:
-                        try:
-                            hval = ""
-                            if message.get(key):
-                                for t in email.header.decode_header(message[key]):
-                                    if t[1] == None or t[1].find("8bit") != -1:
-                                        hval += t[0].decode('utf-8', errors='replace') if type(t[0]) is bytes else t[0]
-                                    else:
-                                        hval += t[0].decode(t[1],errors='ignore')
-                                dheader[key] = hval
-                            else:
-                                dheader[key] = "(Unknown)"
-                        except Exception as err:
-                            print("Could not decode headers, ignoring..: %s" % err)
-                            okay = False
-                    mdt = ""
-                    if not 'date' in message and 'received' in message:
-                        print("No Date header found, resorting to Received")
-                        m = re.search(r"(\d+ \S+ \d{4} \d\d:\d\d:\d\d ([-+]\d{4})?)", message['received'])
-                        if m:
-                            mdt = m.group(1)
-                    else:
-                        mdt = message['date']
-                    mdate = None
-                    uid_mdate = 0
-                    try:
-                        mdate = email.utils.parsedate_tz(mdt)
-                        uid_mdate = email.utils.mktime_tz(mdate)
-                    except:
-                        pass
-                    if not mdate or mdate[0] < (LEY-1):
-                        print("Date is wrong or missing here, setting to %s" % ( LEY))
-                        mdate = datetime.datetime(LEY, EM, 1).timetuple()
-                    else:
-                        LEY = mdate[0] # Gather evidence 'n'stuff!
-                    mdatestring = ""
-                    try:
-                        mdatestring = time.strftime("%Y/%m/%d %H:%M:%S", time.localtime(email.utils.mktime_tz(mdate)))
-                    except:
-                        okay = False
-                    if body and okay and mdate and {'from','subject'} <= set(dheader):
-                        # Pipermail transforms from: to something weird - reset that!
-                        if piperWeirdness:
-                            m = re.match(r"(.+) at ([^(]+) \((.+)\)$", dheader['from'])
-                            # Try just 'foo at bar.tld' if 'foo at bar.tld (foo bar)' isn't working
-                            if not m:
-                                m = re.match(r"(.+) at ([^(]+)$", dheader['from'])
-                            if m:
-                                dheader['from'] = "%s <%s@%s>" % (m.group(3), m.group(1), m.group(2))
-                                
-                        attachments, contents = msgfiles(message)
-                        if mid == None or not mid:
-                            try:
-                                mid = hashlib.sha256(body if type(body) is bytes else body.encode('ascii', errors='ignore')).hexdigest() + "@" + lid + "@" + appender
-                            except:
-                                if filebased:
-                                    mid = hashlib.sha256("%f-%f-%s" % (random.random(), time.time(), filename) ).hexdigest()+ "@" + appender
-                                else:
-                                    mid = hashlib.sha256("%f-%f-%s-%s" % (random.random(), time.time(), ml, mboxfile) ).hexdigest()+ "@" + appender
-                            print("No MID found, setting to %s" % mid)
-                        mid2 = "%s@%s@%s" % (hashlib.sha224(body if type(body) is bytes else body.encode('ascii', 'ignore')).hexdigest(), uid_mdate, lid)
-                        count += 1
-                        mr = ""
-                        if 'references' in message:
-                            mr = message['references']
-                        irt = ""
-                        if 'in-reply-to' in message:
-                            try:
-                                irt = "".join(message['in-reply-to'])
-                            except:
-                                irt = message.get('in-reply-to').__str__()
-
-                        json = {
-                            'from_raw': dheader['from'],
-                            'from': dheader['from'],
-                            'to': dheader['to'],
-                            'subject': dheader['subject'],
-                            'cc': message.get('cc'),
-                            'message-id': mid,
-                            'mid': mid2,
-                            'epoch': email.utils.mktime_tz(mdate),
-                            'list': lid,
-                            'list_raw': lid,
-                            'date': mdatestring,
-                            'private': private,
-                            'references': mr,
-                            'in-reply-to': irt,
-                            'body': body.decode('utf-8', errors='replace') if type(body) is bytes else body,
-                            'attachments': attachments
-                        }
-                        json_source = {
-                            'mid': mid2,
-                            'message-id': mid,
-                            'source': message.as_bytes().decode('utf-8', errors='replace')
-                        }
-                        ja.append(json)
-                        jas.append(json_source)
-                        if contents:
-                            iname = config.get("elasticsearch", "dbname")
-                            if not args.dry:
-                                for key in contents:
-                                    es.index(
-                                        index=iname,
-                                        doc_type="attachment",
-                                        id=key,
-                                        body = {
-                                            'source': contents[key]
-                                        }
-                                    )
-                        if len(ja) >= 40:
-                            if not args.dry:
-                                bulk = BulkThread()
-                                bulk.assign(ja, es, 'mbox')
-                                bulk.insert()
-                            ja = []
-                            
-                            if not args.dry:
-                                bulks = BulkThread()
-                                bulks.assign(jas, es, 'mbox_source')
-                                bulks.insert()
-                            jas = []
+
+                json, contents = foo.compute_updates(list_override, private, message)
+
+                if json:
+                    json_source = {
+                        'mid': json['mid'],
+                        'message-id': json['message-id'],
+                        'source': message.as_bytes().decode('utf-8', errors='replace')
+                    }
+
+                    count += 1
+                    ja.append(json)
+                    jas.append(json_source)
+                    if contents:
+                        iname = config.get("elasticsearch", "dbname")
+                        if not args.dry:
+                            for key in contents:
+                                es.index(
+                                    index=iname,
+                                    doc_type="attachment",
+                                    id=key,
+                                    body = {
+                                        'source': contents[key]
+                                    }
+                                )
+                    if len(ja) >= 40:
+                        if not args.dry:
+                            bulk = BulkThread()
+                            bulk.assign(ja, es, 'mbox')
+                            bulk.insert()
+                        ja = []
+                        
+                        if not args.dry:
+                            bulks = BulkThread()
+                            bulks.assign(jas, es, 'mbox_source')
+                            bulks.insert()
+                        jas = []
                 else:
                     baddies += 1
+
             if filebased:
                 print("Parsed %u records from %s" % (count, filename))
                 if dFile:
@@ -585,7 +360,7 @@ if args.source:
 if args.dir:
     maildir = args.dir
 if args.listid:
-    list_override = args.listid[0]
+    list_override = '<%s>' % args.listid[0].strip('<>')
 if args.project:
     project = args.project[0]
 if args.domain:


From commits-return-98-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Wed Jun 01 12:41:11 2016
Return-Path: <commits-return-98-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id A5AC0200B22
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Wed,  1 Jun 2016 14:41:11 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id A44EB160A4A; Wed,  1 Jun 2016 12:41:11 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id C7FFE160A46
	for <archive-asf-public@cust-asf.ponee.io>; Wed,  1 Jun 2016 14:41:10 +0200 (CEST)
Received: (qmail 69317 invoked by uid 500); 1 Jun 2016 12:41:10 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 69308 invoked by uid 99); 1 Jun 2016 12:41:09 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 12:41:09 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 91C351A06F9
	for <commits@ponymail.apache.org>; Wed,  1 Jun 2016 12:41:09 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024)
	with ESMTP id 62BLQftfN2Ov for <commits@ponymail.apache.org>;
	Wed,  1 Jun 2016 12:41:07 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with SMTP id B333C5FD32
	for <commits@ponymail.incubator.apache.org>; Wed,  1 Jun 2016 12:41:05 +0000 (UTC)
Received: (qmail 68882 invoked by uid 99); 1 Jun 2016 12:41:04 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 12:41:04 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 067D8E967C; Wed,  1 Jun 2016 12:41:04 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Wed, 01 Jun 2016 12:41:09 -0000
Message-Id: <6552fe5fcff342ca981ec348786b8232@git.apache.org>
In-Reply-To: <3c28b203ad154646be3e45d56a24315f@git.apache.org>
References: <3c28b203ad154646be3e45d56a24315f@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [07/11] incubator-ponymail git commit: remove defunct arguments;
 wire up iBody argument
archived-at: Wed, 01 Jun 2016 12:41:11 -0000

remove defunct arguments; wire up iBody argument


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

Branch: refs/heads/master
Commit: 7135cd4a58a7d75ecdd9ba797479476b995326bd
Parents: 1ed519e
Author: Sam Ruby <rubys@intertwingly.net>
Authored: Thu May 5 07:56:44 2016 -0400
Committer: Sam Ruby <rubys@intertwingly.net>
Committed: Thu May 5 07:56:44 2016 -0400

----------------------------------------------------------------------
 tools/archiver.py    |  4 +++-
 tools/import-mbox.py | 12 +-----------
 2 files changed, 4 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/7135cd4a/tools/archiver.py
----------------------------------------------------------------------
diff --git a/tools/archiver.py b/tools/archiver.py
index 991b6d6..b49472e 100644
--- a/tools/archiver.py
+++ b/tools/archiver.py
@@ -60,6 +60,7 @@ config = configparser.RawConfigParser()
 config.read("%s/ponymail.cfg" % path)
 auth = None
 parseHTML = False
+iBody = None
 
 if config.has_section('mailman') and config.has_option('mailman', 'plugin'):
     from zope.interface import implementer
@@ -187,6 +188,7 @@ class Archiver(object):
     
     
     def msgbody(self, msg):
+        global iBody
         body = None
         firstHTML = None
         if msg.is_multipart():
@@ -211,7 +213,7 @@ class Archiver(object):
             firstHTML = msg.get_payload(decode=True)
             
         # this requires a GPL lib, user will have to install it themselves
-        if firstHTML and (not body or len(body) <= 1):
+        if firstHTML and (not body or len(body) <= 1 or (iBody and str(body).find(str(iBody)) != -1)):
             body = self.html2text(firstHTML.decode("utf-8", 'ignore') if type(firstHTML) is bytes else firstHTML)
     
         for charset in pm_charsets(msg):

http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/7135cd4a/tools/import-mbox.py
----------------------------------------------------------------------
diff --git a/tools/import-mbox.py b/tools/import-mbox.py
index 399afe6..2220f72 100644
--- a/tools/import-mbox.py
+++ b/tools/import-mbox.py
@@ -59,12 +59,10 @@ source = "./"
 maildir = False
 list_override = None
 project = ""
-recursive = False
 filebased = False
 fileToLID = {}
 interactive = False
 extension = "*.mbox"
-attachments = False
 piperWeirdness = False
 parseHTML = False
 iBody = None
@@ -312,8 +310,6 @@ parser.add_argument('--source', dest='source', type=str, nargs=1,
                    help='Source to scan (either http(s):// or file path)')
 parser.add_argument('--dir', dest='dir', action='store_true',
                    help='Input is in Maildir format')
-parser.add_argument('--recursive', dest='recursive', action='store_true', 
-                   help='Do a recursive scan (sub dirs etc)')
 parser.add_argument('--interactive', dest='interactive', action='store_true',
                    help='Ask for help when possible')
 parser.add_argument('--quick', dest='quick', action='store_true',
@@ -332,8 +328,6 @@ parser.add_argument('--domain', dest='domain', type=str, nargs=1,
                    help='Optional domain extension for MIDs and List ID reconstruction)')
 parser.add_argument('--private', dest='private', action='store_true',
                    help='This is a privately archived list. Filter through auth proxy.')
-parser.add_argument('--attachments', dest='attachments', action='store_true',
-                   help='Also iport attached files in emails')
 parser.add_argument('--dry', dest='dry', action='store_true',
                    help='Do not save emails to elasticsearch, only test importing')
 parser.add_argument('--html2text', dest='html2text', action='store_true',
@@ -365,23 +359,19 @@ if args.project:
     project = args.project[0]
 if args.domain:
     appender = args.domain[0]
-if args.recursive:
-    recursive = args.recursive
 if args.interactive:
     interactive = args.interactive
 if args.quick:
     quickmode = args.quick
 if args.private:
     private = args.private
-if args.attachments:
-    attachments = args.attachments
 if args.ext:
     extension = args.ext[0]
 if args.html2text:
     import html2text
     parseHTML = True
 if args.ibody:
-    iBody = args.ibody[0]
+    archiver.iBody = args.ibody[0]
 if args.resend:
     resendTo = args.resend[0]
     from smtplib import SMTP


From commits-return-91-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Wed Jun 01 12:41:09 2016
Return-Path: <commits-return-91-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id CE5AB200B24
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Wed,  1 Jun 2016 14:41:09 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id CD12A160A4C; Wed,  1 Jun 2016 12:41:09 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id AB8A2160A4A
	for <archive-asf-public@cust-asf.ponee.io>; Wed,  1 Jun 2016 14:41:08 +0200 (CEST)
Received: (qmail 69003 invoked by uid 500); 1 Jun 2016 12:41:07 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 68994 invoked by uid 99); 1 Jun 2016 12:41:07 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 12:41:07 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 7D540C2A06
	for <commits@ponymail.apache.org>; Wed,  1 Jun 2016 12:41:07 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024)
	with ESMTP id Rl3nsmuL22NP for <commits@ponymail.apache.org>;
	Wed,  1 Jun 2016 12:41:05 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with SMTP id DCE2A5FCF7
	for <commits@ponymail.incubator.apache.org>; Wed,  1 Jun 2016 12:41:04 +0000 (UTC)
Received: (qmail 68869 invoked by uid 99); 1 Jun 2016 12:41:04 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 12:41:04 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 281CFE0AD9; Wed,  1 Jun 2016 12:41:04 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Wed, 01 Jun 2016 12:41:10 -0000
Message-Id: <13d44ca52cdf4d8993ec8f899d4d57c7@git.apache.org>
In-Reply-To: <3c28b203ad154646be3e45d56a24315f@git.apache.org>
References: <3c28b203ad154646be3e45d56a24315f@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [08/11] incubator-ponymail git commit: merge sync-imap into
 import-mbox
archived-at: Wed, 01 Jun 2016 12:41:10 -0000

merge sync-imap into import-mbox


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

Branch: refs/heads/master
Commit: 6127911a367a527423495c98f551d3939359eae9
Parents: 7135cd4
Author: Sam Ruby <rubys@intertwingly.net>
Authored: Fri May 6 12:46:31 2016 -0400
Committer: Sam Ruby <rubys@intertwingly.net>
Committed: Fri May 6 12:46:31 2016 -0400

----------------------------------------------------------------------
 tools/import-mbox.py | 124 +++++++++++++++++++++++++++--
 tools/sync-imap.py   | 197 ----------------------------------------------
 2 files changed, 118 insertions(+), 203 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/6127911a/tools/import-mbox.py
----------------------------------------------------------------------
diff --git a/tools/import-mbox.py b/tools/import-mbox.py
index 2220f72..0b59d1f 100644
--- a/tools/import-mbox.py
+++ b/tools/import-mbox.py
@@ -45,6 +45,10 @@ except:
     print("Sorry, you need to install the elasticsearch and formatflowed modules from pip first.")
     sys.exit(-1)
     
+# change working directory to location of this script
+
+os.chdir(os.path.dirname(os.path.abspath(__file__)))
+
 y = 0
 baddies = 0
 block = Lock()
@@ -57,6 +61,7 @@ appender = "apache.org"
 
 source = "./"
 maildir = False
+imap = False
 list_override = None
 project = ""
 filebased = False
@@ -174,7 +179,18 @@ class SlurpThread(Thread):
             EM = 1
             stime = time.time()
             dFile = False
-            if filebased:
+            if maildir:
+                messages = mailbox.Maildir(tmpname)
+            elif imap:
+                y -= 1 # TODO don't understand the increment above
+                imap4 = mla[2]
+                def mailgen(list):
+                    for uid in list:
+                        msgbytes = imap4.uid('fetch', uid, '(RFC822)')[1][0][1]
+                        yield email.message_from_bytes(msgbytes)
+                messages = mailgen(mla[0])
+                xlist_override = mla[1]
+            elif filebased:
                 
                 tmpname = mla[0]
                 filename = mla[0]
@@ -197,6 +213,8 @@ class SlurpThread(Thread):
                     except Exception as err:
                         print("This wasn't a gzip file: %s" % err )
                 print("Slurping %s" % filename)
+                messages = mailbox.mbox(tmpname)
+
             else:
                 ml = mla[0]
                 mboxfile = mla[1]
@@ -215,15 +233,11 @@ class SlurpThread(Thread):
                 with open(tmpname, "w") as f:
                     f.write(inp)
                     f.close()
+                messages = mailbox.mbox(tmpname)
 
             count = 0
             LEY = EY
 
-            if maildir:
-                messages = mailbox.Maildir(tmpname)
-            else:
-                messages = mailbox.mbox(tmpname)
-
             for message in messages:
                 if resendTo:
                     print("Delivering message %s via MTA" % message['message-id'] if 'message-id' in message else '??')
@@ -285,6 +299,8 @@ class SlurpThread(Thread):
                 print("Parsed %u records from %s" % (count, filename))
                 if dFile:
                     os.unlink(tmpname)
+            elif imap:
+                print("Parsed %u records from imap" % count)
             else:
                 print("Parsed %s/%s: %u records from %s" % (ml, mboxfile, count, tmpname))
                 os.unlink(tmpname)
@@ -460,6 +476,102 @@ elif source[0] == "h":
             if quickmode and qn >= 2:
                 break
                     
+# IMAP(S) based import?
+elif source[0] == "i":
+    imap = True
+    import urllib, getpass, imaplib
+    url = urllib.parse.urlparse(source)
+    
+    port = url.port or (143 if url.scheme == 'imap' else 993)
+    user = url.username or getpass.getuser()
+    password = url.password or getpass.getpass('IMAP Password: ')
+    folder = url.path.strip('/') or 'INBOX'
+    listname = list_override or "<%s/%s.%s>" % (user, folder, url.hostname)
+
+    # fetch message-id => _id pairs from elasticsearch
+
+    es = Elasticsearch()
+    result = es.search(scroll = '5m', 
+        body = {
+            'size': 1024, 
+            'fields': ['message-id'], 
+            'query': {'match': {'list': listname}}
+        }
+    )
+
+    db = {}
+    while len(result['hits']['hits']) > 0:
+        for hit in result['hits']['hits']:
+            db[hit['fields']['message-id'][0]] = hit['_id']
+        result = es.scroll(scroll='5m', scroll_id=result['_scroll_id'])
+
+    # fetch message-id => uid pairs from imap
+
+    if url.scheme == 'imaps':
+        imap4 = imaplib.IMAP4_SSL(url.hostname, port)
+    else:
+        imap4 = imaplib.IMAP4(url.hostname, port)
+    imap4.login(user, password)
+    imap4.select(folder, readonly=True)
+    results = imap4.uid('search', None, 'ALL')
+    uids = b','.join(results[1][0].split())
+    results = imap4.uid('fetch', uids, '(BODY[HEADER.FIELDS (MESSAGE-ID)])')
+
+    mail = {}
+    uid_re = re.compile(b'^\d+ \(UID (\d+) BODY\[')
+    mid_re = re.compile(b'^Message-ID:\s*(.*?)\s*$', re.I)
+    uid = None
+    for result in results[1]:
+        for line in result:
+            if isinstance(line, bytes):
+                match = uid_re.match(line)
+                if match:
+                    uid = match.group(1)
+                else:
+                     match = mid_re.match(line)
+                     if match:
+                         try:
+                             mail[match.group(1).decode('utf-8')] = uid
+                             uid = None
+                         except ValueError:
+                             pass
+
+    # delete items from elasticsearch that are not present in imap
+
+    queue1 = []
+    queue2 = []
+    for mid, _id in db.items():
+        if not mid in mail:
+            queue1.append({
+                '_op_type': 'delete',
+                '_index': dbname,
+                '_type': 'mbox',
+                '_id': _id
+            })
+            queue2.append({
+                '_op_type': 'delete',
+                '_index': dbname,
+                '_type': 'mbox_source',
+                '_id': _id
+            })
+            print("deleting: " + mid)
+
+    while len(queue1) > 0:
+        eshelper.bulk(es, queue1[0:1024])
+        del queue1[0:1024]
+
+    while len(queue2) > 0:
+        eshelper.bulk(es, queue2[0:1024])
+        del queue2[0:1024]
+
+    # add new items to elasticsearch from imap
+
+    uids = []
+    for mid, uid in mail.items():
+        if not mid in db:
+            uids.append(uid)
+    lists.append([uids, listname, imap4])
+
 threads = []
 cc = int( multiprocessing.cpu_count() / 2) + 1
 print("Starting up to %u threads to fetch the %u %s lists" % (cc, len(lists), project))

http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/6127911a/tools/sync-imap.py
----------------------------------------------------------------------
diff --git a/tools/sync-imap.py b/tools/sync-imap.py
deleted file mode 100755
index 14d2711..0000000
--- a/tools/sync-imap.py
+++ /dev/null
@@ -1,197 +0,0 @@
-#!/usr/bin/env python3.4
-# -*- coding: utf-8 -*-
-# 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.
-
-""" Syncronize ponymail with an imap server.
-
-Fetches message-ids from both ponymail and an imap server, and adds or
-deletes whatever is necessary from ponymail to make it match.
-
-See usage for instructions.
-
-"""
-
-import argparse
-import configparser
-import elasticsearch
-from elasticsearch import helpers as eshelper
-import imaplib
-import os
-import pwd
-import subprocess
-import sys
-import re
-
-# change working directory to location of this script
-
-os.chdir(os.path.dirname(os.path.abspath(__file__)))
-
-# global defaults
-
-es_list = None
-imap_host = 'localhost'
-imap_port = 993
-imap_user = pwd.getpwuid(os.getuid()).pw_name
-imap_password = None
-imap_folder = 'INBOX'
-html2text = False
-verbose = False
-
-# fetch config overrides
-
-config = configparser.RawConfigParser()
-config.read('ponymail.cfg')
-iname = config.get("elasticsearch", "dbname")
-if config.has_option('imap', 'host'):
-    imap_host = config.get('imap', 'host')
-if config.has_option('imap', 'port'):
-    imap_port = config.getint('imap', 'port')
-if config.has_option('imap', 'user'):
-    imap_user = config.getint('imap', 'user')
-if config.has_option('imap', 'password'):
-    imap_password = config.getint('imap', 'password')
-
-# fetch command line argument overrides
-
-parser = argparse.ArgumentParser(description='Command line options.')
-parser.add_argument('--list', dest='list', type=str, nargs=1,
-                   help='ElasticSearch list')
-parser.add_argument('--host', dest='host', type=str, nargs=1,
-                   help='IMAP host')
-parser.add_argument('--port', dest='port', type=int, nargs=1,
-                   help='IMAP port')
-parser.add_argument('--user', dest='user', type=str, nargs=1,
-                   help='IMAP user')
-parser.add_argument('--password', dest='password', type=str, nargs=1,
-                   help='IMAP password')
-parser.add_argument('--folder', dest='folder', type=str, nargs=1,
-                   help='IMAP folder')
-parser.add_argument('--html2text', dest='html2text', action='store_true',
-                   help='Try to convert HTML to text if no text/plain message is found')
-parser.add_argument('--verbose', dest='verbose', action='store_true', 
-                   help='Output additional log messages')
-
-args = parser.parse_args()
-
-if args.list:
-    es_list = args.list[0]
-if args.host:
-    imap_host = args.host[0]
-if args.port:
-    imap_port = args.port[0]
-if args.user:
-    imap_user = args.user[0]
-if args.password:
-    imap_password = args.password[0]
-if args.folder:
-    imap_folder = args.folder[0]
-if args.html2text:
-    html2text = True
-if args.verbose:
-    verbose = True
-
-if not es_list or not imap_password:
-    parser.print_help()
-    sys.exit(-1)
-
-es_list = "<%s>" % es_list.strip("<>") # We need <> around it!
-
-# fetch message-id => _id pairs from elasticsearch
-
-es = elasticsearch.Elasticsearch()
-result = es.search(scroll = '5m', 
-    body = {
-        'size': 1024, 
-        'fields': ['message-id'], 
-        'query': {'match': {'list': es_list}}
-    }
-)
-
-db = {}
-while len(result['hits']['hits']) > 0:
-    for hit in result['hits']['hits']:
-        db[hit['fields']['message-id'][0]] = hit['_id']
-    result = es.scroll(scroll='5m', scroll_id=result['_scroll_id'])
-
-# fetch message-id => uid pairs from imap
-
-imap = imaplib.IMAP4_SSL(imap_host, imap_port)
-imap.login(imap_user, imap_password)
-imap.select(imap_folder, readonly=True)
-results = imap.uid('search', None, 'ALL')
-uids = b','.join(results[1][0].split())
-results = imap.uid('fetch', uids, '(BODY[HEADER.FIELDS (MESSAGE-ID)])')
-
-mail = {}
-uid_re = re.compile(b'^\d+ \(UID (\d+) BODY\[')
-mid_re = re.compile(b'^Message-ID:\s*(.*?)\s*$', re.I)
-uid = None
-for result in results[1]:
-    for line in result:
-        if isinstance(line, bytes):
-            match = uid_re.match(line)
-            if match:
-                uid = match.group(1)
-            else:
-                 match = mid_re.match(line)
-                 if match:
-                     try:
-                         mail[match.group(1).decode('utf-8')] = uid
-                         uid = None
-                     except ValueError:
-                         pass
-
-# delete items from elasticsearch that are not present in imap
-
-queue1 = []
-queue2 = []
-for mid, _id in db.items():
-    if True: # not mid in mail:
-        queue1.append({
-            '_op_type': 'delete',
-            '_index': iname,
-            '_type': 'mbox',
-            '_id': _id
-        })
-        queue2.append({
-            '_op_type': 'delete',
-            '_index': iname,
-            '_type': 'mbox_source',
-            '_id': _id
-        })
-        print("deleting: " + mid)
-
-while len(queue1) > 0:
-    eshelper.bulk(es, queue1[0:1024])
-    del queue1[0:1024]
-
-while len(queue2) > 0:
-    eshelper.bulk(es, queue2[0:1024])
-    del queue2[0:1024]
-
-# add new items to elasticsearch from imap
-
-for mid, uid in mail.items():
-    if not mid in db:
-        print("indexing %s" % mid)
-        argv = [sys.executable, 'archiver.py', '--lid=%s' % es_list]
-        if verbose: argv.append('--verbose')
-        if html2text: argv.append('--html2text')
-        child = subprocess.Popen(argv, stdin=subprocess.PIPE)
-        child.stdin.write(imap.uid('fetch', uid, '(RFC822)')[1][0][1])
-        child.stdin.close()
-        rc = child.wait()
-        if rc != 0: print("rc %d" % rc)


From commits-return-92-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Wed Jun 01 12:41:09 2016
Return-Path: <commits-return-92-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 65B5D200B22
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Wed,  1 Jun 2016 14:41:09 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 64581160A4E; Wed,  1 Jun 2016 12:41:09 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id B8576160A4B
	for <archive-asf-public@cust-asf.ponee.io>; Wed,  1 Jun 2016 14:41:08 +0200 (CEST)
Received: (qmail 69044 invoked by uid 500); 1 Jun 2016 12:41:07 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 69004 invoked by uid 99); 1 Jun 2016 12:41:07 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 12:41:07 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id A620F180586
	for <commits@ponymail.apache.org>; Wed,  1 Jun 2016 12:41:07 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024)
	with ESMTP id oKSwDzELA9Qu for <commits@ponymail.apache.org>;
	Wed,  1 Jun 2016 12:41:06 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with SMTP id 3786E5FD1D
	for <commits@ponymail.incubator.apache.org>; Wed,  1 Jun 2016 12:41:05 +0000 (UTC)
Received: (qmail 68875 invoked by uid 99); 1 Jun 2016 12:41:04 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 12:41:04 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 2B6E9E0252; Wed,  1 Jun 2016 12:41:04 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Wed, 01 Jun 2016 12:41:11 -0000
Message-Id: <a7eac4dfe5354a009af519b7ce23d733@git.apache.org>
In-Reply-To: <3c28b203ad154646be3e45d56a24315f@git.apache.org>
References: <3c28b203ad154646be3e45d56a24315f@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [09/11] incubator-ponymail git commit: Merge branch 'sync-imap' of
 https://github.com/rubys/ponymail into rubys-sync-imap
archived-at: Wed, 01 Jun 2016 12:41:09 -0000

Merge branch 'sync-imap' of https://github.com/rubys/ponymail into rubys-sync-imap


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

Branch: refs/heads/master
Commit: d1d6c7f5823806badf8b413e2be2e62d147b6461
Parents: 3acd303 6127911
Author: humbedooh <humbedooh@apache.org>
Authored: Wed Jun 1 14:25:15 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Wed Jun 1 14:25:15 2016 +0200

----------------------------------------------------------------------
 tools/archiver.py    | 336 +++++++++++++++++++---------------
 tools/import-mbox.py | 447 +++++++++++++++++-----------------------------
 2 files changed, 351 insertions(+), 432 deletions(-)
----------------------------------------------------------------------



From commits-return-97-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Wed Jun 01 12:41:11 2016
Return-Path: <commits-return-97-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 5A3EE200B22
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Wed,  1 Jun 2016 14:41:11 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 58C8A160A4A; Wed,  1 Jun 2016 12:41:11 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id A0659160A41
	for <archive-asf-public@cust-asf.ponee.io>; Wed,  1 Jun 2016 14:41:10 +0200 (CEST)
Received: (qmail 69276 invoked by uid 500); 1 Jun 2016 12:41:09 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 69267 invoked by uid 99); 1 Jun 2016 12:41:09 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 12:41:09 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 7E81AC07A0
	for <commits@ponymail.apache.org>; Wed,  1 Jun 2016 12:41:09 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024)
	with ESMTP id UsJcuKpCd6mj for <commits@ponymail.apache.org>;
	Wed,  1 Jun 2016 12:41:07 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with SMTP id 8D0CE5FD28
	for <commits@ponymail.incubator.apache.org>; Wed,  1 Jun 2016 12:41:05 +0000 (UTC)
Received: (qmail 68877 invoked by uid 99); 1 Jun 2016 12:41:04 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 12:41:04 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 2E9F6E967D; Wed,  1 Jun 2016 12:41:04 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Wed, 01 Jun 2016 12:41:12 -0000
Message-Id: <92cfc03721e0487a846b36e3a6db8da0@git.apache.org>
In-Reply-To: <3c28b203ad154646be3e45d56a24315f@git.apache.org>
References: <3c28b203ad154646be3e45d56a24315f@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [10/11] incubator-ponymail git commit: Merge branch 'rubys-sync-imap'
archived-at: Wed, 01 Jun 2016 12:41:11 -0000

Merge branch 'rubys-sync-imap'


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

Branch: refs/heads/master
Commit: f50742322a3ba6198338dfbdc4dce94d0e6abc2c
Parents: 3acd303 d1d6c7f
Author: humbedooh <humbedooh@apache.org>
Authored: Wed Jun 1 14:25:33 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Wed Jun 1 14:25:33 2016 +0200

----------------------------------------------------------------------
 tools/archiver.py    | 336 +++++++++++++++++++---------------
 tools/import-mbox.py | 447 +++++++++++++++++-----------------------------
 2 files changed, 351 insertions(+), 432 deletions(-)
----------------------------------------------------------------------



From commits-return-96-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Wed Jun 01 12:41:10 2016
Return-Path: <commits-return-96-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 497B6200B22
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Wed,  1 Jun 2016 14:41:10 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 47F09160A4A; Wed,  1 Jun 2016 12:41:10 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 96ECB160A46
	for <archive-asf-public@cust-asf.ponee.io>; Wed,  1 Jun 2016 14:41:09 +0200 (CEST)
Received: (qmail 69215 invoked by uid 500); 1 Jun 2016 12:41:08 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 69206 invoked by uid 99); 1 Jun 2016 12:41:08 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 12:41:08 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 57631C0D08
	for <commits@ponymail.apache.org>; Wed,  1 Jun 2016 12:41:08 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024)
	with ESMTP id cyZMpIvDhPDh for <commits@ponymail.apache.org>;
	Wed,  1 Jun 2016 12:41:07 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with SMTP id 92B325FD31
	for <commits@ponymail.incubator.apache.org>; Wed,  1 Jun 2016 12:41:05 +0000 (UTC)
Received: (qmail 68878 invoked by uid 99); 1 Jun 2016 12:41:04 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 12:41:04 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 3214EE967E; Wed,  1 Jun 2016 12:41:04 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Wed, 01 Jun 2016 12:41:13 -0000
Message-Id: <e5e1d91dd42244d08bcec733b45ce538@git.apache.org>
In-Reply-To: <3c28b203ad154646be3e45d56a24315f@git.apache.org>
References: <3c28b203ad154646be3e45d56a24315f@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [11/11] incubator-ponymail git commit: make new MID generation
 optional, enable by default
archived-at: Wed, 01 Jun 2016 12:41:10 -0000

make new MID generation optional, enable by default


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

Branch: refs/heads/master
Commit: 43d70910c09bcfb0aca94bf0e71050e60d039bb9
Parents: f507423
Author: humbedooh <humbedooh@apache.org>
Authored: Wed Jun 1 14:39:38 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Wed Jun 1 14:39:38 2016 +0200

----------------------------------------------------------------------
 tools/archiver.py | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/43d70910/tools/archiver.py
----------------------------------------------------------------------
diff --git a/tools/archiver.py b/tools/archiver.py
index b49472e..010e88e 100644
--- a/tools/archiver.py
+++ b/tools/archiver.py
@@ -296,7 +296,12 @@ class Archiver(object):
         if body or attachments:
             pmid = mid
             try:
-                mid = "%s@%s" % (hashlib.sha224(msg.as_bytes()).hexdigest(), lid)
+                # Use full message as bytes for mid?
+                if config.has_section('archiver') and config.has_option("archiver", "generator") and config.get("archiver", "generator") == "full":
+                    mid = "%s@%s" % (hashlib.sha224(msg.as_bytes()).hexdigest(), lid)
+                else:
+                    # Or revert to the old way?
+                    mid = "%s@%s@%s" % (hashlib.sha224(body if type(body) is bytes else body.encode('ascii', 'ignore')).hexdigest(), uid_mdate, lid)
             except Exception as err:
                 if logger:
                     logger.warn("Could not generate MID: %s" % err)
@@ -475,7 +480,7 @@ class Archiver(object):
                         )
                         if logger:
                             logger.info("Notification sent to %s for %s" % (cid, mid))
-        return lid
+        return lid, ojson['mid']
             
     def list_url(self, mlist):
         """ Gots
@@ -598,8 +603,8 @@ if __name__ == '__main__':
             msg_metadata = namedtuple('importmsg', ['list_id', 'archive_public'])(list_id = msg.get('list-id'), archive_public=ispublic)
             
             try:
-                lid = foo.archive_message(msg_metadata, msg)
-                print("%s: Done archiving to %s!" % (email.utils.formatdate(), lid))
+                lid, mid = foo.archive_message(msg_metadata, msg)
+                print("%s: Done archiving to %s as %s!" % (email.utils.formatdate(), lid, mid))
             except Exception as err:
                 if args.verbose:
                     import traceback


From commits-return-100-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Wed Jun 01 12:58:37 2016
Return-Path: <commits-return-100-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 76BF22009E0
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Wed,  1 Jun 2016 14:58:37 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 75397160A4C; Wed,  1 Jun 2016 12:58:37 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id BB965160A3B
	for <archive-asf-public@cust-asf.ponee.io>; Wed,  1 Jun 2016 14:58:36 +0200 (CEST)
Received: (qmail 14507 invoked by uid 500); 1 Jun 2016 12:58:36 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 14498 invoked by uid 99); 1 Jun 2016 12:58:35 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 12:58:35 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 9A03BC2A32
	for <commits@ponymail.apache.org>; Wed,  1 Jun 2016 12:58:35 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024)
	with ESMTP id XZXiT32MmDqL for <commits@ponymail.apache.org>;
	Wed,  1 Jun 2016 12:58:34 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with SMTP id 8C20D5F39A
	for <commits@ponymail.incubator.apache.org>; Wed,  1 Jun 2016 12:58:33 +0000 (UTC)
Received: (qmail 14488 invoked by uid 99); 1 Jun 2016 12:58:33 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 12:58:33 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id BDCBDE0498; Wed,  1 Jun 2016 12:58:32 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <7bb823a6fbf645e0943759e29ca2c67e@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail git commit: add a medium mid generator for
 clustered setups
Date: Wed,  1 Jun 2016 12:58:32 +0000 (UTC)
archived-at: Wed, 01 Jun 2016 12:58:37 -0000

Repository: incubator-ponymail
Updated Branches:
  refs/heads/master 43d70910c -> aa9896101


add a medium mid generator for clustered setups


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

Branch: refs/heads/master
Commit: aa98961019c7c660c8c610449f5640afa1228cfb
Parents: 43d7091
Author: humbedooh <humbedooh@apache.org>
Authored: Wed Jun 1 14:58:18 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Wed Jun 1 14:58:18 2016 +0200

----------------------------------------------------------------------
 tools/archiver.py | 5 +++++
 1 file changed, 5 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/aa989610/tools/archiver.py
----------------------------------------------------------------------
diff --git a/tools/archiver.py b/tools/archiver.py
index 010e88e..f350f5f 100644
--- a/tools/archiver.py
+++ b/tools/archiver.py
@@ -299,6 +299,11 @@ class Archiver(object):
                 # Use full message as bytes for mid?
                 if config.has_section('archiver') and config.has_option("archiver", "generator") and config.get("archiver", "generator") == "full":
                     mid = "%s@%s" % (hashlib.sha224(msg.as_bytes()).hexdigest(), lid)
+                elif config.has_section('archiver') and config.has_option("archiver", "generator") and config.get("archiver", "generator") == "medium":
+                    xbody = body if type(body) is bytes else body.encode('ascii', 'ignore')
+                    xbody += bytes(lid)
+                    xbody += bytes(uid_mdate)
+                    mid = "%s@%s" % (hashlib.sha224(xbody).hexdigest(), lid)
                 else:
                     # Or revert to the old way?
                     mid = "%s@%s@%s" % (hashlib.sha224(body if type(body) is bytes else body.encode('ascii', 'ignore')).hexdigest(), uid_mdate, lid)


From commits-return-101-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Wed Jun 01 13:08:16 2016
Return-Path: <commits-return-101-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 9F0E3200AC0
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Wed,  1 Jun 2016 15:08:16 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 9D7D9160A4C; Wed,  1 Jun 2016 13:08:16 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 9A7A3160A11
	for <archive-asf-public@cust-asf.ponee.io>; Wed,  1 Jun 2016 15:08:15 +0200 (CEST)
Received: (qmail 41021 invoked by uid 500); 1 Jun 2016 13:08:14 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 41012 invoked by uid 99); 1 Jun 2016 13:08:14 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 13:08:14 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 72939C2A49
	for <commits@ponymail.apache.org>; Wed,  1 Jun 2016 13:08:14 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: 0.385
X-Spam-Level: 
X-Spam-Status: No, score=0.385 tagged_above=-999 required=6.31
	tests=[FROM_MISSPACED=0.001, KAM_ASCII_DIVIDERS=0.8,
	KAM_LAZY_DOMAIN_SECURITY=1, RP_MATCHES_RCVD=-1.426,
	T_FROM_MISSP_DKIM=0.01] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024)
	with ESMTP id sNA4TCYlZM41 for <commits@ponymail.apache.org>;
	Wed,  1 Jun 2016 13:08:12 +0000 (UTC)
Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id AA17D5FB17
	for <commits@ponymail.apache.org>; Wed,  1 Jun 2016 13:08:11 +0000 (UTC)
Received: from localhost (cust-asf.ponee.io [163.172.22.183])
	by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 3D5D5E0095
	for <commits@ponymail.apache.org>; Wed,  1 Jun 2016 13:08:10 +0000 (UTC)
MIME-Version: 1.0
Message-ID: <pony-f85cc4d67b0b00a9017135e4201b9225b5053fac-bb226b0ffe10c100b2a009d71a3fda7245b9865a@commits.ponymail.apache.org>
Subject: Re: [01/11] incubator-ponymail git commit: add a synch ponymail with imap tool
References: <3c28b203ad154646be3e45d56a24315f@git.apache.org> 
From: "Daniel Gruno"<humbedooh@apache.org>
In-Reply-To: <3c28b203ad154646be3e45d56a24315f@git.apache.org>
Content-Type: text/plain; charset="iso-8859-1"
x-ponymail-sender: f85cc4d67b0b00a9017135e4201b9225b5053fac
Date: Wed, 01 Jun 2016 13:08:08 -0000
x-ponymail-agent: PonyMail Composer/0.2
To: <commits@ponymail.apache.org>
X-Mailer: LuaSocket 3.0-rc1
archived-at: Wed, 01 Jun 2016 13:08:16 -0000

Should have squashed this, apologies!

On 2016-06-01 14:41, humbedooh@apache.org wrote: 
> Repository: incubator-ponymail
> Updated Branches:
>   refs/heads/master 3acd303a4 -> 43d70910c
> 
> 
> add a synch ponymail with imap tool
> 
> 
> Project: http://git-wip-us.apache.org/repos/asf/incubator-ponymail/repo
> Commit: http://git-wip-us.apache.org/repos/asf/incubator-ponymail/commit/cefa48d0
> Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail/tree/cefa48d0
> Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail/diff/cefa48d0
> 
> Branch: refs/heads/master
> Commit: cefa48d0baef7a9cd37c53f9dcbc3e52670c329a
> Parents: a383086
> Author: Sam Ruby <rubys@intertwingly.net>
> Authored: Tue May 3 14:21:49 2016 -0400
> Committer: Sam Ruby <rubys@intertwingly.net>
> Committed: Tue May 3 14:21:49 2016 -0400
> 
> ----------------------------------------------------------------------
>  tools/archiver.py  |  25 +++++--
>  tools/sync-imap.py | 176 ++++++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 195 insertions(+), 6 deletions(-)
> ----------------------------------------------------------------------
> 
> 
> http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/cefa48d0/tools/archiver.py
> ----------------------------------------------------------------------
> diff --git a/tools/archiver.py b/tools/archiver.py
> index ec1fef7..8cdbcbf 100644
> --- a/tools/archiver.py
> +++ b/tools/archiver.py
> @@ -75,6 +75,7 @@ def parse_attachment(part):
>          dispositions = cd.strip().split(";")
>          if dispositions[0].lower() == "attachment":
>              fd = part.get_payload(decode=True)
> +            if not fd: return None, None
>              attachment = {}
>              attachment['content_type'] = part.get_content_type()
>              attachment['size'] = len(fd)
> @@ -83,7 +84,8 @@ def parse_attachment(part):
>              b64 = codecs.encode(fd, "base64").decode('ascii', 'ignore')
>              attachment['hash'] = h
>              for param in dispositions[1:]:
> -                key,val = param.split("=")
> +                if not '=' in param: continue
> +                key,val = param.split("=", 1)
>                  if key.lower().strip() == "filename":
>                      val = val.strip(' "')
>                      print("Found attachment: %s" % val)
> @@ -282,8 +284,9 @@ class Archiver(object):
>                              body = body.encode('utf-8')
>                      except:
>                          body = None
> -        if body:
> -            attachments, contents = self.msgfiles(msg)
> +
> +        attachments, contents = self.msgfiles(msg)
> +        if body or attachments:
>              private = False
>              if hasattr(mlist, 'archive_public') and mlist.archive_public == True:
>                  private = False
> @@ -293,7 +296,8 @@ class Archiver(object):
>                  private = True
>              pmid = mid
>              try:
> -                mid = "%s@%s@%s" % (hashlib.sha224(body if type(body) is bytes else body.encode('ascii', 'ignore')).hexdigest(), uid_mdate, lid)
> +                mid = "%s@%s" % (hashlib.sha224(msg.as_bytes()).hexdigest(), lid)
> +                print(mid)
>              except Exception as err:
>                  if logger:
>                      logger.warn("Could not generate MID: %s" % err)
> @@ -475,6 +479,8 @@ if __name__ == '__main__':
>                         help='Use the archive timestamp as the email date instead of the Date header')
>      parser.add_argument('--quiet', dest='quiet', action='store_true', 
>                         help='Do not exit -1 if the email could not be parsed')
> +    parser.add_argument('--verbose', dest='verbose', action='store_true', 
> +                       help='Output additional log messages')
>      parser.add_argument('--html2text', dest='html2text', action='store_true', 
>                         help='Try to convert HTML to text if no text/plain message is found')
>      args = parser.parse_args()
> @@ -482,6 +488,10 @@ if __name__ == '__main__':
>      if args.html2text:
>          import html2text
>          parseHTML = True
> +
> +    if args.verbose:
> +        import logging
> +        logging.basicConfig(stream=sys.stdout, level=logging.INFO)
>          
>      foo = Archiver()
>      input_stream = io.TextIOWrapper(sys.stdin.buffer, encoding='utf-8', errors="ignore")
> @@ -512,7 +522,7 @@ if __name__ == '__main__':
>                      msg.replace_header('List-ID', msg.get(altheader))
>                  except:
>                      msg.add_header('list-id', msg.get(altheader))
> -        
> +
>          # Set specific LID?
>          if args.lid and len(args.lid[0]) > 3:
>              try:
> @@ -562,6 +572,9 @@ if __name__ == '__main__':
>                  lid = foo.archive_message(msg_metadata, msg)
>                  print("%s: Done archiving to %s!" % (email.utils.formatdate(), lid))
>              except Exception as err:
> +                if args.verbose:
> +                    import traceback
> +                    traceback.print_exc()
>                  print("Archiving failed!: %s" % err)
>                  raise Exception("Archiving to ES failed")
>          else:
> @@ -572,4 +585,4 @@ if __name__ == '__main__':
>          else:
>              print("Could not parse email: %s" % err)
>              sys.exit(-1)
> -            
> \ No newline at end of file
> +            
> 
> http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/cefa48d0/tools/sync-imap.py
> ----------------------------------------------------------------------
> diff --git a/tools/sync-imap.py b/tools/sync-imap.py
> new file mode 100755
> index 0000000..43d457d
> --- /dev/null
> +++ b/tools/sync-imap.py
> @@ -0,0 +1,176 @@
> +#!/usr/bin/env python3.4
> +# -*- coding: utf-8 -*-
> +# 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.
> +
> +""" Syncronize ponymail with an imap server.
> +
> +Fetches message-ids from both ponymail and an imap server, and adds or
> +deletes whatever is necessary from ponymail to make it match.
> +
> +See usage for instructions.
> +
> +"""
> +
> +import argparse
> +import configparser
> +import elasticsearch
> +import imaplib
> +import os
> +import pwd
> +import subprocess
> +import sys
> +import re
> +
> +# change working directory to location of this script
> +
> +os.chdir(os.path.dirname(os.path.abspath(__file__)))
> +
> +# global defaults
> +
> +es_list = None
> +imap_host = 'localhost'
> +imap_port = 993
> +imap_user = pwd.getpwuid(os.getuid()).pw_name
> +imap_password = None
> +imap_folder = 'INBOX'
> +html2text = False
> +verbose = False
> +
> +# fetch config overrides
> +
> +config = configparser.RawConfigParser()
> +config.read('ponymail.cfg')
> +iname = config.get("elasticsearch", "dbname")
> +if config.has_option('imap', 'host'):
> +    imap_host = config.get('imap', 'host')
> +if config.has_option('imap', 'port'):
> +    imap_port = config.getint('imap', 'port')
> +if config.has_option('imap', 'user'):
> +    imap_user = config.getint('imap', 'user')
> +if config.has_option('imap', 'password'):
> +    imap_password = config.getint('imap', 'password')
> +
> +# fetch command line argument overrides
> +
> +parser = argparse.ArgumentParser(description='Command line options.')
> +parser.add_argument('--list', dest='list', type=str, nargs=1,
> +                   help='ElasticSearch list')
> +parser.add_argument('--host', dest='host', type=str, nargs=1,
> +                   help='IMAP host')
> +parser.add_argument('--port', dest='port', type=int, nargs=1,
> +                   help='IMAP port')
> +parser.add_argument('--user', dest='user', type=str, nargs=1,
> +                   help='IMAP user')
> +parser.add_argument('--password', dest='password', type=str, nargs=1,
> +                   help='IMAP password')
> +parser.add_argument('--folder', dest='folder', type=str, nargs=1,
> +                   help='IMAP folder')
> +parser.add_argument('--html2text', dest='html2text', action='store_true',
> +                   help='Try to convert HTML to text if no text/plain message is found')
> +parser.add_argument('--verbose', dest='verbose', action='store_true', 
> +                   help='Output additional log messages')
> +
> +args = parser.parse_args()
> +
> +if args.list:
> +    es_list = args.list[0]
> +if args.host:
> +    imap_host = args.host[0]
> +if args.port:
> +    imap_port = args.port[0]
> +if args.user:
> +    imap_user = args.user[0]
> +if args.password:
> +    imap_password = args.password[0]
> +if args.folder:
> +    imap_folder = args.folder[0]
> +if args.html2text:
> +    html2text = True
> +if args.verbose:
> +    verbose = True
> +
> +if not es_list or not imap_password:
> +    parser.print_help()
> +    sys.exit(-1)
> +
> +es_list = "<%s>" % es_list.strip("<>") # We need <> around it!
> +
> +# fetch message-id => _id pairs from elasticsearch
> +
> +es = elasticsearch.Elasticsearch()
> +result = es.search(scroll = '5m', 
> +    body = {
> +        'size': 1024, 
> +        'fields': ['message-id'], 
> +        'query': {'match': {'list': es_list}}
> +    }
> +)
> +
> +db = {}
> +while len(result['hits']['hits']) > 0:
> +    for hit in result['hits']['hits']:
> +        db[hit['fields']['message-id'][0]] = hit['_id']
> +    result = es.scroll(scroll='5m', scroll_id=result['_scroll_id'])
> +
> +# fetch message-id => uid pairs from imap
> +
> +imap = imaplib.IMAP4_SSL(imap_host, imap_port)
> +imap.login(imap_user, imap_password)
> +imap.select(imap_folder, readonly=True)
> +results = imap.uid('search', None, 'ALL')
> +uids = b','.join(results[1][0].split())
> +results = imap.uid('fetch', uids, '(BODY[HEADER.FIELDS (MESSAGE-ID)])')
> +
> +mail = {}
> +uid_re = re.compile(b'^\d+ \(UID (\d+) BODY\[')
> +mid_re = re.compile(b'^Message-ID:\s*(.*?)\s*$', re.I)
> +uid = None
> +for result in results[1]:
> +    for line in result:
> +        if isinstance(line, bytes):
> +            match = uid_re.match(line)
> +            if match:
> +                uid = match.group(1)
> +            else:
> +                 match = mid_re.match(line)
> +                 if match:
> +                     try:
> +                         mail[match.group(1).decode('utf-8')] = uid
> +                         uid = None
> +                     except ValueError:
> +                         pass
> +
> +# delete items from elasticsearch that are not present in imap
> +
> +for mid, _id in db.items():
> +    if not mid in mail:
> +        es.delete(index=iname, id=_id, doc_type='mbox')
> +        es.delete(index=iname, id=_id, doc_type='mbox_source')
> +        print("deleted: " + mid)
> +
> +# add new items to elasticsearch from imap
> +
> +for mid, uid in mail.items():
> +    if not mid in db:
> +        argv = [sys.executable, 'archiver.py', '--lid=%s' % es_list]
> +        if verbose: argv.append('--verbose')
> +        if html2text: argv.append('--html2text')
> +        child = subprocess.Popen(argv, stdin=subprocess.PIPE)
> +        child.stdin.write(imap.uid('fetch', uid, '(RFC822)')[1][0][1])
> +        child.stdin.close()
> +        rc = child.wait()
> +        print("inserted: %s, rc = %d" % (mid, rc))
> +
> 
> 

From commits-return-102-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Wed Jun 01 13:31:26 2016
Return-Path: <commits-return-102-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 5A140200B3A
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Wed,  1 Jun 2016 15:31:26 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 58613160A4C; Wed,  1 Jun 2016 13:31:26 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id A1E7C160A16
	for <archive-asf-public@cust-asf.ponee.io>; Wed,  1 Jun 2016 15:31:25 +0200 (CEST)
Received: (qmail 31169 invoked by uid 500); 1 Jun 2016 13:31:24 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 31160 invoked by uid 99); 1 Jun 2016 13:31:24 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 13:31:24 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 92DF0180E8F
	for <commits@ponymail.apache.org>; Wed,  1 Jun 2016 13:31:24 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024)
	with ESMTP id mNsS3hSJuFfU for <commits@ponymail.apache.org>;
	Wed,  1 Jun 2016 13:31:22 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id 727225F24D
	for <commits@ponymail.incubator.apache.org>; Wed,  1 Jun 2016 13:31:21 +0000 (UTC)
Received: (qmail 31146 invoked by uid 99); 1 Jun 2016 13:31:20 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 13:31:20 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 7006DE0498; Wed,  1 Jun 2016 13:31:20 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <951139456f694d2a831e0de670da47b0@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail-site git commit: add a note about MID generators
Date: Wed,  1 Jun 2016 13:31:20 +0000 (UTC)
archived-at: Wed, 01 Jun 2016 13:31:26 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site 33856f66b -> ff69aabbb


add a note about MID generators


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/ff69aabb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/ff69aabb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/ff69aabb

Branch: refs/heads/asf-site
Commit: ff69aabbb2d2a4a6e3c9d4a8c4eafdd1ad084ed5
Parents: 33856f6
Author: humbedooh <humbedooh@apache.org>
Authored: Wed Jun 1 15:31:07 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Wed Jun 1 15:31:07 2016 +0200

----------------------------------------------------------------------
 content/docs/installing.html       | 7 +++++++
 source/markdown/docs/INSTALLING.md | 8 ++++++++
 2 files changed, 15 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/ff69aabb/content/docs/installing.html
----------------------------------------------------------------------
diff --git a/content/docs/installing.html b/content/docs/installing.html
index 8132e08..2fc22a1 100644
--- a/content/docs/installing.html
+++ b/content/docs/installing.html
@@ -207,6 +207,13 @@ You may use the following variables in the footer:</p>
 <h3 id='anoteonemailheaders'>A note on email headers<a href='#anoteonemailheaders' style='color: rgba(0,0,0,0);'>&para;</a></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>
+<h3 id='lastlyanoteaboutmessageidmidgenerators'>Lastly, a note about Message-ID (MID) generators<a href='#lastlyanoteaboutmessageidmidgenerators' style='color: rgba(0,0,0,0);'>&para;</a></h3>
+<p>The default MID generator is called 'medium' and digests the message
+body, timestamp and list-ID to generate the MID. There is also a 'short'
+that only digests the body, and a 'full' that uses the entire message as
+a bytestring to generate an ID. Medium is recommended for most setups
+(especially clustered setups), while full can be used for single-machine
+setups.</p>
 <h4><a id="disclaimer"></a>Disclaimer</h4>
 <p style="font-size: 8pt; line-height: 12pt;">
     <a href="https://incubator.apache.org"><img src="/images/podling.svg" align="right" width="220px"/></a>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/ff69aabb/source/markdown/docs/INSTALLING.md
----------------------------------------------------------------------
diff --git a/source/markdown/docs/INSTALLING.md b/source/markdown/docs/INSTALLING.md
index e663a7f..8a5ccaf 100644
--- a/source/markdown/docs/INSTALLING.md
+++ b/source/markdown/docs/INSTALLING.md
@@ -209,3 +209,11 @@ An example footer could be:
 ### A note on email headers ###
 By default, headers such as to/cc are not shown in the normal email view.
 To enable these headers, set `full_headers` to `true` in the `site/api/lib/config.lua` file.
+
+### Lastly, a note about Message-ID (MID) generators
+The default MID generator is called 'medium' and digests the message
+body, timestamp and list-ID to generate the MID. There is also a 'short'
+that only digests the body, and a 'full' that uses the entire message as
+a bytestring to generate an ID. Medium is recommended for most setups
+(especially clustered setups), while full can be used for single-machine
+setups.
\ No newline at end of file


From commits-return-103-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Wed Jun 01 13:36:32 2016
Return-Path: <commits-return-103-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 2CB54200B3A
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Wed,  1 Jun 2016 15:36:32 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 2B147160A4C; Wed,  1 Jun 2016 13:36:32 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 72167160A16
	for <archive-asf-public@cust-asf.ponee.io>; Wed,  1 Jun 2016 15:36:31 +0200 (CEST)
Received: (qmail 57637 invoked by uid 500); 1 Jun 2016 13:36:30 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 57628 invoked by uid 99); 1 Jun 2016 13:36:30 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 13:36:30 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 4EA661A02E5
	for <commits@ponymail.apache.org>; Wed,  1 Jun 2016 13:36:30 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024)
	with ESMTP id 0CE5CgOWjlRX for <commits@ponymail.apache.org>;
	Wed,  1 Jun 2016 13:36:28 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id E9FEB5F4E3
	for <commits@ponymail.incubator.apache.org>; Wed,  1 Jun 2016 13:36:27 +0000 (UTC)
Received: (qmail 57605 invoked by uid 99); 1 Jun 2016 13:36:27 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2016 13:36:27 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 2169DE0498; Wed,  1 Jun 2016 13:36:27 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <bee810c90e4f41eaa2ce6fdad0449d39@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail git commit: use strings, not ints here
Date: Wed,  1 Jun 2016 13:36:27 +0000 (UTC)
archived-at: Wed, 01 Jun 2016 13:36:32 -0000

Repository: incubator-ponymail
Updated Branches:
  refs/heads/master aa9896101 -> 4732d25fc


use strings, not ints here


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

Branch: refs/heads/master
Commit: 4732d25fc23595abe21afd83536a20ff48c61f92
Parents: aa98961
Author: humbedooh <humbedooh@apache.org>
Authored: Wed Jun 1 15:36:13 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Wed Jun 1 15:36:13 2016 +0200

----------------------------------------------------------------------
 tools/archiver.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/4732d25f/tools/archiver.py
----------------------------------------------------------------------
diff --git a/tools/archiver.py b/tools/archiver.py
index f350f5f..e6e0d0a 100644
--- a/tools/archiver.py
+++ b/tools/archiver.py
@@ -301,8 +301,8 @@ class Archiver(object):
                     mid = "%s@%s" % (hashlib.sha224(msg.as_bytes()).hexdigest(), lid)
                 elif config.has_section('archiver') and config.has_option("archiver", "generator") and config.get("archiver", "generator") == "medium":
                     xbody = body if type(body) is bytes else body.encode('ascii', 'ignore')
-                    xbody += bytes(lid)
-                    xbody += bytes(uid_mdate)
+                    xbody += bytes(lid, encoding='ascii')
+                    xbody += bytes(mdatestring, encoding='ascii')
                     mid = "%s@%s" % (hashlib.sha224(xbody).hexdigest(), lid)
                 else:
                     # Or revert to the old way?


From commits-return-104-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Thu Jun 02 05:33:25 2016
Return-Path: <commits-return-104-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id C1A51200B40
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Thu,  2 Jun 2016 07:33:25 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id C0A2D160A4D; Thu,  2 Jun 2016 05:33:25 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 8E87E160A4C
	for <archive-asf-public@cust-asf.ponee.io>; Thu,  2 Jun 2016 07:33:24 +0200 (CEST)
Received: (qmail 2523 invoked by uid 500); 2 Jun 2016 05:33:23 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 2514 invoked by uid 99); 2 Jun 2016 05:33:23 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 05:33:23 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 57DD91A0011
	for <commits@ponymail.apache.org>; Thu,  2 Jun 2016 05:33:23 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -3.896
X-Spam-Level: 
X-Spam-Status: No, score=-3.896 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_INFOUSMEBIZ=0.75,
	KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_HI=-5,
	RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024)
	with ESMTP id ngFhgpYIWKEu for <commits@ponymail.apache.org>;
	Thu,  2 Jun 2016 05:33:20 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with SMTP id D163D5F39A
	for <commits@ponymail.incubator.apache.org>; Thu,  2 Jun 2016 05:33:19 +0000 (UTC)
Received: (qmail 2499 invoked by uid 99); 2 Jun 2016 05:33:19 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 05:33:19 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 15E3DE0498; Thu,  2 Jun 2016 05:33:19 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <af0cda1e818645039e2a3ea3cc655925@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail-site git commit: note that the logo is a trademark
 as well
Date: Thu,  2 Jun 2016 05:33:19 +0000 (UTC)
archived-at: Thu, 02 Jun 2016 05:33:25 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site ff69aabbb -> a7b12fb9f


note that the logo is a trademark as well


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/a7b12fb9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/a7b12fb9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/a7b12fb9

Branch: refs/heads/asf-site
Commit: a7b12fb9fc98ad33af817f60dcb541a22c58b1c4
Parents: ff69aab
Author: humbedooh <humbedooh@apache.org>
Authored: Thu Jun 2 07:33:00 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Thu Jun 2 07:33:00 2016 +0200

----------------------------------------------------------------------
 content/about.html               | 2 +-
 content/contribute.html          | 2 +-
 content/docs.html                | 2 +-
 content/docs/api.html            | 2 +-
 content/docs/archiving.html      | 2 +-
 content/docs/building.html       | 2 +-
 content/docs/contributing.html   | 2 +-
 content/docs/importing.html      | 2 +-
 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     | 2 +-
 content/downloads.html           | 2 +-
 content/index.html               | 2 +-
 content/source.html              | 2 +-
 content/support.html             | 2 +-
 source/template.html             | 2 +-
 18 files changed, 18 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/a7b12fb9/content/about.html
----------------------------------------------------------------------
diff --git a/content/about.html b/content/about.html
index 662e01e..2f7d6ef 100644
--- a/content/about.html
+++ b/content/about.html
@@ -102,7 +102,7 @@ into our projects.</p>
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
     Copyright 2016, the Apache Software Foundation.<br/>
-    Apache Pony Mail is a trademark of the Apache Software Foundation.
+    Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.
 </p>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/a7b12fb9/content/contribute.html
----------------------------------------------------------------------
diff --git a/content/contribute.html b/content/contribute.html
index 2236c67..8f2d971 100644
--- a/content/contribute.html
+++ b/content/contribute.html
@@ -126,7 +126,7 @@ a clean way</p>
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
     Copyright 2016, the Apache Software Foundation.<br/>
-    Apache Pony Mail is a trademark of the Apache Software Foundation.
+    Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.
 </p>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/a7b12fb9/content/docs.html
----------------------------------------------------------------------
diff --git a/content/docs.html b/content/docs.html
index ed0b36f..4066c84 100644
--- a/content/docs.html
+++ b/content/docs.html
@@ -68,7 +68,7 @@
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
     Copyright 2016, the Apache Software Foundation.<br/>
-    Apache Pony Mail is a trademark of the Apache Software Foundation.
+    Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.
 </p>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/a7b12fb9/content/docs/api.html
----------------------------------------------------------------------
diff --git a/content/docs/api.html b/content/docs/api.html
index 868e36a..138b036 100644
--- a/content/docs/api.html
+++ b/content/docs/api.html
@@ -162,7 +162,7 @@
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
     Copyright 2016, the Apache Software Foundation.<br/>
-    Apache Pony Mail is a trademark of the Apache Software Foundation.
+    Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.
 </p>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/a7b12fb9/content/docs/archiving.html
----------------------------------------------------------------------
diff --git a/content/docs/archiving.html b/content/docs/archiving.html
index 3bb759b..4d8e3cf 100644
--- a/content/docs/archiving.html
+++ b/content/docs/archiving.html
@@ -122,7 +122,7 @@ setting for this (in <code>ponymail.cfg</code>). </p>
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
     Copyright 2016, the Apache Software Foundation.<br/>
-    Apache Pony Mail is a trademark of the Apache Software Foundation.
+    Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.
 </p>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/a7b12fb9/content/docs/building.html
----------------------------------------------------------------------
diff --git a/content/docs/building.html b/content/docs/building.html
index 933bf36..4a4fc77 100644
--- a/content/docs/building.html
+++ b/content/docs/building.html
@@ -65,7 +65,7 @@ committing the new combined JS, but that's up to you.</p>
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
     Copyright 2016, the Apache Software Foundation.<br/>
-    Apache Pony Mail is a trademark of the Apache Software Foundation.
+    Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.
 </p>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/a7b12fb9/content/docs/contributing.html
----------------------------------------------------------------------
diff --git a/content/docs/contributing.html b/content/docs/contributing.html
index cf17328..716fb54 100644
--- a/content/docs/contributing.html
+++ b/content/docs/contributing.html
@@ -71,7 +71,7 @@ and pull requests are welcome.</p>
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
     Copyright 2016, the Apache Software Foundation.<br/>
-    Apache Pony Mail is a trademark of the Apache Software Foundation.
+    Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.
 </p>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/a7b12fb9/content/docs/importing.html
----------------------------------------------------------------------
diff --git a/content/docs/importing.html b/content/docs/importing.html
index 9132487..780a7f9 100644
--- a/content/docs/importing.html
+++ b/content/docs/importing.html
@@ -90,7 +90,7 @@ They can be found in gzip format at <a href="http://ponymail.info/mboxes/">http:
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
     Copyright 2016, the Apache Software Foundation.<br/>
-    Apache Pony Mail is a trademark of the Apache Software Foundation.
+    Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.
 </p>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/a7b12fb9/content/docs/install.centos.html
----------------------------------------------------------------------
diff --git a/content/docs/install.centos.html b/content/docs/install.centos.html
index 403d741..3f32c55 100644
--- a/content/docs/install.centos.html
+++ b/content/docs/install.centos.html
@@ -168,7 +168,7 @@ much more.</p>
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
     Copyright 2016, the Apache Software Foundation.<br/>
-    Apache Pony Mail is a trademark of the Apache Software Foundation.
+    Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.
 </p>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/a7b12fb9/content/docs/install.debian.html
----------------------------------------------------------------------
diff --git a/content/docs/install.debian.html b/content/docs/install.debian.html
index 37029fb..40a059b 100644
--- a/content/docs/install.debian.html
+++ b/content/docs/install.debian.html
@@ -115,7 +115,7 @@ much more.</p>
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
     Copyright 2016, the Apache Software Foundation.<br/>
-    Apache Pony Mail is a trademark of the Apache Software Foundation.
+    Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.
 </p>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/a7b12fb9/content/docs/install.fedora.html
----------------------------------------------------------------------
diff --git a/content/docs/install.fedora.html b/content/docs/install.fedora.html
index 857d0d1..c2ab251 100644
--- a/content/docs/install.fedora.html
+++ b/content/docs/install.fedora.html
@@ -143,7 +143,7 @@ much more.</p>
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
     Copyright 2016, the Apache Software Foundation.<br/>
-    Apache Pony Mail is a trademark of the Apache Software Foundation.
+    Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.
 </p>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/a7b12fb9/content/docs/install.ubuntu.html
----------------------------------------------------------------------
diff --git a/content/docs/install.ubuntu.html b/content/docs/install.ubuntu.html
index 19924ca..21f2b41 100644
--- a/content/docs/install.ubuntu.html
+++ b/content/docs/install.ubuntu.html
@@ -135,7 +135,7 @@ much more.</p>
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
     Copyright 2016, the Apache Software Foundation.<br/>
-    Apache Pony Mail is a trademark of the Apache Software Foundation.
+    Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.
 </p>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/a7b12fb9/content/docs/installing.html
----------------------------------------------------------------------
diff --git a/content/docs/installing.html b/content/docs/installing.html
index 2fc22a1..13c9e37 100644
--- a/content/docs/installing.html
+++ b/content/docs/installing.html
@@ -229,7 +229,7 @@ setups.</p>
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
     Copyright 2016, the Apache Software Foundation.<br/>
-    Apache Pony Mail is a trademark of the Apache Software Foundation.
+    Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.
 </p>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/a7b12fb9/content/downloads.html
----------------------------------------------------------------------
diff --git a/content/downloads.html b/content/downloads.html
index 07cb7fa..7716941 100644
--- a/content/downloads.html
+++ b/content/downloads.html
@@ -55,7 +55,7 @@ officially endorsed by the Apache Pony Mail project in any way.</p>
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
     Copyright 2016, the Apache Software Foundation.<br/>
-    Apache Pony Mail is a trademark of the Apache Software Foundation.
+    Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.
 </p>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/a7b12fb9/content/index.html
----------------------------------------------------------------------
diff --git a/content/index.html b/content/index.html
index 402f214..5601e73 100644
--- a/content/index.html
+++ b/content/index.html
@@ -108,7 +108,7 @@ list size and available bandwidth.</p>
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
     Copyright 2016, the Apache Software Foundation.<br/>
-    Apache Pony Mail is a trademark of the Apache Software Foundation.
+    Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.
 </p>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/a7b12fb9/content/source.html
----------------------------------------------------------------------
diff --git a/content/source.html b/content/source.html
index 5dae6e1..5bb88bb 100644
--- a/content/source.html
+++ b/content/source.html
@@ -52,7 +52,7 @@
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
     Copyright 2016, the Apache Software Foundation.<br/>
-    Apache Pony Mail is a trademark of the Apache Software Foundation.
+    Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.
 </p>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/a7b12fb9/content/support.html
----------------------------------------------------------------------
diff --git a/content/support.html b/content/support.html
index 8579b92..11030dc 100644
--- a/content/support.html
+++ b/content/support.html
@@ -83,7 +83,7 @@
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
     Copyright 2016, the Apache Software Foundation.<br/>
-    Apache Pony Mail is a trademark of the Apache Software Foundation.
+    Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.
 </p>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/a7b12fb9/source/template.html
----------------------------------------------------------------------
diff --git a/source/template.html b/source/template.html
index 7905568..22f3da0 100644
--- a/source/template.html
+++ b/source/template.html
@@ -49,7 +49,7 @@
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
     Copyright 2016, the Apache Software Foundation.<br/>
-    Apache Pony Mail is a trademark of the Apache Software Foundation.
+    Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.
 </p>


From commits-return-106-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Thu Jun 02 07:51:14 2016
Return-Path: <commits-return-106-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id AF218200AF5
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Thu,  2 Jun 2016 09:51:14 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id AE81C160A3E; Thu,  2 Jun 2016 07:51:14 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 051DB160A22
	for <archive-asf-public@cust-asf.ponee.io>; Thu,  2 Jun 2016 09:51:13 +0200 (CEST)
Received: (qmail 65312 invoked by uid 500); 2 Jun 2016 07:51:13 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 65303 invoked by uid 99); 2 Jun 2016 07:51:13 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 07:51:13 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id B26281803EA
	for <commits@ponymail.apache.org>; Thu,  2 Jun 2016 07:51:12 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024)
	with ESMTP id ACHbm0Kxftyd for <commits@ponymail.apache.org>;
	Thu,  2 Jun 2016 07:51:10 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id ADE115F4E9
	for <commits@ponymail.incubator.apache.org>; Thu,  2 Jun 2016 07:51:09 +0000 (UTC)
Received: (qmail 65229 invoked by uid 99); 2 Jun 2016 07:51:08 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 07:51:08 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id B920CE0105; Thu,  2 Jun 2016 07:51:08 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Thu, 02 Jun 2016 07:51:08 -0000
Message-Id: <662ce76c2bc54822a3617bcd8154220b@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [1/2] incubator-ponymail-site git commit: refactor template,
 change color scheme a bit
archived-at: Thu, 02 Jun 2016 07:51:14 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site a7b12fb9f -> 01959de46


refactor template, change color scheme a bit


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/dade2620
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/dade2620
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/dade2620

Branch: refs/heads/asf-site
Commit: dade2620e0d80eb55c9836c1ffdf7d023be1ec27
Parents: a7b12fb
Author: humbedooh <humbedooh@apache.org>
Authored: Thu Jun 2 09:50:48 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Thu Jun 2 09:50:48 2016 +0200

----------------------------------------------------------------------
 content/css/default.css | 15 +++++++++++----
 source/template.html    |  2 +-
 2 files changed, 12 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/dade2620/content/css/default.css
----------------------------------------------------------------------
diff --git a/content/css/default.css b/content/css/default.css
index e5e623e..79b5bf7 100644
--- a/content/css/default.css
+++ b/content/css/default.css
@@ -1281,11 +1281,11 @@ button.close {
 html {
     -ms-text-size-adjust: 100%;
     -webkit-text-size-adjust: 100%;
-    background: #333;
+    background: #96C0CE;
 }
 
 body {
-    background: #eae2dc;
+    background: #FEF6EB;
     max-width: 1000px;
     margin: 0px auto;
     padding: 10px;
@@ -1608,7 +1608,7 @@ h6 {
 
 a {
     cursor: pointer;
-    color: #D5377B;
+    color: #C25B56;
     text-decoration: none
 }
 
@@ -4505,7 +4505,7 @@ h1:hover a, h2:hover a, h3:hover a, h4:hover a, h5:hover a, h6:hover a {
 }
 #menubar {
     font-size: 20pt;
-    background: #4e413a;
+    background: #74828F;
     padding-top: 5px;
 }
 #menubar ul {
@@ -4539,4 +4539,11 @@ h1:hover a, h2:hover a, h3:hover a, h4:hover a, h5:hover a, h6:hover a {
 #menubar a:hover {
     color: #FF7;
     text-shadow: 0px 0px 1px rgba(255,150,50,0.75);
+}
+#titlebar {
+    margin: -10px;
+    background: #525564;
+    color: #EEE;
+    margin-bottom: 20px;
+    text-align: center;
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/dade2620/source/template.html
----------------------------------------------------------------------
diff --git a/source/template.html b/source/template.html
index 22f3da0..0b0570d 100644
--- a/source/template.html
+++ b/source/template.html
@@ -19,7 +19,7 @@
 <meta name="msapplication-TileImage" content="/icons/ms-icon-144x144.png">
 <meta name="theme-color" content="#ffffff">
 </head><body>
-<div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
+<div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">


From commits-return-105-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Thu Jun 02 07:51:14 2016
Return-Path: <commits-return-105-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id E17C8200B0F
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Thu,  2 Jun 2016 09:51:14 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id E0F2F160A22; Thu,  2 Jun 2016 07:51:14 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id DE01E160A00
	for <archive-asf-public@cust-asf.ponee.io>; Thu,  2 Jun 2016 09:51:13 +0200 (CEST)
Received: (qmail 65268 invoked by uid 500); 2 Jun 2016 07:51:13 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 65259 invoked by uid 99); 2 Jun 2016 07:51:13 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 07:51:13 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id AF16EC0113
	for <commits@ponymail.apache.org>; Thu,  2 Jun 2016 07:51:12 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024)
	with ESMTP id Fl-H-00uYSYu for <commits@ponymail.apache.org>;
	Thu,  2 Jun 2016 07:51:10 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with SMTP id D05FF5F571
	for <commits@ponymail.incubator.apache.org>; Thu,  2 Jun 2016 07:51:09 +0000 (UTC)
Received: (qmail 65231 invoked by uid 99); 2 Jun 2016 07:51:08 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 07:51:08 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id BA0CADFAAC; Thu,  2 Jun 2016 07:51:08 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Thu, 02 Jun 2016 07:51:09 -0000
Message-Id: <7bd6b5eccc6d47818d33746e5d0e99d1@git.apache.org>
In-Reply-To: <662ce76c2bc54822a3617bcd8154220b@git.apache.org>
References: <662ce76c2bc54822a3617bcd8154220b@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [2/2] incubator-ponymail-site git commit: regen
archived-at: Thu, 02 Jun 2016 07:51:15 -0000

regen


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/01959de4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/01959de4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/01959de4

Branch: refs/heads/asf-site
Commit: 01959de46ddcc7776d30b23ac3dd5c49e5250d7a
Parents: dade262
Author: humbedooh <humbedooh@apache.org>
Authored: Thu Jun 2 09:50:54 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Thu Jun 2 09:50:54 2016 +0200

----------------------------------------------------------------------
 content/about.html               | 2 +-
 content/contribute.html          | 2 +-
 content/docs.html                | 2 +-
 content/docs/api.html            | 2 +-
 content/docs/archiving.html      | 2 +-
 content/docs/building.html       | 2 +-
 content/docs/contributing.html   | 2 +-
 content/docs/importing.html      | 2 +-
 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     | 2 +-
 content/downloads.html           | 2 +-
 content/index.html               | 2 +-
 content/source.html              | 2 +-
 content/support.html             | 2 +-
 17 files changed, 17 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/01959de4/content/about.html
----------------------------------------------------------------------
diff --git a/content/about.html b/content/about.html
index 2f7d6ef..13f2d5f 100644
--- a/content/about.html
+++ b/content/about.html
@@ -19,7 +19,7 @@
 <meta name="msapplication-TileImage" content="/icons/ms-icon-144x144.png">
 <meta name="theme-color" content="#ffffff">
 </head><body>
-<div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
+<div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/01959de4/content/contribute.html
----------------------------------------------------------------------
diff --git a/content/contribute.html b/content/contribute.html
index 8f2d971..8f83e35 100644
--- a/content/contribute.html
+++ b/content/contribute.html
@@ -19,7 +19,7 @@
 <meta name="msapplication-TileImage" content="/icons/ms-icon-144x144.png">
 <meta name="theme-color" content="#ffffff">
 </head><body>
-<div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
+<div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/01959de4/content/docs.html
----------------------------------------------------------------------
diff --git a/content/docs.html b/content/docs.html
index 4066c84..dc74fb4 100644
--- a/content/docs.html
+++ b/content/docs.html
@@ -19,7 +19,7 @@
 <meta name="msapplication-TileImage" content="/icons/ms-icon-144x144.png">
 <meta name="theme-color" content="#ffffff">
 </head><body>
-<div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
+<div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/01959de4/content/docs/api.html
----------------------------------------------------------------------
diff --git a/content/docs/api.html b/content/docs/api.html
index 138b036..0e4211c 100644
--- a/content/docs/api.html
+++ b/content/docs/api.html
@@ -19,7 +19,7 @@
 <meta name="msapplication-TileImage" content="/icons/ms-icon-144x144.png">
 <meta name="theme-color" content="#ffffff">
 </head><body>
-<div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
+<div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/01959de4/content/docs/archiving.html
----------------------------------------------------------------------
diff --git a/content/docs/archiving.html b/content/docs/archiving.html
index 4d8e3cf..8fd48ba 100644
--- a/content/docs/archiving.html
+++ b/content/docs/archiving.html
@@ -19,7 +19,7 @@
 <meta name="msapplication-TileImage" content="/icons/ms-icon-144x144.png">
 <meta name="theme-color" content="#ffffff">
 </head><body>
-<div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
+<div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/01959de4/content/docs/building.html
----------------------------------------------------------------------
diff --git a/content/docs/building.html b/content/docs/building.html
index 4a4fc77..c14288b 100644
--- a/content/docs/building.html
+++ b/content/docs/building.html
@@ -19,7 +19,7 @@
 <meta name="msapplication-TileImage" content="/icons/ms-icon-144x144.png">
 <meta name="theme-color" content="#ffffff">
 </head><body>
-<div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
+<div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/01959de4/content/docs/contributing.html
----------------------------------------------------------------------
diff --git a/content/docs/contributing.html b/content/docs/contributing.html
index 716fb54..0875bc5 100644
--- a/content/docs/contributing.html
+++ b/content/docs/contributing.html
@@ -19,7 +19,7 @@
 <meta name="msapplication-TileImage" content="/icons/ms-icon-144x144.png">
 <meta name="theme-color" content="#ffffff">
 </head><body>
-<div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
+<div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/01959de4/content/docs/importing.html
----------------------------------------------------------------------
diff --git a/content/docs/importing.html b/content/docs/importing.html
index 780a7f9..3d56072 100644
--- a/content/docs/importing.html
+++ b/content/docs/importing.html
@@ -19,7 +19,7 @@
 <meta name="msapplication-TileImage" content="/icons/ms-icon-144x144.png">
 <meta name="theme-color" content="#ffffff">
 </head><body>
-<div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
+<div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/01959de4/content/docs/install.centos.html
----------------------------------------------------------------------
diff --git a/content/docs/install.centos.html b/content/docs/install.centos.html
index 3f32c55..72ecb94 100644
--- a/content/docs/install.centos.html
+++ b/content/docs/install.centos.html
@@ -19,7 +19,7 @@
 <meta name="msapplication-TileImage" content="/icons/ms-icon-144x144.png">
 <meta name="theme-color" content="#ffffff">
 </head><body>
-<div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
+<div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/01959de4/content/docs/install.debian.html
----------------------------------------------------------------------
diff --git a/content/docs/install.debian.html b/content/docs/install.debian.html
index 40a059b..61ca101 100644
--- a/content/docs/install.debian.html
+++ b/content/docs/install.debian.html
@@ -19,7 +19,7 @@
 <meta name="msapplication-TileImage" content="/icons/ms-icon-144x144.png">
 <meta name="theme-color" content="#ffffff">
 </head><body>
-<div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
+<div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/01959de4/content/docs/install.fedora.html
----------------------------------------------------------------------
diff --git a/content/docs/install.fedora.html b/content/docs/install.fedora.html
index c2ab251..12d99c9 100644
--- a/content/docs/install.fedora.html
+++ b/content/docs/install.fedora.html
@@ -19,7 +19,7 @@
 <meta name="msapplication-TileImage" content="/icons/ms-icon-144x144.png">
 <meta name="theme-color" content="#ffffff">
 </head><body>
-<div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
+<div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/01959de4/content/docs/install.ubuntu.html
----------------------------------------------------------------------
diff --git a/content/docs/install.ubuntu.html b/content/docs/install.ubuntu.html
index 21f2b41..4b5d299 100644
--- a/content/docs/install.ubuntu.html
+++ b/content/docs/install.ubuntu.html
@@ -19,7 +19,7 @@
 <meta name="msapplication-TileImage" content="/icons/ms-icon-144x144.png">
 <meta name="theme-color" content="#ffffff">
 </head><body>
-<div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
+<div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/01959de4/content/docs/installing.html
----------------------------------------------------------------------
diff --git a/content/docs/installing.html b/content/docs/installing.html
index 13c9e37..2427280 100644
--- a/content/docs/installing.html
+++ b/content/docs/installing.html
@@ -19,7 +19,7 @@
 <meta name="msapplication-TileImage" content="/icons/ms-icon-144x144.png">
 <meta name="theme-color" content="#ffffff">
 </head><body>
-<div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
+<div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/01959de4/content/downloads.html
----------------------------------------------------------------------
diff --git a/content/downloads.html b/content/downloads.html
index 7716941..27923a0 100644
--- a/content/downloads.html
+++ b/content/downloads.html
@@ -19,7 +19,7 @@
 <meta name="msapplication-TileImage" content="/icons/ms-icon-144x144.png">
 <meta name="theme-color" content="#ffffff">
 </head><body>
-<div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
+<div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/01959de4/content/index.html
----------------------------------------------------------------------
diff --git a/content/index.html b/content/index.html
index 5601e73..8652139 100644
--- a/content/index.html
+++ b/content/index.html
@@ -19,7 +19,7 @@
 <meta name="msapplication-TileImage" content="/icons/ms-icon-144x144.png">
 <meta name="theme-color" content="#ffffff">
 </head><body>
-<div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
+<div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/01959de4/content/source.html
----------------------------------------------------------------------
diff --git a/content/source.html b/content/source.html
index 5bb88bb..a3d3f92 100644
--- a/content/source.html
+++ b/content/source.html
@@ -19,7 +19,7 @@
 <meta name="msapplication-TileImage" content="/icons/ms-icon-144x144.png">
 <meta name="theme-color" content="#ffffff">
 </head><body>
-<div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
+<div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/01959de4/content/support.html
----------------------------------------------------------------------
diff --git a/content/support.html b/content/support.html
index 11030dc..8fb145b 100644
--- a/content/support.html
+++ b/content/support.html
@@ -19,7 +19,7 @@
 <meta name="msapplication-TileImage" content="/icons/ms-icon-144x144.png">
 <meta name="theme-color" content="#ffffff">
 </head><body>
-<div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;">
+<div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">


From commits-return-107-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Thu Jun 02 07:55:17 2016
Return-Path: <commits-return-107-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 7C67B200AF5
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Thu,  2 Jun 2016 09:55:17 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 7BA8E160A22; Thu,  2 Jun 2016 07:55:17 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id C3018160A00
	for <archive-asf-public@cust-asf.ponee.io>; Thu,  2 Jun 2016 09:55:16 +0200 (CEST)
Received: (qmail 68551 invoked by uid 500); 2 Jun 2016 07:55:15 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 68542 invoked by uid 99); 2 Jun 2016 07:55:15 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 07:55:15 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 85C9B1803EA
	for <commits@ponymail.apache.org>; Thu,  2 Jun 2016 07:55:15 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024)
	with ESMTP id zSGvrPdVAgcD for <commits@ponymail.apache.org>;
	Thu,  2 Jun 2016 07:55:12 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with SMTP id 9B0A15F24B
	for <commits@ponymail.incubator.apache.org>; Thu,  2 Jun 2016 07:55:11 +0000 (UTC)
Received: (qmail 68524 invoked by uid 99); 2 Jun 2016 07:55:11 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 07:55:11 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id E512CDFE65; Thu,  2 Jun 2016 07:55:10 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <260a5e6f3c1f4aa6a24686359a853e6f@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail git commit: axe oauth change,
 add new fixes/features
Date: Thu,  2 Jun 2016 07:55:10 +0000 (UTC)
archived-at: Thu, 02 Jun 2016 07:55:17 -0000

Repository: incubator-ponymail
Updated Branches:
  refs/heads/master 4732d25fc -> 5d805bf1c


axe oauth change, add new fixes/features

oauth.online is a bit bust at the moment and persona isn't
shutting down just yet, so hold off on this.


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

Branch: refs/heads/master
Commit: 5d805bf1cf4b55d8acdac98a050a9e77441e8262
Parents: 4732d25
Author: humbedooh <humbedooh@apache.org>
Authored: Thu Jun 2 09:54:56 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Thu Jun 2 09:54:56 2016 +0200

----------------------------------------------------------------------
 CHANGELOG.md | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/5d805bf1/CHANGELOG.md
----------------------------------------------------------------------
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e771123..5dfd0ed 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,7 +1,6 @@
 ## CHANGES in 0.9b:
 
 - Private lists can be hidden in the index from users without access
-- Added support for OAuth.online in lieu of Persona shutting down
 - Fixed an issue where LocalStorage limits would break the site
 - Fixed an issue with gravatars not showing up
 - UI can now auto-scale, allowing as many results per page as screen height will support
@@ -12,6 +11,9 @@
 - Increased import parsing timeout from 2 to 6 minutes per mbox file
 - Private emails are now more clearly marked as such in the UI
 - Logging in via OAuth now remembers where you left off
+- Added support for Maildir imports
+- Added three distinct Message-ID generators (short, medium, full)
+- Fixed some issues with email association
 
 ## CHANGES in 0.8b:
 


From commits-return-108-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Thu Jun 02 07:59:04 2016
Return-Path: <commits-return-108-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 67FF1200AF5
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Thu,  2 Jun 2016 09:59:04 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 6760F160A22; Thu,  2 Jun 2016 07:59:04 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id AF815160A00
	for <archive-asf-public@cust-asf.ponee.io>; Thu,  2 Jun 2016 09:59:03 +0200 (CEST)
Received: (qmail 77949 invoked by uid 500); 2 Jun 2016 07:59:03 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 77940 invoked by uid 99); 2 Jun 2016 07:59:02 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 07:59:02 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 8ED071803EA
	for <commits@ponymail.apache.org>; Thu,  2 Jun 2016 07:59:02 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024)
	with ESMTP id CtbrXS6uzs9J for <commits@ponymail.apache.org>;
	Thu,  2 Jun 2016 07:59:01 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id E3A3A5F240
	for <commits@ponymail.incubator.apache.org>; Thu,  2 Jun 2016 07:59:00 +0000 (UTC)
Received: (qmail 77330 invoked by uid 99); 2 Jun 2016 07:59:00 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 07:59:00 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id EB88FDFE65; Thu,  2 Jun 2016 07:58:59 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <c21033eb33644c0bb5fe83f45c8e9176@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail-site git commit: tweak body border
Date: Thu,  2 Jun 2016 07:58:59 +0000 (UTC)
archived-at: Thu, 02 Jun 2016 07:59:04 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site 01959de46 -> ab8219301


tweak body border


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/ab821930
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/ab821930
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/ab821930

Branch: refs/heads/asf-site
Commit: ab82193018a21c50ee8f02c670f9dde4a1ead78b
Parents: 01959de
Author: humbedooh <humbedooh@apache.org>
Authored: Thu Jun 2 09:58:46 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Thu Jun 2 09:58:46 2016 +0200

----------------------------------------------------------------------
 content/css/default.css | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/ab821930/content/css/default.css
----------------------------------------------------------------------
diff --git a/content/css/default.css b/content/css/default.css
index 79b5bf7..fcf6b10 100644
--- a/content/css/default.css
+++ b/content/css/default.css
@@ -1289,8 +1289,7 @@ body {
     max-width: 1000px;
     margin: 0px auto;
     padding: 10px;
-    border-left: 4px solid #666;
-    border-right: 4px solid #666;
+    border: 4px solid #666;
 }
 
 article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary {


From commits-return-109-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Thu Jun 02 08:00:08 2016
Return-Path: <commits-return-109-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 80A67200AF5
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Thu,  2 Jun 2016 10:00:08 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 80045160A22; Thu,  2 Jun 2016 08:00:08 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id C67DD160A00
	for <archive-asf-public@cust-asf.ponee.io>; Thu,  2 Jun 2016 10:00:07 +0200 (CEST)
Received: (qmail 86929 invoked by uid 500); 2 Jun 2016 08:00:07 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 86920 invoked by uid 99); 2 Jun 2016 08:00:07 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 08:00:07 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 9FCEFC0113
	for <commits@ponymail.apache.org>; Thu,  2 Jun 2016 08:00:06 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024)
	with ESMTP id EX0W_I1ZkcQY for <commits@ponymail.apache.org>;
	Thu,  2 Jun 2016 08:00:05 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with SMTP id 6F9C35F65C
	for <commits@ponymail.incubator.apache.org>; Thu,  2 Jun 2016 08:00:05 +0000 (UTC)
Received: (qmail 86077 invoked by uid 99); 2 Jun 2016 08:00:03 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 08:00:03 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 79B83DFE65; Thu,  2 Jun 2016 08:00:03 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Thu, 02 Jun 2016 08:00:03 -0000
Message-Id: <318569eb2a464c94b480901b12b8adfb@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [1/2] incubator-ponymail-site git commit: fix 'dev me' image
archived-at: Thu, 02 Jun 2016 08:00:08 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site ab8219301 -> 2d9206771


fix 'dev me' image


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/3cc25175
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/3cc25175
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/3cc25175

Branch: refs/heads/asf-site
Commit: 3cc25175cb2baa99dea9feb9fad9027aeb7fc014
Parents: ab82193
Author: humbedooh <humbedooh@apache.org>
Authored: Thu Jun 2 09:59:45 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Thu Jun 2 09:59:45 2016 +0200

----------------------------------------------------------------------
 source/template.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/3cc25175/source/template.html
----------------------------------------------------------------------
diff --git a/source/template.html b/source/template.html
index 0b0570d..78b9b9f 100644
--- a/source/template.html
+++ b/source/template.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>


From commits-return-110-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Thu Jun 02 08:00:10 2016
Return-Path: <commits-return-110-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 0E27D200AF5
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Thu,  2 Jun 2016 10:00:10 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 0D8A3160A22; Thu,  2 Jun 2016 08:00:10 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id DA433160A00
	for <archive-asf-public@cust-asf.ponee.io>; Thu,  2 Jun 2016 10:00:08 +0200 (CEST)
Received: (qmail 86977 invoked by uid 500); 2 Jun 2016 08:00:08 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 86968 invoked by uid 99); 2 Jun 2016 08:00:08 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 08:00:08 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id AE984C6534
	for <commits@ponymail.apache.org>; Thu,  2 Jun 2016 08:00:07 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx2-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024)
	with ESMTP id NGBP0cjF6cqF for <commits@ponymail.apache.org>;
	Thu,  2 Jun 2016 08:00:06 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx2-lw-us.apache.org (ASF Mail Server at mx2-lw-us.apache.org) with SMTP id 9CD255FB23
	for <commits@ponymail.incubator.apache.org>; Thu,  2 Jun 2016 08:00:05 +0000 (UTC)
Received: (qmail 86103 invoked by uid 99); 2 Jun 2016 08:00:03 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 08:00:03 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 7D63EE0105; Thu,  2 Jun 2016 08:00:03 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Thu, 02 Jun 2016 08:00:04 -0000
Message-Id: <fdc075d37b824b6f82e14b1af95c3f4e@git.apache.org>
In-Reply-To: <318569eb2a464c94b480901b12b8adfb@git.apache.org>
References: <318569eb2a464c94b480901b12b8adfb@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [2/2] incubator-ponymail-site git commit: regen
archived-at: Thu, 02 Jun 2016 08:00:10 -0000

regen


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/2d920677
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/2d920677
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/2d920677

Branch: refs/heads/asf-site
Commit: 2d9206771faec5981f0af62ecb158c94fd1f36fb
Parents: 3cc2517
Author: humbedooh <humbedooh@apache.org>
Authored: Thu Jun 2 09:59:51 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Thu Jun 2 09:59:51 2016 +0200

----------------------------------------------------------------------
 content/about.html               | 2 +-
 content/contribute.html          | 2 +-
 content/docs.html                | 2 +-
 content/docs/api.html            | 2 +-
 content/docs/archiving.html      | 2 +-
 content/docs/building.html       | 2 +-
 content/docs/contributing.html   | 2 +-
 content/docs/importing.html      | 2 +-
 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     | 2 +-
 content/downloads.html           | 2 +-
 content/index.html               | 2 +-
 content/source.html              | 2 +-
 content/support.html             | 2 +-
 17 files changed, 17 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2d920677/content/about.html
----------------------------------------------------------------------
diff --git a/content/about.html b/content/about.html
index 13f2d5f..2d37f1c 100644
--- a/content/about.html
+++ b/content/about.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2d920677/content/contribute.html
----------------------------------------------------------------------
diff --git a/content/contribute.html b/content/contribute.html
index 8f83e35..73a28f8 100644
--- a/content/contribute.html
+++ b/content/contribute.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2d920677/content/docs.html
----------------------------------------------------------------------
diff --git a/content/docs.html b/content/docs.html
index dc74fb4..57c91c6 100644
--- a/content/docs.html
+++ b/content/docs.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2d920677/content/docs/api.html
----------------------------------------------------------------------
diff --git a/content/docs/api.html b/content/docs/api.html
index 0e4211c..bf67bb0 100644
--- a/content/docs/api.html
+++ b/content/docs/api.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2d920677/content/docs/archiving.html
----------------------------------------------------------------------
diff --git a/content/docs/archiving.html b/content/docs/archiving.html
index 8fd48ba..98168be 100644
--- a/content/docs/archiving.html
+++ b/content/docs/archiving.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2d920677/content/docs/building.html
----------------------------------------------------------------------
diff --git a/content/docs/building.html b/content/docs/building.html
index c14288b..22e1609 100644
--- a/content/docs/building.html
+++ b/content/docs/building.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2d920677/content/docs/contributing.html
----------------------------------------------------------------------
diff --git a/content/docs/contributing.html b/content/docs/contributing.html
index 0875bc5..25f2324 100644
--- a/content/docs/contributing.html
+++ b/content/docs/contributing.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2d920677/content/docs/importing.html
----------------------------------------------------------------------
diff --git a/content/docs/importing.html b/content/docs/importing.html
index 3d56072..4915d7a 100644
--- a/content/docs/importing.html
+++ b/content/docs/importing.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2d920677/content/docs/install.centos.html
----------------------------------------------------------------------
diff --git a/content/docs/install.centos.html b/content/docs/install.centos.html
index 72ecb94..35b0edc 100644
--- a/content/docs/install.centos.html
+++ b/content/docs/install.centos.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2d920677/content/docs/install.debian.html
----------------------------------------------------------------------
diff --git a/content/docs/install.debian.html b/content/docs/install.debian.html
index 61ca101..d58afee 100644
--- a/content/docs/install.debian.html
+++ b/content/docs/install.debian.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2d920677/content/docs/install.fedora.html
----------------------------------------------------------------------
diff --git a/content/docs/install.fedora.html b/content/docs/install.fedora.html
index 12d99c9..c685339 100644
--- a/content/docs/install.fedora.html
+++ b/content/docs/install.fedora.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2d920677/content/docs/install.ubuntu.html
----------------------------------------------------------------------
diff --git a/content/docs/install.ubuntu.html b/content/docs/install.ubuntu.html
index 4b5d299..53ccac8 100644
--- a/content/docs/install.ubuntu.html
+++ b/content/docs/install.ubuntu.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2d920677/content/docs/installing.html
----------------------------------------------------------------------
diff --git a/content/docs/installing.html b/content/docs/installing.html
index 2427280..137d3c2 100644
--- a/content/docs/installing.html
+++ b/content/docs/installing.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2d920677/content/downloads.html
----------------------------------------------------------------------
diff --git a/content/downloads.html b/content/downloads.html
index 27923a0..9185a21 100644
--- a/content/downloads.html
+++ b/content/downloads.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2d920677/content/index.html
----------------------------------------------------------------------
diff --git a/content/index.html b/content/index.html
index 8652139..b3e41ec 100644
--- a/content/index.html
+++ b/content/index.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2d920677/content/source.html
----------------------------------------------------------------------
diff --git a/content/source.html b/content/source.html
index a3d3f92..81d7c2a 100644
--- a/content/source.html
+++ b/content/source.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2d920677/content/support.html
----------------------------------------------------------------------
diff --git a/content/support.html b/content/support.html
index 8fb145b..8dfc0a8 100644
--- a/content/support.html
+++ b/content/support.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>


From commits-return-111-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Thu Jun 02 08:20:55 2016
Return-Path: <commits-return-111-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 8DC49200AF5
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Thu,  2 Jun 2016 10:20:55 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 8CF71160A22; Thu,  2 Jun 2016 08:20:55 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id D160F160A00
	for <archive-asf-public@cust-asf.ponee.io>; Thu,  2 Jun 2016 10:20:54 +0200 (CEST)
Received: (qmail 17857 invoked by uid 500); 2 Jun 2016 08:20:54 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 17848 invoked by uid 99); 2 Jun 2016 08:20:54 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 08:20:54 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 8BD1CC1313
	for <commits@ponymail.apache.org>; Thu,  2 Jun 2016 08:20:53 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024)
	with ESMTP id 0wiStWxKqa5c for <commits@ponymail.apache.org>;
	Thu,  2 Jun 2016 08:20:52 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with SMTP id 72A785F4E9
	for <commits@ponymail.incubator.apache.org>; Thu,  2 Jun 2016 08:20:52 +0000 (UTC)
Received: (qmail 17845 invoked by uid 99); 2 Jun 2016 08:20:51 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 08:20:51 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 472AADFE65; Thu,  2 Jun 2016 08:20:51 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Thu, 02 Jun 2016 08:20:51 -0000
Message-Id: <711ca44130fc4a4f842b42f2066d442a@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [1/2] incubator-ponymail-site git commit: change the dev-me image
archived-at: Thu, 02 Jun 2016 08:20:55 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site 2d9206771 -> beb3b61ad


change the dev-me image


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/5554af89
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/5554af89
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/5554af89

Branch: refs/heads/asf-site
Commit: 5554af8965702a58951717028e3b9a00dbdd8121
Parents: 2d92067
Author: humbedooh <humbedooh@apache.org>
Authored: Thu Jun 2 10:20:05 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Thu Jun 2 10:20:05 2016 +0200

----------------------------------------------------------------------
 content/images/devme.png | Bin 30127 -> 15715 bytes
 source/template.html     |   2 +-
 2 files changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/5554af89/content/images/devme.png
----------------------------------------------------------------------
diff --git a/content/images/devme.png b/content/images/devme.png
index 003d7f1..ffb9502 100644
Binary files a/content/images/devme.png and b/content/images/devme.png differ

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/5554af89/source/template.html
----------------------------------------------------------------------
diff --git a/source/template.html b/source/template.html
index 78b9b9f..ad12a68 100644
--- a/source/template.html
+++ b/source/template.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>


From commits-return-112-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Thu Jun 02 08:20:58 2016
Return-Path: <commits-return-112-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 25C12200AF5
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Thu,  2 Jun 2016 10:20:58 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 250D5160A22; Thu,  2 Jun 2016 08:20:58 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id EA8C8160A00
	for <archive-asf-public@cust-asf.ponee.io>; Thu,  2 Jun 2016 10:20:56 +0200 (CEST)
Received: (qmail 17907 invoked by uid 500); 2 Jun 2016 08:20:56 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 17898 invoked by uid 99); 2 Jun 2016 08:20:56 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 08:20:56 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id BE095C0CD9
	for <commits@ponymail.apache.org>; Thu,  2 Jun 2016 08:20:55 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024)
	with ESMTP id O5n3DWYbObOC for <commits@ponymail.apache.org>;
	Thu,  2 Jun 2016 08:20:52 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with SMTP id 2D83B5F39A
	for <commits@ponymail.incubator.apache.org>; Thu,  2 Jun 2016 08:20:52 +0000 (UTC)
Received: (qmail 17842 invoked by uid 99); 2 Jun 2016 08:20:51 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 08:20:51 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 4B02AE0105; Thu,  2 Jun 2016 08:20:51 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Thu, 02 Jun 2016 08:20:52 -0000
Message-Id: <108ae49cfe644cb39777189d49b2dff1@git.apache.org>
In-Reply-To: <711ca44130fc4a4f842b42f2066d442a@git.apache.org>
References: <711ca44130fc4a4f842b42f2066d442a@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [2/2] incubator-ponymail-site git commit: regen site
archived-at: Thu, 02 Jun 2016 08:20:58 -0000

regen site


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/beb3b61a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/beb3b61a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/beb3b61a

Branch: refs/heads/asf-site
Commit: beb3b61adfcb32a904cea38a1465e49a93e2f77c
Parents: 5554af8
Author: humbedooh <humbedooh@apache.org>
Authored: Thu Jun 2 10:20:14 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Thu Jun 2 10:20:14 2016 +0200

----------------------------------------------------------------------
 content/about.html               | 2 +-
 content/contribute.html          | 2 +-
 content/docs.html                | 2 +-
 content/docs/api.html            | 2 +-
 content/docs/archiving.html      | 2 +-
 content/docs/building.html       | 2 +-
 content/docs/contributing.html   | 2 +-
 content/docs/importing.html      | 2 +-
 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     | 2 +-
 content/downloads.html           | 2 +-
 content/index.html               | 2 +-
 content/source.html              | 2 +-
 content/support.html             | 2 +-
 17 files changed, 17 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/beb3b61a/content/about.html
----------------------------------------------------------------------
diff --git a/content/about.html b/content/about.html
index 2d37f1c..2118bf9 100644
--- a/content/about.html
+++ b/content/about.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/beb3b61a/content/contribute.html
----------------------------------------------------------------------
diff --git a/content/contribute.html b/content/contribute.html
index 73a28f8..fb30364 100644
--- a/content/contribute.html
+++ b/content/contribute.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/beb3b61a/content/docs.html
----------------------------------------------------------------------
diff --git a/content/docs.html b/content/docs.html
index 57c91c6..74b2090 100644
--- a/content/docs.html
+++ b/content/docs.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/beb3b61a/content/docs/api.html
----------------------------------------------------------------------
diff --git a/content/docs/api.html b/content/docs/api.html
index bf67bb0..50ca4e8 100644
--- a/content/docs/api.html
+++ b/content/docs/api.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/beb3b61a/content/docs/archiving.html
----------------------------------------------------------------------
diff --git a/content/docs/archiving.html b/content/docs/archiving.html
index 98168be..fefb811 100644
--- a/content/docs/archiving.html
+++ b/content/docs/archiving.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/beb3b61a/content/docs/building.html
----------------------------------------------------------------------
diff --git a/content/docs/building.html b/content/docs/building.html
index 22e1609..6f8e4a8 100644
--- a/content/docs/building.html
+++ b/content/docs/building.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/beb3b61a/content/docs/contributing.html
----------------------------------------------------------------------
diff --git a/content/docs/contributing.html b/content/docs/contributing.html
index 25f2324..fdb548f 100644
--- a/content/docs/contributing.html
+++ b/content/docs/contributing.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/beb3b61a/content/docs/importing.html
----------------------------------------------------------------------
diff --git a/content/docs/importing.html b/content/docs/importing.html
index 4915d7a..72a1fbf 100644
--- a/content/docs/importing.html
+++ b/content/docs/importing.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/beb3b61a/content/docs/install.centos.html
----------------------------------------------------------------------
diff --git a/content/docs/install.centos.html b/content/docs/install.centos.html
index 35b0edc..72be64a 100644
--- a/content/docs/install.centos.html
+++ b/content/docs/install.centos.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/beb3b61a/content/docs/install.debian.html
----------------------------------------------------------------------
diff --git a/content/docs/install.debian.html b/content/docs/install.debian.html
index d58afee..bd1da3f 100644
--- a/content/docs/install.debian.html
+++ b/content/docs/install.debian.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/beb3b61a/content/docs/install.fedora.html
----------------------------------------------------------------------
diff --git a/content/docs/install.fedora.html b/content/docs/install.fedora.html
index c685339..72272fd 100644
--- a/content/docs/install.fedora.html
+++ b/content/docs/install.fedora.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/beb3b61a/content/docs/install.ubuntu.html
----------------------------------------------------------------------
diff --git a/content/docs/install.ubuntu.html b/content/docs/install.ubuntu.html
index 53ccac8..cd6ac6b 100644
--- a/content/docs/install.ubuntu.html
+++ b/content/docs/install.ubuntu.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/beb3b61a/content/docs/installing.html
----------------------------------------------------------------------
diff --git a/content/docs/installing.html b/content/docs/installing.html
index 137d3c2..0c21712 100644
--- a/content/docs/installing.html
+++ b/content/docs/installing.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/beb3b61a/content/downloads.html
----------------------------------------------------------------------
diff --git a/content/downloads.html b/content/downloads.html
index 9185a21..6ea0f80 100644
--- a/content/downloads.html
+++ b/content/downloads.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/beb3b61a/content/index.html
----------------------------------------------------------------------
diff --git a/content/index.html b/content/index.html
index b3e41ec..471dddd 100644
--- a/content/index.html
+++ b/content/index.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/beb3b61a/content/source.html
----------------------------------------------------------------------
diff --git a/content/source.html b/content/source.html
index 81d7c2a..c20ae5c 100644
--- a/content/source.html
+++ b/content/source.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/beb3b61a/content/support.html
----------------------------------------------------------------------
diff --git a/content/support.html b/content/support.html
index 8dfc0a8..864d642 100644
--- a/content/support.html
+++ b/content/support.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>


From commits-return-113-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Thu Jun 02 08:24:15 2016
Return-Path: <commits-return-113-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 53C9B200AF5
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Thu,  2 Jun 2016 10:24:15 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 5310E160A22; Thu,  2 Jun 2016 08:24:15 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 99690160A00
	for <archive-asf-public@cust-asf.ponee.io>; Thu,  2 Jun 2016 10:24:14 +0200 (CEST)
Received: (qmail 23768 invoked by uid 500); 2 Jun 2016 08:24:13 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 23759 invoked by uid 99); 2 Jun 2016 08:24:13 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 08:24:13 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 5475218046E
	for <commits@ponymail.apache.org>; Thu,  2 Jun 2016 08:24:13 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024)
	with ESMTP id 44dfuiTOz_dr for <commits@ponymail.apache.org>;
	Thu,  2 Jun 2016 08:24:10 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id CE4815F4E9
	for <commits@ponymail.incubator.apache.org>; Thu,  2 Jun 2016 08:24:09 +0000 (UTC)
Received: (qmail 23717 invoked by uid 99); 2 Jun 2016 08:24:08 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 08:24:08 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id A1EF9DFE65; Thu,  2 Jun 2016 08:24:08 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <4433e720681e412a931a72c30a108c3d@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail git commit: check for null values
Date: Thu,  2 Jun 2016 08:24:08 +0000 (UTC)
archived-at: Thu, 02 Jun 2016 08:24:15 -0000

Repository: incubator-ponymail
Updated Branches:
  refs/heads/master 5d805bf1c -> 5a329fc1b


check for null values

the JSON lib sometimes won't set values to nil
(due to how Lua works), so we need to check against
JSON.null here. This fixes #60.


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

Branch: refs/heads/master
Commit: 5a329fc1bef7c3b0186ccdc9680d6697e790c3bd
Parents: 5d805bf
Author: humbedooh <humbedooh@apache.org>
Authored: Thu Jun 2 10:23:47 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Thu Jun 2 10:23:47 2016 +0200

----------------------------------------------------------------------
 site/api/email.lua  | 6 +++---
 site/api/thread.lua | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/5a329fc1/site/api/email.lua
----------------------------------------------------------------------
diff --git a/site/api/email.lua b/site/api/email.lua
index 920219e..1eb3679 100644
--- a/site/api/email.lua
+++ b/site/api/email.lua
@@ -26,13 +26,13 @@ local config = require 'lib/config'
 
 -- anonymizer func
 function anonymize(doc)
-    if doc.from and #doc.from > 0 then
+    if doc.from and doc.from ~= JSON.null and #doc.from > 0 then
         doc.from = doc.from:gsub("(%S+)@(%S+)", function(a,b) return a:sub(1,2) .. "..." .. "@" .. b end)
     end
-    if doc.cc and #doc.cc > 0 then
+    if doc.cc and doc.cc ~= JSON.null and #doc.cc > 0 then
         doc.cc = doc.cc:gsub("(%S+)@(%S+)", function(a,b) return a:sub(1,2) .. "..." .. "@" .. b end)
     end
-    if doc.to and #doc.to > 0 then
+    if doc.to and doc.to ~= JSON.null and #doc.to > 0 then
         doc.to = doc.to:gsub("(%S+)@(%S+)", function(a,b) return a:sub(1,2) .. "..." .. "@" .. b end)
     end
     return doc

http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/5a329fc1/site/api/thread.lua
----------------------------------------------------------------------
diff --git a/site/api/thread.lua b/site/api/thread.lua
index 9d474bf..aaaa9da 100644
--- a/site/api/thread.lua
+++ b/site/api/thread.lua
@@ -29,13 +29,13 @@ local emls_thrd
 
 -- anonymizer func
 function anonymize(doc)
-    if doc.from and #doc.from > 0 then
+    if doc.from and doc.from ~= JSON.null and #doc.from > 0 then
         doc.from = doc.from:gsub("(%S+)@(%S+)", function(a,b) return a:sub(1,2) .. "..." .. "@" .. b end)
     end
-    if doc.cc and #doc.cc > 0 then
+    if doc.cc and doc.cc ~= JSON.null and #doc.cc > 0 then
         doc.cc = doc.cc:gsub("(%S+)@(%S+)", function(a,b) return a:sub(1,2) .. "..." .. "@" .. b end)
     end
-    if doc.to and #doc.to > 0 then
+    if doc.to and doc.to ~= JSON.null and #doc.to > 0 then
         doc.to = doc.to:gsub("(%S+)@(%S+)", function(a,b) return a:sub(1,2) .. "..." .. "@" .. b end)
     end
     return doc


From commits-return-114-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Thu Jun 02 08:46:57 2016
Return-Path: <commits-return-114-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id DA41F200AF5
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Thu,  2 Jun 2016 10:46:57 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id D9552160A3E; Thu,  2 Jun 2016 08:46:57 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 2C129160A3A
	for <archive-asf-public@cust-asf.ponee.io>; Thu,  2 Jun 2016 10:46:57 +0200 (CEST)
Received: (qmail 80178 invoked by uid 500); 2 Jun 2016 08:46:56 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 80169 invoked by uid 99); 2 Jun 2016 08:46:56 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 08:46:56 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id C63F3C654B
	for <commits@ponymail.apache.org>; Thu,  2 Jun 2016 08:46:55 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024)
	with ESMTP id uUHh9suUFv_S for <commits@ponymail.apache.org>;
	Thu,  2 Jun 2016 08:46:55 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id 4A4615F4EC
	for <commits@ponymail.incubator.apache.org>; Thu,  2 Jun 2016 08:46:54 +0000 (UTC)
Received: (qmail 80148 invoked by uid 99); 2 Jun 2016 08:46:53 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 08:46:53 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 6E7C9DFE65; Thu,  2 Jun 2016 08:46:53 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <4c3878b195274d7c9cb8ae902ae495fd@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail-site git commit: tweak banner
Date: Thu,  2 Jun 2016 08:46:53 +0000 (UTC)
archived-at: Thu, 02 Jun 2016 08:46:58 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site beb3b61ad -> fe496618f


tweak banner


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/fe496618
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/fe496618
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/fe496618

Branch: refs/heads/asf-site
Commit: fe496618ff46f397478eca83beb85051092f4dbe
Parents: beb3b61
Author: humbedooh <humbedooh@apache.org>
Authored: Thu Jun 2 10:46:34 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Thu Jun 2 10:46:34 2016 +0200

----------------------------------------------------------------------
 content/images/devme.png | Bin 15715 -> 19584 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/fe496618/content/images/devme.png
----------------------------------------------------------------------
diff --git a/content/images/devme.png b/content/images/devme.png
index ffb9502..c193386 100644
Binary files a/content/images/devme.png and b/content/images/devme.png differ


From commits-return-115-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Thu Jun 02 08:58:41 2016
Return-Path: <commits-return-115-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 9D685200AF5
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Thu,  2 Jun 2016 10:58:41 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 9C83A160A3E; Thu,  2 Jun 2016 08:58:41 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id E2AC3160A3A
	for <archive-asf-public@cust-asf.ponee.io>; Thu,  2 Jun 2016 10:58:40 +0200 (CEST)
Received: (qmail 16243 invoked by uid 500); 2 Jun 2016 08:58:40 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 16234 invoked by uid 99); 2 Jun 2016 08:58:40 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 08:58:40 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 8B390C0DD8
	for <commits@ponymail.apache.org>; Thu,  2 Jun 2016 08:58:39 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx2-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024)
	with ESMTP id Lcp0UcSb0TWH for <commits@ponymail.apache.org>;
	Thu,  2 Jun 2016 08:58:37 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx2-lw-us.apache.org (ASF Mail Server at mx2-lw-us.apache.org) with SMTP id 698425F247
	for <commits@ponymail.incubator.apache.org>; Thu,  2 Jun 2016 08:58:37 +0000 (UTC)
Received: (qmail 16230 invoked by uid 99); 2 Jun 2016 08:58:36 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 08:58:36 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id B5774DFE65; Thu,  2 Jun 2016 08:58:36 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <d049605e80a448298319469fd36c818d@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail-site git commit: mention security@a.o address
Date: Thu,  2 Jun 2016 08:58:36 +0000 (UTC)
archived-at: Thu, 02 Jun 2016 08:58:41 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site fe496618f -> 0fe052eda


mention security@a.o address


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/0fe052ed
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/0fe052ed
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/0fe052ed

Branch: refs/heads/asf-site
Commit: 0fe052eda4f1c98e0fd24eeb095a076be8f6ace9
Parents: fe49661
Author: humbedooh <humbedooh@apache.org>
Authored: Thu Jun 2 10:58:23 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Thu Jun 2 10:58:23 2016 +0200

----------------------------------------------------------------------
 content/support.html       | 1 +
 source/markdown/support.md | 4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/0fe052ed/content/support.html
----------------------------------------------------------------------
diff --git a/content/support.html b/content/support.html
index 864d642..fca3b39 100644
--- a/content/support.html
+++ b/content/support.html
@@ -68,6 +68,7 @@
 </table>
 
 <p>We are also on IRC, if you fancy a quick chat. You can find us in #PonyMail on Freenode.</p>
+<p>Security issues and inquiries should be sent to: security@apache.org</p>
 <h4><a id="disclaimer"></a>Disclaimer</h4>
 <p style="font-size: 8pt; line-height: 12pt;">
     <a href="https://incubator.apache.org"><img src="/images/podling.svg" align="right" width="220px"/></a>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/0fe052ed/source/markdown/support.md
----------------------------------------------------------------------
diff --git a/source/markdown/support.md b/source/markdown/support.md
index ce4bf75..a007d7d 100644
--- a/source/markdown/support.md
+++ b/source/markdown/support.md
@@ -34,4 +34,6 @@ Our primary communication interface is - you guessed it - mailing lists!<br/>
     </tr>
 </table>
 
-We are also on IRC, if you fancy a quick chat. You can find us in #PonyMail on Freenode.
\ No newline at end of file
+We are also on IRC, if you fancy a quick chat. You can find us in #PonyMail on Freenode.
+
+Security issues and inquiries should be sent to: security@apache.org


From commits-return-116-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Thu Jun 02 09:12:55 2016
Return-Path: <commits-return-116-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 14C86200AF5
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Thu,  2 Jun 2016 11:12:55 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 13CC9160A3E; Thu,  2 Jun 2016 09:12:55 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id DDE5B160A3A
	for <archive-asf-public@cust-asf.ponee.io>; Thu,  2 Jun 2016 11:12:53 +0200 (CEST)
Received: (qmail 36743 invoked by uid 500); 2 Jun 2016 09:12:53 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 36734 invoked by uid 99); 2 Jun 2016 09:12:53 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 09:12:53 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 99B7D1A06F3
	for <commits@ponymail.apache.org>; Thu,  2 Jun 2016 09:12:52 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024)
	with ESMTP id CLGHsrDIoDgc for <commits@ponymail.apache.org>;
	Thu,  2 Jun 2016 09:12:49 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with SMTP id A14C15FB21
	for <commits@ponymail.incubator.apache.org>; Thu,  2 Jun 2016 09:12:48 +0000 (UTC)
Received: (qmail 36719 invoked by uid 99); 2 Jun 2016 09:12:47 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 09:12:47 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 3D092DFE65; Thu,  2 Jun 2016 09:12:47 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <cf1ce3cd0f1d44fe8cfd9bc949a6ca8a@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail-site git commit: tweeeeak banner
Date: Thu,  2 Jun 2016 09:12:47 +0000 (UTC)
archived-at: Thu, 02 Jun 2016 09:12:55 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site 0fe052eda -> 57f557d42


tweeeeak banner


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/57f557d4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/57f557d4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/57f557d4

Branch: refs/heads/asf-site
Commit: 57f557d428edf2b09a08862c824798e5eb458e03
Parents: 0fe052e
Author: humbedooh <humbedooh@apache.org>
Authored: Thu Jun 2 11:12:36 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Thu Jun 2 11:12:36 2016 +0200

----------------------------------------------------------------------
 content/about.html               |   2 +-
 content/contribute.html          |   2 +-
 content/docs.html                |   2 +-
 content/docs/api.html            |   2 +-
 content/docs/archiving.html      |   2 +-
 content/docs/building.html       |   2 +-
 content/docs/contributing.html   |   2 +-
 content/docs/importing.html      |   2 +-
 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     |   2 +-
 content/downloads.html           |   2 +-
 content/images/devme.png         | Bin 19584 -> 20321 bytes
 content/index.html               |   2 +-
 content/source.html              |   2 +-
 content/support.html             |   2 +-
 source/template.html             |   2 +-
 19 files changed, 18 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/57f557d4/content/about.html
----------------------------------------------------------------------
diff --git a/content/about.html b/content/about.html
index 2118bf9..9885f41 100644
--- a/content/about.html
+++ b/content/about.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/57f557d4/content/contribute.html
----------------------------------------------------------------------
diff --git a/content/contribute.html b/content/contribute.html
index fb30364..cc7a9e7 100644
--- a/content/contribute.html
+++ b/content/contribute.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/57f557d4/content/docs.html
----------------------------------------------------------------------
diff --git a/content/docs.html b/content/docs.html
index 74b2090..1020f6d 100644
--- a/content/docs.html
+++ b/content/docs.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/57f557d4/content/docs/api.html
----------------------------------------------------------------------
diff --git a/content/docs/api.html b/content/docs/api.html
index 50ca4e8..c69d85d 100644
--- a/content/docs/api.html
+++ b/content/docs/api.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/57f557d4/content/docs/archiving.html
----------------------------------------------------------------------
diff --git a/content/docs/archiving.html b/content/docs/archiving.html
index fefb811..c935f60 100644
--- a/content/docs/archiving.html
+++ b/content/docs/archiving.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/57f557d4/content/docs/building.html
----------------------------------------------------------------------
diff --git a/content/docs/building.html b/content/docs/building.html
index 6f8e4a8..a2043df 100644
--- a/content/docs/building.html
+++ b/content/docs/building.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/57f557d4/content/docs/contributing.html
----------------------------------------------------------------------
diff --git a/content/docs/contributing.html b/content/docs/contributing.html
index fdb548f..116b468 100644
--- a/content/docs/contributing.html
+++ b/content/docs/contributing.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/57f557d4/content/docs/importing.html
----------------------------------------------------------------------
diff --git a/content/docs/importing.html b/content/docs/importing.html
index 72a1fbf..60d5f53 100644
--- a/content/docs/importing.html
+++ b/content/docs/importing.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/57f557d4/content/docs/install.centos.html
----------------------------------------------------------------------
diff --git a/content/docs/install.centos.html b/content/docs/install.centos.html
index 72be64a..89f2dd0 100644
--- a/content/docs/install.centos.html
+++ b/content/docs/install.centos.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/57f557d4/content/docs/install.debian.html
----------------------------------------------------------------------
diff --git a/content/docs/install.debian.html b/content/docs/install.debian.html
index bd1da3f..75d0f21 100644
--- a/content/docs/install.debian.html
+++ b/content/docs/install.debian.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/57f557d4/content/docs/install.fedora.html
----------------------------------------------------------------------
diff --git a/content/docs/install.fedora.html b/content/docs/install.fedora.html
index 72272fd..6b86bdb 100644
--- a/content/docs/install.fedora.html
+++ b/content/docs/install.fedora.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/57f557d4/content/docs/install.ubuntu.html
----------------------------------------------------------------------
diff --git a/content/docs/install.ubuntu.html b/content/docs/install.ubuntu.html
index cd6ac6b..846077e 100644
--- a/content/docs/install.ubuntu.html
+++ b/content/docs/install.ubuntu.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/57f557d4/content/docs/installing.html
----------------------------------------------------------------------
diff --git a/content/docs/installing.html b/content/docs/installing.html
index 0c21712..1b29359 100644
--- a/content/docs/installing.html
+++ b/content/docs/installing.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/57f557d4/content/downloads.html
----------------------------------------------------------------------
diff --git a/content/downloads.html b/content/downloads.html
index 6ea0f80..2acdb9e 100644
--- a/content/downloads.html
+++ b/content/downloads.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/57f557d4/content/images/devme.png
----------------------------------------------------------------------
diff --git a/content/images/devme.png b/content/images/devme.png
index c193386..a93a39b 100644
Binary files a/content/images/devme.png and b/content/images/devme.png differ

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/57f557d4/content/index.html
----------------------------------------------------------------------
diff --git a/content/index.html b/content/index.html
index 471dddd..79350a5 100644
--- a/content/index.html
+++ b/content/index.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/57f557d4/content/source.html
----------------------------------------------------------------------
diff --git a/content/source.html b/content/source.html
index c20ae5c..2e22946 100644
--- a/content/source.html
+++ b/content/source.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/57f557d4/content/support.html
----------------------------------------------------------------------
diff --git a/content/support.html b/content/support.html
index fca3b39..4d9baab 100644
--- a/content/support.html
+++ b/content/support.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/57f557d4/source/template.html
----------------------------------------------------------------------
diff --git a/source/template.html b/source/template.html
index ad12a68..1bbec50 100644
--- a/source/template.html
+++ b/source/template.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 140px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
     <div id="menubar">
         <ul>


From commits-return-117-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Thu Jun 02 09:41:12 2016
Return-Path: <commits-return-117-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id DB1CF200AF5
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Thu,  2 Jun 2016 11:41:12 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id DA127160A3E; Thu,  2 Jun 2016 09:41:12 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 2FC12160A3A
	for <archive-asf-public@cust-asf.ponee.io>; Thu,  2 Jun 2016 11:41:12 +0200 (CEST)
Received: (qmail 95792 invoked by uid 500); 2 Jun 2016 09:41:11 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 95783 invoked by uid 99); 2 Jun 2016 09:41:11 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 09:41:11 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 04C25180589
	for <commits@ponymail.apache.org>; Thu,  2 Jun 2016 09:41:11 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024)
	with ESMTP id w-a5-5CSZbRL for <commits@ponymail.apache.org>;
	Thu,  2 Jun 2016 09:41:09 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id BDC175F3F2
	for <commits@ponymail.incubator.apache.org>; Thu,  2 Jun 2016 09:41:08 +0000 (UTC)
Received: (qmail 95773 invoked by uid 99); 2 Jun 2016 09:41:07 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 09:41:07 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 9C68DDFE65; Thu,  2 Jun 2016 09:41:07 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <51f3d5ae18e947f798e452b1ef25a5df@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail git commit: show TZ offset when viewing an email
Date: Thu,  2 Jun 2016 09:41:07 +0000 (UTC)
archived-at: Thu, 02 Jun 2016 09:41:13 -0000

Repository: incubator-ponymail
Updated Branches:
  refs/heads/master 5a329fc1b -> 0fc38e9e7


show TZ offset when viewing an email

This addresses #61 and #62


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

Branch: refs/heads/master
Commit: 0fc38e9e724085565991ee9580cca2624497b564
Parents: 5a329fc
Author: humbedooh <humbedooh@apache.org>
Authored: Thu Jun 2 11:40:51 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Thu Jun 2 11:40:51 2016 +0200

----------------------------------------------------------------------
 site/js/dev/ponymail_email_displays.js |  2 +-
 site/js/dev/ponymail_email_tools.js    | 18 ++++++++++++++++--
 site/js/ponymail.js                    | 20 +++++++++++++++++---
 3 files changed, 34 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/0fc38e9e/site/js/dev/ponymail_email_displays.js
----------------------------------------------------------------------
diff --git a/site/js/dev/ponymail_email_displays.js b/site/js/dev/ponymail_email_displays.js
index a8a811c..1897d91 100644
--- a/site/js/dev/ponymail_email_displays.js
+++ b/site/js/dev/ponymail_email_displays.js
@@ -68,7 +68,7 @@ function displayEmail(json, id, level) {
     var id_sanitised = id.toString().replace(/@<.+>/, "")
     var thread = document.getElementById('thread_' + id_sanitised)
     if (thread) {
-        json.date = formatDate(new Date(json.epoch*1000))
+        json.date = formatDate(new Date(json.epoch*1000), true)
         // transform <foo.bar.tld> to foo@bar.tld
         var lid = json.list.replace(/[<>]/g, "").replace(/^([^.]+)\./, "$1@")
         

http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/0fc38e9e/site/js/dev/ponymail_email_tools.js
----------------------------------------------------------------------
diff --git a/site/js/dev/ponymail_email_tools.js b/site/js/dev/ponymail_email_tools.js
index e60fdef..3eca113 100644
--- a/site/js/dev/ponymail_email_tools.js
+++ b/site/js/dev/ponymail_email_tools.js
@@ -191,12 +191,26 @@ Number.prototype.pad = function(size) {
 
 
 // formatDate: Return a date as YYYY-MM-DD HH:mm
-function formatDate(date){
+function formatDate(date, dtz){
+    tz = new Date().getTimezoneOffset()
+    ttz = 0
+    var plus = "+"
+    if (tz < 0) {
+        plus = "-"
+        tz = Math.abs(tz)
+    }
+    while (tz >= 60) {
+        tz--;
+        ttz++
+    }
+    ttz = (ttz*100) + tz
+    while (ttz.length < 4) ttz = "0" + ttz
     return (date.getFullYear() + "-" +
         (date.getMonth()+1).pad(2) + "-" +
         date.getDate().pad(2) + " " +
         date.getHours().pad(2) + ":" +
-        date.getMinutes().pad(2))        
+        date.getMinutes().pad(2)) +
+        (dtz ? "(" + plus + ttz + ")" : "")
 }
 
 

http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/0fc38e9e/site/js/ponymail.js
----------------------------------------------------------------------
diff --git a/site/js/ponymail.js b/site/js/ponymail.js
index 8bfb63c..3b83af8 100644
--- a/site/js/ponymail.js
+++ b/site/js/ponymail.js
@@ -1396,7 +1396,7 @@ function displayEmail(json, id, level) {
     var id_sanitised = id.toString().replace(/@<.+>/, "")
     var thread = document.getElementById('thread_' + id_sanitised)
     if (thread) {
-        json.date = formatDate(new Date(json.epoch*1000))
+        json.date = formatDate(new Date(json.epoch*1000), true)
         // transform <foo.bar.tld> to foo@bar.tld
         var lid = json.list.replace(/[<>]/g, "").replace(/^([^.]+)\./, "$1@")
         
@@ -2033,12 +2033,26 @@ Number.prototype.pad = function(size) {
 
 
 // formatDate: Return a date as YYYY-MM-DD HH:mm
-function formatDate(date){
+function formatDate(date, dtz){
+    tz = new Date().getTimezoneOffset()
+    ttz = 0
+    var plus = "+"
+    if (tz < 0) {
+        plus = "-"
+        tz = Math.abs(tz)
+    }
+    while (tz >= 60) {
+        tz--;
+        ttz++
+    }
+    ttz = (ttz*100) + tz
+    while (ttz.length < 4) ttz = "0" + ttz
     return (date.getFullYear() + "-" +
         (date.getMonth()+1).pad(2) + "-" +
         date.getDate().pad(2) + " " +
         date.getHours().pad(2) + ":" +
-        date.getMinutes().pad(2))        
+        date.getMinutes().pad(2)) +
+        (dtz ? "(" + plus + ttz + ")" : "")
 }
 
 


From commits-return-118-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Thu Jun 02 09:42:52 2016
Return-Path: <commits-return-118-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id B7284200AF5
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Thu,  2 Jun 2016 11:42:52 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id B2D23160A3E; Thu,  2 Jun 2016 09:42:52 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 069D1160A3A
	for <archive-asf-public@cust-asf.ponee.io>; Thu,  2 Jun 2016 11:42:51 +0200 (CEST)
Received: (qmail 1641 invoked by uid 500); 2 Jun 2016 09:42:51 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 1626 invoked by uid 99); 2 Jun 2016 09:42:51 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 09:42:51 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id B8FF8C0B2A
	for <commits@ponymail.apache.org>; Thu,  2 Jun 2016 09:42:50 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx2-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024)
	with ESMTP id LzNGnxBwvv9P for <commits@ponymail.apache.org>;
	Thu,  2 Jun 2016 09:42:50 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx2-lw-eu.apache.org (ASF Mail Server at mx2-lw-eu.apache.org) with SMTP id 5D7A95FAC3
	for <commits@ponymail.incubator.apache.org>; Thu,  2 Jun 2016 09:42:49 +0000 (UTC)
Received: (qmail 1610 invoked by uid 99); 2 Jun 2016 09:42:48 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 09:42:48 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 4FC36DFE65; Thu,  2 Jun 2016 09:42:48 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <a2548650008641668a1330fca8282d00@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail git commit: fix math
Date: Thu,  2 Jun 2016 09:42:48 +0000 (UTC)
archived-at: Thu, 02 Jun 2016 09:42:52 -0000

Repository: incubator-ponymail
Updated Branches:
  refs/heads/master 0fc38e9e7 -> 313774350


fix math


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

Branch: refs/heads/master
Commit: 313774350af429b3adb6118119d188ec652124e4
Parents: 0fc38e9
Author: humbedooh <humbedooh@apache.org>
Authored: Thu Jun 2 11:42:33 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Thu Jun 2 11:42:33 2016 +0200

----------------------------------------------------------------------
 site/js/dev/ponymail_email_tools.js | 2 +-
 site/js/ponymail.js                 | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/31377435/site/js/dev/ponymail_email_tools.js
----------------------------------------------------------------------
diff --git a/site/js/dev/ponymail_email_tools.js b/site/js/dev/ponymail_email_tools.js
index 3eca113..30da2ef 100644
--- a/site/js/dev/ponymail_email_tools.js
+++ b/site/js/dev/ponymail_email_tools.js
@@ -200,7 +200,7 @@ function formatDate(date, dtz){
         tz = Math.abs(tz)
     }
     while (tz >= 60) {
-        tz--;
+        tz-= 60;
         ttz++
     }
     ttz = (ttz*100) + tz

http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/31377435/site/js/ponymail.js
----------------------------------------------------------------------
diff --git a/site/js/ponymail.js b/site/js/ponymail.js
index 3b83af8..bcd43bd 100644
--- a/site/js/ponymail.js
+++ b/site/js/ponymail.js
@@ -2042,7 +2042,7 @@ function formatDate(date, dtz){
         tz = Math.abs(tz)
     }
     while (tz >= 60) {
-        tz--;
+        tz-= 60;
         ttz++
     }
     ttz = (ttz*100) + tz


From commits-return-119-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Thu Jun 02 09:44:33 2016
Return-Path: <commits-return-119-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id AE5A0200AF5
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Thu,  2 Jun 2016 11:44:33 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id AD498160A3E; Thu,  2 Jun 2016 09:44:33 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 002D1160A3A
	for <archive-asf-public@cust-asf.ponee.io>; Thu,  2 Jun 2016 11:44:32 +0200 (CEST)
Received: (qmail 3762 invoked by uid 500); 2 Jun 2016 09:44:32 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 3753 invoked by uid 99); 2 Jun 2016 09:44:32 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 09:44:32 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 9E6A51A12F0
	for <commits@ponymail.apache.org>; Thu,  2 Jun 2016 09:44:31 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx2-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024)
	with ESMTP id PblgTewhDPzF for <commits@ponymail.apache.org>;
	Thu,  2 Jun 2016 09:44:30 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx2-lw-us.apache.org (ASF Mail Server at mx2-lw-us.apache.org) with SMTP id 531CD5F247
	for <commits@ponymail.incubator.apache.org>; Thu,  2 Jun 2016 09:44:30 +0000 (UTC)
Received: (qmail 3748 invoked by uid 99); 2 Jun 2016 09:44:29 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 09:44:29 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 992DCDFE65; Thu,  2 Jun 2016 09:44:29 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <c856c3e3e8f9491faa04c7c7dc1a034f@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail git commit: fix zero padding
Date: Thu,  2 Jun 2016 09:44:29 +0000 (UTC)
archived-at: Thu, 02 Jun 2016 09:44:33 -0000

Repository: incubator-ponymail
Updated Branches:
  refs/heads/master 313774350 -> 0f086ce40


fix zero padding


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

Branch: refs/heads/master
Commit: 0f086ce409bb5696cda039154037f048e40c479c
Parents: 3137743
Author: humbedooh <humbedooh@apache.org>
Authored: Thu Jun 2 11:44:16 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Thu Jun 2 11:44:16 2016 +0200

----------------------------------------------------------------------
 site/js/dev/ponymail_email_tools.js | 2 +-
 site/js/ponymail.js                 | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/0f086ce4/site/js/dev/ponymail_email_tools.js
----------------------------------------------------------------------
diff --git a/site/js/dev/ponymail_email_tools.js b/site/js/dev/ponymail_email_tools.js
index 30da2ef..1d2b4cd 100644
--- a/site/js/dev/ponymail_email_tools.js
+++ b/site/js/dev/ponymail_email_tools.js
@@ -204,7 +204,7 @@ function formatDate(date, dtz){
         ttz++
     }
     ttz = (ttz*100) + tz
-    while (ttz.length < 4) ttz = "0" + ttz
+    while (String(ttz).length < 4) ttz = "0" + String(ttz)
     return (date.getFullYear() + "-" +
         (date.getMonth()+1).pad(2) + "-" +
         date.getDate().pad(2) + " " +

http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/0f086ce4/site/js/ponymail.js
----------------------------------------------------------------------
diff --git a/site/js/ponymail.js b/site/js/ponymail.js
index bcd43bd..3ab4774 100644
--- a/site/js/ponymail.js
+++ b/site/js/ponymail.js
@@ -2046,7 +2046,7 @@ function formatDate(date, dtz){
         ttz++
     }
     ttz = (ttz*100) + tz
-    while (ttz.length < 4) ttz = "0" + ttz
+    while (String(ttz).length < 4) ttz = "0" + String(ttz)
     return (date.getFullYear() + "-" +
         (date.getMonth()+1).pad(2) + "-" +
         date.getDate().pad(2) + " " +


From commits-return-120-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Thu Jun 02 09:46:27 2016
Return-Path: <commits-return-120-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 17F23200AF5
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Thu,  2 Jun 2016 11:46:27 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 153FA160A3F; Thu,  2 Jun 2016 09:46:27 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 5C955160A3B
	for <archive-asf-public@cust-asf.ponee.io>; Thu,  2 Jun 2016 11:46:26 +0200 (CEST)
Received: (qmail 6579 invoked by uid 500); 2 Jun 2016 09:46:25 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 6570 invoked by uid 99); 2 Jun 2016 09:46:25 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 09:46:25 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 31A5D1A12FF
	for <commits@ponymail.apache.org>; Thu,  2 Jun 2016 09:46:25 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx2-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024)
	with ESMTP id K198fgc7tgWK for <commits@ponymail.apache.org>;
	Thu,  2 Jun 2016 09:46:24 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx2-lw-us.apache.org (ASF Mail Server at mx2-lw-us.apache.org) with SMTP id 1B6995F4E4
	for <commits@ponymail.incubator.apache.org>; Thu,  2 Jun 2016 09:46:24 +0000 (UTC)
Received: (qmail 6561 invoked by uid 99); 2 Jun 2016 09:46:23 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 09:46:23 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 6108EDFE65; Thu,  2 Jun 2016 09:46:23 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <cf95d7066c1247ce9f087ad9b044e3a5@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail git commit: add whitespace to TZ offset
Date: Thu,  2 Jun 2016 09:46:23 +0000 (UTC)
archived-at: Thu, 02 Jun 2016 09:46:27 -0000

Repository: incubator-ponymail
Updated Branches:
  refs/heads/master 0f086ce40 -> 91eceda12


add whitespace to TZ offset


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

Branch: refs/heads/master
Commit: 91eceda12386298021b63303753d39193ba63266
Parents: 0f086ce
Author: humbedooh <humbedooh@apache.org>
Authored: Thu Jun 2 11:46:13 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Thu Jun 2 11:46:13 2016 +0200

----------------------------------------------------------------------
 site/js/dev/ponymail_email_tools.js | 2 +-
 site/js/ponymail.js                 | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/91eceda1/site/js/dev/ponymail_email_tools.js
----------------------------------------------------------------------
diff --git a/site/js/dev/ponymail_email_tools.js b/site/js/dev/ponymail_email_tools.js
index 1d2b4cd..da91533 100644
--- a/site/js/dev/ponymail_email_tools.js
+++ b/site/js/dev/ponymail_email_tools.js
@@ -210,7 +210,7 @@ function formatDate(date, dtz){
         date.getDate().pad(2) + " " +
         date.getHours().pad(2) + ":" +
         date.getMinutes().pad(2)) +
-        (dtz ? "(" + plus + ttz + ")" : "")
+        (dtz ? " (" + plus + ttz + ")" : "")
 }
 
 

http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/91eceda1/site/js/ponymail.js
----------------------------------------------------------------------
diff --git a/site/js/ponymail.js b/site/js/ponymail.js
index 3ab4774..5b33a91 100644
--- a/site/js/ponymail.js
+++ b/site/js/ponymail.js
@@ -2052,7 +2052,7 @@ function formatDate(date, dtz){
         date.getDate().pad(2) + " " +
         date.getHours().pad(2) + ":" +
         date.getMinutes().pad(2)) +
-        (dtz ? "(" + plus + ttz + ")" : "")
+        (dtz ? " (" + plus + ttz + ")" : "")
 }
 
 


From commits-return-121-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Thu Jun 02 14:51:16 2016
Return-Path: <commits-return-121-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id C1EC7200AF5
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Thu,  2 Jun 2016 16:51:16 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id C05AC160A3F; Thu,  2 Jun 2016 14:51:16 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 12E6016098A
	for <archive-asf-public@cust-asf.ponee.io>; Thu,  2 Jun 2016 16:51:15 +0200 (CEST)
Received: (qmail 26937 invoked by uid 500); 2 Jun 2016 14:51:15 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 26928 invoked by uid 99); 2 Jun 2016 14:51:15 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 14:51:15 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id B999F1A078E
	for <commits@ponymail.apache.org>; Thu,  2 Jun 2016 14:51:14 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024)
	with ESMTP id xZcxQcfVITj2 for <commits@ponymail.apache.org>;
	Thu,  2 Jun 2016 14:51:14 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id 0FC6B5F4E3
	for <commits@ponymail.incubator.apache.org>; Thu,  2 Jun 2016 14:51:12 +0000 (UTC)
Received: (qmail 26915 invoked by uid 99); 2 Jun 2016 14:51:12 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 14:51:12 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 201D6DFE65; Thu,  2 Jun 2016 14:51:12 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <f01f4f45689c47f0824410209392c861@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail git commit: reverse tz offset
Date: Thu,  2 Jun 2016 14:51:12 +0000 (UTC)
archived-at: Thu, 02 Jun 2016 14:51:16 -0000

Repository: incubator-ponymail
Updated Branches:
  refs/heads/master 91eceda12 -> 19da4b5dd


reverse tz offset


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

Branch: refs/heads/master
Commit: 19da4b5dda8362c660441cdbfa3d3732dd77478e
Parents: 91eceda
Author: humbedooh <humbedooh@apache.org>
Authored: Thu Jun 2 16:50:59 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Thu Jun 2 16:50:59 2016 +0200

----------------------------------------------------------------------
 site/js/dev/ponymail_email_tools.js | 4 ++--
 site/js/ponymail.js                 | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/19da4b5d/site/js/dev/ponymail_email_tools.js
----------------------------------------------------------------------
diff --git a/site/js/dev/ponymail_email_tools.js b/site/js/dev/ponymail_email_tools.js
index da91533..4e00dd6 100644
--- a/site/js/dev/ponymail_email_tools.js
+++ b/site/js/dev/ponymail_email_tools.js
@@ -194,9 +194,9 @@ Number.prototype.pad = function(size) {
 function formatDate(date, dtz){
     tz = new Date().getTimezoneOffset()
     ttz = 0
-    var plus = "+"
+    var plus = "-"
     if (tz < 0) {
-        plus = "-"
+        plus = ""
         tz = Math.abs(tz)
     }
     while (tz >= 60) {

http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/19da4b5d/site/js/ponymail.js
----------------------------------------------------------------------
diff --git a/site/js/ponymail.js b/site/js/ponymail.js
index 5b33a91..a053e88 100644
--- a/site/js/ponymail.js
+++ b/site/js/ponymail.js
@@ -2036,9 +2036,9 @@ Number.prototype.pad = function(size) {
 function formatDate(date, dtz){
     tz = new Date().getTimezoneOffset()
     ttz = 0
-    var plus = "+"
+    var plus = "-"
     if (tz < 0) {
-        plus = "-"
+        plus = ""
         tz = Math.abs(tz)
     }
     while (tz >= 60) {


From commits-return-122-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Thu Jun 02 14:53:42 2016
Return-Path: <commits-return-122-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 1CCC2200AF5
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Thu,  2 Jun 2016 16:53:42 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 19ACB160A50; Thu,  2 Jun 2016 14:53:42 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 60629160A22
	for <archive-asf-public@cust-asf.ponee.io>; Thu,  2 Jun 2016 16:53:41 +0200 (CEST)
Received: (qmail 33410 invoked by uid 500); 2 Jun 2016 14:53:40 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 33401 invoked by uid 99); 2 Jun 2016 14:53:40 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 14:53:40 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 3DC63C06CD
	for <commits@ponymail.apache.org>; Thu,  2 Jun 2016 14:53:40 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx2-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024)
	with ESMTP id 1L3iQv8aJFBL for <commits@ponymail.apache.org>;
	Thu,  2 Jun 2016 14:53:39 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx2-lw-eu.apache.org (ASF Mail Server at mx2-lw-eu.apache.org) with SMTP id C43E65F368
	for <commits@ponymail.incubator.apache.org>; Thu,  2 Jun 2016 14:53:38 +0000 (UTC)
Received: (qmail 33379 invoked by uid 99); 2 Jun 2016 14:53:37 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 14:53:37 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id A5695DFE65; Thu,  2 Jun 2016 14:53:37 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <bc061bab66564794ab2d2effc186b53e@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail git commit: forgot a +!
Date: Thu,  2 Jun 2016 14:53:37 +0000 (UTC)
archived-at: Thu, 02 Jun 2016 14:53:42 -0000

Repository: incubator-ponymail
Updated Branches:
  refs/heads/master 19da4b5dd -> 93c781f5a


forgot a +!


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

Branch: refs/heads/master
Commit: 93c781f5a46ecb5a76d2bcb8c498b6e80dc146f3
Parents: 19da4b5
Author: humbedooh <humbedooh@apache.org>
Authored: Thu Jun 2 16:53:26 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Thu Jun 2 16:53:26 2016 +0200

----------------------------------------------------------------------
 site/js/dev/ponymail_email_tools.js | 2 +-
 site/js/ponymail.js                 | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/93c781f5/site/js/dev/ponymail_email_tools.js
----------------------------------------------------------------------
diff --git a/site/js/dev/ponymail_email_tools.js b/site/js/dev/ponymail_email_tools.js
index 4e00dd6..6a177c1 100644
--- a/site/js/dev/ponymail_email_tools.js
+++ b/site/js/dev/ponymail_email_tools.js
@@ -196,7 +196,7 @@ function formatDate(date, dtz){
     ttz = 0
     var plus = "-"
     if (tz < 0) {
-        plus = ""
+        plus = "+"
         tz = Math.abs(tz)
     }
     while (tz >= 60) {

http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/93c781f5/site/js/ponymail.js
----------------------------------------------------------------------
diff --git a/site/js/ponymail.js b/site/js/ponymail.js
index a053e88..389db0c 100644
--- a/site/js/ponymail.js
+++ b/site/js/ponymail.js
@@ -2038,7 +2038,7 @@ function formatDate(date, dtz){
     ttz = 0
     var plus = "-"
     if (tz < 0) {
-        plus = ""
+        plus = "+"
         tz = Math.abs(tz)
     }
     while (tz >= 60) {


From commits-return-123-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Thu Jun 02 20:59:03 2016
Return-Path: <commits-return-123-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 7E507200AF5
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Thu,  2 Jun 2016 22:59:03 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 7CE1A160A51; Thu,  2 Jun 2016 20:59:03 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 53BC8160A3E
	for <archive-asf-public@cust-asf.ponee.io>; Thu,  2 Jun 2016 22:59:02 +0200 (CEST)
Received: (qmail 63888 invoked by uid 500); 2 Jun 2016 20:59:01 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 63879 invoked by uid 99); 2 Jun 2016 20:59:01 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 20:59:01 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 26B0F1800A4
	for <commits@ponymail.apache.org>; Thu,  2 Jun 2016 20:59:01 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx2-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024)
	with ESMTP id mkhOm06MspWO for <commits@ponymail.apache.org>;
	Thu,  2 Jun 2016 20:58:58 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx2-lw-us.apache.org (ASF Mail Server at mx2-lw-us.apache.org) with SMTP id 747415F470
	for <commits@ponymail.incubator.apache.org>; Thu,  2 Jun 2016 20:58:57 +0000 (UTC)
Received: (qmail 63379 invoked by uid 99); 2 Jun 2016 20:58:56 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jun 2016 20:58:56 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 68B16DFE65; Thu,  2 Jun 2016 20:58:56 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <fc6e9eb250ac44e6afc36480ef29f876@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail-site git commit: tm!
Date: Thu,  2 Jun 2016 20:58:56 +0000 (UTC)
archived-at: Thu, 02 Jun 2016 20:59:03 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site 57f557d42 -> 2253548ae


tm!


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/2253548a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/2253548a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/2253548a

Branch: refs/heads/asf-site
Commit: 2253548ae8df11b8b6a4aff5d2ce23e5bd7e11e7
Parents: 57f557d
Author: humbedooh <humbedooh@apache.org>
Authored: Thu Jun 2 22:58:41 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Thu Jun 2 22:58:41 2016 +0200

----------------------------------------------------------------------
 content/about.html               | 2 +-
 content/contribute.html          | 2 +-
 content/docs.html                | 2 +-
 content/docs/api.html            | 2 +-
 content/docs/archiving.html      | 2 +-
 content/docs/building.html       | 2 +-
 content/docs/contributing.html   | 2 +-
 content/docs/importing.html      | 2 +-
 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     | 2 +-
 content/downloads.html           | 2 +-
 content/index.html               | 2 +-
 content/source.html              | 2 +-
 content/support.html             | 2 +-
 source/template.html             | 2 +-
 18 files changed, 18 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2253548a/content/about.html
----------------------------------------------------------------------
diff --git a/content/about.html b/content/about.html
index 9885f41..63e0c71 100644
--- a/content/about.html
+++ b/content/about.html
@@ -21,7 +21,7 @@
 </head><body>
 <div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2253548a/content/contribute.html
----------------------------------------------------------------------
diff --git a/content/contribute.html b/content/contribute.html
index cc7a9e7..f4ddb5f 100644
--- a/content/contribute.html
+++ b/content/contribute.html
@@ -21,7 +21,7 @@
 </head><body>
 <div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2253548a/content/docs.html
----------------------------------------------------------------------
diff --git a/content/docs.html b/content/docs.html
index 1020f6d..494a771 100644
--- a/content/docs.html
+++ b/content/docs.html
@@ -21,7 +21,7 @@
 </head><body>
 <div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2253548a/content/docs/api.html
----------------------------------------------------------------------
diff --git a/content/docs/api.html b/content/docs/api.html
index c69d85d..0377812 100644
--- a/content/docs/api.html
+++ b/content/docs/api.html
@@ -21,7 +21,7 @@
 </head><body>
 <div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2253548a/content/docs/archiving.html
----------------------------------------------------------------------
diff --git a/content/docs/archiving.html b/content/docs/archiving.html
index c935f60..61ae9c9 100644
--- a/content/docs/archiving.html
+++ b/content/docs/archiving.html
@@ -21,7 +21,7 @@
 </head><body>
 <div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2253548a/content/docs/building.html
----------------------------------------------------------------------
diff --git a/content/docs/building.html b/content/docs/building.html
index a2043df..c2169b8 100644
--- a/content/docs/building.html
+++ b/content/docs/building.html
@@ -21,7 +21,7 @@
 </head><body>
 <div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2253548a/content/docs/contributing.html
----------------------------------------------------------------------
diff --git a/content/docs/contributing.html b/content/docs/contributing.html
index 116b468..6972203 100644
--- a/content/docs/contributing.html
+++ b/content/docs/contributing.html
@@ -21,7 +21,7 @@
 </head><body>
 <div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2253548a/content/docs/importing.html
----------------------------------------------------------------------
diff --git a/content/docs/importing.html b/content/docs/importing.html
index 60d5f53..796b93d 100644
--- a/content/docs/importing.html
+++ b/content/docs/importing.html
@@ -21,7 +21,7 @@
 </head><body>
 <div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2253548a/content/docs/install.centos.html
----------------------------------------------------------------------
diff --git a/content/docs/install.centos.html b/content/docs/install.centos.html
index 89f2dd0..3bcffbb 100644
--- a/content/docs/install.centos.html
+++ b/content/docs/install.centos.html
@@ -21,7 +21,7 @@
 </head><body>
 <div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2253548a/content/docs/install.debian.html
----------------------------------------------------------------------
diff --git a/content/docs/install.debian.html b/content/docs/install.debian.html
index 75d0f21..55f7847 100644
--- a/content/docs/install.debian.html
+++ b/content/docs/install.debian.html
@@ -21,7 +21,7 @@
 </head><body>
 <div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2253548a/content/docs/install.fedora.html
----------------------------------------------------------------------
diff --git a/content/docs/install.fedora.html b/content/docs/install.fedora.html
index 6b86bdb..a39faae 100644
--- a/content/docs/install.fedora.html
+++ b/content/docs/install.fedora.html
@@ -21,7 +21,7 @@
 </head><body>
 <div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2253548a/content/docs/install.ubuntu.html
----------------------------------------------------------------------
diff --git a/content/docs/install.ubuntu.html b/content/docs/install.ubuntu.html
index 846077e..db3e9f9 100644
--- a/content/docs/install.ubuntu.html
+++ b/content/docs/install.ubuntu.html
@@ -21,7 +21,7 @@
 </head><body>
 <div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2253548a/content/docs/installing.html
----------------------------------------------------------------------
diff --git a/content/docs/installing.html b/content/docs/installing.html
index 1b29359..ef980dd 100644
--- a/content/docs/installing.html
+++ b/content/docs/installing.html
@@ -21,7 +21,7 @@
 </head><body>
 <div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2253548a/content/downloads.html
----------------------------------------------------------------------
diff --git a/content/downloads.html b/content/downloads.html
index 2acdb9e..4406775 100644
--- a/content/downloads.html
+++ b/content/downloads.html
@@ -21,7 +21,7 @@
 </head><body>
 <div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2253548a/content/index.html
----------------------------------------------------------------------
diff --git a/content/index.html b/content/index.html
index 79350a5..0df1878 100644
--- a/content/index.html
+++ b/content/index.html
@@ -21,7 +21,7 @@
 </head><body>
 <div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2253548a/content/source.html
----------------------------------------------------------------------
diff --git a/content/source.html b/content/source.html
index 2e22946..a1cd523 100644
--- a/content/source.html
+++ b/content/source.html
@@ -21,7 +21,7 @@
 </head><body>
 <div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2253548a/content/support.html
----------------------------------------------------------------------
diff --git a/content/support.html b/content/support.html
index 4d9baab..dc17856 100644
--- a/content/support.html
+++ b/content/support.html
@@ -21,7 +21,7 @@
 </head><body>
 <div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2253548a/source/template.html
----------------------------------------------------------------------
diff --git a/source/template.html b/source/template.html
index 1bbec50..6970a21 100644
--- a/source/template.html
+++ b/source/template.html
@@ -21,7 +21,7 @@
 </head><body>
 <div id="titlebar">
     <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
-    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail (Incubating)</a></h1>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
             <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>


From commits-return-124-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Fri Jun 03 14:38:56 2016
Return-Path: <commits-return-124-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 42EBF2009F8
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Fri,  3 Jun 2016 16:38:56 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 4187A160A2A; Fri,  3 Jun 2016 14:38:56 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 8EF24160A11
	for <archive-asf-public@cust-asf.ponee.io>; Fri,  3 Jun 2016 16:38:54 +0200 (CEST)
Received: (qmail 93125 invoked by uid 500); 3 Jun 2016 14:38:53 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 93116 invoked by uid 99); 3 Jun 2016 14:38:53 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Jun 2016 14:38:53 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 3F0C2C0D0F
	for <commits@ponymail.apache.org>; Fri,  3 Jun 2016 14:38:53 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024)
	with ESMTP id 7yR6LnTQn-ZI for <commits@ponymail.apache.org>;
	Fri,  3 Jun 2016 14:38:48 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with SMTP id A0E0C5F477
	for <commits@ponymail.incubator.apache.org>; Fri,  3 Jun 2016 14:38:47 +0000 (UTC)
Received: (qmail 93069 invoked by uid 99); 3 Jun 2016 14:38:47 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Jun 2016 14:38:47 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id EC5E3DFBA8; Fri,  3 Jun 2016 14:38:46 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <7466a7201d6344ba8969a9c0b18f7f83@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail git commit: try to determine whether
 (session|local)Storage is available
Date: Fri,  3 Jun 2016 14:38:46 +0000 (UTC)
archived-at: Fri, 03 Jun 2016 14:38:56 -0000

Repository: incubator-ponymail
Updated Branches:
  refs/heads/master 93c781f5a -> 22bc9b75d


try to determine whether (session|local)Storage is available

This fixes #65 (I certainly hope so) by first assessing whether
the storage objects are accessible, and if not, blocking use
of them.


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

Branch: refs/heads/master
Commit: 22bc9b75d0304dee1115bee94020620267437688
Parents: 93c781f
Author: humbedooh <humbedooh@apache.org>
Authored: Fri Jun 3 16:38:19 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Fri Jun 3 16:38:19 2016 +0200

----------------------------------------------------------------------
 site/js/dev/ponymail_assign_vars.js       |   9 +
 site/js/dev/ponymail_composer.js          |  69 +++---
 site/js/dev/ponymail_email_displays.js    | 122 +++++-----
 site/js/dev/ponymail_helperfuncs.js       |  27 ++-
 site/js/dev/ponymail_listview_flat.js     |   8 +-
 site/js/dev/ponymail_listview_threaded.js |  18 +-
 site/js/dev/ponymail_listview_tree.js     |  34 +--
 site/js/dev/ponymail_user_preferences.js  |  20 +-
 site/js/ponymail.js                       | 307 ++++++++++++++-----------
 9 files changed, 354 insertions(+), 260 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/22bc9b75/site/js/dev/ponymail_assign_vars.js
----------------------------------------------------------------------
diff --git a/site/js/dev/ponymail_assign_vars.js b/site/js/dev/ponymail_assign_vars.js
index 7fbf320..72ea4c4 100644
--- a/site/js/dev/ponymail_assign_vars.js
+++ b/site/js/dev/ponymail_assign_vars.js
@@ -59,7 +59,16 @@ var pending_urls = {} // URL list for GetAsync's support functions (such as the
 var pb_refresh = 0
 var treeview_guard = {}
 var mbox_month = null
+var storageAvailable = false
 
+try {
+    if (typeof(window.sessionStorage) !== "undefined") {
+        window.sessionStorage.setItem("pm_test", "1")
+        storageAvailable = true
+    }
+} catch(e) {
+    storageAvailable = false
+}
 // Links from viewmode to the function that handles them
 var viewModes = {
     threaded: {

http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/22bc9b75/site/js/dev/ponymail_composer.js
----------------------------------------------------------------------
diff --git a/site/js/dev/ponymail_composer.js b/site/js/dev/ponymail_composer.js
index c972b2b..c45f58c 100644
--- a/site/js/dev/ponymail_composer.js
+++ b/site/js/dev/ponymail_composer.js
@@ -20,22 +20,24 @@ function saveDraft() {
     // If the user was composing a new thread, let's save the contents (if any)
     // for next time
     if (document.getElementById('reply_body')) {
-        if (composeType == "new") {
-            if (typeof(window.sessionStorage) !== "undefined") {
-                window.sessionStorage.setItem("reply_body_" + xlist, document.getElementById('reply_body').value)
-                window.sessionStorage.setItem("reply_subject_" + xlist, document.getElementById('reply_subject').value)
-                window.sessionStorage.setItem("reply_list", xlist)
-            }
-            composeType = ""
-        // Likewise, if composing a reply, save it in case the user wants to revisit
-        // the draft
-        } else if (composeType == "reply" && current_reply_eid) {
-            if (typeof(window.sessionStorage) !== "undefined") {
-                window.sessionStorage.setItem("reply_body_eid_" + current_reply_eid, document.getElementById('reply_body').value)
-                window.sessionStorage.setItem("reply_subject_eid_" + current_reply_eid, document.getElementById('reply_subject').value)
-                window.sessionStorage.setItem("reply_list_eid_", current_reply_eid)
+        if (storageAvailable) {
+            if (composeType == "new") {
+                if (typeof(window.sessionStorage) !== "undefined") {
+                    window.sessionStorage.setItem("reply_body_" + xlist, document.getElementById('reply_body').value)
+                    window.sessionStorage.setItem("reply_subject_" + xlist, document.getElementById('reply_subject').value)
+                    window.sessionStorage.setItem("reply_list", xlist)
+                }
+                composeType = ""
+            // Likewise, if composing a reply, save it in case the user wants to revisit
+            // the draft
+            } else if (composeType == "reply" && current_reply_eid) {
+                if (typeof(window.sessionStorage) !== "undefined") {
+                    window.sessionStorage.setItem("reply_body_eid_" + current_reply_eid, document.getElementById('reply_body').value)
+                    window.sessionStorage.setItem("reply_subject_eid_" + current_reply_eid, document.getElementById('reply_subject').value)
+                    window.sessionStorage.setItem("reply_list_eid_", current_reply_eid)
+                }
+                composeType = ""
             }
-            composeType = ""
         }
     }
 }
@@ -76,14 +78,16 @@ function sendEmail(form) {
     request.send(of.join("&")) // send email as a POST string
     
     // Clear the draft stuff
-    if (typeof(window.sessionStorage) !== "undefined" && compose_headers.eid && compose_headers.eid.length > 0) {
-        window.sessionStorage.removeItem("reply_subject_eid_" + compose_headers.eid)
-        window.sessionStorage.removeItem("reply_body_eid_" + compose_headers.eid)
-    }
-    // Clear new draft too if need be
-    if (typeof(window.sessionStorage) !== "undefined" && composeType == "new") {
-        window.sessionStorage.removeItem("reply_subject_" + xlist)
-        window.sessionStorage.removeItem("reply_body_" + xlist)
+    if (storageAvailable) {
+        if (typeof(window.sessionStorage) !== "undefined" && compose_headers.eid && compose_headers.eid.length > 0) {
+            window.sessionStorage.removeItem("reply_subject_eid_" + compose_headers.eid)
+            window.sessionStorage.removeItem("reply_body_eid_" + compose_headers.eid)
+        }
+        // Clear new draft too if need be
+        if (typeof(window.sessionStorage) !== "undefined" && composeType == "new") {
+            window.sessionStorage.removeItem("reply_subject_" + xlist)
+            window.sessionStorage.removeItem("reply_body_" + xlist)
+        }
     }
     hideComposer(null, true)
     
@@ -196,14 +200,17 @@ function compose(eid, lid, type) {
             obj.appendChild(area)
             
             // Do we need to fetch cache here?
-            if (composeType == "new" && typeof(window.sessionStorage) !== "undefined" &&
-                window.sessionStorage.getItem("reply_subject_" + xlist)) {
-                area.innerHTML = window.sessionStorage.getItem("reply_body_" + xlist)
-                txt.value = window.sessionStorage.getItem("reply_subject_" + xlist)
-            } else if (composeType == "reply" && typeof(window.sessionStorage) !== "undefined" &&
-                window.sessionStorage.getItem("reply_subject_eid_" + eid)) {
-                area.innerHTML = window.sessionStorage.getItem("reply_body_eid_" + eid)
-                txt.value = window.sessionStorage.getItem("reply_subject_eid_" + eid)
+            if (storageAvailable) {
+                    
+                if (composeType == "new" && typeof(window.sessionStorage) !== "undefined" &&
+                    window.sessionStorage.getItem("reply_subject_" + xlist)) {
+                    area.innerHTML = window.sessionStorage.getItem("reply_body_" + xlist)
+                    txt.value = window.sessionStorage.getItem("reply_subject_" + xlist)
+                } else if (composeType == "reply" && typeof(window.sessionStorage) !== "undefined" &&
+                    window.sessionStorage.getItem("reply_subject_eid_" + eid)) {
+                    area.innerHTML = window.sessionStorage.getItem("reply_body_eid_" + eid)
+                    txt.value = window.sessionStorage.getItem("reply_subject_eid_" + eid)
+                }
             }
             
             // submit button

http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/22bc9b75/site/js/dev/ponymail_email_displays.js
----------------------------------------------------------------------
diff --git a/site/js/dev/ponymail_email_displays.js b/site/js/dev/ponymail_email_displays.js
index 1897d91..bbf80e4 100644
--- a/site/js/dev/ponymail_email_displays.js
+++ b/site/js/dev/ponymail_email_displays.js
@@ -40,25 +40,27 @@ function displayEmail(json, id, level) {
     last_opened_email = json.mid
     
     // color based on view before or not??
-    if (typeof(window.localStorage) !== "undefined") {
-        if (! window.localStorage.getItem("viewed_" + json.mid) ){
-            //estyle = "linear-gradient(to bottom, rgba(252,255,244,1) 0%,rgba(233,233,206,1) 100%)"
-            
-            try {
-                window.localStorage.setItem("viewed_" + json.mid, json.epoch)
-            } catch(e) {
+    if (storageAvailable) {
+        if (typeof(window.localStorage) !== "undefined") {
+            if (! window.localStorage.getItem("viewed_" + json.mid) ){
+                //estyle = "linear-gradient(to bottom, rgba(252,255,244,1) 0%,rgba(233,233,206,1) 100%)"
                 
+                try {
+                    window.localStorage.setItem("viewed_" + json.mid, json.epoch)
+                } catch(e) {
+                    
+                }
             }
-        }
-        if (window.localStorage.getItem("viewed_" + json.mid) && window.localStorage.getItem("viewed_" + json.mid).search("!") == 10){
-            //estyle = "linear-gradient(to bottom, rgba(252,255,244,1) 0%,rgba(233,233,206,1) 100%)"
-            var epoch = parseInt(window.localStorage.getItem("viewed_" + json.mid))
-            try {
-                window.localStorage.setItem("viewed_" + json.mid, epoch + ":")
-            } catch(e) {
+            if (window.localStorage.getItem("viewed_" + json.mid) && window.localStorage.getItem("viewed_" + json.mid).search("!") == 10){
+                //estyle = "linear-gradient(to bottom, rgba(252,255,244,1) 0%,rgba(233,233,206,1) 100%)"
+                var epoch = parseInt(window.localStorage.getItem("viewed_" + json.mid))
+                try {
+                    window.localStorage.setItem("viewed_" + json.mid, epoch + ":")
+                } catch(e) {
+                    
+                }
                 
             }
-            
         }
     }
     // Coloring for nested emails
@@ -94,10 +96,12 @@ function displayEmail(json, id, level) {
         ebody = ebody.replace(re_weburl, "<a href='$1'>$1</a>")
         
         // Get theme (social, default etc) if set locally in browser
-        if (typeof(window.localStorage) !== "undefined") {
-            var th = window.localStorage.getItem("pm_theme")
-            if (th) {
-                prefs.theme = th
+        if (storageAvailable) {
+            if (typeof(window.localStorage) !== "undefined") {
+                var th = window.localStorage.getItem("pm_theme")
+                if (th) {
+                    prefs.theme = th
+                }
             }
         }
         
@@ -222,13 +226,15 @@ function displaySingleEmail(json, id) {
 
     var thread = document.getElementById('email')
     if (thread) {
-        if (typeof(window.localStorage) !== "undefined") {
-            if (! window.localStorage.getItem("viewed_" + json.id) ){
-                estyle = "background: background: linear-gradient(to bottom, rgba(252,255,244,1) 0%,rgba(233,233,206,1) 100%);"
-                try {
-                    window.localStorage.setItem("viewed_" + json.id, latestEmailInThread + "!")
-                } catch(e) {
-                    
+        if (storageAvailable) {
+            if (typeof(window.localStorage) !== "undefined") {
+                if (! window.localStorage.getItem("viewed_" + json.id) ){
+                    estyle = "background: background: linear-gradient(to bottom, rgba(252,255,244,1) 0%,rgba(233,233,206,1) 100%);"
+                    try {
+                        window.localStorage.setItem("viewed_" + json.id, latestEmailInThread + "!")
+                    } catch(e) {
+                        
+                    }
                 }
             }
         }
@@ -345,20 +351,22 @@ function toggleEmails_threaded(id, close, toverride, threadobj) {
     var thread = threadobj ? threadobj : document.getElementById('thread_' + id.toString().replace(/@<.+>/, ""))
     if (thread) {
         current_thread = id
-        if (typeof(window.localStorage) !== "undefined") {
-            var epoch = latestEmailInThread + "!"
-            if (current_thread_json[id]) {
-                var xx = window.localStorage.getItem("viewed_" + current_thread_json[id].tid)
-                if (xx) {
-                    var yy = parseInt(xx)
-                    if (yy >= parseInt(latestEmailInThread)) {
-                        epoch = yy
+        if (storageAvailable) {
+            if (typeof(window.localStorage) !== "undefined") {
+                var epoch = latestEmailInThread + "!"
+                if (current_thread_json[id]) {
+                    var xx = window.localStorage.getItem("viewed_" + current_thread_json[id].tid)
+                    if (xx) {
+                        var yy = parseInt(xx)
+                        if (yy >= parseInt(latestEmailInThread)) {
+                            epoch = yy
+                        }
+                    }
+                    try {
+                        window.localStorage.setItem("viewed_" + current_thread_json[id].tid, epoch)
+                    } catch(e) {
+                        
                     }
-                }
-                try {
-                    window.localStorage.setItem("viewed_" + current_thread_json[id].tid, epoch)
-                } catch(e) {
-                    
                 }
             }
         }
@@ -441,25 +449,27 @@ function toggleEmails_threaded(id, close, toverride, threadobj) {
 // actually viewed before.
 function highlightNewEmails(id) {
     // This currently requires localStorage to store the view data
-    if (typeof(window.localStorage) !== "undefined") {
-        kiddos = []
-        var t = document.getElementById("thread_" + id)
-        if (t) {
-            traverseThread(t, 'thread') // find all child elements called 'thread*'
-            // For each email in this thread, check (or set) when it was first viewed
-            for (var i in kiddos) {
-                var mid = kiddos[i].getAttribute("id")
-                var epoch = window.localStorage.getItem("first_view_" + mid)
-                if (epoch && epoch != pb_refresh) { // did we view this before the last page build?
-                    kiddos[i].style.color = "#AAA"
-                } else { // never seen it before, have it at normal color and set the first-view-date
-                    
-                    try {
-                        window.localStorage.setItem("first_view_" + mid, pb_refresh)
-                    } catch(e) {
+    if (storageAvailable) {
+        if (typeof(window.localStorage) !== "undefined") {
+            kiddos = []
+            var t = document.getElementById("thread_" + id)
+            if (t) {
+                traverseThread(t, 'thread') // find all child elements called 'thread*'
+                // For each email in this thread, check (or set) when it was first viewed
+                for (var i in kiddos) {
+                    var mid = kiddos[i].getAttribute("id")
+                    var epoch = window.localStorage.getItem("first_view_" + mid)
+                    if (epoch && epoch != pb_refresh) { // did we view this before the last page build?
+                        kiddos[i].style.color = "#AAA"
+                    } else { // never seen it before, have it at normal color and set the first-view-date
                         
+                        try {
+                            window.localStorage.setItem("first_view_" + mid, pb_refresh)
+                        } catch(e) {
+                            
+                        }
+                        kiddos[i].style.color = "#000"
                     }
-                    kiddos[i].style.color = "#000"
                 }
             }
         }

http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/22bc9b75/site/js/dev/ponymail_helperfuncs.js
----------------------------------------------------------------------
diff --git a/site/js/dev/ponymail_helperfuncs.js b/site/js/dev/ponymail_helperfuncs.js
index c6bedf1..05d6b52 100644
--- a/site/js/dev/ponymail_helperfuncs.js
+++ b/site/js/dev/ponymail_helperfuncs.js
@@ -153,27 +153,30 @@ function showSpinner(show) {
 // Saving prefs as a json string
 function saveEphemeral() {
     // This only works if the browser supports localStorage
-    if (typeof(window.localStorage) !== "undefined") {
-        window.localStorage.setItem("ponymail_config_ephemeral", JSON.stringify(prefs))
+    if (storageAvailable) {
+        if (typeof(window.localStorage) !== "undefined") {
+            window.localStorage.setItem("ponymail_config_ephemeral", JSON.stringify(prefs))
+        }
     }
 }
 
 // load ephemeral prefs, replace what we have
 function loadEphemeral() {
     // This only works if the browser supports localStorage
-    if (typeof(window.localStorage) !== "undefined") {
-        var str = window.localStorage.getItem("ponymail_config_ephemeral")
-        if (str) {
-            var eprefs = JSON.parse(str)
-            // for each original setting in config.js,
-            // check if we have a different one stored
-            for (i in prefs) {
-                if (eprefs[i]) {
-                    prefs[i] = eprefs[i] // override
+    if (storageAvailable) {
+        if (typeof(window.localStorage) !== "undefined") {
+            var str = window.localStorage.getItem("ponymail_config_ephemeral")
+            if (str) {
+                var eprefs = JSON.parse(str)
+                // for each original setting in config.js,
+                // check if we have a different one stored
+                for (i in prefs) {
+                    if (eprefs[i]) {
+                        prefs[i] = eprefs[i] // override
+                    }
                 }
             }
         }
-        
     }
 }
 

http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/22bc9b75/site/js/dev/ponymail_listview_flat.js
----------------------------------------------------------------------
diff --git a/site/js/dev/ponymail_listview_flat.js b/site/js/dev/ponymail_listview_flat.js
index ac51583..e7174be 100644
--- a/site/js/dev/ponymail_listview_flat.js
+++ b/site/js/dev/ponymail_listview_flat.js
@@ -113,9 +113,11 @@ function loadList_flat(mjson, limit, start, deep) {
         
         // style based on view before or not??
         var estyle = ""
-        if (typeof(window.localStorage) !== "undefined") {
-            if (! window.localStorage.getItem("viewed_" + eml.id) ){
-                estyle = "font-weight: bold;"
+        if (storageAvailable) {
+            if (typeof(window.localStorage) !== "undefined") {
+                if (! window.localStorage.getItem("viewed_" + eml.id) ){
+                    estyle = "font-weight: bold;"
+                }
             }
         }
         var at = ""

http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/22bc9b75/site/js/dev/ponymail_listview_threaded.js
----------------------------------------------------------------------
diff --git a/site/js/dev/ponymail_listview_threaded.js b/site/js/dev/ponymail_listview_threaded.js
index 0b77656..08a1b23 100644
--- a/site/js/dev/ponymail_listview_threaded.js
+++ b/site/js/dev/ponymail_listview_threaded.js
@@ -18,10 +18,12 @@
 
 // loadList_threaded: Same as above, but threaded display
 function loadList_threaded(mjson, limit, start, deep) {
-    if (typeof(window.localStorage) !== "undefined") {
-        var th = window.localStorage.getItem("pm_theme")
-        if (th) {
-            prefs.theme = th
+    if (storageAvailable) {
+        if (typeof(window.localStorage) !== "undefined") {
+            var th = window.localStorage.getItem("pm_theme")
+            if (th) {
+                prefs.theme = th
+            }
         }
     }
     
@@ -134,9 +136,11 @@ function loadList_threaded(mjson, limit, start, deep) {
         var pds = people > 1 ? "visible" : "hidden"
         
         // style based on view before or not??
-        if (typeof(window.localStorage) !== "undefined") {
-            if (! window.localStorage.getItem("viewed_" + eml.id) || (subs > 0 && parseInt(window.localStorage.getItem("viewed_" + eml.id)) < latest )){
-                estyle = "font-weight: bold;"
+        if (storageAvailable) {
+            if (typeof(window.localStorage) !== "undefined") {
+                if (! window.localStorage.getItem("viewed_" + eml.id) || (subs > 0 && parseInt(window.localStorage.getItem("viewed_" + eml.id)) < latest )){
+                    estyle = "font-weight: bold;"
+                }
             }
         }
         

http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/22bc9b75/site/js/dev/ponymail_listview_tree.js
----------------------------------------------------------------------
diff --git a/site/js/dev/ponymail_listview_tree.js b/site/js/dev/ponymail_listview_tree.js
index d2bb4f1..01e8279 100644
--- a/site/js/dev/ponymail_listview_tree.js
+++ b/site/js/dev/ponymail_listview_tree.js
@@ -18,10 +18,12 @@
 
 // loadList_treeview: Load a list as a treeview object, grouped by threads
 function loadList_treeview(mjson, limit, start, deep) {
-    if (typeof(window.localStorage) !== "undefined") {
-        var th = window.localStorage.getItem("pm_theme")
-        if (th) {
-            prefs.theme = th
+    if (storageAvailable) {
+        if (typeof(window.localStorage) !== "undefined") {
+            var th = window.localStorage.getItem("pm_theme")
+            if (th) {
+                prefs.theme = th
+            }
         }
     }
     // Set displayed posts per page to 10 if social/compact theme, or auto-scale
@@ -107,9 +109,11 @@ function loadList_treeview(mjson, limit, start, deep) {
         var pds = people > 1 ? "visible" : "hidden"
         
         // style based on view before or not??
-        if (typeof(window.localStorage) !== "undefined") {
-            if (! window.localStorage.getItem("viewed_" + eml.id) || (subs > 0 && parseInt(window.localStorage.getItem("viewed_" + eml.id)) < latest )){
-                estyle = "font-weight: bold;"
+        if (storageAvailable) {
+            if (typeof(window.localStorage) !== "undefined") {
+                if (! window.localStorage.getItem("viewed_" + eml.id) || (subs > 0 && parseInt(window.localStorage.getItem("viewed_" + eml.id)) < latest )){
+                    estyle = "font-weight: bold;"
+                }
             }
         }
         var people_label = "<label style='visibility:" + pds + "; float: right; margin-right: 8px; ' id='people_"+i+"' class='listview_label label label-" + lp + "'> <span class='glyphicon glyphicon-user'> </span> " + people + " <span class='hidden-xs hidden-sm'>people</span></label>"
@@ -385,13 +389,15 @@ function toggleEmails_treeview(id, close, toverride) {
             return
         }
         var epoch = null
-        if (typeof(window.localStorage) !== "undefined") {
-            epoch = latestEmailInThread + "!"
-            var xx = window.localStorage.getItem("viewed_" + current_thread_json[id].tid)
-            if (xx) {
-                var yy = parseInt(xx)
-                if (yy >= parseInt(latestEmailInThread)) {
-                    epoch = yy
+        if (storageAvailable) {
+            if (typeof(window.localStorage) !== "undefined") {
+                epoch = latestEmailInThread + "!"
+                var xx = window.localStorage.getItem("viewed_" + current_thread_json[id].tid)
+                if (xx) {
+                    var yy = parseInt(xx)
+                    if (yy >= parseInt(latestEmailInThread)) {
+                        epoch = yy
+                    }
                 }
             }
         }

http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/22bc9b75/site/js/dev/ponymail_user_preferences.js
----------------------------------------------------------------------
diff --git a/site/js/dev/ponymail_user_preferences.js b/site/js/dev/ponymail_user_preferences.js
index 4b22497..246541f 100644
--- a/site/js/dev/ponymail_user_preferences.js
+++ b/site/js/dev/ponymail_user_preferences.js
@@ -46,8 +46,10 @@ function savePreferences() {
     GetAsync("/api/preferences.lua?save=true&" + prefarr.join("&"), null, hideComposer)
     
     // Save ephemeral settings
-    if (typeof(window.localStorage) !== "undefined") {
-        window.localStorage.setItem("ponymail_config_ephemeral", JSON.stringify(prefs))
+    if (storageAvailable) {
+        if (typeof(window.localStorage) !== "undefined") {
+            window.localStorage.setItem("ponymail_config_ephemeral", JSON.stringify(prefs))
+        }
     }
 }
 
@@ -260,10 +262,14 @@ function setupUser() {
 // set theme, both in prefs and localstorage (for non-logged-in-users)
 function setTheme(theme) {
     prefs.theme = theme
-    if (typeof(window.localStorage) !== "undefined") {
-        window.localStorage.setItem("pm_theme", theme)
-    }
-    if (document.getElementById('emails')) {
-        buildPage()
+    if (storageAvailable) {
+        if (typeof(window.localStorage) !== "undefined") {
+            window.localStorage.setItem("pm_theme", theme)
+        }
+        if (document.getElementById('emails')) {
+            buildPage()
+        }
+    } else {
+        alert("You need to have session and local storage enabled to set a theme!")
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/22bc9b75/site/js/ponymail.js
----------------------------------------------------------------------
diff --git a/site/js/ponymail.js b/site/js/ponymail.js
index 389db0c..dcca9ed 100644
--- a/site/js/ponymail.js
+++ b/site/js/ponymail.js
@@ -67,7 +67,16 @@ var pending_urls = {} // URL list for GetAsync's support functions (such as the
 var pb_refresh = 0
 var treeview_guard = {}
 var mbox_month = null
+var storageAvailable = false
 
+try {
+    if (typeof(window.sessionStorage) !== "undefined") {
+        window.sessionStorage.setItem("pm_test", "1")
+        storageAvailable = true
+    }
+} catch(e) {
+    storageAvailable = false
+}
 // Links from viewmode to the function that handles them
 var viewModes = {
     threaded: {
@@ -98,22 +107,24 @@ function saveDraft() {
     // If the user was composing a new thread, let's save the contents (if any)
     // for next time
     if (document.getElementById('reply_body')) {
-        if (composeType == "new") {
-            if (typeof(window.sessionStorage) !== "undefined") {
-                window.sessionStorage.setItem("reply_body_" + xlist, document.getElementById('reply_body').value)
-                window.sessionStorage.setItem("reply_subject_" + xlist, document.getElementById('reply_subject').value)
-                window.sessionStorage.setItem("reply_list", xlist)
-            }
-            composeType = ""
-        // Likewise, if composing a reply, save it in case the user wants to revisit
-        // the draft
-        } else if (composeType == "reply" && current_reply_eid) {
-            if (typeof(window.sessionStorage) !== "undefined") {
-                window.sessionStorage.setItem("reply_body_eid_" + current_reply_eid, document.getElementById('reply_body').value)
-                window.sessionStorage.setItem("reply_subject_eid_" + current_reply_eid, document.getElementById('reply_subject').value)
-                window.sessionStorage.setItem("reply_list_eid_", current_reply_eid)
+        if (storageAvailable) {
+            if (composeType == "new") {
+                if (typeof(window.sessionStorage) !== "undefined") {
+                    window.sessionStorage.setItem("reply_body_" + xlist, document.getElementById('reply_body').value)
+                    window.sessionStorage.setItem("reply_subject_" + xlist, document.getElementById('reply_subject').value)
+                    window.sessionStorage.setItem("reply_list", xlist)
+                }
+                composeType = ""
+            // Likewise, if composing a reply, save it in case the user wants to revisit
+            // the draft
+            } else if (composeType == "reply" && current_reply_eid) {
+                if (typeof(window.sessionStorage) !== "undefined") {
+                    window.sessionStorage.setItem("reply_body_eid_" + current_reply_eid, document.getElementById('reply_body').value)
+                    window.sessionStorage.setItem("reply_subject_eid_" + current_reply_eid, document.getElementById('reply_subject').value)
+                    window.sessionStorage.setItem("reply_list_eid_", current_reply_eid)
+                }
+                composeType = ""
             }
-            composeType = ""
         }
     }
 }
@@ -154,14 +165,16 @@ function sendEmail(form) {
     request.send(of.join("&")) // send email as a POST string
     
     // Clear the draft stuff
-    if (typeof(window.sessionStorage) !== "undefined" && compose_headers.eid && compose_headers.eid.length > 0) {
-        window.sessionStorage.removeItem("reply_subject_eid_" + compose_headers.eid)
-        window.sessionStorage.removeItem("reply_body_eid_" + compose_headers.eid)
-    }
-    // Clear new draft too if need be
-    if (typeof(window.sessionStorage) !== "undefined" && composeType == "new") {
-        window.sessionStorage.removeItem("reply_subject_" + xlist)
-        window.sessionStorage.removeItem("reply_body_" + xlist)
+    if (storageAvailable) {
+        if (typeof(window.sessionStorage) !== "undefined" && compose_headers.eid && compose_headers.eid.length > 0) {
+            window.sessionStorage.removeItem("reply_subject_eid_" + compose_headers.eid)
+            window.sessionStorage.removeItem("reply_body_eid_" + compose_headers.eid)
+        }
+        // Clear new draft too if need be
+        if (typeof(window.sessionStorage) !== "undefined" && composeType == "new") {
+            window.sessionStorage.removeItem("reply_subject_" + xlist)
+            window.sessionStorage.removeItem("reply_body_" + xlist)
+        }
     }
     hideComposer(null, true)
     
@@ -274,14 +287,17 @@ function compose(eid, lid, type) {
             obj.appendChild(area)
             
             // Do we need to fetch cache here?
-            if (composeType == "new" && typeof(window.sessionStorage) !== "undefined" &&
-                window.sessionStorage.getItem("reply_subject_" + xlist)) {
-                area.innerHTML = window.sessionStorage.getItem("reply_body_" + xlist)
-                txt.value = window.sessionStorage.getItem("reply_subject_" + xlist)
-            } else if (composeType == "reply" && typeof(window.sessionStorage) !== "undefined" &&
-                window.sessionStorage.getItem("reply_subject_eid_" + eid)) {
-                area.innerHTML = window.sessionStorage.getItem("reply_body_eid_" + eid)
-                txt.value = window.sessionStorage.getItem("reply_subject_eid_" + eid)
+            if (storageAvailable) {
+                    
+                if (composeType == "new" && typeof(window.sessionStorage) !== "undefined" &&
+                    window.sessionStorage.getItem("reply_subject_" + xlist)) {
+                    area.innerHTML = window.sessionStorage.getItem("reply_body_" + xlist)
+                    txt.value = window.sessionStorage.getItem("reply_subject_" + xlist)
+                } else if (composeType == "reply" && typeof(window.sessionStorage) !== "undefined" &&
+                    window.sessionStorage.getItem("reply_subject_eid_" + eid)) {
+                    area.innerHTML = window.sessionStorage.getItem("reply_body_eid_" + eid)
+                    txt.value = window.sessionStorage.getItem("reply_subject_eid_" + eid)
+                }
             }
             
             // submit button
@@ -1368,25 +1384,27 @@ function displayEmail(json, id, level) {
     last_opened_email = json.mid
     
     // color based on view before or not??
-    if (typeof(window.localStorage) !== "undefined") {
-        if (! window.localStorage.getItem("viewed_" + json.mid) ){
-            //estyle = "linear-gradient(to bottom, rgba(252,255,244,1) 0%,rgba(233,233,206,1) 100%)"
-            
-            try {
-                window.localStorage.setItem("viewed_" + json.mid, json.epoch)
-            } catch(e) {
+    if (storageAvailable) {
+        if (typeof(window.localStorage) !== "undefined") {
+            if (! window.localStorage.getItem("viewed_" + json.mid) ){
+                //estyle = "linear-gradient(to bottom, rgba(252,255,244,1) 0%,rgba(233,233,206,1) 100%)"
                 
+                try {
+                    window.localStorage.setItem("viewed_" + json.mid, json.epoch)
+                } catch(e) {
+                    
+                }
             }
-        }
-        if (window.localStorage.getItem("viewed_" + json.mid) && window.localStorage.getItem("viewed_" + json.mid).search("!") == 10){
-            //estyle = "linear-gradient(to bottom, rgba(252,255,244,1) 0%,rgba(233,233,206,1) 100%)"
-            var epoch = parseInt(window.localStorage.getItem("viewed_" + json.mid))
-            try {
-                window.localStorage.setItem("viewed_" + json.mid, epoch + ":")
-            } catch(e) {
+            if (window.localStorage.getItem("viewed_" + json.mid) && window.localStorage.getItem("viewed_" + json.mid).search("!") == 10){
+                //estyle = "linear-gradient(to bottom, rgba(252,255,244,1) 0%,rgba(233,233,206,1) 100%)"
+                var epoch = parseInt(window.localStorage.getItem("viewed_" + json.mid))
+                try {
+                    window.localStorage.setItem("viewed_" + json.mid, epoch + ":")
+                } catch(e) {
+                    
+                }
                 
             }
-            
         }
     }
     // Coloring for nested emails
@@ -1422,10 +1440,12 @@ function displayEmail(json, id, level) {
         ebody = ebody.replace(re_weburl, "<a href='$1'>$1</a>")
         
         // Get theme (social, default etc) if set locally in browser
-        if (typeof(window.localStorage) !== "undefined") {
-            var th = window.localStorage.getItem("pm_theme")
-            if (th) {
-                prefs.theme = th
+        if (storageAvailable) {
+            if (typeof(window.localStorage) !== "undefined") {
+                var th = window.localStorage.getItem("pm_theme")
+                if (th) {
+                    prefs.theme = th
+                }
             }
         }
         
@@ -1550,13 +1570,15 @@ function displaySingleEmail(json, id) {
 
     var thread = document.getElementById('email')
     if (thread) {
-        if (typeof(window.localStorage) !== "undefined") {
-            if (! window.localStorage.getItem("viewed_" + json.id) ){
-                estyle = "background: background: linear-gradient(to bottom, rgba(252,255,244,1) 0%,rgba(233,233,206,1) 100%);"
-                try {
-                    window.localStorage.setItem("viewed_" + json.id, latestEmailInThread + "!")
-                } catch(e) {
-                    
+        if (storageAvailable) {
+            if (typeof(window.localStorage) !== "undefined") {
+                if (! window.localStorage.getItem("viewed_" + json.id) ){
+                    estyle = "background: background: linear-gradient(to bottom, rgba(252,255,244,1) 0%,rgba(233,233,206,1) 100%);"
+                    try {
+                        window.localStorage.setItem("viewed_" + json.id, latestEmailInThread + "!")
+                    } catch(e) {
+                        
+                    }
                 }
             }
         }
@@ -1673,20 +1695,22 @@ function toggleEmails_threaded(id, close, toverride, threadobj) {
     var thread = threadobj ? threadobj : document.getElementById('thread_' + id.toString().replace(/@<.+>/, ""))
     if (thread) {
         current_thread = id
-        if (typeof(window.localStorage) !== "undefined") {
-            var epoch = latestEmailInThread + "!"
-            if (current_thread_json[id]) {
-                var xx = window.localStorage.getItem("viewed_" + current_thread_json[id].tid)
-                if (xx) {
-                    var yy = parseInt(xx)
-                    if (yy >= parseInt(latestEmailInThread)) {
-                        epoch = yy
+        if (storageAvailable) {
+            if (typeof(window.localStorage) !== "undefined") {
+                var epoch = latestEmailInThread + "!"
+                if (current_thread_json[id]) {
+                    var xx = window.localStorage.getItem("viewed_" + current_thread_json[id].tid)
+                    if (xx) {
+                        var yy = parseInt(xx)
+                        if (yy >= parseInt(latestEmailInThread)) {
+                            epoch = yy
+                        }
+                    }
+                    try {
+                        window.localStorage.setItem("viewed_" + current_thread_json[id].tid, epoch)
+                    } catch(e) {
+                        
                     }
-                }
-                try {
-                    window.localStorage.setItem("viewed_" + current_thread_json[id].tid, epoch)
-                } catch(e) {
-                    
                 }
             }
         }
@@ -1769,25 +1793,27 @@ function toggleEmails_threaded(id, close, toverride, threadobj) {
 // actually viewed before.
 function highlightNewEmails(id) {
     // This currently requires localStorage to store the view data
-    if (typeof(window.localStorage) !== "undefined") {
-        kiddos = []
-        var t = document.getElementById("thread_" + id)
-        if (t) {
-            traverseThread(t, 'thread') // find all child elements called 'thread*'
-            // For each email in this thread, check (or set) when it was first viewed
-            for (var i in kiddos) {
-                var mid = kiddos[i].getAttribute("id")
-                var epoch = window.localStorage.getItem("first_view_" + mid)
-                if (epoch && epoch != pb_refresh) { // did we view this before the last page build?
-                    kiddos[i].style.color = "#AAA"
-                } else { // never seen it before, have it at normal color and set the first-view-date
-                    
-                    try {
-                        window.localStorage.setItem("first_view_" + mid, pb_refresh)
-                    } catch(e) {
+    if (storageAvailable) {
+        if (typeof(window.localStorage) !== "undefined") {
+            kiddos = []
+            var t = document.getElementById("thread_" + id)
+            if (t) {
+                traverseThread(t, 'thread') // find all child elements called 'thread*'
+                // For each email in this thread, check (or set) when it was first viewed
+                for (var i in kiddos) {
+                    var mid = kiddos[i].getAttribute("id")
+                    var epoch = window.localStorage.getItem("first_view_" + mid)
+                    if (epoch && epoch != pb_refresh) { // did we view this before the last page build?
+                        kiddos[i].style.color = "#AAA"
+                    } else { // never seen it before, have it at normal color and set the first-view-date
                         
+                        try {
+                            window.localStorage.setItem("first_view_" + mid, pb_refresh)
+                        } catch(e) {
+                            
+                        }
+                        kiddos[i].style.color = "#000"
                     }
-                    kiddos[i].style.color = "#000"
                 }
             }
         }
@@ -2271,27 +2297,30 @@ function showSpinner(show) {
 // Saving prefs as a json string
 function saveEphemeral() {
     // This only works if the browser supports localStorage
-    if (typeof(window.localStorage) !== "undefined") {
-        window.localStorage.setItem("ponymail_config_ephemeral", JSON.stringify(prefs))
+    if (storageAvailable) {
+        if (typeof(window.localStorage) !== "undefined") {
+            window.localStorage.setItem("ponymail_config_ephemeral", JSON.stringify(prefs))
+        }
     }
 }
 
 // load ephemeral prefs, replace what we have
 function loadEphemeral() {
     // This only works if the browser supports localStorage
-    if (typeof(window.localStorage) !== "undefined") {
-        var str = window.localStorage.getItem("ponymail_config_ephemeral")
-        if (str) {
-            var eprefs = JSON.parse(str)
-            // for each original setting in config.js,
-            // check if we have a different one stored
-            for (i in prefs) {
-                if (eprefs[i]) {
-                    prefs[i] = eprefs[i] // override
+    if (storageAvailable) {
+        if (typeof(window.localStorage) !== "undefined") {
+            var str = window.localStorage.getItem("ponymail_config_ephemeral")
+            if (str) {
+                var eprefs = JSON.parse(str)
+                // for each original setting in config.js,
+                // check if we have a different one stored
+                for (i in prefs) {
+                    if (eprefs[i]) {
+                        prefs[i] = eprefs[i] // override
+                    }
                 }
             }
         }
-        
     }
 }
 
@@ -2407,9 +2436,11 @@ function loadList_flat(mjson, limit, start, deep) {
         
         // style based on view before or not??
         var estyle = ""
-        if (typeof(window.localStorage) !== "undefined") {
-            if (! window.localStorage.getItem("viewed_" + eml.id) ){
-                estyle = "font-weight: bold;"
+        if (storageAvailable) {
+            if (typeof(window.localStorage) !== "undefined") {
+                if (! window.localStorage.getItem("viewed_" + eml.id) ){
+                    estyle = "font-weight: bold;"
+                }
             }
         }
         var at = ""
@@ -2563,10 +2594,12 @@ function loadEmails_flat(id, close, treeview) {
 
 // loadList_threaded: Same as above, but threaded display
 function loadList_threaded(mjson, limit, start, deep) {
-    if (typeof(window.localStorage) !== "undefined") {
-        var th = window.localStorage.getItem("pm_theme")
-        if (th) {
-            prefs.theme = th
+    if (storageAvailable) {
+        if (typeof(window.localStorage) !== "undefined") {
+            var th = window.localStorage.getItem("pm_theme")
+            if (th) {
+                prefs.theme = th
+            }
         }
     }
     
@@ -2679,9 +2712,11 @@ function loadList_threaded(mjson, limit, start, deep) {
         var pds = people > 1 ? "visible" : "hidden"
         
         // style based on view before or not??
-        if (typeof(window.localStorage) !== "undefined") {
-            if (! window.localStorage.getItem("viewed_" + eml.id) || (subs > 0 && parseInt(window.localStorage.getItem("viewed_" + eml.id)) < latest )){
-                estyle = "font-weight: bold;"
+        if (storageAvailable) {
+            if (typeof(window.localStorage) !== "undefined") {
+                if (! window.localStorage.getItem("viewed_" + eml.id) || (subs > 0 && parseInt(window.localStorage.getItem("viewed_" + eml.id)) < latest )){
+                    estyle = "font-weight: bold;"
+                }
             }
         }
         
@@ -2842,10 +2877,12 @@ function loadEmails_threaded(json, state) {
 
 // loadList_treeview: Load a list as a treeview object, grouped by threads
 function loadList_treeview(mjson, limit, start, deep) {
-    if (typeof(window.localStorage) !== "undefined") {
-        var th = window.localStorage.getItem("pm_theme")
-        if (th) {
-            prefs.theme = th
+    if (storageAvailable) {
+        if (typeof(window.localStorage) !== "undefined") {
+            var th = window.localStorage.getItem("pm_theme")
+            if (th) {
+                prefs.theme = th
+            }
         }
     }
     // Set displayed posts per page to 10 if social/compact theme, or auto-scale
@@ -2931,9 +2968,11 @@ function loadList_treeview(mjson, limit, start, deep) {
         var pds = people > 1 ? "visible" : "hidden"
         
         // style based on view before or not??
-        if (typeof(window.localStorage) !== "undefined") {
-            if (! window.localStorage.getItem("viewed_" + eml.id) || (subs > 0 && parseInt(window.localStorage.getItem("viewed_" + eml.id)) < latest )){
-                estyle = "font-weight: bold;"
+        if (storageAvailable) {
+            if (typeof(window.localStorage) !== "undefined") {
+                if (! window.localStorage.getItem("viewed_" + eml.id) || (subs > 0 && parseInt(window.localStorage.getItem("viewed_" + eml.id)) < latest )){
+                    estyle = "font-weight: bold;"
+                }
             }
         }
         var people_label = "<label style='visibility:" + pds + "; float: right; margin-right: 8px; ' id='people_"+i+"' class='listview_label label label-" + lp + "'> <span class='glyphicon glyphicon-user'> </span> " + people + " <span class='hidden-xs hidden-sm'>people</span></label>"
@@ -3209,13 +3248,15 @@ function toggleEmails_treeview(id, close, toverride) {
             return
         }
         var epoch = null
-        if (typeof(window.localStorage) !== "undefined") {
-            epoch = latestEmailInThread + "!"
-            var xx = window.localStorage.getItem("viewed_" + current_thread_json[id].tid)
-            if (xx) {
-                var yy = parseInt(xx)
-                if (yy >= parseInt(latestEmailInThread)) {
-                    epoch = yy
+        if (storageAvailable) {
+            if (typeof(window.localStorage) !== "undefined") {
+                epoch = latestEmailInThread + "!"
+                var xx = window.localStorage.getItem("viewed_" + current_thread_json[id].tid)
+                if (xx) {
+                    var yy = parseInt(xx)
+                    if (yy >= parseInt(latestEmailInThread)) {
+                        epoch = yy
+                    }
                 }
             }
         }
@@ -5033,8 +5074,10 @@ function savePreferences() {
     GetAsync("/api/preferences.lua?save=true&" + prefarr.join("&"), null, hideComposer)
     
     // Save ephemeral settings
-    if (typeof(window.localStorage) !== "undefined") {
-        window.localStorage.setItem("ponymail_config_ephemeral", JSON.stringify(prefs))
+    if (storageAvailable) {
+        if (typeof(window.localStorage) !== "undefined") {
+            window.localStorage.setItem("ponymail_config_ephemeral", JSON.stringify(prefs))
+        }
     }
 }
 
@@ -5247,11 +5290,15 @@ function setupUser() {
 // set theme, both in prefs and localstorage (for non-logged-in-users)
 function setTheme(theme) {
     prefs.theme = theme
-    if (typeof(window.localStorage) !== "undefined") {
-        window.localStorage.setItem("pm_theme", theme)
-    }
-    if (document.getElementById('emails')) {
-        buildPage()
+    if (storageAvailable) {
+        if (typeof(window.localStorage) !== "undefined") {
+            window.localStorage.setItem("pm_theme", theme)
+        }
+        if (document.getElementById('emails')) {
+            buildPage()
+        }
+    } else {
+        alert("You need to have session and local storage enabled to set a theme!")
     }
 }
 



From commits-return-125-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Sat Jun 04 07:13:35 2016
Return-Path: <commits-return-125-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 9879A2009F3
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Sat,  4 Jun 2016 09:13:35 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 7F777160A26; Sat,  4 Jun 2016 07:13:35 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id C8DA0160A1E
	for <archive-asf-public@cust-asf.ponee.io>; Sat,  4 Jun 2016 09:13:34 +0200 (CEST)
Received: (qmail 83748 invoked by uid 500); 4 Jun 2016 07:13:34 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 83738 invoked by uid 99); 4 Jun 2016 07:13:34 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 07:13:33 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 93F5AC1816
	for <commits@ponymail.apache.org>; Sat,  4 Jun 2016 07:13:33 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx2-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024)
	with ESMTP id Q5KTcyXilYhM for <commits@ponymail.apache.org>;
	Sat,  4 Jun 2016 07:13:29 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx2-lw-eu.apache.org (ASF Mail Server at mx2-lw-eu.apache.org) with SMTP id EAD4D5F2C3
	for <commits@ponymail.incubator.apache.org>; Sat,  4 Jun 2016 07:13:28 +0000 (UTC)
Received: (qmail 83721 invoked by uid 99); 4 Jun 2016 07:13:28 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 07:13:28 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 04BAAE009E; Sat,  4 Jun 2016 07:13:27 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <00df6ff51a8843cd97a4b1c79e6396d8@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail git commit: incubating... :)
Date: Sat,  4 Jun 2016 07:13:27 +0000 (UTC)
archived-at: Sat, 04 Jun 2016 07:13:35 -0000

Repository: incubator-ponymail
Updated Branches:
  refs/heads/master 22bc9b75d -> ffc3aeaf3


incubating... :)


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

Branch: refs/heads/master
Commit: ffc3aeaf3dfc3aa350f721693a87f1107bf4a019
Parents: 22bc9b7
Author: humbedooh <humbedooh@apache.org>
Authored: Sat Jun 4 09:13:07 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Sat Jun 4 09:13:07 2016 +0200

----------------------------------------------------------------------
 README.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/ffc3aeaf/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
index 7f40e1c..9236c6d 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
-# Pony Mail
+# Apache Pony Mail (Incubating)
 <img src="https://github.com/apache/incubator-ponymail/blob/master/site/images/logo_large.png" align="left"/><br/><br/>
-Pony Mail is a web-based mail archive browser
+Apache Pony Mail (Incubating) is a web-based mail archive browser
 licensed under the Apache License v/2.0 and built to scale 
 to millions of archived messages with hundreds of requests 
 per second.


From commits-return-126-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Sat Jun 04 08:03:53 2016
Return-Path: <commits-return-126-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id E21462009F3
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Sat,  4 Jun 2016 10:03:53 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id D3F33160A26; Sat,  4 Jun 2016 08:03:53 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 29316160A1E
	for <archive-asf-public@cust-asf.ponee.io>; Sat,  4 Jun 2016 10:03:52 +0200 (CEST)
Received: (qmail 7355 invoked by uid 500); 4 Jun 2016 08:03:52 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 7346 invoked by uid 99); 4 Jun 2016 08:03:52 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 08:03:52 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 9F34EC2F68
	for <commits@ponymail.apache.org>; Sat,  4 Jun 2016 08:03:51 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -0.426
X-Spam-Level: 
X-Spam-Status: No, score=-0.426 tagged_above=-999 required=6.31
	tests=[KAM_LAZY_DOMAIN_SECURITY=1, RP_MATCHES_RCVD=-1.426]
	autolearn=disabled
Received: from mx1-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024)
	with ESMTP id wlC1hDA1fXc1 for <commits@ponymail.apache.org>;
	Sat,  4 Jun 2016 08:03:49 +0000 (UTC)
Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139])
	by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTP id 4C64C5F474
	for <commits@ponymail.incubator.apache.org>; Sat,  4 Jun 2016 08:03:49 +0000 (UTC)
Received: from svn01-us-west.apache.org (svn.apache.org [10.41.0.6])
	by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 53658E017A
	for <commits@ponymail.incubator.apache.org>; Sat,  4 Jun 2016 08:03:48 +0000 (UTC)
Received: from svn01-us-west.apache.org (localhost [127.0.0.1])
	by svn01-us-west.apache.org (ASF Mail Server at svn01-us-west.apache.org) with ESMTP id 79CE63A01A9
	for <commits@ponymail.incubator.apache.org>; Sat,  4 Jun 2016 08:03:47 +0000 (UTC)
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: svn commit: r13887 - /dev/incubator/ponymail/
Date: Sat, 04 Jun 2016 08:03:47 -0000
To: commits@ponymail.incubator.apache.org
From: humbedooh@apache.org
X-Mailer: svnmailer-1.0.9
Message-Id: <20160604080347.79CE63A01A9@svn01-us-west.apache.org>
archived-at: Sat, 04 Jun 2016 08:03:54 -0000

Author: humbedooh
Date: Sat Jun  4 08:03:46 2016
New Revision: 13887

Log:
Add Pony Mail dev dir

Added:
    dev/incubator/ponymail/


From commits-return-127-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Sat Jun 04 08:04:29 2016
Return-Path: <commits-return-127-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 22B202009F3
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Sat,  4 Jun 2016 10:04:29 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 21571160A26; Sat,  4 Jun 2016 08:04:29 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 6DAB6160A1E
	for <archive-asf-public@cust-asf.ponee.io>; Sat,  4 Jun 2016 10:04:28 +0200 (CEST)
Received: (qmail 10998 invoked by uid 500); 4 Jun 2016 08:04:27 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 10989 invoked by uid 99); 4 Jun 2016 08:04:27 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 08:04:27 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id B7D61180584
	for <commits@ponymail.apache.org>; Sat,  4 Jun 2016 08:04:26 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -0.426
X-Spam-Level: 
X-Spam-Status: No, score=-0.426 tagged_above=-999 required=6.31
	tests=[KAM_LAZY_DOMAIN_SECURITY=1, RP_MATCHES_RCVD=-1.426]
	autolearn=disabled
Received: from mx2-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024)
	with ESMTP id fPTvsuCmxP26 for <commits@ponymail.apache.org>;
	Sat,  4 Jun 2016 08:04:26 +0000 (UTC)
Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139])
	by mx2-lw-eu.apache.org (ASF Mail Server at mx2-lw-eu.apache.org) with ESMTP id A53975F2C3
	for <commits@ponymail.incubator.apache.org>; Sat,  4 Jun 2016 08:04:25 +0000 (UTC)
Received: from svn01-us-west.apache.org (svn.apache.org [10.41.0.6])
	by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id B0B99E017A
	for <commits@ponymail.incubator.apache.org>; Sat,  4 Jun 2016 08:04:24 +0000 (UTC)
Received: from svn01-us-west.apache.org (localhost [127.0.0.1])
	by svn01-us-west.apache.org (ASF Mail Server at svn01-us-west.apache.org) with ESMTP id AC7613A01A9
	for <commits@ponymail.incubator.apache.org>; Sat,  4 Jun 2016 08:04:24 +0000 (UTC)
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: svn commit: r13888 - /release/incubator/ponymail/
Date: Sat, 04 Jun 2016 08:04:24 -0000
To: commits@ponymail.incubator.apache.org
From: humbedooh@apache.org
X-Mailer: svnmailer-1.0.9
Message-Id: <20160604080424.AC7613A01A9@svn01-us-west.apache.org>
archived-at: Sat, 04 Jun 2016 08:04:29 -0000

Author: humbedooh
Date: Sat Jun  4 08:04:24 2016
New Revision: 13888

Log:
mkdir for pony mail releases

Added:
    release/incubator/ponymail/


From commits-return-128-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Sat Jun 04 08:12:20 2016
Return-Path: <commits-return-128-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 151B72009F3
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Sat,  4 Jun 2016 10:12:20 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 08A29160A26; Sat,  4 Jun 2016 08:12:20 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 2834C160A1E
	for <archive-asf-public@cust-asf.ponee.io>; Sat,  4 Jun 2016 10:12:19 +0200 (CEST)
Received: (qmail 22457 invoked by uid 500); 4 Jun 2016 08:12:18 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 22448 invoked by uid 99); 4 Jun 2016 08:12:18 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 08:12:18 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id D201F180584
	for <commits@ponymail.apache.org>; Sat,  4 Jun 2016 08:12:17 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -0.426
X-Spam-Level: 
X-Spam-Status: No, score=-0.426 tagged_above=-999 required=6.31
	tests=[KAM_LAZY_DOMAIN_SECURITY=1, RP_MATCHES_RCVD=-1.426]
	autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024)
	with ESMTP id JBqnGvtf9xas for <commits@ponymail.apache.org>;
	Sat,  4 Jun 2016 08:12:15 +0000 (UTC)
Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id 21EBB5F306
	for <commits@ponymail.incubator.apache.org>; Sat,  4 Jun 2016 08:12:15 +0000 (UTC)
Received: from svn01-us-west.apache.org (svn.apache.org [10.41.0.6])
	by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 0BB8DE017A
	for <commits@ponymail.incubator.apache.org>; Sat,  4 Jun 2016 08:12:13 +0000 (UTC)
Received: from svn01-us-west.apache.org (localhost [127.0.0.1])
	by svn01-us-west.apache.org (ASF Mail Server at svn01-us-west.apache.org) with ESMTP id ADDE13A01A9
	for <commits@ponymail.incubator.apache.org>; Sat,  4 Jun 2016 08:12:13 +0000 (UTC)
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: svn commit: r13889 - /dev/incubator/ponymail/KEYS
Date: Sat, 04 Jun 2016 08:12:13 -0000
To: commits@ponymail.incubator.apache.org
From: humbedooh@apache.org
X-Mailer: svnmailer-1.0.9
Message-Id: <20160604081213.ADDE13A01A9@svn01-us-west.apache.org>
archived-at: Sat, 04 Jun 2016 08:12:20 -0000

Author: humbedooh
Date: Sat Jun  4 08:12:13 2016
New Revision: 13889

Log:
add KEYS file. Do add to it!

Added:
    dev/incubator/ponymail/KEYS

Added: dev/incubator/ponymail/KEYS
==============================================================================
--- dev/incubator/ponymail/KEYS (added)
+++ dev/incubator/ponymail/KEYS Sat Jun  4 08:12:13 2016
@@ -0,0 +1,105 @@
+This file contains the GPG keys of Apache Pony Mail developers.
+
+Users:    gpg --import KEYS
+
+Developers:
+  Create a key:
+    gpg --gen-key
+
+  Adding your key to this file:
+    (gpg --list-sigs <key id> && gpg --armor --export <key id>) >> this file.
+
+  Publish the key:
+    gpg --keyserver pgp.mit.edu --send-keys <key id>
+
+  Signing another developers key:
+    gpg --keyserver pgp.mit.edu --search-keys <name or email>
+    gpg --keyserver pgp.mit.edu --recv-keys <key id>
+    gpg --sign-key <key id>
+    gpg --keyserver pgp.mit.edu --send-keys <key id>
+
+  Additional Information:
+    http://www.apache.org/dev/openpgp.html#generate-key
+
+********************************* PLEASE NOTE **********************************
+
+  Releases will be signed using one of these keys in this file. This file will
+  be available with the distributed Apache Pony Mail releases at:
+
+      https://dist.apache.org/repos/dist/release/incubator/ponymail/KEYS
+
+********************************************************************************
+
+pub   4096R/0F85ECD4 2013-06-12 [expires: 2018-06-04]
+uid                  Daniel Victor Gruno <humbedooh@apache.org>
+sig 3        0F85ECD4 2016-06-04  Daniel Victor Gruno <humbedooh@apache.org>
+uid                  Daniel Victor Gruno <rumble@cord.dk>
+sig 3        0F85ECD4 2016-06-04  Daniel Victor Gruno <humbedooh@apache.org>
+sub   4096R/756B7291 2013-06-12 [expires: 2016-06-11]
+sig          0F85ECD4 2013-06-12  Daniel Victor Gruno <humbedooh@apache.org>
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1
+
+mQINBFG43qEBEADMit8bYY2eaUVOo1z2ClN3LEJ2Xq/ASiuQoS6WBuWsb4lqc/rp
+l+tb7AVZcm0tHvXkGHIgoSe3JV4nvlhEC5OsoilnWW+Az0d55Op9iNOwzOEfd38U
+SX7PVwn+WvXVXy8FikxUUuM4MUoEqR1CieIGsLb0knfpWtl83NZWAXrvdJLSCaok
+xV4a4L4HaVb6GeWkw9YVpQ/o+X9rlqh+5sq4+j7hD9Ba7fZwzFGOluXk6KLx/tY4
+2HuLSW53RmCsBRA8mBNE7n3kkXGlA5aYxs1zLjjqrz6ObxbgyArp8/GJTqIpqFnC
+yT0H7QnR+J3c1wXIsslwKNM8ZJrcSTkK1no7mCFHuGNQy4bX93LpuGFv50cpOc5X
+Li+8Otxmy9jEfcbW+kgixdXtDXPVR1cWr8mD0REjH/mVAcMXRX5Jv2F+Bu9fq2oN
+jOuknUpezv+cxnfOS0stW4tteZKlbN+jU6PjE+n3QVBTjBPWzBQk0HPw8o+IE0Yf
+nN8XU5bmOf+KsBXju3KktzdDjMxAgmYA5hH361WhE5Yl0e6BKAC+qNJL8Jl3lHD6
+qtfY3FmViYREigeysRyHkyOeuhVIisbmwNWpv+oClY0O23rcZilnrMHWlm2ZeT3O
+JMIHnI4Pw/QniXAXsF8/TxV0+dHCxOgXUBdZVIXLYw8b6DNSL4NoqkuCTQARAQAB
+tCREYW5pZWwgVmljdG9yIEdydW5vIDxydW1ibGVAY29yZC5kaz6JAj4EEwECACgC
+GwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheABQJXUoxCBQkJXC7/AAoJENkbGCwP
+hezUoaMQAMfJGjgGL3gtxKTrqruuNlQH6mcfQzWNbbcpMuBPoKfQTNwWgZPnLg8H
+rVxHpxcwq2NhHQ//yqJJkg/xEik8Zj6Oxyj/XXHt/strmuyC+AHstLzn/jGK81nP
+6aHk2SRfvh0ANkhGWGJ68R2qkt7xU6MOXHH/esQT3PKmWJcpOeF3tHHUJMXxxQPb
+l5EE8XV4fY9uaGFvMrCOCQvBUdjm/4+iaHAnGKSkgxeNvQJl7Ir2ClffsxRjtmc3
+hnXvMy5GblQqr6D+ih5pcluu6rFSJwSn5GACXox5VDQ5ASNxH78b9mg7KD21aAvX
+RMY17TSW8wA4BwsIbrkD6TKcOUWiAMuWtTgTkQyNkDVnMa8yjl3HLjscdsU59JkI
+/KzREfEV3i1OWnqBHzpweZHlQSl1ykQUV8a/xMYlQMVzKogIvfyeuN/VxvFTxq8s
+3iSYDKFyZAAV08GRXHy/TefrSEq9tn113qYqeHuUAFTxc2WU71aVYd8YsXaHbFoa
+SyQg89qTEj/T5b6bxNyOuQUsQKWzs2qw3pz6FpGqkiFjuZcCQN3XrBzi45LCB3QY
+tGQUUbK/gn068qSEf0xr5Tu9oEi9xQGpeV3wLoeJGYk/+YKJgLgxNWptlaDnORJ1
+Th++XEv0njJE/0ndqco9B0WamcLAnuT9rUgkd3QvaY1UoAhydxKPtCpEYW5pZWwg
+VmljdG9yIEdydW5vIDxodW1iZWRvb2hAYXBhY2hlLm9yZz6JAj4EEwECACgCGwMG
+CwkIBwMCBhUIAgkKCwQWAgMBAh4BAheABQJXUoxKBQkJXC7/AAoJENkbGCwPhezU
+0tEQAJO86MOi9JKjpKFuiieizgi0Baz4zdEYhgEwgVUMGfT1MA66UtE11G+f+Qdo
+1LOKUWejypwdoqheHP2SEffHUGenHFl1HKxtGfcPSaPgFpl/fp0wCIMGuJaAoEoX
+/+TbJfEqvZUO6P6zMduaw5ckEShX/WIglUOllnzJ+aS8JtPrwBXkWfGwE4Lzp65z
+OLCcplGyaQ3H12rgscO7Ijd1zQILX5r1gErepWrQ5Lztl0YeDsapBOAApOV+kVjZ
+9TQO1RyaqLSuyUN1zDVwLCRcDGSylMpmz15UqwS5j7JJD3dOMPB3nJWpqCE0bg7A
+P8xFRixXLfOZPACNkf6nTzkmezqjnX+0UPC6CrxAg608SBUruebt+037UE2Q2LQ6
+E5xMMYWJSAfArJEwMDJ1qmxScxxuNP9IKS21l5Lhykpk2J8e7OiMX6A4NFJexxvb
+C2pdWuLbhHzm1GsGXQxLJ0jUX+dOyntTxgD89oyIOCGV3gFyTXQzpzdVMYyVKfk6
+NnofrumNAIIbzLn0WHetwRHS/sMIDAij0jPlgXLsDXTknrlMsL8w3DhZl5U7x4HR
+Ztz1KcqoiVCN8nFyomTT3jaNtqeWJTGVOrvUKaIEHS7c0356bPP6zVy37XJbXQuT
+SO5Xhit/kcVM7RIrgfha4IHGFtFuqD8bytJbTXF39EuD2HK+uQINBFG43qEBEACx
+Z1+0n947A4pclqJV+7mYyDZBQM/EjLIE6jg8in57kGn/610021vY2/SaY+H/sZU5
+GiY5f+jfi+jhvjzPb3hO6ghv6LSijp5yFq5LK4zWe93/DCyM7Begecp97jexjeOk
+n7NtvdAsr5Ul2vFv1dc3PavHKcbz1R8jdWJ4/4segfg6n6TR7XqJSVOtWjbG4Kfc
+sfGLBPooEPYPiFrgIkdSvaDX5C96hkd1FDjzO4karNbfyhvrhRkVNKuyEceP83wq
+DSVtNgIsSsFQRU+kDmABJnRtXUKaQ/2ZaMMMaLnv5MROI3vMGb2jLJEhU4Cnr+h8
+hOjFxM5W9NFQR28GQ4ZXsYBWRSb3m4rIwVa5QulBUlq6GG/Nb/17G3tPJxfag5kW
+PrmqUDvHxHHz2OJIFq0kT1fpyOdkX7boxSRnDo5AIKFl1Hh5BZKIeMqfcjlh/w5K
+iRAYIsM40PpAqhHWg43RiTZScQxRIZNVYsW/S9/WisyAC0bNQJ40W5BbAzCBp5jh
+fmC40wl+4J+VezkugqgLBSwtWBjQkYC5KVkmCJK+Rv4QCBY8nBUIcRlOEYJfXRCd
+J/lPqcp1zJYW0VTD4fvzKxBtVcsezF5ThI8hrW+1DuGa1n5heyRveiXeIXc7Fgr0
+v08xDJZMRmUGYuZTB9vifbn84BnyEZJHac2P2c37swARAQABiQIlBBgBAgAPBQJR
+uN6hAhsMBQkFo5qAAAoJENkbGCwPhezUf+0QALEgjD/lphlTRQTRzpa6ibPGbJ+I
+f8Y4AQRRJx7GkPEKqI8iO9Pp37Cs/w/cOAaR30qx+q9pVFtOvu4zzRiIQMR0ftFu
+KVkO/kqj2AS9Nj/TmI0AVb9Dmjz5BRXEW/y6R8osZ03Yi0biJCFm6ZTyuRMVxtjF
+hyqe6RfFLitHMNpv3REkk1wtCJBMvEEeqiR9JAZQhH1uKQT+2w8WjANSeHh7fdS0
+jy9ROUUkgjGvlq2Igc/kgQWfkT4RreMhB6ZA6rI8ARbiIb/tktpNmThV5/oKMHkv
+rJlzDcU4chMhRseJeNiOqHlu5o+H+G+rg4oJaY0OqKnMxSnZ64M2hpfLjpqd8V/0
+PR8MakwZsEsprWAucirjlvYkJZM5023n3O/8kvU1uAbTT84Yb4WqRDNptGFuxBFq
+AGMO7kPCJYrVIb7Ji82AQ/76oDUZ8h2l37uOxfubKKDASqgOrZaX6xF1YymdpDCR
+EIAhfX6VAoW5Rrr+UIjj3pIUidJYQD/9uGHfcMIkH2L5ypZr7q51HKXgwDboewyM
+axOWnwq6K3hzhH4Eu2jqMkc4sPlCFIq8dOQL3i8FneRFsmZgWjWa9PBabSFoSAsv
+CsHcxozBRvkMeg6wMD+EFPcF8WVyx2z5g/yxMxVFL9dvLHNAAD0QJDc5LYpfJjwA
+DNiMzQsFqu7AD+bN
+=FKBk
+-----END PGP PUBLIC KEY BLOCK-----



From commits-return-129-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Sat Jun 04 08:52:37 2016
Return-Path: <commits-return-129-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 1F9D02009F3
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Sat,  4 Jun 2016 10:52:37 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 1E397160A26; Sat,  4 Jun 2016 08:52:37 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 665BC160A1E
	for <archive-asf-public@cust-asf.ponee.io>; Sat,  4 Jun 2016 10:52:36 +0200 (CEST)
Received: (qmail 60524 invoked by uid 500); 4 Jun 2016 08:52:35 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 60515 invoked by uid 99); 4 Jun 2016 08:52:35 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 08:52:35 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 44D9DC2EF5
	for <commits@ponymail.apache.org>; Sat,  4 Jun 2016 08:52:35 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx2-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024)
	with ESMTP id 88077M1kx8CP for <commits@ponymail.apache.org>;
	Sat,  4 Jun 2016 08:52:33 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx2-lw-us.apache.org (ASF Mail Server at mx2-lw-us.apache.org) with SMTP id 368565F36D
	for <commits@ponymail.incubator.apache.org>; Sat,  4 Jun 2016 08:52:33 +0000 (UTC)
Received: (qmail 60457 invoked by uid 99); 4 Jun 2016 08:52:32 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 08:52:32 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 0F95FDFFF8; Sat,  4 Jun 2016 08:52:32 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Sat, 04 Jun 2016 08:52:32 -0000
Message-Id: <d067567082f6451aa8c5b2009f76dd56@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [1/2] incubator-ponymail-site git commit: note the location of the
 web site repo
archived-at: Sat, 04 Jun 2016 08:52:37 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site 2253548ae -> 424cbbbd8


note the location of the web site repo


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/660320e6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/660320e6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/660320e6

Branch: refs/heads/asf-site
Commit: 660320e687c818adb25c36b4884657e826b266f0
Parents: 2253548
Author: humbedooh <humbedooh@apache.org>
Authored: Sat Jun 4 10:50:57 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Sat Jun 4 10:50:57 2016 +0200

----------------------------------------------------------------------
 source/markdown/source.md | 4 ++++
 1 file changed, 4 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/660320e6/source/markdown/source.md
----------------------------------------------------------------------
diff --git a/source/markdown/source.md b/source/markdown/source.md
index 535509a..1f416c6 100644
--- a/source/markdown/source.md
+++ b/source/markdown/source.md
@@ -6,3 +6,7 @@ You can check out our canonical source repository at:
 
 We also have a GitHub mirror at: [https://github.com/apache/incubator-ponymail](https://github.com/apache/incubator-ponymail)
 
+Our web site is generated from the following repository: 
+[https://git-wip-us.apache.org/repos/asf/incubator-ponymail-site.git](https://git-wip-us.apache.org/repos/asf/incubator-ponymail-site.git)
+
+See the BUILDING.txt file in the repo for instructions.
\ No newline at end of file


From commits-return-130-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Sat Jun 04 08:52:38 2016
Return-Path: <commits-return-130-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 01E022009F3
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Sat,  4 Jun 2016 10:52:38 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 0043C160A26; Sat,  4 Jun 2016 08:52:38 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 488BF160A1E
	for <archive-asf-public@cust-asf.ponee.io>; Sat,  4 Jun 2016 10:52:37 +0200 (CEST)
Received: (qmail 60572 invoked by uid 500); 4 Jun 2016 08:52:36 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 60563 invoked by uid 99); 4 Jun 2016 08:52:36 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 08:52:36 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id D5A4C18060F
	for <commits@ponymail.apache.org>; Sat,  4 Jun 2016 08:52:35 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024)
	with ESMTP id wNl_KVsyIu9y for <commits@ponymail.apache.org>;
	Sat,  4 Jun 2016 08:52:34 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id 5787F5F306
	for <commits@ponymail.incubator.apache.org>; Sat,  4 Jun 2016 08:52:33 +0000 (UTC)
Received: (qmail 60460 invoked by uid 99); 4 Jun 2016 08:52:32 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 08:52:32 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 18506DFB14; Sat,  4 Jun 2016 08:52:32 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Sat, 04 Jun 2016 08:52:33 -0000
Message-Id: <2fac95a4481a4747ba9aba2bb98ee840@git.apache.org>
In-Reply-To: <d067567082f6451aa8c5b2009f76dd56@git.apache.org>
References: <d067567082f6451aa8c5b2009f76dd56@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [2/2] incubator-ponymail-site git commit: regen
archived-at: Sat, 04 Jun 2016 08:52:38 -0000

regen


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/424cbbbd
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/424cbbbd
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/424cbbbd

Branch: refs/heads/asf-site
Commit: 424cbbbd806e9f86d17adf63706f02cba7d7676d
Parents: 660320e
Author: humbedooh <humbedooh@apache.org>
Authored: Sat Jun 4 10:52:15 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Sat Jun 4 10:52:15 2016 +0200

----------------------------------------------------------------------
 content/source.html | 3 +++
 1 file changed, 3 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/424cbbbd/content/source.html
----------------------------------------------------------------------
diff --git a/content/source.html b/content/source.html
index a1cd523..6f4ef73 100644
--- a/content/source.html
+++ b/content/source.html
@@ -37,6 +37,9 @@
 <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>
+<p>Our web site is generated from the following repository: 
+<a href="https://git-wip-us.apache.org/repos/asf/incubator-ponymail-site.git">https://git-wip-us.apache.org/repos/asf/incubator-ponymail-site.git</a></p>
+<p>See the BUILDING.txt file in the repo for instructions.</p>
 <h4><a id="disclaimer"></a>Disclaimer</h4>
 <p style="font-size: 8pt; line-height: 12pt;">
     <a href="https://incubator.apache.org"><img src="/images/podling.svg" align="right" width="220px"/></a>


From commits-return-133-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Sat Jun 04 09:14:02 2016
Return-Path: <commits-return-133-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id CFFF12009F3
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Sat,  4 Jun 2016 11:14:02 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id CE9D2160A1E; Sat,  4 Jun 2016 09:14:02 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 25701160A26
	for <archive-asf-public@cust-asf.ponee.io>; Sat,  4 Jun 2016 11:14:01 +0200 (CEST)
Received: (qmail 79886 invoked by uid 500); 4 Jun 2016 09:14:01 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 79877 invoked by uid 99); 4 Jun 2016 09:14:01 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 09:14:01 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 06AA0C161A
	for <commits@ponymail.apache.org>; Sat,  4 Jun 2016 09:14:01 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024)
	with ESMTP id lqerH6T4qaiw for <commits@ponymail.apache.org>;
	Sat,  4 Jun 2016 09:13:58 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id 084385FAEF
	for <commits@ponymail.incubator.apache.org>; Sat,  4 Jun 2016 09:13:57 +0000 (UTC)
Received: (qmail 79754 invoked by uid 99); 4 Jun 2016 09:13:57 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 09:13:57 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 1649CE01BD; Sat,  4 Jun 2016 09:13:57 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Sat, 04 Jun 2016 09:13:57 -0000
Message-Id: <f42fdd9ce1ec41abb1f0ab5dbd78da29@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [1/4] incubator-ponymail-site git commit: add issue tracker and repo
 to the contribute page
archived-at: Sat, 04 Jun 2016 09:14:03 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site 424cbbbd8 -> aa6abefea


add issue tracker and repo to the contribute page


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/8f2f2551
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/8f2f2551
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/8f2f2551

Branch: refs/heads/asf-site
Commit: 8f2f255197c92a296c730050bf89d6e513285d2c
Parents: 424cbbb
Author: humbedooh <humbedooh@apache.org>
Authored: Sat Jun 4 11:10:20 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Sat Jun 4 11:10:20 2016 +0200

----------------------------------------------------------------------
 source/markdown/contribute.md | 10 ++++++++++
 1 file changed, 10 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/8f2f2551/source/markdown/contribute.md
----------------------------------------------------------------------
diff --git a/source/markdown/contribute.md b/source/markdown/contribute.md
index 07e4192..f8d9cd8 100644
--- a/source/markdown/contribute.md
+++ b/source/markdown/contribute.md
@@ -4,6 +4,16 @@ 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.
 
+## Source code and issue tracker ##
+
+Our canonical source repository is at: [https://git-wip-us.apache.org/repos/asf/incubator-ponymail.git](https://git-wip-us.apache.org/repos/asf/incubator-ponymail.git)
+
+We also have a GitHub mirror at: [https://github.com/apache/incubator-ponymail](https://github.com/apache/incubator-ponymail)
+
+We currently use GitHub Issues for tracking bugs and improvements: [https://github.com/apache/incubator-ponymail/issues](https://github.com/apache/incubator-ponymail/issues)
+
+## Contributing guideline ##
+
 To contribute to Pony Mail, follow these steps:
 
 - [Fork the repo](/source.html)


From commits-return-131-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Sat Jun 04 09:14:01 2016
Return-Path: <commits-return-131-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 5E0A32009F3
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Sat,  4 Jun 2016 11:14:01 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 5C8E6160A26; Sat,  4 Jun 2016 09:14:01 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id A314E160A1E
	for <archive-asf-public@cust-asf.ponee.io>; Sat,  4 Jun 2016 11:14:00 +0200 (CEST)
Received: (qmail 79778 invoked by uid 500); 4 Jun 2016 09:13:59 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 79769 invoked by uid 99); 4 Jun 2016 09:13:59 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 09:13:59 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 80C361A0ABF
	for <commits@ponymail.apache.org>; Sat,  4 Jun 2016 09:13:59 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024)
	with ESMTP id sR3_U7PmCMqo for <commits@ponymail.apache.org>;
	Sat,  4 Jun 2016 09:13:58 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id 0EA445FAF9
	for <commits@ponymail.incubator.apache.org>; Sat,  4 Jun 2016 09:13:57 +0000 (UTC)
Received: (qmail 79759 invoked by uid 99); 4 Jun 2016 09:13:57 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 09:13:57 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 208C9E03E1; Sat,  4 Jun 2016 09:13:57 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Sat, 04 Jun 2016 09:13:58 -0000
Message-Id: <99a6b841e75144e2b4b5fdac922338b5@git.apache.org>
In-Reply-To: <f42fdd9ce1ec41abb1f0ab5dbd78da29@git.apache.org>
References: <f42fdd9ce1ec41abb1f0ab5dbd78da29@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [2/4] incubator-ponymail-site git commit: add link to org details
archived-at: Sat, 04 Jun 2016 09:14:01 -0000

add link to org details


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/661734ff
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/661734ff
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/661734ff

Branch: refs/heads/asf-site
Commit: 661734fff58f85d9c82f10fe899e41c861ccd016
Parents: 8f2f255
Author: humbedooh <humbedooh@apache.org>
Authored: Sat Jun 4 11:10:36 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Sat Jun 4 11:10:36 2016 +0200

----------------------------------------------------------------------
 source/template.html | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/661734ff/source/template.html
----------------------------------------------------------------------
diff --git a/source/template.html b/source/template.html
index 6970a21..c202b7f 100644
--- a/source/template.html
+++ b/source/template.html
@@ -30,6 +30,7 @@
             <li><a href="/support.html"><i class="fa fa-question-circle"></i><span>Get support</span></a></li>
             <li><a href="/contribute.html"><i class="fa fa-share-alt"></i><span>Contribute</span></a></li>
             <li><a href="/about.html"><i class="fa fa-users"></i><span>About</span></a></li>
+            <li><a href="/apache.html"><i class="fa fa-info-circle"></i><span>ASF</span></a></li>
         </ul>
     </div>
 </div>


From commits-return-132-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Sat Jun 04 09:14:02 2016
Return-Path: <commits-return-132-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 788222009F3
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Sat,  4 Jun 2016 11:14:02 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 7701B160A4E; Sat,  4 Jun 2016 09:14:02 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id BF492160A1E
	for <archive-asf-public@cust-asf.ponee.io>; Sat,  4 Jun 2016 11:14:01 +0200 (CEST)
Received: (qmail 79844 invoked by uid 500); 4 Jun 2016 09:14:01 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 79835 invoked by uid 99); 4 Jun 2016 09:14:00 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 09:14:00 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 9D6DFC0141
	for <commits@ponymail.apache.org>; Sat,  4 Jun 2016 09:14:00 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024)
	with ESMTP id h2xiRwBruQMj for <commits@ponymail.apache.org>;
	Sat,  4 Jun 2016 09:13:58 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id 251BB5FB17
	for <commits@ponymail.incubator.apache.org>; Sat,  4 Jun 2016 09:13:57 +0000 (UTC)
Received: (qmail 79761 invoked by uid 99); 4 Jun 2016 09:13:57 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 09:13:57 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 21BE0DFC4F; Sat,  4 Jun 2016 09:13:57 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Sat, 04 Jun 2016 09:13:59 -0000
Message-Id: <33b9dc1784f742669abad2c02260ba1c@git.apache.org>
In-Reply-To: <f42fdd9ce1ec41abb1f0ab5dbd78da29@git.apache.org>
References: <f42fdd9ce1ec41abb1f0ab5dbd78da29@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [3/4] incubator-ponymail-site git commit: add apache page
archived-at: Sat, 04 Jun 2016 09:14:02 -0000

add apache page


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/7fa8b026
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/7fa8b026
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/7fa8b026

Branch: refs/heads/asf-site
Commit: 7fa8b02615ebceea25f4a2a141d0a66c978348e8
Parents: 661734f
Author: humbedooh <humbedooh@apache.org>
Authored: Sat Jun 4 11:13:27 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Sat Jun 4 11:13:27 2016 +0200

----------------------------------------------------------------------
 source/markdown/apache.md | 12 ++++++++++++
 1 file changed, 12 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/7fa8b026/source/markdown/apache.md
----------------------------------------------------------------------
diff --git a/source/markdown/apache.md b/source/markdown/apache.md
new file mode 100644
index 0000000..00c82ee
--- /dev/null
+++ b/source/markdown/apache.md
@@ -0,0 +1,12 @@
+# About the Apache Software Foundation #
+
+
+* [Apache Incubator](https://incubator.apache.org/)
+* [The Apache Software Foundation](https://www.apache.org/)
+* [How Apache Works](http://www.apache.org/foundation/how-it-works.html)
+* [The Apache License](http://www.apache.org/licenses/LICENSE-2.0.html)
+* [Sponsoring Apache](http://www.apache.org/foundation/sponsorship.html)
+* [Thanks](http://www.apache.org/foundation/thanks.html)
+
+
+


From commits-return-134-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Sat Jun 04 09:14:05 2016
Return-Path: <commits-return-134-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id D35B52009F3
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Sat,  4 Jun 2016 11:14:05 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id D1F98160A26; Sat,  4 Jun 2016 09:14:05 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id A6264160A1E
	for <archive-asf-public@cust-asf.ponee.io>; Sat,  4 Jun 2016 11:14:04 +0200 (CEST)
Received: (qmail 79933 invoked by uid 500); 4 Jun 2016 09:14:03 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 79924 invoked by uid 99); 4 Jun 2016 09:14:03 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 09:14:03 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 7C19818060F
	for <commits@ponymail.apache.org>; Sat,  4 Jun 2016 09:14:03 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024)
	with ESMTP id 984PL8z4gPqT for <commits@ponymail.apache.org>;
	Sat,  4 Jun 2016 09:14:00 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id 02CDD5F4E4
	for <commits@ponymail.incubator.apache.org>; Sat,  4 Jun 2016 09:13:57 +0000 (UTC)
Received: (qmail 79756 invoked by uid 99); 4 Jun 2016 09:13:57 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 09:13:57 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 1EA89DFABB; Sat,  4 Jun 2016 09:13:57 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Sat, 04 Jun 2016 09:14:00 -0000
Message-Id: <2c156e856f2840ad87343a102cc2f37b@git.apache.org>
In-Reply-To: <f42fdd9ce1ec41abb1f0ab5dbd78da29@git.apache.org>
References: <f42fdd9ce1ec41abb1f0ab5dbd78da29@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [4/4] incubator-ponymail-site git commit: regen
archived-at: Sat, 04 Jun 2016 09:14:06 -0000

regen


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/aa6abefe
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/aa6abefe
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/aa6abefe

Branch: refs/heads/asf-site
Commit: aa6abefead5fc8938b60106bb38ed4cd99f9730c
Parents: 7fa8b02
Author: humbedooh <humbedooh@apache.org>
Authored: Sat Jun 4 11:13:43 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Sat Jun 4 11:13:43 2016 +0200

----------------------------------------------------------------------
 content/about.html               |  1 +
 content/apache.html              | 65 +++++++++++++++++++++++++++++++++++
 content/contribute.html          |  6 ++++
 content/docs.html                |  1 +
 content/docs/api.html            |  1 +
 content/docs/archiving.html      |  1 +
 content/docs/building.html       |  1 +
 content/docs/contributing.html   |  1 +
 content/docs/importing.html      |  1 +
 content/docs/install.centos.html |  1 +
 content/docs/install.debian.html |  1 +
 content/docs/install.fedora.html |  1 +
 content/docs/install.ubuntu.html |  1 +
 content/docs/installing.html     |  1 +
 content/downloads.html           |  1 +
 content/index.html               |  1 +
 content/source.html              |  1 +
 content/support.html             |  1 +
 18 files changed, 87 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/aa6abefe/content/about.html
----------------------------------------------------------------------
diff --git a/content/about.html b/content/about.html
index 63e0c71..00f55e2 100644
--- a/content/about.html
+++ b/content/about.html
@@ -30,6 +30,7 @@
             <li><a href="/support.html"><i class="fa fa-question-circle"></i><span>Get support</span></a></li>
             <li><a href="/contribute.html"><i class="fa fa-share-alt"></i><span>Contribute</span></a></li>
             <li><a href="/about.html"><i class="fa fa-users"></i><span>About</span></a></li>
+            <li><a href="/apache.html"><i class="fa fa-info-circle"></i><span>ASF</span></a></li>
         </ul>
     </div>
 </div>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/aa6abefe/content/apache.html
----------------------------------------------------------------------
diff --git a/content/apache.html b/content/apache.html
new file mode 100644
index 0000000..a426384
--- /dev/null
+++ b/content/apache.html
@@ -0,0 +1,65 @@
+<!DOCTYPE html><html><head><meta charset="utf-8"><title>Apache Pony Mail (Incubating)</title>
+<link rel="stylesheet" type="text/css" href="/css/default.css"/>
+<link rel="stylesheet" type="text/css" href="/css/fa/fa.css"/>
+<link rel="apple-touch-icon" sizes="57x57" href="/icons/apple-icon-57x57.png">
+<link rel="apple-touch-icon" sizes="60x60" href="/icons/apple-icon-60x60.png">
+<link rel="apple-touch-icon" sizes="72x72" href="/icons/apple-icon-72x72.png">
+<link rel="apple-touch-icon" sizes="76x76" href="/icons/apple-icon-76x76.png">
+<link rel="apple-touch-icon" sizes="114x114" href="/icons/apple-icon-114x114.png">
+<link rel="apple-touch-icon" sizes="120x120" href="/icons/apple-icon-120x120.png">
+<link rel="apple-touch-icon" sizes="144x144" href="/icons/apple-icon-144x144.png">
+<link rel="apple-touch-icon" sizes="152x152" href="/icons/apple-icon-152x152.png">
+<link rel="apple-touch-icon" sizes="180x180" href="/icons/apple-icon-180x180.png">
+<link rel="icon" type="image/png" sizes="192x192"  href="/android-icon-192x192.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/icons/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="96x96" href="/icons/favicon-96x96.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/icons/favicon-16x16.png">
+<link rel="manifest" href="/icons/manifest.json">
+<meta name="msapplication-TileColor" content="#ffffff">
+<meta name="msapplication-TileImage" content="/icons/ms-icon-144x144.png">
+<meta name="theme-color" content="#ffffff">
+</head><body>
+<div id="titlebar">
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
+    <div id="menubar">
+        <ul>
+            <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>
+            <li><a href="/source.html"><i class="fa fa-git-square"></i><span>Source</span></a></li>
+            <li><a href="/downloads.html"><i class="fa fa-cloud-download"></i><span>Download</span></a></li>
+            <li><a href="/support.html"><i class="fa fa-question-circle"></i><span>Get support</span></a></li>
+            <li><a href="/contribute.html"><i class="fa fa-share-alt"></i><span>Contribute</span></a></li>
+            <li><a href="/about.html"><i class="fa fa-users"></i><span>About</span></a></li>
+            <li><a href="/apache.html"><i class="fa fa-info-circle"></i><span>ASF</span></a></li>
+        </ul>
+    </div>
+</div>
+<h1 id='abouttheapachesoftwarefoundation'>About the Apache Software Foundation<a href='#abouttheapachesoftwarefoundation' style='color: rgba(0,0,0,0);'>&para;</a></h1>
+<ul>
+<li><a href="https://incubator.apache.org/">Apache Incubator</a></li>
+<li><a href="https://www.apache.org/">The Apache Software Foundation</a></li>
+<li><a href="http://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
+<li><a href="http://www.apache.org/licenses/LICENSE-2.0.html">The Apache License</a></li>
+<li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+</ul>
+<h4><a id="disclaimer"></a>Disclaimer</h4>
+<p style="font-size: 8pt; line-height: 12pt;">
+    <a href="https://incubator.apache.org"><img src="/images/podling.svg" align="right" width="220px"/></a>
+    Apache Pony Mail (Incubating) is an effort undergoing incubation at
+    The Apache Software Foundation (ASF), sponsored by the <a href="https://incubator.apache.org">
+    Apache Incubator</a>. Incubation is required of all newly accepted projects
+    until a further review indicates that the infrastructure,
+    communications, and decision making process have stabilized in a
+    manner consistent with other successful ASF projects. While
+    incubation status is not necessarily a reflection of the
+    completeness or stability of the code, it does indicate that the
+    project has yet to be fully endorsed by the ASF.
+</p>
+<p style="font-size: 8pt; line-height: 12pt;">
+    Copyright 2016, the Apache Software Foundation.<br/>
+    Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
+    Apache and the Apache feather are registered trademarks of the
+    Apache Software Foundation.
+</p>
+</body></html>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/aa6abefe/content/contribute.html
----------------------------------------------------------------------
diff --git a/content/contribute.html b/content/contribute.html
index f4ddb5f..a2413c2 100644
--- a/content/contribute.html
+++ b/content/contribute.html
@@ -30,6 +30,7 @@
             <li><a href="/support.html"><i class="fa fa-question-circle"></i><span>Get support</span></a></li>
             <li><a href="/contribute.html"><i class="fa fa-share-alt"></i><span>Contribute</span></a></li>
             <li><a href="/about.html"><i class="fa fa-users"></i><span>About</span></a></li>
+            <li><a href="/apache.html"><i class="fa fa-info-circle"></i><span>ASF</span></a></li>
         </ul>
     </div>
 </div>
@@ -37,6 +38,11 @@
 <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>
+<h2 id='sourcecodeandissuetracker'>Source code and issue tracker<a href='#sourcecodeandissuetracker' style='color: rgba(0,0,0,0);'>&para;</a></h2>
+<p>Our canonical source repository is 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>
+<p>We currently use GitHub Issues for tracking bugs and improvements: <a href="https://github.com/apache/incubator-ponymail/issues">https://github.com/apache/incubator-ponymail/issues</a></p>
+<h2 id='contributingguideline'>Contributing guideline<a href='#contributingguideline' style='color: rgba(0,0,0,0);'>&para;</a></h2>
 <p>To contribute to Pony Mail, follow these steps:</p>
 <ul>
 <li><a href="/source.html">Fork the repo</a></li>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/aa6abefe/content/docs.html
----------------------------------------------------------------------
diff --git a/content/docs.html b/content/docs.html
index 494a771..c9a81ed 100644
--- a/content/docs.html
+++ b/content/docs.html
@@ -30,6 +30,7 @@
             <li><a href="/support.html"><i class="fa fa-question-circle"></i><span>Get support</span></a></li>
             <li><a href="/contribute.html"><i class="fa fa-share-alt"></i><span>Contribute</span></a></li>
             <li><a href="/about.html"><i class="fa fa-users"></i><span>About</span></a></li>
+            <li><a href="/apache.html"><i class="fa fa-info-circle"></i><span>ASF</span></a></li>
         </ul>
     </div>
 </div>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/aa6abefe/content/docs/api.html
----------------------------------------------------------------------
diff --git a/content/docs/api.html b/content/docs/api.html
index 0377812..38acd87 100644
--- a/content/docs/api.html
+++ b/content/docs/api.html
@@ -30,6 +30,7 @@
             <li><a href="/support.html"><i class="fa fa-question-circle"></i><span>Get support</span></a></li>
             <li><a href="/contribute.html"><i class="fa fa-share-alt"></i><span>Contribute</span></a></li>
             <li><a href="/about.html"><i class="fa fa-users"></i><span>About</span></a></li>
+            <li><a href="/apache.html"><i class="fa fa-info-circle"></i><span>ASF</span></a></li>
         </ul>
     </div>
 </div>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/aa6abefe/content/docs/archiving.html
----------------------------------------------------------------------
diff --git a/content/docs/archiving.html b/content/docs/archiving.html
index 61ae9c9..6766633 100644
--- a/content/docs/archiving.html
+++ b/content/docs/archiving.html
@@ -30,6 +30,7 @@
             <li><a href="/support.html"><i class="fa fa-question-circle"></i><span>Get support</span></a></li>
             <li><a href="/contribute.html"><i class="fa fa-share-alt"></i><span>Contribute</span></a></li>
             <li><a href="/about.html"><i class="fa fa-users"></i><span>About</span></a></li>
+            <li><a href="/apache.html"><i class="fa fa-info-circle"></i><span>ASF</span></a></li>
         </ul>
     </div>
 </div>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/aa6abefe/content/docs/building.html
----------------------------------------------------------------------
diff --git a/content/docs/building.html b/content/docs/building.html
index c2169b8..049cdf7 100644
--- a/content/docs/building.html
+++ b/content/docs/building.html
@@ -30,6 +30,7 @@
             <li><a href="/support.html"><i class="fa fa-question-circle"></i><span>Get support</span></a></li>
             <li><a href="/contribute.html"><i class="fa fa-share-alt"></i><span>Contribute</span></a></li>
             <li><a href="/about.html"><i class="fa fa-users"></i><span>About</span></a></li>
+            <li><a href="/apache.html"><i class="fa fa-info-circle"></i><span>ASF</span></a></li>
         </ul>
     </div>
 </div>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/aa6abefe/content/docs/contributing.html
----------------------------------------------------------------------
diff --git a/content/docs/contributing.html b/content/docs/contributing.html
index 6972203..715d30e 100644
--- a/content/docs/contributing.html
+++ b/content/docs/contributing.html
@@ -30,6 +30,7 @@
             <li><a href="/support.html"><i class="fa fa-question-circle"></i><span>Get support</span></a></li>
             <li><a href="/contribute.html"><i class="fa fa-share-alt"></i><span>Contribute</span></a></li>
             <li><a href="/about.html"><i class="fa fa-users"></i><span>About</span></a></li>
+            <li><a href="/apache.html"><i class="fa fa-info-circle"></i><span>ASF</span></a></li>
         </ul>
     </div>
 </div>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/aa6abefe/content/docs/importing.html
----------------------------------------------------------------------
diff --git a/content/docs/importing.html b/content/docs/importing.html
index 796b93d..9619352 100644
--- a/content/docs/importing.html
+++ b/content/docs/importing.html
@@ -30,6 +30,7 @@
             <li><a href="/support.html"><i class="fa fa-question-circle"></i><span>Get support</span></a></li>
             <li><a href="/contribute.html"><i class="fa fa-share-alt"></i><span>Contribute</span></a></li>
             <li><a href="/about.html"><i class="fa fa-users"></i><span>About</span></a></li>
+            <li><a href="/apache.html"><i class="fa fa-info-circle"></i><span>ASF</span></a></li>
         </ul>
     </div>
 </div>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/aa6abefe/content/docs/install.centos.html
----------------------------------------------------------------------
diff --git a/content/docs/install.centos.html b/content/docs/install.centos.html
index 3bcffbb..c8963cc 100644
--- a/content/docs/install.centos.html
+++ b/content/docs/install.centos.html
@@ -30,6 +30,7 @@
             <li><a href="/support.html"><i class="fa fa-question-circle"></i><span>Get support</span></a></li>
             <li><a href="/contribute.html"><i class="fa fa-share-alt"></i><span>Contribute</span></a></li>
             <li><a href="/about.html"><i class="fa fa-users"></i><span>About</span></a></li>
+            <li><a href="/apache.html"><i class="fa fa-info-circle"></i><span>ASF</span></a></li>
         </ul>
     </div>
 </div>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/aa6abefe/content/docs/install.debian.html
----------------------------------------------------------------------
diff --git a/content/docs/install.debian.html b/content/docs/install.debian.html
index 55f7847..9bfb0f0 100644
--- a/content/docs/install.debian.html
+++ b/content/docs/install.debian.html
@@ -30,6 +30,7 @@
             <li><a href="/support.html"><i class="fa fa-question-circle"></i><span>Get support</span></a></li>
             <li><a href="/contribute.html"><i class="fa fa-share-alt"></i><span>Contribute</span></a></li>
             <li><a href="/about.html"><i class="fa fa-users"></i><span>About</span></a></li>
+            <li><a href="/apache.html"><i class="fa fa-info-circle"></i><span>ASF</span></a></li>
         </ul>
     </div>
 </div>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/aa6abefe/content/docs/install.fedora.html
----------------------------------------------------------------------
diff --git a/content/docs/install.fedora.html b/content/docs/install.fedora.html
index a39faae..9c67742 100644
--- a/content/docs/install.fedora.html
+++ b/content/docs/install.fedora.html
@@ -30,6 +30,7 @@
             <li><a href="/support.html"><i class="fa fa-question-circle"></i><span>Get support</span></a></li>
             <li><a href="/contribute.html"><i class="fa fa-share-alt"></i><span>Contribute</span></a></li>
             <li><a href="/about.html"><i class="fa fa-users"></i><span>About</span></a></li>
+            <li><a href="/apache.html"><i class="fa fa-info-circle"></i><span>ASF</span></a></li>
         </ul>
     </div>
 </div>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/aa6abefe/content/docs/install.ubuntu.html
----------------------------------------------------------------------
diff --git a/content/docs/install.ubuntu.html b/content/docs/install.ubuntu.html
index db3e9f9..d8999d3 100644
--- a/content/docs/install.ubuntu.html
+++ b/content/docs/install.ubuntu.html
@@ -30,6 +30,7 @@
             <li><a href="/support.html"><i class="fa fa-question-circle"></i><span>Get support</span></a></li>
             <li><a href="/contribute.html"><i class="fa fa-share-alt"></i><span>Contribute</span></a></li>
             <li><a href="/about.html"><i class="fa fa-users"></i><span>About</span></a></li>
+            <li><a href="/apache.html"><i class="fa fa-info-circle"></i><span>ASF</span></a></li>
         </ul>
     </div>
 </div>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/aa6abefe/content/docs/installing.html
----------------------------------------------------------------------
diff --git a/content/docs/installing.html b/content/docs/installing.html
index ef980dd..fb564f5 100644
--- a/content/docs/installing.html
+++ b/content/docs/installing.html
@@ -30,6 +30,7 @@
             <li><a href="/support.html"><i class="fa fa-question-circle"></i><span>Get support</span></a></li>
             <li><a href="/contribute.html"><i class="fa fa-share-alt"></i><span>Contribute</span></a></li>
             <li><a href="/about.html"><i class="fa fa-users"></i><span>About</span></a></li>
+            <li><a href="/apache.html"><i class="fa fa-info-circle"></i><span>ASF</span></a></li>
         </ul>
     </div>
 </div>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/aa6abefe/content/downloads.html
----------------------------------------------------------------------
diff --git a/content/downloads.html b/content/downloads.html
index 4406775..614b3c7 100644
--- a/content/downloads.html
+++ b/content/downloads.html
@@ -30,6 +30,7 @@
             <li><a href="/support.html"><i class="fa fa-question-circle"></i><span>Get support</span></a></li>
             <li><a href="/contribute.html"><i class="fa fa-share-alt"></i><span>Contribute</span></a></li>
             <li><a href="/about.html"><i class="fa fa-users"></i><span>About</span></a></li>
+            <li><a href="/apache.html"><i class="fa fa-info-circle"></i><span>ASF</span></a></li>
         </ul>
     </div>
 </div>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/aa6abefe/content/index.html
----------------------------------------------------------------------
diff --git a/content/index.html b/content/index.html
index 0df1878..1523fdf 100644
--- a/content/index.html
+++ b/content/index.html
@@ -30,6 +30,7 @@
             <li><a href="/support.html"><i class="fa fa-question-circle"></i><span>Get support</span></a></li>
             <li><a href="/contribute.html"><i class="fa fa-share-alt"></i><span>Contribute</span></a></li>
             <li><a href="/about.html"><i class="fa fa-users"></i><span>About</span></a></li>
+            <li><a href="/apache.html"><i class="fa fa-info-circle"></i><span>ASF</span></a></li>
         </ul>
     </div>
 </div>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/aa6abefe/content/source.html
----------------------------------------------------------------------
diff --git a/content/source.html b/content/source.html
index 6f4ef73..9a6fbd0 100644
--- a/content/source.html
+++ b/content/source.html
@@ -30,6 +30,7 @@
             <li><a href="/support.html"><i class="fa fa-question-circle"></i><span>Get support</span></a></li>
             <li><a href="/contribute.html"><i class="fa fa-share-alt"></i><span>Contribute</span></a></li>
             <li><a href="/about.html"><i class="fa fa-users"></i><span>About</span></a></li>
+            <li><a href="/apache.html"><i class="fa fa-info-circle"></i><span>ASF</span></a></li>
         </ul>
     </div>
 </div>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/aa6abefe/content/support.html
----------------------------------------------------------------------
diff --git a/content/support.html b/content/support.html
index dc17856..6b4c8cf 100644
--- a/content/support.html
+++ b/content/support.html
@@ -30,6 +30,7 @@
             <li><a href="/support.html"><i class="fa fa-question-circle"></i><span>Get support</span></a></li>
             <li><a href="/contribute.html"><i class="fa fa-share-alt"></i><span>Contribute</span></a></li>
             <li><a href="/about.html"><i class="fa fa-users"></i><span>About</span></a></li>
+            <li><a href="/apache.html"><i class="fa fa-info-circle"></i><span>ASF</span></a></li>
         </ul>
     </div>
 </div>


From commits-return-135-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Sat Jun 04 09:15:47 2016
Return-Path: <commits-return-135-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id B918A2009F3
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Sat,  4 Jun 2016 11:15:47 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id B7AF8160A4E; Sat,  4 Jun 2016 09:15:47 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 0B631160A1E
	for <archive-asf-public@cust-asf.ponee.io>; Sat,  4 Jun 2016 11:15:46 +0200 (CEST)
Received: (qmail 85173 invoked by uid 500); 4 Jun 2016 09:15:46 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 85164 invoked by uid 99); 4 Jun 2016 09:15:46 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 09:15:46 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id CFE241A0ABF
	for <commits@ponymail.apache.org>; Sat,  4 Jun 2016 09:15:45 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024)
	with ESMTP id 9lSTmepiihFm for <commits@ponymail.apache.org>;
	Sat,  4 Jun 2016 09:15:43 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id C9DFD5F4E4
	for <commits@ponymail.incubator.apache.org>; Sat,  4 Jun 2016 09:15:42 +0000 (UTC)
Received: (qmail 85137 invoked by uid 99); 4 Jun 2016 09:15:41 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 09:15:41 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id ADCF6DFC4F; Sat,  4 Jun 2016 09:15:41 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Sat, 04 Jun 2016 09:15:41 -0000
Message-Id: <0f9579266d3244f0bc5269155174a693@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [1/2] incubator-ponymail-site git commit: refactor,
 add issue tracker link
archived-at: Sat, 04 Jun 2016 09:15:47 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site aa6abefea -> bd11c3440


refactor, add issue tracker link


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/4efc4a3c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/4efc4a3c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/4efc4a3c

Branch: refs/heads/asf-site
Commit: 4efc4a3cc54686cb54dada8b0c5734e457ae210c
Parents: aa6abef
Author: humbedooh <humbedooh@apache.org>
Authored: Sat Jun 4 11:15:22 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Sat Jun 4 11:15:22 2016 +0200

----------------------------------------------------------------------
 source/markdown/support.md | 7 +++++++
 1 file changed, 7 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/4efc4a3c/source/markdown/support.md
----------------------------------------------------------------------
diff --git a/source/markdown/support.md b/source/markdown/support.md
index a007d7d..32b93cb 100644
--- a/source/markdown/support.md
+++ b/source/markdown/support.md
@@ -1,5 +1,7 @@
 # Getting Support
 
+
+## Mailing lists ##
 Our primary communication interface is - you guessed it - mailing lists!<br/>
     We have a number of mailing lists for various purposes:<br/>
 
@@ -34,6 +36,11 @@ Our primary communication interface is - you guessed it - mailing lists!<br/>
     </tr>
 </table>
 
+## Issue tracker ##
+We currently use GitHub Issues for tracking bugs and improvements: [https://github.com/apache/incubator-ponymail/issues](https://github.com/apache/incubator-ponymail/issues)
+
+## IRC ##
 We are also on IRC, if you fancy a quick chat. You can find us in #PonyMail on Freenode.
 
+## Security issues ##
 Security issues and inquiries should be sent to: security@apache.org


From commits-return-136-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Sat Jun 04 09:15:48 2016
Return-Path: <commits-return-136-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 1F2F82009F3
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Sat,  4 Jun 2016 11:15:48 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 1DD03160A1E; Sat,  4 Jun 2016 09:15:48 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 68C2C160A26
	for <archive-asf-public@cust-asf.ponee.io>; Sat,  4 Jun 2016 11:15:47 +0200 (CEST)
Received: (qmail 85214 invoked by uid 500); 4 Jun 2016 09:15:46 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 85205 invoked by uid 99); 4 Jun 2016 09:15:46 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 09:15:46 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 0111BC0141
	for <commits@ponymail.apache.org>; Sat,  4 Jun 2016 09:15:46 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024)
	with ESMTP id fXJqdOljUfsc for <commits@ponymail.apache.org>;
	Sat,  4 Jun 2016 09:15:43 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id B8B455F306
	for <commits@ponymail.incubator.apache.org>; Sat,  4 Jun 2016 09:15:42 +0000 (UTC)
Received: (qmail 85135 invoked by uid 99); 4 Jun 2016 09:15:41 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 09:15:41 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id B129DDFFF8; Sat,  4 Jun 2016 09:15:41 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Sat, 04 Jun 2016 09:15:42 -0000
Message-Id: <0cac847aa54e4731b326817865758fde@git.apache.org>
In-Reply-To: <0f9579266d3244f0bc5269155174a693@git.apache.org>
References: <0f9579266d3244f0bc5269155174a693@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [2/2] incubator-ponymail-site git commit: regen
archived-at: Sat, 04 Jun 2016 09:15:48 -0000

regen


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/bd11c344
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/bd11c344
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/bd11c344

Branch: refs/heads/asf-site
Commit: bd11c344024882555e037a9245c6ff47719f05bf
Parents: 4efc4a3
Author: humbedooh <humbedooh@apache.org>
Authored: Sat Jun 4 11:15:30 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Sat Jun 4 11:15:30 2016 +0200

----------------------------------------------------------------------
 content/support.html | 5 +++++
 1 file changed, 5 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/bd11c344/content/support.html
----------------------------------------------------------------------
diff --git a/content/support.html b/content/support.html
index 6b4c8cf..f2c2961 100644
--- a/content/support.html
+++ b/content/support.html
@@ -35,6 +35,7 @@
     </div>
 </div>
 <h1 id='gettingsupport'>Getting Support<a href='#gettingsupport' style='color: rgba(0,0,0,0);'>&para;</a></h1>
+<h2 id='mailinglists'>Mailing lists<a href='#mailinglists' style='color: rgba(0,0,0,0);'>&para;</a></h2>
 <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">
@@ -68,7 +69,11 @@
     </tr>
 </table>
 
+<h2 id='issuetracker'>Issue tracker<a href='#issuetracker' style='color: rgba(0,0,0,0);'>&para;</a></h2>
+<p>We currently use GitHub Issues for tracking bugs and improvements: <a href="https://github.com/apache/incubator-ponymail/issues">https://github.com/apache/incubator-ponymail/issues</a></p>
+<h2 id='irc'>IRC<a href='#irc' style='color: rgba(0,0,0,0);'>&para;</a></h2>
 <p>We are also on IRC, if you fancy a quick chat. You can find us in #PonyMail on Freenode.</p>
+<h2 id='securityissues'>Security issues<a href='#securityissues' style='color: rgba(0,0,0,0);'>&para;</a></h2>
 <p>Security issues and inquiries should be sent to: security@apache.org</p>
 <h4><a id="disclaimer"></a>Disclaimer</h4>
 <p style="font-size: 8pt; line-height: 12pt;">


From commits-return-137-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Sat Jun 04 09:28:33 2016
Return-Path: <commits-return-137-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id D45092009F3
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Sat,  4 Jun 2016 11:28:33 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id D2D5A160A26; Sat,  4 Jun 2016 09:28:33 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 2403C160A1E
	for <archive-asf-public@cust-asf.ponee.io>; Sat,  4 Jun 2016 11:28:32 +0200 (CEST)
Received: (qmail 361 invoked by uid 500); 4 Jun 2016 09:28:32 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 352 invoked by uid 99); 4 Jun 2016 09:28:32 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 09:28:32 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id F13BDC1964
	for <commits@ponymail.apache.org>; Sat,  4 Jun 2016 09:28:31 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024)
	with ESMTP id RyLXMRqEFBzm for <commits@ponymail.apache.org>;
	Sat,  4 Jun 2016 09:28:31 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with SMTP id 102F05F397
	for <commits@ponymail.incubator.apache.org>; Sat,  4 Jun 2016 09:28:30 +0000 (UTC)
Received: (qmail 348 invoked by uid 99); 4 Jun 2016 09:28:30 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 09:28:30 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 0D8E5DFFD9; Sat,  4 Jun 2016 09:28:30 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <4e1c51fdf26643c59c7422bf057ea0a9@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail git commit: validate email on association
Date: Sat,  4 Jun 2016 09:28:30 +0000 (UTC)
archived-at: Sat, 04 Jun 2016 09:28:34 -0000

Repository: incubator-ponymail
Updated Branches:
  refs/heads/master ffc3aeaf3 -> 3efed647f


validate email on association

Email addresses should be validated.
min 7 chars long, must be foo@bar.tld
This fixes #49.


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

Branch: refs/heads/master
Commit: 3efed647f8a568aadf7c17a83b807fe4e2e75b9e
Parents: ffc3aea
Author: humbedooh <humbedooh@apache.org>
Authored: Sat Jun 4 11:27:51 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Sat Jun 4 11:27:51 2016 +0200

----------------------------------------------------------------------
 site/js/alts.js | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail/blob/3efed647/site/js/alts.js
----------------------------------------------------------------------
diff --git a/site/js/alts.js b/site/js/alts.js
index 82412b2..99a77ed 100644
--- a/site/js/alts.js
+++ b/site/js/alts.js
@@ -52,7 +52,12 @@ function listAlts() {
 }
 
 function newAlt(addr) {
-    GetAsync("/api/preferences.lua?associate=" + addr, null, function() { alert("An association request has been sent to the specified email address. Please check your inbox! Depending on grey-listing etc, it may take up to 15 minutes before your confirmation email arrives.")})
+    if (addr.match(/^([^\s@]+@[^\s@]+)$/) && addr.length > 6) {
+        GetAsync("/api/preferences.lua?associate=" + addr, null, function() { alert("An association request has been sent to the specified email address. Please check your inbox! Depending on grey-listing etc, it may take up to 15 minutes before your confirmation email arrives.")})
+    } else {
+        alert("Please enter a valid email address!")
+    }
+    
     return false;
 }
 


From commits-return-138-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Sat Jun 04 11:54:42 2016
Return-Path: <commits-return-138-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id AEEE32009F3
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Sat,  4 Jun 2016 13:54:42 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id AD796160A26; Sat,  4 Jun 2016 11:54:42 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 01C68160A1E
	for <archive-asf-public@cust-asf.ponee.io>; Sat,  4 Jun 2016 13:54:41 +0200 (CEST)
Received: (qmail 42159 invoked by uid 500); 4 Jun 2016 11:54:41 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 42150 invoked by uid 99); 4 Jun 2016 11:54:41 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 11:54:41 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id CDAD318059B
	for <commits@ponymail.apache.org>; Sat,  4 Jun 2016 11:54:40 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024)
	with ESMTP id cVVCywqBHn39 for <commits@ponymail.apache.org>;
	Sat,  4 Jun 2016 11:54:39 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id A3B165F2F1
	for <commits@ponymail.incubator.apache.org>; Sat,  4 Jun 2016 11:54:38 +0000 (UTC)
Received: (qmail 42137 invoked by uid 99); 4 Jun 2016 11:54:37 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 11:54:37 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 9632FDFD4C; Sat,  4 Jun 2016 11:54:37 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Sat, 04 Jun 2016 11:54:37 -0000
Message-Id: <5c137b247b1e4f59b235a16b833d2643@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [1/2] incubator-ponymail-site git commit: tweak css, add link to asf
archived-at: Sat, 04 Jun 2016 11:54:42 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site bd11c3440 -> 95f6b50fc


tweak css, add link to asf


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/138946ca
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/138946ca
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/138946ca

Branch: refs/heads/asf-site
Commit: 138946caa847113c740fa5d4e841f7ebdca9c5ae
Parents: bd11c34
Author: humbedooh <humbedooh@apache.org>
Authored: Sat Jun 4 13:54:15 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Sat Jun 4 13:54:15 2016 +0200

----------------------------------------------------------------------
 content/css/default.css | 33 ++++++++++++++++++---------------
 source/template.html    |  4 ++--
 2 files changed, 20 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/138946ca/content/css/default.css
----------------------------------------------------------------------
diff --git a/content/css/default.css b/content/css/default.css
index fcf6b10..e8c305c 100644
--- a/content/css/default.css
+++ b/content/css/default.css
@@ -1278,20 +1278,6 @@ button.close {
     box-sizing: border-box
 }
 
-html {
-    -ms-text-size-adjust: 100%;
-    -webkit-text-size-adjust: 100%;
-    background: #96C0CE;
-}
-
-body {
-    background: #FEF6EB;
-    max-width: 1000px;
-    margin: 0px auto;
-    padding: 10px;
-    border: 4px solid #666;
-}
-
 article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary {
     display: block
 }
@@ -4545,4 +4531,21 @@ h1:hover a, h2:hover a, h3:hover a, h4:hover a, h5:hover a, h6:hover a {
     color: #EEE;
     margin-bottom: 20px;
     text-align: center;
-}
\ No newline at end of file
+}
+
+
+html {
+    -ms-text-size-adjust: 100%;
+    -webkit-text-size-adjust: 100%;
+    background: #222;
+}
+
+body {
+    background: #FEF6EB;
+    max-width: 1000px;
+    margin: 10px auto;
+    box-shadow: 4px 4px 4px rgba(0,0,0,0.4);
+    padding: 10px;
+    border: 6px solid #999;
+    border-radius: 8px;
+}

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/138946ca/source/template.html
----------------------------------------------------------------------
diff --git a/source/template.html b/source/template.html
index c202b7f..3d2304a 100644
--- a/source/template.html
+++ b/source/template.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
@@ -49,7 +49,7 @@
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the Apache Software Foundation.<br/>
+    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.


From commits-return-139-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Sat Jun 04 11:54:45 2016
Return-Path: <commits-return-139-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 42A622009F3
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Sat,  4 Jun 2016 13:54:45 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 4141E160A26; Sat,  4 Jun 2016 11:54:45 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id BC42D160A1E
	for <archive-asf-public@cust-asf.ponee.io>; Sat,  4 Jun 2016 13:54:43 +0200 (CEST)
Received: (qmail 42203 invoked by uid 500); 4 Jun 2016 11:54:42 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 42194 invoked by uid 99); 4 Jun 2016 11:54:42 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 11:54:42 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 8307AC1A46
	for <commits@ponymail.apache.org>; Sat,  4 Jun 2016 11:54:42 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -3.896
X-Spam-Level: 
X-Spam-Status: No, score=-3.896 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_INFOUSMEBIZ=0.75,
	KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_HI=-5,
	RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx2-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024)
	with ESMTP id FyIrEmm3W71B for <commits@ponymail.apache.org>;
	Sat,  4 Jun 2016 11:54:40 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx2-lw-eu.apache.org (ASF Mail Server at mx2-lw-eu.apache.org) with SMTP id B96715F3A1
	for <commits@ponymail.incubator.apache.org>; Sat,  4 Jun 2016 11:54:38 +0000 (UTC)
Received: (qmail 42135 invoked by uid 99); 4 Jun 2016 11:54:37 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 11:54:37 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 99BABE00C5; Sat,  4 Jun 2016 11:54:37 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Sat, 04 Jun 2016 11:54:38 -0000
Message-Id: <a9b979a874044810993c5cc9f2bd6ede@git.apache.org>
In-Reply-To: <5c137b247b1e4f59b235a16b833d2643@git.apache.org>
References: <5c137b247b1e4f59b235a16b833d2643@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [2/2] incubator-ponymail-site git commit: rebuild
archived-at: Sat, 04 Jun 2016 11:54:45 -0000

rebuild


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/95f6b50f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/95f6b50f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/95f6b50f

Branch: refs/heads/asf-site
Commit: 95f6b50fca7e0156e05bd266ac5bc6916c1d0a78
Parents: 138946c
Author: humbedooh <humbedooh@apache.org>
Authored: Sat Jun 4 13:54:23 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Sat Jun 4 13:54:23 2016 +0200

----------------------------------------------------------------------
 content/about.html               | 4 ++--
 content/apache.html              | 4 ++--
 content/contribute.html          | 4 ++--
 content/docs.html                | 4 ++--
 content/docs/api.html            | 4 ++--
 content/docs/archiving.html      | 4 ++--
 content/docs/building.html       | 4 ++--
 content/docs/contributing.html   | 4 ++--
 content/docs/importing.html      | 4 ++--
 content/docs/install.centos.html | 4 ++--
 content/docs/install.debian.html | 4 ++--
 content/docs/install.fedora.html | 4 ++--
 content/docs/install.ubuntu.html | 4 ++--
 content/docs/installing.html     | 4 ++--
 content/downloads.html           | 4 ++--
 content/index.html               | 4 ++--
 content/source.html              | 4 ++--
 content/support.html             | 4 ++--
 18 files changed, 36 insertions(+), 36 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/95f6b50f/content/about.html
----------------------------------------------------------------------
diff --git a/content/about.html b/content/about.html
index 00f55e2..d4562e0 100644
--- a/content/about.html
+++ b/content/about.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
@@ -102,7 +102,7 @@ into our projects.</p>
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the Apache Software Foundation.<br/>
+    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/95f6b50f/content/apache.html
----------------------------------------------------------------------
diff --git a/content/apache.html b/content/apache.html
index a426384..e509483 100644
--- a/content/apache.html
+++ b/content/apache.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
@@ -57,7 +57,7 @@
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the Apache Software Foundation.<br/>
+    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/95f6b50f/content/contribute.html
----------------------------------------------------------------------
diff --git a/content/contribute.html b/content/contribute.html
index a2413c2..506665b 100644
--- a/content/contribute.html
+++ b/content/contribute.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
@@ -131,7 +131,7 @@ a clean way</p>
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the Apache Software Foundation.<br/>
+    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/95f6b50f/content/docs.html
----------------------------------------------------------------------
diff --git a/content/docs.html b/content/docs.html
index c9a81ed..459b9ce 100644
--- a/content/docs.html
+++ b/content/docs.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
@@ -68,7 +68,7 @@
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the Apache Software Foundation.<br/>
+    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/95f6b50f/content/docs/api.html
----------------------------------------------------------------------
diff --git a/content/docs/api.html b/content/docs/api.html
index 38acd87..97166d1 100644
--- a/content/docs/api.html
+++ b/content/docs/api.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
@@ -162,7 +162,7 @@
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the Apache Software Foundation.<br/>
+    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/95f6b50f/content/docs/archiving.html
----------------------------------------------------------------------
diff --git a/content/docs/archiving.html b/content/docs/archiving.html
index 6766633..eb19432 100644
--- a/content/docs/archiving.html
+++ b/content/docs/archiving.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
@@ -122,7 +122,7 @@ setting for this (in <code>ponymail.cfg</code>). </p>
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the Apache Software Foundation.<br/>
+    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/95f6b50f/content/docs/building.html
----------------------------------------------------------------------
diff --git a/content/docs/building.html b/content/docs/building.html
index 049cdf7..d4aefc2 100644
--- a/content/docs/building.html
+++ b/content/docs/building.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
@@ -65,7 +65,7 @@ committing the new combined JS, but that's up to you.</p>
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the Apache Software Foundation.<br/>
+    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/95f6b50f/content/docs/contributing.html
----------------------------------------------------------------------
diff --git a/content/docs/contributing.html b/content/docs/contributing.html
index 715d30e..c9187df 100644
--- a/content/docs/contributing.html
+++ b/content/docs/contributing.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
@@ -71,7 +71,7 @@ and pull requests are welcome.</p>
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the Apache Software Foundation.<br/>
+    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/95f6b50f/content/docs/importing.html
----------------------------------------------------------------------
diff --git a/content/docs/importing.html b/content/docs/importing.html
index 9619352..2ced5cb 100644
--- a/content/docs/importing.html
+++ b/content/docs/importing.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
@@ -90,7 +90,7 @@ They can be found in gzip format at <a href="http://ponymail.info/mboxes/">http:
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the Apache Software Foundation.<br/>
+    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/95f6b50f/content/docs/install.centos.html
----------------------------------------------------------------------
diff --git a/content/docs/install.centos.html b/content/docs/install.centos.html
index c8963cc..3c6b8b3 100644
--- a/content/docs/install.centos.html
+++ b/content/docs/install.centos.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
@@ -168,7 +168,7 @@ much more.</p>
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the Apache Software Foundation.<br/>
+    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/95f6b50f/content/docs/install.debian.html
----------------------------------------------------------------------
diff --git a/content/docs/install.debian.html b/content/docs/install.debian.html
index 9bfb0f0..2aff216 100644
--- a/content/docs/install.debian.html
+++ b/content/docs/install.debian.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
@@ -115,7 +115,7 @@ much more.</p>
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the Apache Software Foundation.<br/>
+    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/95f6b50f/content/docs/install.fedora.html
----------------------------------------------------------------------
diff --git a/content/docs/install.fedora.html b/content/docs/install.fedora.html
index 9c67742..036906f 100644
--- a/content/docs/install.fedora.html
+++ b/content/docs/install.fedora.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
@@ -143,7 +143,7 @@ much more.</p>
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the Apache Software Foundation.<br/>
+    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/95f6b50f/content/docs/install.ubuntu.html
----------------------------------------------------------------------
diff --git a/content/docs/install.ubuntu.html b/content/docs/install.ubuntu.html
index d8999d3..bb8a627 100644
--- a/content/docs/install.ubuntu.html
+++ b/content/docs/install.ubuntu.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
@@ -135,7 +135,7 @@ much more.</p>
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the Apache Software Foundation.<br/>
+    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/95f6b50f/content/docs/installing.html
----------------------------------------------------------------------
diff --git a/content/docs/installing.html b/content/docs/installing.html
index fb564f5..49ddf81 100644
--- a/content/docs/installing.html
+++ b/content/docs/installing.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
@@ -229,7 +229,7 @@ setups.</p>
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the Apache Software Foundation.<br/>
+    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/95f6b50f/content/downloads.html
----------------------------------------------------------------------
diff --git a/content/downloads.html b/content/downloads.html
index 614b3c7..1e79aad 100644
--- a/content/downloads.html
+++ b/content/downloads.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
@@ -55,7 +55,7 @@ officially endorsed by the Apache Pony Mail project in any way.</p>
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the Apache Software Foundation.<br/>
+    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/95f6b50f/content/index.html
----------------------------------------------------------------------
diff --git a/content/index.html b/content/index.html
index 1523fdf..33420a6 100644
--- a/content/index.html
+++ b/content/index.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
@@ -108,7 +108,7 @@ list size and available bandwidth.</p>
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the Apache Software Foundation.<br/>
+    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/95f6b50f/content/source.html
----------------------------------------------------------------------
diff --git a/content/source.html b/content/source.html
index 9a6fbd0..88e94ed 100644
--- a/content/source.html
+++ b/content/source.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
@@ -55,7 +55,7 @@
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the Apache Software Foundation.<br/>
+    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/95f6b50f/content/support.html
----------------------------------------------------------------------
diff --git a/content/support.html b/content/support.html
index f2c2961..5259f19 100644
--- a/content/support.html
+++ b/content/support.html
@@ -20,7 +20,7 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -4px; top: -4px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
@@ -89,7 +89,7 @@
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the Apache Software Foundation.<br/>
+    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.


From commits-return-140-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Sat Jun 04 11:55:46 2016
Return-Path: <commits-return-140-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 086782009F3
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Sat,  4 Jun 2016 13:55:46 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 070FE160A26; Sat,  4 Jun 2016 11:55:46 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 4FA33160A1E
	for <archive-asf-public@cust-asf.ponee.io>; Sat,  4 Jun 2016 13:55:45 +0200 (CEST)
Received: (qmail 42563 invoked by uid 500); 4 Jun 2016 11:55:44 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 42551 invoked by uid 99); 4 Jun 2016 11:55:44 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 11:55:44 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 29452C1A4F
	for <commits@ponymail.apache.org>; Sat,  4 Jun 2016 11:55:44 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024)
	with ESMTP id 7ER8FzNbjc2n for <commits@ponymail.apache.org>;
	Sat,  4 Jun 2016 11:55:43 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id CD14E5F2F1
	for <commits@ponymail.incubator.apache.org>; Sat,  4 Jun 2016 11:55:42 +0000 (UTC)
Received: (qmail 42541 invoked by uid 99); 4 Jun 2016 11:55:42 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 11:55:42 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id E511EDFD4C; Sat,  4 Jun 2016 11:55:41 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Sat, 04 Jun 2016 11:55:41 -0000
Message-Id: <6005e5fdf5204ff9acc9c7ca7579ecf8@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [1/2] incubator-ponymail-site git commit: fix link
archived-at: Sat, 04 Jun 2016 11:55:46 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site 95f6b50fc -> 405a2d475


fix link


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/ad0d0c9f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/ad0d0c9f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/ad0d0c9f

Branch: refs/heads/asf-site
Commit: ad0d0c9f0c4b0863e45776f87437ce8d38a98754
Parents: 95f6b50
Author: humbedooh <humbedooh@apache.org>
Authored: Sat Jun 4 13:55:16 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Sat Jun 4 13:55:16 2016 +0200

----------------------------------------------------------------------
 source/template.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/ad0d0c9f/source/template.html
----------------------------------------------------------------------
diff --git a/source/template.html b/source/template.html
index 3d2304a..9ae077d 100644
--- a/source/template.html
+++ b/source/template.html
@@ -49,7 +49,7 @@
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
+    Copyright 2016, the <a href="http://www.apache.org/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.


From commits-return-141-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Sat Jun 04 11:55:50 2016
Return-Path: <commits-return-141-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id DAED82009F3
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Sat,  4 Jun 2016 13:55:50 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id D97C8160A26; Sat,  4 Jun 2016 11:55:50 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id AFCD7160A1E
	for <archive-asf-public@cust-asf.ponee.io>; Sat,  4 Jun 2016 13:55:49 +0200 (CEST)
Received: (qmail 42611 invoked by uid 500); 4 Jun 2016 11:55:48 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 42602 invoked by uid 99); 4 Jun 2016 11:55:48 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 11:55:48 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 8820A1A06B8
	for <commits@ponymail.apache.org>; Sat,  4 Jun 2016 11:55:48 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -3.896
X-Spam-Level: 
X-Spam-Status: No, score=-3.896 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_INFOUSMEBIZ=0.75,
	KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_HI=-5,
	RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024)
	with ESMTP id O1y5ZeLOGtJP for <commits@ponymail.apache.org>;
	Sat,  4 Jun 2016 11:55:44 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id CDE2A5F306
	for <commits@ponymail.incubator.apache.org>; Sat,  4 Jun 2016 11:55:42 +0000 (UTC)
Received: (qmail 42543 invoked by uid 99); 4 Jun 2016 11:55:42 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 11:55:42 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id E826AE00C5; Sat,  4 Jun 2016 11:55:41 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Sat, 04 Jun 2016 11:55:42 -0000
Message-Id: <c982aad4652c4fe3b27b37c2dc501c9a@git.apache.org>
In-Reply-To: <6005e5fdf5204ff9acc9c7ca7579ecf8@git.apache.org>
References: <6005e5fdf5204ff9acc9c7ca7579ecf8@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [2/2] incubator-ponymail-site git commit: regenerate
archived-at: Sat, 04 Jun 2016 11:55:51 -0000

regenerate


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/405a2d47
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/405a2d47
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/405a2d47

Branch: refs/heads/asf-site
Commit: 405a2d475c808daa8b92b9414e9a6f0b11c4696f
Parents: ad0d0c9
Author: humbedooh <humbedooh@apache.org>
Authored: Sat Jun 4 13:55:30 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Sat Jun 4 13:55:30 2016 +0200

----------------------------------------------------------------------
 content/about.html               | 2 +-
 content/apache.html              | 2 +-
 content/contribute.html          | 2 +-
 content/docs.html                | 2 +-
 content/docs/api.html            | 2 +-
 content/docs/archiving.html      | 2 +-
 content/docs/building.html       | 2 +-
 content/docs/contributing.html   | 2 +-
 content/docs/importing.html      | 2 +-
 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     | 2 +-
 content/downloads.html           | 2 +-
 content/index.html               | 2 +-
 content/source.html              | 2 +-
 content/support.html             | 2 +-
 18 files changed, 18 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/405a2d47/content/about.html
----------------------------------------------------------------------
diff --git a/content/about.html b/content/about.html
index d4562e0..6618a38 100644
--- a/content/about.html
+++ b/content/about.html
@@ -102,7 +102,7 @@ into our projects.</p>
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
+    Copyright 2016, the <a href="http://www.apache.org/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/405a2d47/content/apache.html
----------------------------------------------------------------------
diff --git a/content/apache.html b/content/apache.html
index e509483..0e414d5 100644
--- a/content/apache.html
+++ b/content/apache.html
@@ -57,7 +57,7 @@
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
+    Copyright 2016, the <a href="http://www.apache.org/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/405a2d47/content/contribute.html
----------------------------------------------------------------------
diff --git a/content/contribute.html b/content/contribute.html
index 506665b..062a842 100644
--- a/content/contribute.html
+++ b/content/contribute.html
@@ -131,7 +131,7 @@ a clean way</p>
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
+    Copyright 2016, the <a href="http://www.apache.org/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/405a2d47/content/docs.html
----------------------------------------------------------------------
diff --git a/content/docs.html b/content/docs.html
index 459b9ce..f7ce734 100644
--- a/content/docs.html
+++ b/content/docs.html
@@ -68,7 +68,7 @@
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
+    Copyright 2016, the <a href="http://www.apache.org/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/405a2d47/content/docs/api.html
----------------------------------------------------------------------
diff --git a/content/docs/api.html b/content/docs/api.html
index 97166d1..0d11bb5 100644
--- a/content/docs/api.html
+++ b/content/docs/api.html
@@ -162,7 +162,7 @@
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
+    Copyright 2016, the <a href="http://www.apache.org/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/405a2d47/content/docs/archiving.html
----------------------------------------------------------------------
diff --git a/content/docs/archiving.html b/content/docs/archiving.html
index eb19432..1e60b4f 100644
--- a/content/docs/archiving.html
+++ b/content/docs/archiving.html
@@ -122,7 +122,7 @@ setting for this (in <code>ponymail.cfg</code>). </p>
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
+    Copyright 2016, the <a href="http://www.apache.org/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/405a2d47/content/docs/building.html
----------------------------------------------------------------------
diff --git a/content/docs/building.html b/content/docs/building.html
index d4aefc2..9768ae4 100644
--- a/content/docs/building.html
+++ b/content/docs/building.html
@@ -65,7 +65,7 @@ committing the new combined JS, but that's up to you.</p>
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
+    Copyright 2016, the <a href="http://www.apache.org/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/405a2d47/content/docs/contributing.html
----------------------------------------------------------------------
diff --git a/content/docs/contributing.html b/content/docs/contributing.html
index c9187df..4a83924 100644
--- a/content/docs/contributing.html
+++ b/content/docs/contributing.html
@@ -71,7 +71,7 @@ and pull requests are welcome.</p>
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
+    Copyright 2016, the <a href="http://www.apache.org/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/405a2d47/content/docs/importing.html
----------------------------------------------------------------------
diff --git a/content/docs/importing.html b/content/docs/importing.html
index 2ced5cb..fcf60ba 100644
--- a/content/docs/importing.html
+++ b/content/docs/importing.html
@@ -90,7 +90,7 @@ They can be found in gzip format at <a href="http://ponymail.info/mboxes/">http:
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
+    Copyright 2016, the <a href="http://www.apache.org/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/405a2d47/content/docs/install.centos.html
----------------------------------------------------------------------
diff --git a/content/docs/install.centos.html b/content/docs/install.centos.html
index 3c6b8b3..b7996ac 100644
--- a/content/docs/install.centos.html
+++ b/content/docs/install.centos.html
@@ -168,7 +168,7 @@ much more.</p>
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
+    Copyright 2016, the <a href="http://www.apache.org/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/405a2d47/content/docs/install.debian.html
----------------------------------------------------------------------
diff --git a/content/docs/install.debian.html b/content/docs/install.debian.html
index 2aff216..3f13cb4 100644
--- a/content/docs/install.debian.html
+++ b/content/docs/install.debian.html
@@ -115,7 +115,7 @@ much more.</p>
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
+    Copyright 2016, the <a href="http://www.apache.org/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/405a2d47/content/docs/install.fedora.html
----------------------------------------------------------------------
diff --git a/content/docs/install.fedora.html b/content/docs/install.fedora.html
index 036906f..2dbfdb2 100644
--- a/content/docs/install.fedora.html
+++ b/content/docs/install.fedora.html
@@ -143,7 +143,7 @@ much more.</p>
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
+    Copyright 2016, the <a href="http://www.apache.org/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/405a2d47/content/docs/install.ubuntu.html
----------------------------------------------------------------------
diff --git a/content/docs/install.ubuntu.html b/content/docs/install.ubuntu.html
index bb8a627..b9e5393 100644
--- a/content/docs/install.ubuntu.html
+++ b/content/docs/install.ubuntu.html
@@ -135,7 +135,7 @@ much more.</p>
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
+    Copyright 2016, the <a href="http://www.apache.org/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/405a2d47/content/docs/installing.html
----------------------------------------------------------------------
diff --git a/content/docs/installing.html b/content/docs/installing.html
index 49ddf81..28d8398 100644
--- a/content/docs/installing.html
+++ b/content/docs/installing.html
@@ -229,7 +229,7 @@ setups.</p>
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
+    Copyright 2016, the <a href="http://www.apache.org/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/405a2d47/content/downloads.html
----------------------------------------------------------------------
diff --git a/content/downloads.html b/content/downloads.html
index 1e79aad..6f315d3 100644
--- a/content/downloads.html
+++ b/content/downloads.html
@@ -55,7 +55,7 @@ officially endorsed by the Apache Pony Mail project in any way.</p>
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
+    Copyright 2016, the <a href="http://www.apache.org/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/405a2d47/content/index.html
----------------------------------------------------------------------
diff --git a/content/index.html b/content/index.html
index 33420a6..3bbde63 100644
--- a/content/index.html
+++ b/content/index.html
@@ -108,7 +108,7 @@ list size and available bandwidth.</p>
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
+    Copyright 2016, the <a href="http://www.apache.org/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/405a2d47/content/source.html
----------------------------------------------------------------------
diff --git a/content/source.html b/content/source.html
index 88e94ed..ef5705f 100644
--- a/content/source.html
+++ b/content/source.html
@@ -55,7 +55,7 @@
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
+    Copyright 2016, the <a href="http://www.apache.org/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/405a2d47/content/support.html
----------------------------------------------------------------------
diff --git a/content/support.html b/content/support.html
index 5259f19..1a2786e 100644
--- a/content/support.html
+++ b/content/support.html
@@ -89,7 +89,7 @@
     project has yet to be fully endorsed by the ASF.
 </p>
 <p style="font-size: 8pt; line-height: 12pt;">
-    Copyright 2016, the <a href="http://www.apache.og/">Apache Software Foundation</a>.<br/>
+    Copyright 2016, the <a href="http://www.apache.org/">Apache Software Foundation</a>.<br/>
     Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
     Apache and the Apache feather are registered trademarks of the
     Apache Software Foundation.


From commits-return-142-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Sat Jun 04 12:00:59 2016
Return-Path: <commits-return-142-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 056D82009F3
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Sat,  4 Jun 2016 14:00:59 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 04090160A26; Sat,  4 Jun 2016 12:00:59 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 4A351160A1E
	for <archive-asf-public@cust-asf.ponee.io>; Sat,  4 Jun 2016 14:00:58 +0200 (CEST)
Received: (qmail 44995 invoked by uid 500); 4 Jun 2016 12:00:57 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 44986 invoked by uid 99); 4 Jun 2016 12:00:57 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 12:00:57 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 27C691A07A8
	for <commits@ponymail.apache.org>; Sat,  4 Jun 2016 12:00:57 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024)
	with ESMTP id SWzkuwrj8aeg for <commits@ponymail.apache.org>;
	Sat,  4 Jun 2016 12:00:56 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id 86CD45F2F1
	for <commits@ponymail.incubator.apache.org>; Sat,  4 Jun 2016 12:00:55 +0000 (UTC)
Received: (qmail 44983 invoked by uid 99); 4 Jun 2016 12:00:54 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 12:00:54 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id B3E50DFD4C; Sat,  4 Jun 2016 12:00:54 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <77ced1623b2f4dc3aaa0d1b0e86a19dc@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail-site git commit: crop this a bit
Date: Sat,  4 Jun 2016 12:00:54 +0000 (UTC)
archived-at: Sat, 04 Jun 2016 12:00:59 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site 405a2d475 -> 41cd7d526


crop this a bit


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/41cd7d52
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/41cd7d52
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/41cd7d52

Branch: refs/heads/asf-site
Commit: 41cd7d526e2750f0f50632fedca99d85129291f5
Parents: 405a2d4
Author: humbedooh <humbedooh@apache.org>
Authored: Sat Jun 4 14:00:42 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Sat Jun 4 14:00:42 2016 +0200

----------------------------------------------------------------------
 content/images/devme.png | Bin 20321 -> 21120 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/41cd7d52/content/images/devme.png
----------------------------------------------------------------------
diff --git a/content/images/devme.png b/content/images/devme.png
index a93a39b..31ebc55 100644
Binary files a/content/images/devme.png and b/content/images/devme.png differ


From commits-return-143-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Sat Jun 04 12:04:39 2016
Return-Path: <commits-return-143-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 6D5342009F3
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Sat,  4 Jun 2016 14:04:39 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 6BEC2160A26; Sat,  4 Jun 2016 12:04:39 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id B1DC2160A1E
	for <archive-asf-public@cust-asf.ponee.io>; Sat,  4 Jun 2016 14:04:38 +0200 (CEST)
Received: (qmail 45979 invoked by uid 500); 4 Jun 2016 12:04:37 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 45970 invoked by uid 99); 4 Jun 2016 12:04:37 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 12:04:37 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 72E1BC0141
	for <commits@ponymail.apache.org>; Sat,  4 Jun 2016 12:04:37 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024)
	with ESMTP id VgyaYeN8P3BE for <commits@ponymail.apache.org>;
	Sat,  4 Jun 2016 12:04:36 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id D79FF5F240
	for <commits@ponymail.incubator.apache.org>; Sat,  4 Jun 2016 12:04:35 +0000 (UTC)
Received: (qmail 45964 invoked by uid 99); 4 Jun 2016 12:04:34 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jun 2016 12:04:34 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id DE1A2DFD4C; Sat,  4 Jun 2016 12:04:34 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <756d40e8ad6f4c6280822b21fcff409f@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail-site git commit: fix shadow
Date: Sat,  4 Jun 2016 12:04:34 +0000 (UTC)
archived-at: Sat, 04 Jun 2016 12:04:39 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site 41cd7d526 -> 2718741f6


fix shadow


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/2718741f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/2718741f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/2718741f

Branch: refs/heads/asf-site
Commit: 2718741f6975cddef817fa90b03c56ba825f025d
Parents: 41cd7d5
Author: humbedooh <humbedooh@apache.org>
Authored: Sat Jun 4 14:04:22 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Sat Jun 4 14:04:22 2016 +0200

----------------------------------------------------------------------
 content/images/devme.png | Bin 21120 -> 21390 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2718741f/content/images/devme.png
----------------------------------------------------------------------
diff --git a/content/images/devme.png b/content/images/devme.png
index 31ebc55..f3e098c 100644
Binary files a/content/images/devme.png and b/content/images/devme.png differ


From commits-return-144-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Sun Jun 05 09:29:26 2016
Return-Path: <commits-return-144-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 5E013200AC5
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Sun,  5 Jun 2016 11:29:26 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 5C87F160A53; Sun,  5 Jun 2016 09:29:26 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id A63CA160968
	for <archive-asf-public@cust-asf.ponee.io>; Sun,  5 Jun 2016 11:29:25 +0200 (CEST)
Received: (qmail 17283 invoked by uid 500); 5 Jun 2016 09:29:24 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 17274 invoked by uid 99); 5 Jun 2016 09:29:24 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 05 Jun 2016 09:29:24 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 62F27C0D08
	for <commits@ponymail.apache.org>; Sun,  5 Jun 2016 09:29:24 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024)
	with ESMTP id UF6dm_g5nDhk for <commits@ponymail.apache.org>;
	Sun,  5 Jun 2016 09:29:23 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id 840C45F119
	for <commits@ponymail.incubator.apache.org>; Sun,  5 Jun 2016 09:29:22 +0000 (UTC)
Received: (qmail 17263 invoked by uid 99); 5 Jun 2016 09:29:21 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 05 Jun 2016 09:29:21 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 77F3DDFD43; Sun,  5 Jun 2016 09:29:21 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Sun, 05 Jun 2016 09:29:21 -0000
Message-Id: <5f45f84a2030480b8d6a3f2133cb04cc@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [1/3] incubator-ponymail-site git commit: move logo to menu bar,
 tweak links/menu
archived-at: Sun, 05 Jun 2016 09:29:26 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site 2718741f6 -> ec09ac396


move logo to menu bar, tweak links/menu


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/a6b570b8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/a6b570b8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/a6b570b8

Branch: refs/heads/asf-site
Commit: a6b570b88b96be6309db42a476a737c0ea118d3d
Parents: 2718741
Author: humbedooh <humbedooh@apache.org>
Authored: Sun Jun 5 11:28:47 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Sun Jun 5 11:28:47 2016 +0200

----------------------------------------------------------------------
 content/css/default.css | 26 ++++++++++++++++++++------
 source/template.html    |  3 ++-
 2 files changed, 22 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/a6b570b8/content/css/default.css
----------------------------------------------------------------------
diff --git a/content/css/default.css b/content/css/default.css
index e8c305c..924688b 100644
--- a/content/css/default.css
+++ b/content/css/default.css
@@ -4490,7 +4490,7 @@ h1:hover a, h2:hover a, h3:hover a, h4:hover a, h5:hover a, h6:hover a {
 }
 #menubar {
     font-size: 20pt;
-    background: #74828F;
+    background: #444;
     padding-top: 5px;
 }
 #menubar ul {
@@ -4516,18 +4516,32 @@ h1:hover a, h2:hover a, h3:hover a, h4:hover a, h5:hover a, h6:hover a {
 #menubar span {
     font-size: 10pt;
     font-family: cursive;
-    color: #FFD;
 }
 #menubar a {
-    color: #FFA;
+    color: #FF7;
+    margin-bottom: 3px;
+    display: inline-block;
+    height: 48px;
+    padding-top: 3px;
+    padding-left: 3px;
+    padding-right: 3px;
+    border-radius: 5px;
 }
 #menubar a:hover {
-    color: #FF7;
-    text-shadow: 0px 0px 1px rgba(255,150,50,0.75);
+    color: #4F4;
+    border-radius: 5px;
+    border: 1px outset #222;
+    display: inline-block;
+    padding-top: 2px;
+    padding-left: 2px;
+    padding-right: 2px;
+    background: #222;
+    transition: all 0.15s;
+    
 }
 #titlebar {
     margin: -10px;
-    background: #525564;
+    background: #444;
     color: #EEE;
     margin-bottom: 20px;
     text-align: center;

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/a6b570b8/source/template.html
----------------------------------------------------------------------
diff --git a/source/template.html b/source/template.html
index 9ae077d..9ecc408 100644
--- a/source/template.html
+++ b/source/template.html
@@ -20,7 +20,8 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 130px; height: 125px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <img src="/images/ponymail.svg" style="width: 110px; margin-left: -10px; margin-right: 20px; height: auto;" align="left"/>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>


From commits-return-145-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Sun Jun 05 09:29:26 2016
Return-Path: <commits-return-145-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id D38D2200AC5
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Sun,  5 Jun 2016 11:29:26 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id D2308160968; Sun,  5 Jun 2016 09:29:26 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 270A8160A28
	for <archive-asf-public@cust-asf.ponee.io>; Sun,  5 Jun 2016 11:29:26 +0200 (CEST)
Received: (qmail 17325 invoked by uid 500); 5 Jun 2016 09:29:25 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 17316 invoked by uid 99); 5 Jun 2016 09:29:25 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 05 Jun 2016 09:29:25 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 07A0B1A0082
	for <commits@ponymail.apache.org>; Sun,  5 Jun 2016 09:29:25 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx2-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024)
	with ESMTP id vkZjoKmIBnYH for <commits@ponymail.apache.org>;
	Sun,  5 Jun 2016 09:29:23 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx2-lw-us.apache.org (ASF Mail Server at mx2-lw-us.apache.org) with SMTP id 840465F4ED
	for <commits@ponymail.incubator.apache.org>; Sun,  5 Jun 2016 09:29:22 +0000 (UTC)
Received: (qmail 17261 invoked by uid 99); 5 Jun 2016 09:29:21 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 05 Jun 2016 09:29:21 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 8259EDFE59; Sun,  5 Jun 2016 09:29:21 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Sun, 05 Jun 2016 09:29:22 -0000
Message-Id: <e022789b9b014507ac159225123ef634@git.apache.org>
In-Reply-To: <5f45f84a2030480b8d6a3f2133cb04cc@git.apache.org>
References: <5f45f84a2030480b8d6a3f2133cb04cc@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [2/3] incubator-ponymail-site git commit: remove logo from here
archived-at: Sun, 05 Jun 2016 09:29:27 -0000

remove logo from here


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/1d28599f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/1d28599f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/1d28599f

Branch: refs/heads/asf-site
Commit: 1d28599f8574e210bf7bf622ea2b16811ab641ac
Parents: a6b570b
Author: humbedooh <humbedooh@apache.org>
Authored: Sun Jun 5 11:28:57 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Sun Jun 5 11:28:57 2016 +0200

----------------------------------------------------------------------
 source/markdown/index.md | 1 -
 1 file changed, 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/1d28599f/source/markdown/index.md
----------------------------------------------------------------------
diff --git a/source/markdown/index.md b/source/markdown/index.md
index 4e23d1f..9058a6b 100644
--- a/source/markdown/index.md
+++ b/source/markdown/index.md
@@ -1,4 +1,3 @@
-<img src="images/ponymail.svg" style="width: 200px; margin-left: -150px; margin-right: 20px; height: auto;" align="left"/><br/><br/>
 Apache Pony Mail (Incubating) is a web-based mail archive browser
 licensed under the Apache License v/2.0 and built to scale 
 to millions of archived messages with hundreds of requests 


From commits-return-146-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Sun Jun 05 09:29:30 2016
Return-Path: <commits-return-146-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 0060B200AC5
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Sun,  5 Jun 2016 11:29:30 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id F3352160A28; Sun,  5 Jun 2016 09:29:29 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id C278E160968
	for <archive-asf-public@cust-asf.ponee.io>; Sun,  5 Jun 2016 11:29:28 +0200 (CEST)
Received: (qmail 17367 invoked by uid 500); 5 Jun 2016 09:29:28 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 17358 invoked by uid 99); 5 Jun 2016 09:29:28 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 05 Jun 2016 09:29:27 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 92DF518046E
	for <commits@ponymail.apache.org>; Sun,  5 Jun 2016 09:29:27 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024)
	with ESMTP id H65WQO0SFQj0 for <commits@ponymail.apache.org>;
	Sun,  5 Jun 2016 09:29:23 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id 9580C5F306
	for <commits@ponymail.incubator.apache.org>; Sun,  5 Jun 2016 09:29:22 +0000 (UTC)
Received: (qmail 17265 invoked by uid 99); 5 Jun 2016 09:29:21 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 05 Jun 2016 09:29:21 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 858F3DFABB; Sun,  5 Jun 2016 09:29:21 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Date: Sun, 05 Jun 2016 09:29:23 -0000
Message-Id: <19a68fdf5289472a9c5282e82a3fde17@git.apache.org>
In-Reply-To: <5f45f84a2030480b8d6a3f2133cb04cc@git.apache.org>
References: <5f45f84a2030480b8d6a3f2133cb04cc@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: [3/3] incubator-ponymail-site git commit: regenerate
archived-at: Sun, 05 Jun 2016 09:29:30 -0000

regenerate


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/ec09ac39
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/ec09ac39
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/ec09ac39

Branch: refs/heads/asf-site
Commit: ec09ac3960fd71b1b5b8a23a6494d64e76d22f09
Parents: 1d28599
Author: humbedooh <humbedooh@apache.org>
Authored: Sun Jun 5 11:29:04 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Sun Jun 5 11:29:04 2016 +0200

----------------------------------------------------------------------
 content/about.html               | 3 ++-
 content/apache.html              | 3 ++-
 content/contribute.html          | 3 ++-
 content/docs.html                | 3 ++-
 content/docs/api.html            | 3 ++-
 content/docs/archiving.html      | 3 ++-
 content/docs/building.html       | 3 ++-
 content/docs/contributing.html   | 3 ++-
 content/docs/importing.html      | 3 ++-
 content/docs/install.centos.html | 3 ++-
 content/docs/install.debian.html | 3 ++-
 content/docs/install.fedora.html | 3 ++-
 content/docs/install.ubuntu.html | 3 ++-
 content/docs/installing.html     | 3 ++-
 content/downloads.html           | 3 ++-
 content/index.html               | 6 +++---
 content/source.html              | 3 ++-
 content/support.html             | 3 ++-
 18 files changed, 37 insertions(+), 20 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/ec09ac39/content/about.html
----------------------------------------------------------------------
diff --git a/content/about.html b/content/about.html
index 6618a38..31080be 100644
--- a/content/about.html
+++ b/content/about.html
@@ -20,7 +20,8 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 130px; height: 125px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <img src="/images/ponymail.svg" style="width: 110px; margin-left: -10px; margin-right: 20px; height: auto;" align="left"/>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/ec09ac39/content/apache.html
----------------------------------------------------------------------
diff --git a/content/apache.html b/content/apache.html
index 0e414d5..cef909b 100644
--- a/content/apache.html
+++ b/content/apache.html
@@ -20,7 +20,8 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 130px; height: 125px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <img src="/images/ponymail.svg" style="width: 110px; margin-left: -10px; margin-right: 20px; height: auto;" align="left"/>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/ec09ac39/content/contribute.html
----------------------------------------------------------------------
diff --git a/content/contribute.html b/content/contribute.html
index 062a842..6471f18 100644
--- a/content/contribute.html
+++ b/content/contribute.html
@@ -20,7 +20,8 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 130px; height: 125px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <img src="/images/ponymail.svg" style="width: 110px; margin-left: -10px; margin-right: 20px; height: auto;" align="left"/>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/ec09ac39/content/docs.html
----------------------------------------------------------------------
diff --git a/content/docs.html b/content/docs.html
index f7ce734..5b5de61 100644
--- a/content/docs.html
+++ b/content/docs.html
@@ -20,7 +20,8 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 130px; height: 125px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <img src="/images/ponymail.svg" style="width: 110px; margin-left: -10px; margin-right: 20px; height: auto;" align="left"/>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/ec09ac39/content/docs/api.html
----------------------------------------------------------------------
diff --git a/content/docs/api.html b/content/docs/api.html
index 0d11bb5..9cf8ed6 100644
--- a/content/docs/api.html
+++ b/content/docs/api.html
@@ -20,7 +20,8 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 130px; height: 125px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <img src="/images/ponymail.svg" style="width: 110px; margin-left: -10px; margin-right: 20px; height: auto;" align="left"/>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/ec09ac39/content/docs/archiving.html
----------------------------------------------------------------------
diff --git a/content/docs/archiving.html b/content/docs/archiving.html
index 1e60b4f..28b1aeb 100644
--- a/content/docs/archiving.html
+++ b/content/docs/archiving.html
@@ -20,7 +20,8 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 130px; height: 125px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <img src="/images/ponymail.svg" style="width: 110px; margin-left: -10px; margin-right: 20px; height: auto;" align="left"/>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/ec09ac39/content/docs/building.html
----------------------------------------------------------------------
diff --git a/content/docs/building.html b/content/docs/building.html
index 9768ae4..1940095 100644
--- a/content/docs/building.html
+++ b/content/docs/building.html
@@ -20,7 +20,8 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 130px; height: 125px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <img src="/images/ponymail.svg" style="width: 110px; margin-left: -10px; margin-right: 20px; height: auto;" align="left"/>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/ec09ac39/content/docs/contributing.html
----------------------------------------------------------------------
diff --git a/content/docs/contributing.html b/content/docs/contributing.html
index 4a83924..68e7f27 100644
--- a/content/docs/contributing.html
+++ b/content/docs/contributing.html
@@ -20,7 +20,8 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 130px; height: 125px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <img src="/images/ponymail.svg" style="width: 110px; margin-left: -10px; margin-right: 20px; height: auto;" align="left"/>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/ec09ac39/content/docs/importing.html
----------------------------------------------------------------------
diff --git a/content/docs/importing.html b/content/docs/importing.html
index fcf60ba..427361d 100644
--- a/content/docs/importing.html
+++ b/content/docs/importing.html
@@ -20,7 +20,8 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 130px; height: 125px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <img src="/images/ponymail.svg" style="width: 110px; margin-left: -10px; margin-right: 20px; height: auto;" align="left"/>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/ec09ac39/content/docs/install.centos.html
----------------------------------------------------------------------
diff --git a/content/docs/install.centos.html b/content/docs/install.centos.html
index b7996ac..651f792 100644
--- a/content/docs/install.centos.html
+++ b/content/docs/install.centos.html
@@ -20,7 +20,8 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 130px; height: 125px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <img src="/images/ponymail.svg" style="width: 110px; margin-left: -10px; margin-right: 20px; height: auto;" align="left"/>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/ec09ac39/content/docs/install.debian.html
----------------------------------------------------------------------
diff --git a/content/docs/install.debian.html b/content/docs/install.debian.html
index 3f13cb4..3fd0441 100644
--- a/content/docs/install.debian.html
+++ b/content/docs/install.debian.html
@@ -20,7 +20,8 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 130px; height: 125px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <img src="/images/ponymail.svg" style="width: 110px; margin-left: -10px; margin-right: 20px; height: auto;" align="left"/>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/ec09ac39/content/docs/install.fedora.html
----------------------------------------------------------------------
diff --git a/content/docs/install.fedora.html b/content/docs/install.fedora.html
index 2dbfdb2..7463e25 100644
--- a/content/docs/install.fedora.html
+++ b/content/docs/install.fedora.html
@@ -20,7 +20,8 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 130px; height: 125px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <img src="/images/ponymail.svg" style="width: 110px; margin-left: -10px; margin-right: 20px; height: auto;" align="left"/>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/ec09ac39/content/docs/install.ubuntu.html
----------------------------------------------------------------------
diff --git a/content/docs/install.ubuntu.html b/content/docs/install.ubuntu.html
index b9e5393..2e80ca3 100644
--- a/content/docs/install.ubuntu.html
+++ b/content/docs/install.ubuntu.html
@@ -20,7 +20,8 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 130px; height: 125px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <img src="/images/ponymail.svg" style="width: 110px; margin-left: -10px; margin-right: 20px; height: auto;" align="left"/>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/ec09ac39/content/docs/installing.html
----------------------------------------------------------------------
diff --git a/content/docs/installing.html b/content/docs/installing.html
index 28d8398..c0595f1 100644
--- a/content/docs/installing.html
+++ b/content/docs/installing.html
@@ -20,7 +20,8 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 130px; height: 125px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <img src="/images/ponymail.svg" style="width: 110px; margin-left: -10px; margin-right: 20px; height: auto;" align="left"/>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/ec09ac39/content/downloads.html
----------------------------------------------------------------------
diff --git a/content/downloads.html b/content/downloads.html
index 6f315d3..8d5866c 100644
--- a/content/downloads.html
+++ b/content/downloads.html
@@ -20,7 +20,8 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 130px; height: 125px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <img src="/images/ponymail.svg" style="width: 110px; margin-left: -10px; margin-right: 20px; height: auto;" align="left"/>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/ec09ac39/content/index.html
----------------------------------------------------------------------
diff --git a/content/index.html b/content/index.html
index 3bbde63..67fe135 100644
--- a/content/index.html
+++ b/content/index.html
@@ -20,7 +20,8 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 130px; height: 125px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <img src="/images/ponymail.svg" style="width: 110px; margin-left: -10px; margin-right: 20px; height: auto;" align="left"/>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>
@@ -34,8 +35,7 @@
         </ul>
     </div>
 </div>
-<p><img src="images/ponymail.svg" style="width: 200px; margin-left: -150px; margin-right: 20px; height: auto;" align="left"/><br/><br/>
-Apache Pony Mail (Incubating) is a web-based mail archive browser
+<p>Apache Pony Mail (Incubating) is a web-based mail archive browser
 licensed under the Apache License v/2.0 and built to scale 
 to millions of archived messages with hundreds of requests 
 per second.</p>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/ec09ac39/content/source.html
----------------------------------------------------------------------
diff --git a/content/source.html b/content/source.html
index ef5705f..43e6922 100644
--- a/content/source.html
+++ b/content/source.html
@@ -20,7 +20,8 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 130px; height: 125px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <img src="/images/ponymail.svg" style="width: 110px; margin-left: -10px; margin-right: 20px; height: auto;" align="left"/>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/ec09ac39/content/support.html
----------------------------------------------------------------------
diff --git a/content/support.html b/content/support.html
index 1a2786e..63aea70 100644
--- a/content/support.html
+++ b/content/support.html
@@ -20,7 +20,8 @@
 <meta name="theme-color" content="#ffffff">
 </head><body>
 <div id="titlebar">
-    <a href="/contribute.html"><img align='left' style="width: 150px; height: 145px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <a href="/contribute.html"><img align='left' style="width: 130px; height: 125px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
+    <img src="/images/ponymail.svg" style="width: 110px; margin-left: -10px; margin-right: 20px; height: auto;" align="left"/>
     <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
     <div id="menubar">
         <ul>


From commits-return-147-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Sun Jun 05 09:31:36 2016
Return-Path: <commits-return-147-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 3E7A9200AC5
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Sun,  5 Jun 2016 11:31:36 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 3D0FA160A28; Sun,  5 Jun 2016 09:31:36 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 82FB4160968
	for <archive-asf-public@cust-asf.ponee.io>; Sun,  5 Jun 2016 11:31:35 +0200 (CEST)
Received: (qmail 19180 invoked by uid 500); 5 Jun 2016 09:31:34 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 19171 invoked by uid 99); 5 Jun 2016 09:31:34 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 05 Jun 2016 09:31:34 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 4793DC1D69
	for <commits@ponymail.apache.org>; Sun,  5 Jun 2016 09:31:34 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024)
	with ESMTP id catr8NTXi444 for <commits@ponymail.apache.org>;
	Sun,  5 Jun 2016 09:31:33 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id EC26A5F47F
	for <commits@ponymail.incubator.apache.org>; Sun,  5 Jun 2016 09:31:32 +0000 (UTC)
Received: (qmail 19160 invoked by uid 99); 5 Jun 2016 09:31:31 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 05 Jun 2016 09:31:31 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 85A2CDFD43; Sun,  5 Jun 2016 09:31:31 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <9f0437b3609e479aa2dee47b06e16c1a@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail-site git commit: make menu a smidgen blue
Date: Sun,  5 Jun 2016 09:31:31 +0000 (UTC)
archived-at: Sun, 05 Jun 2016 09:31:36 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site ec09ac396 -> b6588987f


make menu a smidgen blue


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/b6588987
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/b6588987
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/b6588987

Branch: refs/heads/asf-site
Commit: b6588987fb92a1b5bcad858f1932545446feed60
Parents: ec09ac3
Author: humbedooh <humbedooh@apache.org>
Authored: Sun Jun 5 11:31:19 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Sun Jun 5 11:31:19 2016 +0200

----------------------------------------------------------------------
 content/css/default.css | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/b6588987/content/css/default.css
----------------------------------------------------------------------
diff --git a/content/css/default.css b/content/css/default.css
index 924688b..7cbd712 100644
--- a/content/css/default.css
+++ b/content/css/default.css
@@ -4490,7 +4490,7 @@ h1:hover a, h2:hover a, h3:hover a, h4:hover a, h5:hover a, h6:hover a {
 }
 #menubar {
     font-size: 20pt;
-    background: #444;
+    background: #404049;
     padding-top: 5px;
 }
 #menubar ul {
@@ -4541,10 +4541,10 @@ h1:hover a, h2:hover a, h3:hover a, h4:hover a, h5:hover a, h6:hover a {
 }
 #titlebar {
     margin: -10px;
-    background: #444;
     color: #EEE;
     margin-bottom: 20px;
     text-align: center;
+    background: #404049;
 }
 
 


From commits-return-148-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Sun Jun 05 10:34:43 2016
Return-Path: <commits-return-148-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 9516C200AC5
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Sun,  5 Jun 2016 12:34:43 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 9379D160A28; Sun,  5 Jun 2016 10:34:43 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id DBA4F160968
	for <archive-asf-public@cust-asf.ponee.io>; Sun,  5 Jun 2016 12:34:42 +0200 (CEST)
Received: (qmail 85983 invoked by uid 500); 5 Jun 2016 10:34:42 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 85974 invoked by uid 99); 5 Jun 2016 10:34:42 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 05 Jun 2016 10:34:42 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id B76F11A088E
	for <commits@ponymail.apache.org>; Sun,  5 Jun 2016 10:34:41 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024)
	with ESMTP id 9qnrfVUOvakK for <commits@ponymail.apache.org>;
	Sun,  5 Jun 2016 10:34:40 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id E53825F240
	for <commits@ponymail.incubator.apache.org>; Sun,  5 Jun 2016 10:34:39 +0000 (UTC)
Received: (qmail 85969 invoked by uid 99); 5 Jun 2016 10:34:39 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 05 Jun 2016 10:34:39 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id E2C07DFBA8; Sun,  5 Jun 2016 10:34:38 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <bdf502f951f3437988b052e1e3ad77dc@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail-site git commit: note that we now (or soon) have a
 buildbot for this
Date: Sun,  5 Jun 2016 10:34:38 +0000 (UTC)
archived-at: Sun, 05 Jun 2016 10:34:43 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site b6588987f -> 88d577797


note that we now (or soon) have a buildbot for this


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/88d57779
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/88d57779
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/88d57779

Branch: refs/heads/asf-site
Commit: 88d577797cc1508fca57afbdfa008a2135dbde99
Parents: b658898
Author: humbedooh <humbedooh@apache.org>
Authored: Sun Jun 5 12:34:17 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Sun Jun 5 12:34:17 2016 +0200

----------------------------------------------------------------------
 source/BUILDING.txt | 3 +++
 1 file changed, 3 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/88d57779/source/BUILDING.txt
----------------------------------------------------------------------
diff --git a/source/BUILDING.txt b/source/BUILDING.txt
index c0e8e8f..f254a62 100644
--- a/source/BUILDING.txt
+++ b/source/BUILDING.txt
@@ -1,3 +1,6 @@
+NOTE: This is now handled by the buildbot, you only need to change the markdown
+      files and the buildbot will regenerate the site and publish it.
+      
 # Building the web site
 
 * Install the markdown module for Python 3: sudo pip3 install markdown


From commits-return-149-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Sun Jun 05 10:58:26 2016
Return-Path: <commits-return-149-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id EEDC9200AC5
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Sun,  5 Jun 2016 12:58:26 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id ED5E3160A28; Sun,  5 Jun 2016 10:58:26 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 40DB0160968
	for <archive-asf-public@cust-asf.ponee.io>; Sun,  5 Jun 2016 12:58:26 +0200 (CEST)
Received: (qmail 2350 invoked by uid 500); 5 Jun 2016 10:58:25 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 2340 invoked by uid 99); 5 Jun 2016 10:58:25 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 05 Jun 2016 10:58:25 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 141B31A0083
	for <commits@ponymail.apache.org>; Sun,  5 Jun 2016 10:58:25 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx2-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024)
	with ESMTP id CZbVHFcgPLls for <commits@ponymail.apache.org>;
	Sun,  5 Jun 2016 10:58:23 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx2-lw-eu.apache.org (ASF Mail Server at mx2-lw-eu.apache.org) with SMTP id 3E8835F19A
	for <commits@ponymail.incubator.apache.org>; Sun,  5 Jun 2016 10:58:22 +0000 (UTC)
Received: (qmail 2337 invoked by uid 99); 5 Jun 2016 10:58:21 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 05 Jun 2016 10:58:21 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id F2988DFBA1; Sun,  5 Jun 2016 10:58:20 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <071ed902246649f599b5cf5c64f24196@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail-site git commit: reword
Date: Sun,  5 Jun 2016 10:58:20 +0000 (UTC)
archived-at: Sun, 05 Jun 2016 10:58:27 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site 88d577797 -> efcdbc019


reword


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/efcdbc01
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/efcdbc01
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/efcdbc01

Branch: refs/heads/asf-site
Commit: efcdbc0190f3e1daf92bcb4383b9a30c4b88af48
Parents: 88d5777
Author: humbedooh <humbedooh@apache.org>
Authored: Sun Jun 5 12:58:06 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Sun Jun 5 12:58:06 2016 +0200

----------------------------------------------------------------------
 source/markdown/contribute.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/efcdbc01/source/markdown/contribute.md
----------------------------------------------------------------------
diff --git a/source/markdown/contribute.md b/source/markdown/contribute.md
index f8d9cd8..4f7ee87 100644
--- a/source/markdown/contribute.md
+++ b/source/markdown/contribute.md
@@ -21,7 +21,7 @@ To contribute to Pony Mail, follow these steps:
 - - Either send an email to dev-subscribe@ponymail.incubator.apache.org OR
 - - Visit [https://lists.apache.org/list.html?dev@ponymail.apache.org](https://lists.apache.org/list.html?dev@ponymail.apache.org) (You can use Persona or ASF OAuth)
 - Find something to fix or help out with
-- Let us know what you want to do, and we'll add you to our contributors list!
+- Let us know what you want to do by opening an issue or a pull request.
 - Join us on #ponymail on the Freenode IRC network
 
 ## Git Workflow


From commits-return-150-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Sun Jun 05 12:10:29 2016
Return-Path: <commits-return-150-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id CC085200AC5
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Sun,  5 Jun 2016 14:10:29 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id CAA62160A28; Sun,  5 Jun 2016 12:10:29 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 19A4A160968
	for <archive-asf-public@cust-asf.ponee.io>; Sun,  5 Jun 2016 14:10:28 +0200 (CEST)
Received: (qmail 52862 invoked by uid 500); 5 Jun 2016 12:10:28 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 52853 invoked by uid 99); 5 Jun 2016 12:10:28 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 05 Jun 2016 12:10:28 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id DC1CDC184E
	for <commits@ponymail.apache.org>; Sun,  5 Jun 2016 12:10:27 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024)
	with ESMTP id 2suWbgLxZXd2 for <commits@ponymail.apache.org>;
	Sun,  5 Jun 2016 12:10:25 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id 24BF55F119
	for <commits@ponymail.incubator.apache.org>; Sun,  5 Jun 2016 12:10:24 +0000 (UTC)
Received: (qmail 52769 invoked by uid 99); 5 Jun 2016 12:10:24 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 05 Jun 2016 12:10:24 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id DB2A2DFC92; Sun,  5 Jun 2016 12:10:23 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <03869fd8a1c048d7bf48b19de8d37c7d@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail-site git commit: dot dot dot
Date: Sun,  5 Jun 2016 12:10:23 +0000 (UTC)
archived-at: Sun, 05 Jun 2016 12:10:30 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site efcdbc019 -> f1d2da90a


dot dot dot


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/f1d2da90
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/f1d2da90
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/f1d2da90

Branch: refs/heads/asf-site
Commit: f1d2da90a97e3b29e661b9fbf3b234d865540c8f
Parents: efcdbc0
Author: humbedooh <humbedooh@apache.org>
Authored: Sun Jun 5 14:10:05 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Sun Jun 5 14:10:05 2016 +0200

----------------------------------------------------------------------
 source/markdown/contribute.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/f1d2da90/source/markdown/contribute.md
----------------------------------------------------------------------
diff --git a/source/markdown/contribute.md b/source/markdown/contribute.md
index 4f7ee87..cd0ee4f 100644
--- a/source/markdown/contribute.md
+++ b/source/markdown/contribute.md
@@ -20,9 +20,9 @@ To contribute to Pony Mail, follow these steps:
 - Subscribe to the Pony Mail dev list:
 - - Either send an email to dev-subscribe@ponymail.incubator.apache.org OR
 - - Visit [https://lists.apache.org/list.html?dev@ponymail.apache.org](https://lists.apache.org/list.html?dev@ponymail.apache.org) (You can use Persona or ASF OAuth)
-- Find something to fix or help out with
+- Find something to fix or help out with.
 - Let us know what you want to do by opening an issue or a pull request.
-- Join us on #ponymail on the Freenode IRC network
+- Join us on #ponymail on the Freenode IRC network.
 
 ## Git Workflow
 The following workflow is adapted from the [jClouds workflow](https://cwiki.apache.org/confluence/display/JCLOUDS/Git+workflow):


From commits-return-151-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Sun Jun 05 12:17:14 2016
Return-Path: <commits-return-151-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 75ECD200AC5
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Sun,  5 Jun 2016 14:17:14 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 74604160A53; Sun,  5 Jun 2016 12:17:14 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id BC87D160A28
	for <archive-asf-public@cust-asf.ponee.io>; Sun,  5 Jun 2016 14:17:13 +0200 (CEST)
Received: (qmail 64147 invoked by uid 500); 5 Jun 2016 12:17:12 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 64138 invoked by uid 99); 5 Jun 2016 12:17:12 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 05 Jun 2016 12:17:12 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 1AE42C0D08
	for <commits@ponymail.apache.org>; Sun,  5 Jun 2016 12:17:06 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx2-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024)
	with ESMTP id RfFIvwTwtZWn for <commits@ponymail.apache.org>;
	Sun,  5 Jun 2016 12:17:04 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx2-lw-us.apache.org (ASF Mail Server at mx2-lw-us.apache.org) with SMTP id EB5BE5F4ED
	for <commits@ponymail.incubator.apache.org>; Sun,  5 Jun 2016 12:17:03 +0000 (UTC)
Received: (qmail 62757 invoked by uid 99); 5 Jun 2016 12:17:03 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 05 Jun 2016 12:17:03 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 1172EE03E1; Sun,  5 Jun 2016 12:17:03 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <f5c7e55654a24f7a8ef8a9b6d69fa559@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail-site git commit: whitespace commit,
 testing buildbot
Date: Sun,  5 Jun 2016 12:17:03 +0000 (UTC)
archived-at: Sun, 05 Jun 2016 12:17:14 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site f1d2da90a -> ae4c3ec50


whitespace commit, testing buildbot


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/ae4c3ec5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/ae4c3ec5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/ae4c3ec5

Branch: refs/heads/asf-site
Commit: ae4c3ec50747c6e8ed511f707e3951e693c95b6d
Parents: f1d2da9
Author: humbedooh <humbedooh@apache.org>
Authored: Sun Jun 5 14:16:51 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Sun Jun 5 14:16:51 2016 +0200

----------------------------------------------------------------------
 source/markdown/contribute.md | 1 -
 1 file changed, 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/ae4c3ec5/source/markdown/contribute.md
----------------------------------------------------------------------
diff --git a/source/markdown/contribute.md b/source/markdown/contribute.md
index cd0ee4f..e78839f 100644
--- a/source/markdown/contribute.md
+++ b/source/markdown/contribute.md
@@ -92,4 +92,3 @@ up to date with the latest master changes anyway, always rebase it;
 don't git pull or introduce merge commits, as it will complicate the
 rebasing process and will make it difficult to merge the pull request in
 a clean way
-


From commits-return-152-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Sun Jun 05 12:21:22 2016
Return-Path: <commits-return-152-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 7EE21200AC5
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Sun,  5 Jun 2016 14:21:22 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 7D711160A28; Sun,  5 Jun 2016 12:21:22 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id C5CA7160968
	for <archive-asf-public@cust-asf.ponee.io>; Sun,  5 Jun 2016 14:21:21 +0200 (CEST)
Received: (qmail 65777 invoked by uid 500); 5 Jun 2016 12:21:21 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 65767 invoked by uid 99); 5 Jun 2016 12:21:21 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 05 Jun 2016 12:21:21 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 9B92DC1C8D
	for <commits@ponymail.apache.org>; Sun,  5 Jun 2016 12:21:20 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024)
	with ESMTP id kHFap-vAweQ6 for <commits@ponymail.apache.org>;
	Sun,  5 Jun 2016 12:21:18 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id BF82D5F240
	for <commits@ponymail.incubator.apache.org>; Sun,  5 Jun 2016 12:21:17 +0000 (UTC)
Received: (qmail 65748 invoked by uid 99); 5 Jun 2016 12:21:16 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 05 Jun 2016 12:21:16 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id CA909DFC8C; Sun,  5 Jun 2016 12:21:16 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <13d8071f02a84b8f8a339af040ea05fe@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail-site git commit: link
Date: Sun,  5 Jun 2016 12:21:16 +0000 (UTC)
archived-at: Sun, 05 Jun 2016 12:21:22 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site ae4c3ec50 -> a2481564f


link


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/a2481564
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/a2481564
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/a2481564

Branch: refs/heads/asf-site
Commit: a2481564f93da2877b9bb9ec19003660a91511d9
Parents: ae4c3ec
Author: humbedooh <humbedooh@apache.org>
Authored: Sun Jun 5 14:21:05 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Sun Jun 5 14:21:05 2016 +0200

----------------------------------------------------------------------
 source/markdown/contribute.md | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/a2481564/source/markdown/contribute.md
----------------------------------------------------------------------
diff --git a/source/markdown/contribute.md b/source/markdown/contribute.md
index e78839f..c3b95b6 100644
--- a/source/markdown/contribute.md
+++ b/source/markdown/contribute.md
@@ -21,10 +21,11 @@ To contribute to Pony Mail, follow these steps:
 - - Either send an email to dev-subscribe@ponymail.incubator.apache.org OR
 - - Visit [https://lists.apache.org/list.html?dev@ponymail.apache.org](https://lists.apache.org/list.html?dev@ponymail.apache.org) (You can use Persona or ASF OAuth)
 - Find something to fix or help out with.
-- Let us know what you want to do by opening an issue or a pull request.
+- Let us know what you want to do by opening an [issue](https://github.com/apache/incubator-ponymail/issues) or a pull request.
 - Join us on #ponymail on the Freenode IRC network.
 
-## Git Workflow
+
+## Git Workflow ##
 The following workflow is adapted from the [jClouds workflow](https://cwiki.apache.org/confluence/display/JCLOUDS/Git+workflow):
 
 #### Prepare your fork


From commits-return-153-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Sun Jun 05 12:27:23 2016
Return-Path: <commits-return-153-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id D45B7200AC5
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Sun,  5 Jun 2016 14:27:23 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id CEB05160A28; Sun,  5 Jun 2016 12:27:23 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 21CB9160968
	for <archive-asf-public@cust-asf.ponee.io>; Sun,  5 Jun 2016 14:27:22 +0200 (CEST)
Received: (qmail 70130 invoked by uid 500); 5 Jun 2016 12:27:22 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 70121 invoked by uid 99); 5 Jun 2016 12:27:22 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 05 Jun 2016 12:27:22 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id F22A7C0D08
	for <commits@ponymail.apache.org>; Sun,  5 Jun 2016 12:27:21 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx2-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024)
	with ESMTP id AUtcS4eFqN2w for <commits@ponymail.apache.org>;
	Sun,  5 Jun 2016 12:27:19 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx2-lw-us.apache.org (ASF Mail Server at mx2-lw-us.apache.org) with SMTP id 6B3875F4ED
	for <commits@ponymail.incubator.apache.org>; Sun,  5 Jun 2016 12:27:19 +0000 (UTC)
Received: (qmail 70116 invoked by uid 99); 5 Jun 2016 12:27:18 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 05 Jun 2016 12:27:18 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id B1256DFC8C; Sun,  5 Jun 2016 12:27:18 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <ba8915bb92904e3ca1e579b7653086b1@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail-site git commit: bit more whitespace tests for
 buildbot
Date: Sun,  5 Jun 2016 12:27:18 +0000 (UTC)
archived-at: Sun, 05 Jun 2016 12:27:24 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site a2481564f -> 4986891d7


bit more whitespace tests for buildbot


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/4986891d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/4986891d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/4986891d

Branch: refs/heads/asf-site
Commit: 4986891d7112abb6a7eeeb7a9074a3152ccb35be
Parents: a248156
Author: humbedooh <humbedooh@apache.org>
Authored: Sun Jun 5 14:26:56 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Sun Jun 5 14:26:56 2016 +0200

----------------------------------------------------------------------
 source/markdown/support.md | 2 ++
 1 file changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/4986891d/source/markdown/support.md
----------------------------------------------------------------------
diff --git a/source/markdown/support.md b/source/markdown/support.md
index 32b93cb..1e8a111 100644
--- a/source/markdown/support.md
+++ b/source/markdown/support.md
@@ -44,3 +44,5 @@ We are also on IRC, if you fancy a quick chat. You can find us in #PonyMail on F
 
 ## Security issues ##
 Security issues and inquiries should be sent to: security@apache.org
+
+


From commits-return-154-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Sun Jun 05 12:46:21 2016
Return-Path: <commits-return-154-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id C6E52200AC5
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Sun,  5 Jun 2016 14:46:21 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id C55ED160A28; Sun,  5 Jun 2016 12:46:21 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 19543160968
	for <archive-asf-public@cust-asf.ponee.io>; Sun,  5 Jun 2016 14:46:20 +0200 (CEST)
Received: (qmail 90019 invoked by uid 500); 5 Jun 2016 12:46:20 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 90009 invoked by uid 99); 5 Jun 2016 12:46:20 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 05 Jun 2016 12:46:20 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id DA8CCC0D08
	for <commits@ponymail.apache.org>; Sun,  5 Jun 2016 12:46:19 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx2-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024)
	with ESMTP id RhXV3W3nKcFo for <commits@ponymail.apache.org>;
	Sun,  5 Jun 2016 12:46:18 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx2-lw-us.apache.org (ASF Mail Server at mx2-lw-us.apache.org) with SMTP id B10255F487
	for <commits@ponymail.incubator.apache.org>; Sun,  5 Jun 2016 12:46:17 +0000 (UTC)
Received: (qmail 89994 invoked by uid 99); 5 Jun 2016 12:46:16 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 05 Jun 2016 12:46:16 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id D55BDE0252; Sun,  5 Jun 2016 12:46:16 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <531a0762ef6640608089a94befe5313a@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail-site git commit: another trivial change,
 still testing buildbot :)
Date: Sun,  5 Jun 2016 12:46:16 +0000 (UTC)
archived-at: Sun, 05 Jun 2016 12:46:22 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site 4986891d7 -> fa9569b5b


another trivial change, still testing buildbot :)


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/fa9569b5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/fa9569b5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/fa9569b5

Branch: refs/heads/asf-site
Commit: fa9569b5b9fa009d542fcdd0eaf1d3e6711e4a80
Parents: 4986891
Author: humbedooh <humbedooh@apache.org>
Authored: Sun Jun 5 14:37:16 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Sun Jun 5 14:37:16 2016 +0200

----------------------------------------------------------------------
 source/markdown/docs.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/fa9569b5/source/markdown/docs.md
----------------------------------------------------------------------
diff --git a/source/markdown/docs.md b/source/markdown/docs.md
index 8dacefc..ee86d7c 100644
--- a/source/markdown/docs.md
+++ b/source/markdown/docs.md
@@ -2,7 +2,7 @@
 (Optionally see the [detailed installation instructions](/docs/installing.html) for more information)
 
 #### Supported Linux Distributions ####
-For a quick guide to installing Pony Mail, please see the guides for:
+For a quick guide to installing Apache Pony Mail, please see the guides for:
 
 *  [Debian (Jessie) Installation Instructions](/docs/install.debian.html)
 *  [Ubuntu (14.04) Installation Instructions](/docs/install.ubuntu.html)


From commits-return-155-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Sun Jun 05 16:35:24 2016
Return-Path: <commits-return-155-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 3F168200AC5
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Sun,  5 Jun 2016 18:35:24 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 3DA14160A28; Sun,  5 Jun 2016 16:35:24 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 876CB160A25
	for <archive-asf-public@cust-asf.ponee.io>; Sun,  5 Jun 2016 18:35:23 +0200 (CEST)
Received: (qmail 6249 invoked by uid 500); 5 Jun 2016 16:35:22 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 6240 invoked by uid 99); 5 Jun 2016 16:35:22 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 05 Jun 2016 16:35:22 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 6795C1A0892
	for <commits@ponymail.apache.org>; Sun,  5 Jun 2016 16:35:22 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx2-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024)
	with ESMTP id jFOzjE9DDBKJ for <commits@ponymail.apache.org>;
	Sun,  5 Jun 2016 16:35:18 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx2-lw-us.apache.org (ASF Mail Server at mx2-lw-us.apache.org) with SMTP id BAA4A5F246
	for <commits@ponymail.incubator.apache.org>; Sun,  5 Jun 2016 16:35:17 +0000 (UTC)
Received: (qmail 6229 invoked by uid 99); 5 Jun 2016 16:35:17 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 05 Jun 2016 16:35:17 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id EB413DFD9C; Sun,  5 Jun 2016 16:35:16 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <b0bd51d1c199448b925ea48d3fa15a4d@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail-site git commit: some more buildbot tests
Date: Sun,  5 Jun 2016 16:35:16 +0000 (UTC)
archived-at: Sun, 05 Jun 2016 16:35:24 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site fa9569b5b -> d99b90ebe


some more buildbot tests


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/d99b90eb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/d99b90eb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/d99b90eb

Branch: refs/heads/asf-site
Commit: d99b90ebe1485d2a19838283462280fae000e644
Parents: fa9569b
Author: humbedooh <humbedooh@apache.org>
Authored: Sun Jun 5 18:35:00 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Sun Jun 5 18:35:00 2016 +0200

----------------------------------------------------------------------
 source/markdown/docs.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/d99b90eb/source/markdown/docs.md
----------------------------------------------------------------------
diff --git a/source/markdown/docs.md b/source/markdown/docs.md
index ee86d7c..41b5ab5 100644
--- a/source/markdown/docs.md
+++ b/source/markdown/docs.md
@@ -9,6 +9,7 @@ For a quick guide to installing Apache Pony Mail, please see the guides for:
 *  [CentOS (7.1) Installation Instructions](/docs/install.centos.html)
 *  [Fedora (22) Installation Instructions](/docs/install.fedora.html)
 
+
 #### Generic installation instructions ####
 
 1. Install Apache httpd + mod_lua and the lua libs (see http://modlua.org/gs/installing if need be)
@@ -18,4 +19,3 @@ For a quick guide to installing Apache Pony Mail, please see the guides for:
 5. Add Pony Mail as an archiver for your lists. [see this doc](/docs/archiving.html).
 6. import mbox data with import-mbox.py if need be (see [this doc](/docs/importing.html) for details)
 7. All done :) But please see the [detailed installation instructions](/docs/installing.html) for more details
-


From commits-return-156-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Sun Jun 05 16:36:37 2016
Return-Path: <commits-return-156-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 8496E200AC5
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Sun,  5 Jun 2016 18:36:37 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 7C4D0160A28; Sun,  5 Jun 2016 16:36:37 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id C1CCF160A25
	for <archive-asf-public@cust-asf.ponee.io>; Sun,  5 Jun 2016 18:36:36 +0200 (CEST)
Received: (qmail 6572 invoked by uid 500); 5 Jun 2016 16:36:35 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 6563 invoked by uid 99); 5 Jun 2016 16:36:35 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 05 Jun 2016 16:36:35 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 90EF4C0D08
	for <commits@ponymail.apache.org>; Sun,  5 Jun 2016 16:36:35 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-us.apache.org ([10.40.0.8])
	by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024)
	with ESMTP id RZVax8gkNH7d for <commits@ponymail.apache.org>;
	Sun,  5 Jun 2016 16:36:33 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with SMTP id 5D3085F2F0
	for <commits@ponymail.incubator.apache.org>; Sun,  5 Jun 2016 16:36:33 +0000 (UTC)
Received: (qmail 6560 invoked by uid 99); 5 Jun 2016 16:36:32 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 05 Jun 2016 16:36:32 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id A153EDFD9C; Sun,  5 Jun 2016 16:36:32 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: humbedooh@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <d8ed91d5b2444566be95699b63e22eba@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail-site git commit: and another test :)
Date: Sun,  5 Jun 2016 16:36:32 +0000 (UTC)
archived-at: Sun, 05 Jun 2016 16:36:37 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site d99b90ebe -> ab6012c1f


and another test :)


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/ab6012c1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/ab6012c1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/ab6012c1

Branch: refs/heads/asf-site
Commit: ab6012c1f94ca40f040448e1eaf58a0a25f01cbd
Parents: d99b90e
Author: humbedooh <humbedooh@apache.org>
Authored: Sun Jun 5 18:36:19 2016 +0200
Committer: humbedooh <humbedooh@apache.org>
Committed: Sun Jun 5 18:36:19 2016 +0200

----------------------------------------------------------------------
 source/markdown/docs.md | 3 +++
 1 file changed, 3 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/ab6012c1/source/markdown/docs.md
----------------------------------------------------------------------
diff --git a/source/markdown/docs.md b/source/markdown/docs.md
index 41b5ab5..c832e2c 100644
--- a/source/markdown/docs.md
+++ b/source/markdown/docs.md
@@ -19,3 +19,6 @@ For a quick guide to installing Apache Pony Mail, please see the guides for:
 5. Add Pony Mail as an archiver for your lists. [see this doc](/docs/archiving.html).
 6. import mbox data with import-mbox.py if need be (see [this doc](/docs/importing.html) for details)
 7. All done :) But please see the [detailed installation instructions](/docs/installing.html) for more details
+
+
+


From commits-return-157-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Tue Jun 07 00:30:32 2016
Return-Path: <commits-return-157-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 29574200B17
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Tue,  7 Jun 2016 02:30:32 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 27D7C160A55; Tue,  7 Jun 2016 00:30:32 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 6D576160A24
	for <archive-asf-public@cust-asf.ponee.io>; Tue,  7 Jun 2016 02:30:31 +0200 (CEST)
Received: (qmail 33651 invoked by uid 500); 7 Jun 2016 00:30:30 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 33642 invoked by uid 99); 7 Jun 2016 00:30:30 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 07 Jun 2016 00:30:30 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 39BE81A0067
	for <commits@ponymail.apache.org>; Tue,  7 Jun 2016 00:30:30 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024)
	with ESMTP id GNj_jsY8hWnD for <commits@ponymail.apache.org>;
	Tue,  7 Jun 2016 00:30:28 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id 5B2925F119
	for <commits@ponymail.incubator.apache.org>; Tue,  7 Jun 2016 00:30:27 +0000 (UTC)
Received: (qmail 33639 invoked by uid 99); 7 Jun 2016 00:30:26 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 07 Jun 2016 00:30:26 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id 4A6F7DFB93; Tue,  7 Jun 2016 00:30:26 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: git-site-role@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <2f829747f0774583a42b22a508bc9fdf@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail-site git commit: whitespace change
Date: Tue,  7 Jun 2016 00:30:26 +0000 (UTC)
archived-at: Tue, 07 Jun 2016 00:30:32 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site ab6012c1f -> 2c354b05a


whitespace change


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/2c354b05
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/2c354b05
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/2c354b05

Branch: refs/heads/asf-site
Commit: 2c354b05a9411d92cad01845aa22891318d63588
Parents: ab6012c
Author: Pono Test <pono@apache.org>
Authored: Tue Jun 7 00:07:17 2016 +0000
Committer: Pono Test <pono@apache.org>
Committed: Tue Jun 7 00:07:17 2016 +0000

----------------------------------------------------------------------
 source/BUILDING.txt | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/2c354b05/source/BUILDING.txt
----------------------------------------------------------------------
diff --git a/source/BUILDING.txt b/source/BUILDING.txt
index f254a62..df7b82f 100644
--- a/source/BUILDING.txt
+++ b/source/BUILDING.txt
@@ -9,3 +9,4 @@ NOTE: This is now handled by the buildbot, you only need to change the markdown
 * Run: python3 generate.py
 * Commit the changes to git :)
 
+


From commits-return-158-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org Tue Jun 07 00:30:39 2016
Return-Path: <commits-return-158-archive-asf-public=cust-asf.ponee.io@ponymail.incubator.apache.org>
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
	by cust-asf2.ponee.io (Postfix) with ESMTP id 1177C200B17
	for <archive-asf-public-internal@cust-asf2.ponee.io>; Tue,  7 Jun 2016 02:30:39 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
	id 0E418160A24; Tue,  7 Jun 2016 00:30:39 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by cust-asf.ponee.io (Postfix) with SMTP id 58497160A55
	for <archive-asf-public@cust-asf.ponee.io>; Tue,  7 Jun 2016 02:30:38 +0200 (CEST)
Received: (qmail 33850 invoked by uid 500); 7 Jun 2016 00:30:37 -0000
Mailing-List: contact commits-help@ponymail.incubator.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:commits-help@ponymail.incubator.apache.org>
List-Unsubscribe: <mailto:commits-unsubscribe@ponymail.incubator.apache.org>
List-Post: <mailto:commits@ponymail.incubator.apache.org>
List-Id: <commits.ponymail.incubator.apache.org>
Reply-To: dev@ponymail.incubator.apache.org
Delivered-To: mailing list commits@ponymail.incubator.apache.org
Received: (qmail 33841 invoked by uid 99); 7 Jun 2016 00:30:37 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142)
    by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 07 Jun 2016 00:30:37 +0000
Received: from localhost (localhost [127.0.0.1])
	by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 168141A0067
	for <commits@ponymail.apache.org>; Tue,  7 Jun 2016 00:30:37 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: -4.646
X-Spam-Level: 
X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31
	tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1,
	RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
	RP_MATCHES_RCVD=-1.426] autolearn=disabled
Received: from mx1-lw-eu.apache.org ([10.40.0.8])
	by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024)
	with ESMTP id cncDJ3d5zGwx for <commits@ponymail.apache.org>;
	Tue,  7 Jun 2016 00:30:34 +0000 (UTC)
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id BC52D5F119
	for <commits@ponymail.incubator.apache.org>; Tue,  7 Jun 2016 00:30:33 +0000 (UTC)
Received: (qmail 33686 invoked by uid 99); 7 Jun 2016 00:30:32 -0000
Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23)
    by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 07 Jun 2016 00:30:32 +0000
Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33)
	id DBCA0DFB93; Tue,  7 Jun 2016 00:30:32 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: git-site-role@apache.org
To: commits@ponymail.incubator.apache.org
Message-Id: <2febdbe23a0440aab4f05bdf005ff592@git.apache.org>
X-Mailer: ASF-Git Admin Mailer
Subject: incubator-ponymail-site git commit: Automatic Site Publish by Buildbot
Date: Tue,  7 Jun 2016 00:30:32 +0000 (UTC)
archived-at: Tue, 07 Jun 2016 00:30:39 -0000

Repository: incubator-ponymail-site
Updated Branches:
  refs/heads/asf-site 2c354b05a -> 5503b63dc


Automatic Site Publish by Buildbot


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/5503b63d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/tree/5503b63d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/diff/5503b63d

Branch: refs/heads/asf-site
Commit: 5503b63dc772fa3a6c45f081e51ea2b5ed19d210
Parents: 2c354b0
Author: buildbot <infrastructure@apache.org>
Authored: Tue Jun 7 00:30:29 2016 +0000
Committer: buildbot <infrastructure@apache.org>
Committed: Tue Jun 7 00:30:29 2016 +0000

----------------------------------------------------------------------
 content/contribute.html | 6 +++---
 content/docs.html       | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/5503b63d/content/contribute.html
----------------------------------------------------------------------
diff --git a/content/contribute.html b/content/contribute.html
index 6471f18..657c373 100644
--- a/content/contribute.html
+++ b/content/contribute.html
@@ -58,9 +58,9 @@ documentation, evangelism, marketing, or helping out other users.</p>
 <li>Visit <a href="https://lists.apache.org/list.html?dev@ponymail.apache.org">https://lists.apache.org/list.html?dev@ponymail.apache.org</a> (You can use Persona or ASF OAuth)</li>
 </ul>
 </li>
-<li>Find something to fix or help out with</li>
-<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>
+<li>Find something to fix or help out with.</li>
+<li>Let us know what you want to do by opening an <a href="https://github.com/apache/incubator-ponymail/issues">issue</a> or a pull request.</li>
+<li>Join us on #ponymail on the Freenode IRC network.</li>
 </ul>
 <h2 id='gitworkflow'>Git Workflow<a href='#gitworkflow' style='color: rgba(0,0,0,0);'>&para;</a></h2>
 <p>The following workflow is adapted from the <a href="https://cwiki.apache.org/confluence/display/JCLOUDS/Git+workflow">jClouds workflow</a>:</p>

http://git-wip-us.apache.org/repos/asf/incubator-ponymail-site/blob/5503b63d/content/docs.html
----------------------------------------------------------------------
diff --git a/content/docs.html b/content/docs.html
index 5b5de61..2aa11bd 100644
--- a/content/docs.html
+++ b/content/docs.html
@@ -38,7 +38,7 @@
 <h3 id='gettingstarted'>Getting started<a href='#gettingstarted' style='color: rgba(0,0,0,0);'>&para;</a></h3>
 <p>(Optionally see the <a href="/docs/installing.html">detailed installation instructions</a> for more information)</p>
 <h4 id='supportedlinuxdistributions'>Supported Linux Distributions<a href='#supportedlinuxdistributions' style='color: rgba(0,0,0,0);'>&para;</a></h4>
-<p>For a quick guide to installing Pony Mail, please see the guides for:</p>
+<p>For a quick guide to installing Apache Pony Mail, please see the guides for:</p>
 <ul>
 <li><a href="/docs/install.debian.html">Debian (Jessie) Installation Instructions</a></li>
 <li><a href="/docs/install.ubuntu.html">Ubuntu (14.04) Installation Instructions</a></li>


