tree d3a962c0d6141e9b3db3643f09a97f636c008ffa
parent b2d681a59b5c9f30c3b79cc2b4dbf10fd3806365
author Neal Richardson <neal.p.richardson@gmail.com> 1564588538 -0500
committer Wes McKinney <wesm+git@apache.org> 1564588538 -0500

ARROW-6066: [Website] Fix blog post author header

This fixes the author metadata logic in a few ways:

1. If the author isn't listed in contributors.yml, it is printed verbatim with no href
2. To make this work in the /blog/ page, the partial template has to null out the author_name variable so that the previous pass in the for loop doesn't spill over
3. The author link is either "homepage" if given, else a link to their GitHub page if "githubId" is given, else a link to the Apache phonebook
4. Logic for this header was consolidated in a single _include partial and used in both the main blog page and the individual permalinked pages

Before:
![image](https://user-images.githubusercontent.com/2975928/62084720-c7a0c800-b20e-11e9-9b31-f8fb48833a29.png)
![image](https://user-images.githubusercontent.com/2975928/62084745-dab39800-b20e-11e9-9ec1-21e35b30afa2.png)

After:
![image](https://user-images.githubusercontent.com/2975928/62084789-f5860c80-b20e-11e9-8303-7db0ad1e0643.png)
![image](https://user-images.githubusercontent.com/2975928/62084801-ff0f7480-b20e-11e9-912e-d9a0a6422a53.png)

This is also now documented in the README.

While I was in there, I also deleted some unused templates.

Closes #4964 from nealrichardson/jekyll-cleanup and squashes the following commits:

a5b971c2a <Neal Richardson> Fix blog post author metadata and document it; remove some unused templates

Authored-by: Neal Richardson <neal.p.richardson@gmail.com>
Signed-off-by: Wes McKinney <wesm+git@apache.org>
