CASSANDRA-14552 - Adding blog support patch from cscotta

git-svn-id: http://svn.apache.org/repos/asf/cassandra/site@1836533 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/README b/src/README
index 184dc23..f19d95a 100644
--- a/src/README
+++ b/src/README
@@ -24,12 +24,12 @@
 
 # Associate with Cassandra svn directory
 cd ~/svn/cassandra-site # change as needed
-rbenv local 2.4.1
+rbenv local 2.4.2
 which rbenv # should point to shim
 ruby --version
 
 # Install jekyll with local rbenv version
-gem install jekyll -v 3.4.3
+gem install jekyll:3.4.3 jekyll-paginate-v2
 jekyll --version
 
 
@@ -117,3 +117,13 @@
    any such directory when generated its result. In practice, this means we have to force manually force the inclusion
    of those sphinx directories we want to include so Jekyll doesn't skip them, which is done in the _config.yml Jekyll
    configuration file (the only sphinx dir we care about so far is _images).
+
+Contributing a Blog Post
+------------------------
+To contribute a new blog post, create a new Markdown file in /_posts, using
+_templates/2018-06-22-blog_post_template.markdown as a template. Follow the YYYY-MM-DD-blog-post-slug.markdown filename
+convention, and annotate your post using the yaml frontmatter of the Markdown file (this functionality is provided by
+Jekyll).
+
+Follow the instructions above during development -- `make serve` for local development, and `make` to generate the final
+product.
\ No newline at end of file
diff --git a/src/_config.yml b/src/_config.yml
index e0d1d39..9d76d54 100644
--- a/src/_config.yml
+++ b/src/_config.yml
@@ -19,6 +19,8 @@
 include:
   - _images
 
+gems:
+  - jekyll-paginate-v2
 
 # Build settings
 markdown: kramdown
@@ -27,3 +29,12 @@
   input: GFM
   syntax_highlighter: rouge
   hard_wrap: false
+
+# Pagination threshold for blog post listings
+pagination:
+  enabled: true
+  per_page: 5
+  title: ' - page :num'
+  limit: 0
+  sort_field: 'date'
+  sort_reverse: true
diff --git a/src/_includes/footer.html b/src/_includes/footer.html
index 24238b2..9fe2d2c 100644
--- a/src/_includes/footer.html
+++ b/src/_includes/footer.html
@@ -1,3 +1,5 @@
+<hr />
+
 <footer>
   <div class="container">
     <div class="col-md-4 social-blk">
diff --git a/src/_includes/nav.html b/src/_includes/nav.html
index 02c540b..d5589ec 100644
--- a/src/_includes/nav.html
+++ b/src/_includes/nav.html
@@ -59,6 +59,7 @@
           <li><a href="{{ base }}download/">Download</a></li>
           <li><a href="{{ base }}doc/">Documentation</a></li>
           <li><a href="{{ base }}community/">Community</a></li>
+          <!--<li><a href="{{ base }}blog">Blog</a></li>-->
         </ul>
       </div><!-- /#cassandra-menu -->
 
diff --git a/src/_layouts/blog.html b/src/_layouts/blog.html
new file mode 100644
index 0000000..ac09860
--- /dev/null
+++ b/src/_layouts/blog.html
@@ -0,0 +1,33 @@
+---
+layout: default
+---
+<div class="content">
+  <div class="container">
+    {{ content }}
+    <ul class="blog-post-listing">
+      {% for post in paginator.posts %}
+        <li class="blog-post">
+          <h4><a href="{{ post.url }}">{{ post.title }}</a></h4>
+          <p>Posted on {{ post.date | date: '%B %d, %Y' }} by {{ post.author }}</p>
+          {{ post.excerpt }}
+          <h5><a href="{{ post.url }}">Read more &raquo;</a></h5>
+        </li>
+      {% endfor %}
+    </ul>
+
+  {% if paginator.total_pages > 1 %}
+  <ul class="pager">
+    {% if paginator.previous_page %}
+    <li class="previous">
+      <a href="{{ paginator.previous_page_path | prepend: site.baseurl | replace: '//', '/' }}">&larr; Newer Posts</a>
+    </li>
+    {% endif %}
+    {% if paginator.next_page %}
+    <li class="next">
+      <a href="{{ paginator.next_page_path | prepend: site.baseurl | replace: '//', '/' }}">Older Posts &rarr;</a>
+    </li>
+    {% endif %}
+  </ul>
+  {% endif %}    
+  </div>
+</div>
diff --git a/src/_layouts/post.html b/src/_layouts/post.html
new file mode 100644
index 0000000..c83fcb4
--- /dev/null
+++ b/src/_layouts/post.html
@@ -0,0 +1,12 @@
+---
+layout: default
+---
+<div class="content">
+  <div class="container">
+  <h2>{{ page.title }}</h2>
+    <p>Posted on {{ page.date | date: '%B %d, %Y' }} by {{ page.author }}</p>
+    <h5><a href="/blog">&laquo; Back to the Apache Cassandra Blog</a></h5>
+    <hr />
+  {{ content }}
+  </div>
+</div>
diff --git a/src/_templates/2018-06-22-blog_post_template.markdown b/src/_templates/2018-06-22-blog_post_template.markdown
new file mode 100644
index 0000000..f5f8473
--- /dev/null
+++ b/src/_templates/2018-06-22-blog_post_template.markdown
@@ -0,0 +1,33 @@
+---
+layout: post
+title: "Lorem ipsum dolor sit amet: consectetur adipiscing elit"
+date:   2018-06-05 20:00:00 -0700
+author: the Apache Cassandra Community
+categories: blog
+---
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vel hendrerit nisi, pellentesque placerat magna. Sed et placerat erat. Duis nec ex a dui ullamcorper hendrerit eget id dui. Pellentesque eget varius tortor. Nullam non nisi interdum, consectetur neque nec, interdum augue. Fusce vitae facilisis urna. Donec iaculis sapien sed gravida laoreet. Donec convallis enim non lacus blandit commodo. Nullam viverra risus et lorem aliquam, ac tincidunt justo finibus. Morbi a felis ac justo fringilla porttitor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris faucibus est ante, eu luctus tortor egestas in. Aliquam erat volutpat.
+
+Ut imperdiet euismod sollicitudin:
+
+#### Nunc at semper tellus
+##### Vel pharetra lectus
+
+Vestibulum ut neque accumsan, placerat felis fermentum, tempor lacus. Suspendisse hendrerit lacus a risus commodo, quis pulvinar ipsum dictum. Integer auctor, tortor non sollicitudin iaculis, justo lacus dignissim tellus, in posuere massa metus vitae turpis. Maecenas vel turpis quis nulla maximus pretium ornare ultricies enim. Nam tristique velit sed lorem malesuada, ut rutrum libero maximus. Etiam interdum erat id nisl facilisis imperdiet ac at orci. Quisque quis porttitor neque. Pellentesque elit neque, viverra vel congue in, ullamcorper in felis. Nunc dignissim tellus et felis porta pellentesque.
+
+
+---
+
+#### Aliquam orci orci, sodales eget justo sit amet
+##### Nunc rhoncus massa
+
+Suspendisse blandit nunc vitae commodo pretium. Interdum et malesuada fames ac ante ipsum primis in faucibus. Pellentesque pharetra, nisi convallis blandit molestie, quam enim sodales nisl, ac suscipit diam lectus at justo. Curabitur at dignissim enim, eu pellentesque nisi. Nulla facilisi. Cras eget blandit felis, non tincidunt risus. Ut eleifend nisi in felis lacinia, quis volutpat odio sagittis.
+
+Vivamus tincidunt efficitur quam ac tempor. Proin varius vel ex tincidunt placerat.
+
+---
+
+#### Mauris dapibus mauris eget tortor interdum
+##### Et congue lacus rutrum
+Suspendisse ac dignissim diam. Donec rutrum nisi nec vestibulum congue. Ut placerat sodales turpis, at tincidunt tortor scelerisque consequat. Nullam ac neque rutrum, malesuada ex vel, pharetra turpis. Donec nisl justo, viverra at blandit a, dignissim in est. Quisque et varius lacus. Suspendisse placerat laoreet felis id elementum. Nunc ut magna laoreet odio faucibus faucibus sit amet ac dolor. Nam ac tortor tellus. Mauris scelerisque magna urna, nec aliquam est pharetra eu. Curabitur vitae mauris dictum, tempor nisl et, vestibulum velit.
+
diff --git a/src/blog/index.html b/src/blog/index.html
new file mode 100644
index 0000000..5cfd801
--- /dev/null
+++ b/src/blog/index.html
@@ -0,0 +1,11 @@
+---
+layout: blog
+title: "Blog"
+is_homepage: false
+pagination: 
+  enabled: true
+---
+
+<h2>Apache Cassandra Blog</h2>
+<p>Have something to share with the community? Let us know on the <a href="http://cassandra.apache.org/community/#mailing">mailing list</a>!</p>
+
diff --git a/src/css/style.scss b/src/css/style.scss
index a57ed59..7ce685e 100644
--- a/src/css/style.scss
+++ b/src/css/style.scss
@@ -68,4 +68,11 @@
   }
 }
 
+ul.blog-post-listing {
+  list-style: none;
+  padding-left: 0;
+}
 
+li.blog-post {
+  padding-bottom: 20px;
+}