🏡 index : github.com/ReRollBLR/reroll.in.git

author Karthik Balakrishnan <karthikb351@gmail.com> 2016-09-20 22:10:01.0 +05:30:00
committer Karthik Balakrishnan <karthikb351@gmail.com> 2016-09-20 22:10:01.0 +05:30:00
commit
83e0c28d1844c83f01c9c23dd064c29b9a9d6090 [patch]
tree
8e89c1a5cefc0e888267af7a139a6d2b8f8ccd0a
parent
16c727dbfd602c8c8c79f59d156576e1989e1702
download
83e0c28d1844c83f01c9c23dd064c29b9a9d6090.tar.gz

Refactor - Get games from spreadsheet - Push to collections, not data files - Setup template for collection item



Diff

 _config.yml                |  8 +++++++-
 index.html                 | 14 --------------
 signup.html                | 13 -------------
 _data/games.yml            | 49 +++++++++++++++++++++++--------------------------
 _includes/footer.html      |  2 +-
 _layouts/game.html         | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 _scripts/fetch_manifest.js | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 pages/index.html           | 15 +++++++++++++++
 pages/signup.html          | 13 +++++++++++++
 9 files changed, 224 insertions(+), 58 deletions(-)

diff --git a/_config.yml b/_config.yml
index 92a7b77..86efc49 100644
--- a/_config.yml
+++ a/_config.yml
@@ -209,4 +209,10 @@
compress_html:
  clippings: all
  ignore:
    envs: development
    envs: development


collections:
  games:
    output: true
    permalink: /game/:path/
diff --git a/index.html b/index.html
deleted file mode 100644
index 78a05d1..0000000 100644
--- a/index.html
+++ /dev/null
@@ -1,14 +1,0 @@
---
layout: single
title: Hello!
---

We are a Bangalore-based board games collective.

Which is just a fancy way of saying we are a couple of friends who play board games and have a lot of free time.
 
We've still got a bit of work to do on the site so until then, find us on Facebook, Twitter and Telegram.

<a class="btn btn--facebook" href="https://facebook.com/ReRollBLR"><i class="fa fa-fw fa-facebook"></i> ReRoll Games</a>
<a class="btn btn--twitter" href="https://twitter.com/ReRoll_BLR"><i class="fa fa-fw fa-twitter"></i> @ReRoll_BLR</a>
<a class="btn btn--linkedin" href="https://telegram.me/reroll"><i class="fa fa-fw fa-paper-plane" aria-hidden="true"></i> @ReRoll</a>
diff --git a/signup.html b/signup.html
deleted file mode 100644
index 840d830..0000000 100644
--- a/signup.html
+++ /dev/null
@@ -1,13 +1,0 @@
---
layout: single
title: Sign Up!
permalink: /signup
---

{% include mailchimp.html %}


<h2>You can also follow us at</h2>
<a class="btn btn--facebook" href="https://facebook.com/ReRollBLR"><i class="fa fa-fw fa-facebook"></i> ReRoll Games</a>
<a class="btn btn--twitter" href="https://twitter.com/ReRoll_BLR"><i class="fa fa-fw fa-twitter"></i> @ReRoll_BLR</a>
<a class="btn btn--linkedin" href="https://telegram.me/reroll"><i class="fa fa-fw fa-paper-plane" aria-hidden="true"></i> @ReRoll</a>
diff --git a/_data/games.yml b/_data/games.yml
index 2698d5a..a763b5e 100644
--- a/_data/games.yml
+++ a/_data/games.yml
@@ -1,31 +1,22 @@
---
# All games are here - https://docs.google.com/spreadsheets/d/1Mk8dK_QESBX3GQ8e2F7wPtdF74V9gw0ohhU5UHGJK5Y
events:
  "humming-tree-2":
    - cash_n_guns
    - love_letter
    - spaceteam
    - machi_koro
    - citadels
    - jaipur
    - codenames
    - saboteur
    - avalon
    - greed
    - age_of_war
    - dixit
    - takenoko
# https://www.boardgamegeek.com/xmlapi2/thing?id=184491&type=boardgame
board_game_geek:
  spaceteam: 184491
  love_letter: 129622
  cash_n_guns: 155362
  machi_koro: 143884
  citadels: 478
  jaipur: 54043
  codenames: 178900
  saboteur: 9220
  avalon: 128882
  greed: 151247
  age_of_war: 155695
  dixit: 39856
  takenoko: 70919
  humming-tree-2:
    games:
      - cash_n_guns
      - love_letter
      - spaceteam
      - machi_koro
      - citadels
      - jaipur
      - codenames
      - saboteur
      - avalon
      - greed
      - age_of_war
      - dixit
      - takenoko
    venue: The Humming Tree
    date: 
    tickets:
    
diff --git a/_includes/footer.html b/_includes/footer.html
index 1949a13..ab9faa4 100644
--- a/_includes/footer.html
+++ a/_includes/footer.html
@@ -21,5 +21,5 @@
  </ul>
</div>

<div class="page__footer-copyright">&copy; {{ site.time | date: '%Y' }} {{ site.name | default: site.title }}. Run by <a href="https://www.facebook.com/kaushik.narayan.39"><i class="fa fa-fw fa-facebook"></i> Kaushik</a>, <a href="https://twitter.com/karthikb351"><i class="fa fa-fw fa-twitter"></i>  @karthikb351</a> and <a href="https://twitter.com/mithunbalraj"><i class="fa fa-fw fa-twitter"></i>  @mithunbalraj</a>.
<div class="page__footer-copyright">&copy; {{ site.time | date: '%Y' }} {{ site.name | default: site.title }} run by <a href="https://www.facebook.com/kaushik.narayan.39"><i class="fa fa-fw fa-facebook"></i> Kaushik</a>, <a href="https://twitter.com/karthikb351"><i class="fa fa-fw fa-twitter"></i>  @karthikb351</a> and <a href="https://twitter.com/mithunbalraj"><i class="fa fa-fw fa-twitter"></i>  @mithunbalraj</a>.
</div>
diff --git a/_layouts/game.html b/_layouts/game.html
new file mode 100644
index 0000000..5aee5c2 100644
--- /dev/null
+++ a/_layouts/game.html
@@ -1,0 +1,77 @@
---
layout: default
---

{% include base_path %}

{% if (page.header.overlay_color or page.header.overlay_image) or page.header.image %}
  {% include page__hero.html %}
{% endif %}

{% if page.url != "/" and site.breadcrumbs %}
  {% unless paginator %}
    {% include breadcrumbs.html %}
  {% endunless %}
{% endif %}

<div id="main" role="main">
  {% include sidebar.html %}

  <article class="page" itemscope itemtype="http://schema.org/CreativeWork">
    {% if page.title %}<meta itemprop="headline" content="{{ page.title | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
    {% if page.excerpt %}<meta itemprop="description" content="{{ page.excerpt | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
    {% if page.date %}<meta itemprop="datePublished" content="{{ page.date | date: "%B %d, %Y" }}">{% endif %}
    {% if page.modified %}<meta itemprop="dateModified" content="{{ page.modified | date: "%B %d, %Y" }}">{% endif %}

    <div class="page__inner-wrap">
      {% unless page.header.overlay_color or page.header.overlay_image %}
        <header>
          {% if page.title %}<h1 class="page__title" itemprop="headline">{{ page.title | markdownify | remove: "<p>" | remove: "</p>" }}</h1>{% endif %}
          {% if page.read_time %}
            <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> {% include read-time.html %}</p>
          {% endif %}
        </header>
      {% endunless %}

      <section class="page__content" itemprop="text">
        <img src="{{ page.game.thumbnail }}">
        <p>{{ page.game.description }}</p>
        {% if page.link %}<div><a href="{{ page.link }}" class="btn">{{ site.data.ui-text[site.locale].ext_link_label | default: "Direct Link" }}</a></div>{% endif %}
      </section>

      <footer class="page__meta">
        {% if site.data.ui-text[site.locale].meta_label %}
          <h4 class="page__meta-title">{{ site.data.ui-text[site.locale].meta_label }}</h4>
        {% endif %}
        {% include page__taxonomy.html %}
        {% if page.modified %}
          <p class="page__date"><strong><i class="fa fa-fw fa-calendar" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].date_label | default: "Updated:" }}</strong> <time datetime="{{ page.modified | date: "%Y-%m-%d" }}">{{ page.modified | date: "%B %d, %Y" }}</time></p>
        {% elsif page.date %}
          <p class="page__date"><strong><i class="fa fa-fw fa-calendar" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].date_label | default: "Updated:" }}</strong> <time datetime="{{ page.date | date_to_xmlschema }}">{{ page.date | date: "%B %d, %Y" }}</time></p>
        {% endif %}
      </footer>

      {% if page.share %}{% include social-share.html %}{% endif %}

      {% include post_pagination.html %}
    </div>

    {% if site.comments.provider and page.comments %}
      {% include comments.html %}
    {% endif %}
  </article>

  {% comment %}<!-- only show related on a post page when not disabled -->{% endcomment %}
  {% if page.id and page.related and site.related_posts.size > 0 %}
    <div class="page__related">
      {% if site.data.ui-text[site.locale].related_label %}
        <h4 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h4>
      {% endif %}
      <div class="grid__wrapper">
        {% for post in site.related_posts limit:4 %}
          {% include archive-single.html type="grid" %}
        {% endfor %}
      </div>
    </div>
  {% endif %}
</div>
diff --git a/_scripts/fetch_manifest.js b/_scripts/fetch_manifest.js
new file mode 100644
index 0000000..aebf1d3 100644
--- /dev/null
+++ a/_scripts/fetch_manifest.js
@@ -1,0 +1,91 @@
var Tabletop = require('tabletop');
var async = require('async');
var YAML = require('yamljs');
var fs = require('fs');

// all options are optional
var options = {
  timeout: 10000, // timeout of 10s (5s is the default)

  // see https://github.com/cujojs/rest/blob/master/docs/interceptors.md#module-rest/interceptor/retry
  retry: {
    initial: 100,
    multiplier: 2,
    max: 15e3
  }
}

var bgg = require('bgg')(options);

var sheets = [
{
  name: "Board Games",
  url: 'https://docs.google.com/spreadsheets/d/1Mk8dK_QESBX3GQ8e2F7wPtdF74V9gw0ohhU5UHGJK5Y/pubhtml',
  sheetName: "Inventory",
}
];

async.forEach(sheets, function (item, callback){

  function writeData(dataSet, tabletop) {
    var keys = tabletop.sheets(item.sheetName)['column_names'];
    var gamesList = tabletop.sheets(item.sheetName).toArray(); //list of rows

    async.forEach(gamesList, function (game, cb) {
      var bgg_id = game[keys.indexOf('bgg_id')];
      bgg('thing', {type: 'boardgame', id: bgg_id})
      .then(function(results){

        bgg_response = results['items']['item'];
        var name = "";
        for (var i = 0; i < bgg_response.name.length; i++) {
          var n = bgg_response.name[i];
          if(n.type == 'primary')
            name = n.value;
        }

        var gameData = {
          name: name,
          description: bgg_response.description,
          bgg_id: bgg_response.id,
          thumbnail: bgg_response.thumbnail,
          image: bgg_response.image,
          minPlayers: bgg_response.minplayers.value,
          maxPlayers: bgg_response.maxplayers.value,
          yearPublished: bgg_response.yearpublished.value,
          playTime: bgg_response.playingtime.value,
          short_id: game[keys.indexOf('short_id')],
          comment: game[keys.indexOf('comment')],
          buy_url: game[keys.indexOf('buy_url')],
          buy_type: game[keys.indexOf('buy_type')],
        };
        var yamlFrontMatter = 
          "---\n"+
          YAML.stringify( {
          layout: 'game',
          title: gameData.name,
          game: gameData,
        }, 2)
          +"\n---";
        
        var file = '_games/'+game[keys.indexOf('short_id')]+'.md';
        fs.writeFileSync(file, yamlFrontMatter);
      
        console.log(yamlFrontMatter);
        
        cb();
      });

    }, function(err){
        callback();
    });
  }

  Tabletop.init( { key: item.url,
    callback: writeData,
    wanted: [item.sheetName],
    simpleSheet: false } )

  }, function(err) {
    console.log('Done');
  });  
diff --git a/pages/index.html b/pages/index.html
new file mode 100644
index 0000000..f676543 100644
--- /dev/null
+++ a/pages/index.html
@@ -1,0 +1,15 @@
---
layout: single
title: Hello!
permalink: /
---

We are a Bangalore-based board games collective.

Which is just a fancy way of saying we are a couple of friends who play board games and have a lot of free time.
 
We've still got a bit of work to do on the site so until then, find us on Facebook, Twitter and Telegram.

<a class="btn btn--facebook" href="https://facebook.com/ReRollBLR"><i class="fa fa-fw fa-facebook"></i> ReRoll Games</a>
<a class="btn btn--twitter" href="https://twitter.com/ReRoll_BLR"><i class="fa fa-fw fa-twitter"></i> @ReRoll_BLR</a>
<a class="btn btn--linkedin" href="https://telegram.me/reroll"><i class="fa fa-fw fa-paper-plane" aria-hidden="true"></i> @ReRoll</a>
diff --git a/pages/signup.html b/pages/signup.html
new file mode 100644
index 0000000..840d830 100644
--- /dev/null
+++ a/pages/signup.html
@@ -1,0 +1,13 @@
---
layout: single
title: Sign Up!
permalink: /signup
---

{% include mailchimp.html %}


<h2>You can also follow us at</h2>
<a class="btn btn--facebook" href="https://facebook.com/ReRollBLR"><i class="fa fa-fw fa-facebook"></i> ReRoll Games</a>
<a class="btn btn--twitter" href="https://twitter.com/ReRoll_BLR"><i class="fa fa-fw fa-twitter"></i> @ReRoll_BLR</a>
<a class="btn btn--linkedin" href="https://telegram.me/reroll"><i class="fa fa-fw fa-paper-plane" aria-hidden="true"></i> @ReRoll</a>