]> git.ipfire.org Git - thirdparty/foundation/foundation-emails.git/commitdiff
Moved everything out into separate package repos so we have less bloat.
authorJeanie Chung <jeanie.chung@gmail.com>
Wed, 18 Feb 2015 23:51:00 +0000 (15:51 -0800)
committerJeanie Chung <jeanie.chung@gmail.com>
Wed, 18 Feb 2015 23:51:00 +0000 (15:51 -0800)
.gitignore
gulpfile.js
output/gulp-zurb-foundation-email/index.js [deleted file]
output/gulp-zurb-foundation-email/package.json [deleted file]
output/gulp-zurb-inky/index.js [deleted file]
output/gulp-zurb-inky/package.json [deleted file]
package.json
spec/components.js [deleted file]
spec/grid.js [deleted file]
spec/inky.js [deleted file]

index ae1c3f9a6ea0576737f033bf33374f12eff14c5b..55b648ed86e791bd5e7cb89afa0cb80a477fd3bd 100644 (file)
@@ -1,4 +1,4 @@
-.DS_Store
+*.DS_Store
 node_modules/
 build/
 .sass-cache/
index e32294bd7372b807351f8304f76a776a262d29f2..189d0bd200140a07de8f8ad888ff2ad61cd4e0c4 100644 (file)
@@ -25,9 +25,8 @@ var gulp       = require('gulp'),
     concat     = require('gulp-concat'),
     extractMQ  = require('media-query-extractor'),
     inject     = require('gulp-inject'),
-    zfEmail    = require('gulp-zurb-foundation-email'),
-    rimraf     = require('rimraf'),
-    jasmine    = require('gulp-jasmine');
+    inkyGulp   = require('gulp-inky'),
+    rimraf     = require('rimraf');
 
 // 2. VARIABLES
 // - - - - - - - - - - - - - - -
@@ -35,7 +34,6 @@ var gulp       = require('gulp'),
 var dirs = {
   styles: 'scss/*.scss',
   html: 'html/*.html',
-  js: 'js/**/*.js',
   build: './build',
   spec: './spec'
 };
@@ -64,9 +62,9 @@ gulp.task('sass', function() {
 gulp.task('inline', function() {
   return gulp.src(dirs.build + '/*.html')
     .pipe(inlineCss())
-    .pipe(rename(function(path) {
-      path.basename += '-inline'
-    }))
+    .pipe(rename({
+      suffix: '-inline'
+    })
     .pipe(gulp.dest(dirs.build))
 });
 
@@ -126,23 +124,11 @@ gulp.task('copy-html', function() {
 // 6. Syntax Transformer
 // - - - - - - - - - - - - - - -
 
-gulp.task('inky-prime', function() {
-  return gulp.src('node_modules/gulp-zurb-foundation-email/node_modules/gulp-zurb-inky/index.js')
-    .pipe(gulp.dest('./output/gulp-zurb-inky'));
-})
-
-gulp.task('js', function() {
-  gulp.start('inky-prime');
-});
-
 // get the HTML from the body and run it through Inky parser
 
 gulp.task('query', function() {
   gulp.src(dirs.html)
-    .pipe(zfEmail({
-      grid: 12
-
-    }))
+    .pipe(inkyGulp())
     .pipe(gulp.dest(dirs.build))
     .pipe(connect.reload());
 });
@@ -150,13 +136,9 @@ gulp.task('query', function() {
 // 7. Testing
 // - - - - - - - - - - - - - - -
 
-// Starts a server
-// Default Port: 8080
+// Eventual Litmus/Mailgun integration
 gulp.task('test', function () {
-  return gulp.src(dirs.spec + '/*.js')
-    .pipe(jasmine({
-      verbose: true
-    }));
+
 });
 
 // 8. GO FORTH AND BUILD
@@ -184,7 +166,6 @@ gulp.task('serve', function() {
 // Live reloads on change
 gulp.task('watch', ['serve'], function() {
   gulp.watch([dirs.html], ['query','minify-html']);
-  gulp.watch(['node_modules/gulp-zurb-foundation-email/node_modules/gulp-zurb-inky/index.js'], ['query'])
   gulp.watch([dirs.styles], ['sass']);
 });
 
diff --git a/output/gulp-zurb-foundation-email/index.js b/output/gulp-zurb-foundation-email/index.js
deleted file mode 100644 (file)
index 6664ef2..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-var es = require('event-stream');
-var gutil = require('gulp-util');
-var Buffer = require('buffer').Buffer;
-
-var cheerio = require('cheerio');
-var inky = require('gulp-zurb-inky');
-
-
-module.exports = function (opts) {
-  "use strict";
-
-  var body = function (file) {
-    if (file.isNull()) { return this.emit('data', file); }
-    if (file.isStream()) { return this.emit('error', new Error("gulp-coffee: Streaming not supported")); }
-
-    var str = file.contents.toString('utf8');
-    var $ = cheerio.load(str);
-
-    $ = inky.releaseTheKraken($, opts);
-
-    file.contents = new Buffer($.html({normalizeWhitespace: true}));
-    this.emit('data', file);
-  };
-
-  return es.through(body);
-};
diff --git a/output/gulp-zurb-foundation-email/package.json b/output/gulp-zurb-foundation-email/package.json
deleted file mode 100644 (file)
index 1a25f75..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-{
-  "name": "gulp-zurb-foundation-email",
-  "version": "0.0.1",
-  "main": "./index.js",
-  "dependencies": {
-    "gulp-util": "~2.2.1",
-    "event-stream": "~3",
-    "cheerio": "*",
-    "gulp-zurb-inky": "*"
-  },
-  "devDependencies": {
-    "gulp": "*",
-    "should": "*",
-    "gulp-util": "*"
-  },
-  "description": "Take initial HTML syntax and turn them into tables that use Foundation for Email styles."
-}
diff --git a/output/gulp-zurb-inky/index.js b/output/gulp-zurb-inky/index.js
deleted file mode 100644 (file)
index 882f06b..0000000
+++ /dev/null
@@ -1,467 +0,0 @@
-var cheerio = require('cheerio');
-
-var Inky = function Inky () {
-  this.zfTags = {
-    button: 'button',
-    row: 'row',
-    callout: 'callout',
-    columns: 'columns',
-    subcolumns: 'subcolumns',
-    container: 'container',
-    inlineListH: 'inline-list-h',
-    inlineListV: 'inline-list-v'
-  },
-  this.grid = 12
-};
-
-Inky.prototype = {
-  // Description:
-  //    Returns the object zfTags
-  // Arguments:
-  //    null
-  // Returns:
-  //    null
-  getTags: function() {
-    return this.zfTags;
-  },
-
-  // Description:
-  //    Sets the object property zfArray to an array containing the markup for our ZF custom elements
-  // Arguments:
-  //    null
-  // Returns:
-  //    null
-  setTagArray: function() {
-    var arr = [];
-    var self = this;
-    
-    for (val in self.zfTags) {
-      arr.push(self.zfTags[val]);
-    }
-    self.zfArray = arr;
-  },
-
-  // Description:
-  //   Checks if an element is a custom ZF element.
-  //
-  // Arguments:
-  //    elType (string): the tag name of an element
-  // Returns:
-  //    boolean: true/false
-  isZfElement: function(elType) {
-    var self = this;
-    // create an array of our custom tags, if we haven't done so already
-    if(!self.zfArray) {
-      self.setTagArray();
-    }
-
-    // if the element is a custom element
-    if (self.zfArray.indexOf(elType) !== -1) {
-      // return true
-      return true;
-    }
-    else {
-      return false;
-    }
-  },
-
-  // Description:
-  //   Puts in mark up for microsoft buttons
-  //
-  // Arguments:
-  //    $: Cheerio
-  // Returns:
-  //    null: new buttons
-  msButton: function($) {
-    var buttons = $('table.button');
-    $(buttons).each(function() {
-      // put microsoft markup
-    })
-
-  },
-
-  // Description:
-  //   Checks if an element is an element with a td included. Currently it's a manual check. 
-  //   Array was populated from the markup from the component factory.
-  //
-  // Arguments:
-  //    elType (string): the tag name of an element
-  // Returns:
-  //    boolean: true/false
-  isTdElement: function(elType) {
-    var tdEls = ['subcolumns'];
-
-    // if the element is an element that comes with td
-    if (tdEls.indexOf(elType) > -1) {
-      // return true
-      return true;
-    }
-    else {
-      return false;
-    }
-
-  },
-  // Description:
-  //   Sets custom config for Inky
-  //
-  // Arguments:
-  //    opts (object): configuration object
-  // Returns:
-  //    null
-  setConfig: function(opts) {
-
-    for (var prop in opts) {
-      this[prop] = opts[prop];
-    }
-
-  },
-  // Description:
-  //   Awww yiss. Kickstarts the whole parser. Takes in HTML loaded via Cheerio as an argument, 
-  //   checks if there are any custom components. If there are, it replaces the nested components, 
-  //   traverses the DOM and replaces them with email markup.
-  //
-  // Arguments:
-  //    $, opts (object): Cheerio loaded string, configuration object
-  // Returns:
-  //    $: Cheerio modified string
-  releaseTheKraken: function($, opts) {
-    var center = $('center').html(),
-        self   = this;
-
-    // set configuration
-    if (opts) {
-      self.setConfig(opts);
-    }
-    // create an array of our custom tags
-    self.setTagArray();
-
-    //find nested components
-    if (self.checkZfComponents($) !== false) {
-      var nestedComponents = self.findNestedComponents($, center);
-
-      // process each element to get the table markup
-      $(nestedComponents).each(function(idx, el) {
-        var containerScaffold = self.scaffoldElements($, $(el));
-      });
-
-      // remove any blank spaces between classes
-      // and reload into cheerio
-      str = self.removeBlankSpaces($.html());
-      $ = cheerio.load(str);
-
-      // see the mark up for dev purposes
-      // console.log($.html());
-    }
-    else {
-      console.log("all done");
-    }
-    return $;
-  },
-
-  // Description:
-  //   Executes a function place the correct mark up for custom components in the correct place in the DOM
-  //   It is a recursive function that drills down the DOM to find all custom nested elements within an element
-  //   and replaces the custom tags with the correct table email markup.
-  //
-  // Arguments:
-  //    $, str (String): Cheerio, and a string containing the markup of a singular element
-  // Returns:
-  //    null: his function replaces the syntax directly in the cheerio object
-  removeBlankSpaces: function(str) {
-    // remove any blank spaces between classes we may have put in
-    str = str.replace( / "+/g, '"' )
-
-    return str;
-  },
-  // Description:
-  //   Executes a function place the correct mark up for custom components in the correct place in the DOM
-  //   It is a recursive function that drills down the DOM to find all custom nested elements within an element
-  //   and replaces the custom tags with the correct table email markup.
-  //
-  // Arguments:
-  //    $, str (String): Cheerio, and a string containing the markup of a singular element
-  // Returns:
-  //    null: his function replaces the syntax directly in the cheerio object
-  scaffoldElements: function($, str) {
-    // take inner html of elements and nest them inside each others
-    var output   = '',
-        elMarkup = '',
-        element  = $(str)[0],
-        inner    = $(str).html(),
-        self     = this;
-
-    // replace tags with proper table syntax
-    // elMarkup retains the inner html within the markup
-    if (element !== undefined) {
-      elMarkup = self.componentFactory($, element, element.name);
-      $(element).replaceWith(elMarkup);
-    }
-    else {
-      return;
-    }
-
-    // find if there are more nested elements in the inner syntax
-    var moreNested = self.findNestedComponents($, inner);
-    moreNested = moreNested.concat(self.findDeeplyNested($, inner));
-
-
-    $(moreNested).each(function(idx, el) {
-      // call a recursion to replace all nested elements
-      self.scaffoldElements($, $(el));
-    }); 
-
-  },
-
-  // Description:
-  //   Executes a function to find and return nested custom elements within another element
-  //
-  // Arguments:
-  //    $, str (String): Cheerio, and a string containing the markup of an element to be checked for nested components
-  // Returns:
-  //    nestedComponents (Array): An array containing the names (i.e. tags) of the nested components
-  findNestedComponents: function($, str) {
-    var nestedComponents = [],
-        self             = this,
-        children;
-
-    // if array hasn't been set yet, set it with properties of object
-    if (!self.zfArray) {
-      self.setTagArray();
-    }
-    // if the nested component is an element, find the children
-    // NOTE: this is to avoid a cheerio quirk where it will still pass
-    // special alphanumeric characters as a selector
-    if (str.indexOf('<') !== -1) {
-      children = $(str);
-    };
-
-    $(children).each(function(i, el) {
-      // if the element's name matches an element in the array
-      if (self.zfArray.indexOf(el.name) !== -1) {
-        // push them to array of nested component names
-        nestedComponents.push(el.name);
-      }
-    });
-    // return array containing all nested components
-    return nestedComponents;
-  },
-
-  // Description:
-  //   Executes a function to find and return deeply nested custom elements within another element
-  //   Uses the find selector rather than going through children.
-  //
-  // Arguments:
-  //    $, el (String): Cheerio, and a string containing the markup of an element to be checked for nested components
-  // Returns:
-  //    nestedComponents (Array): An array containing the names (i.e. tags) of the nested components
-  findDeeplyNested: function($, el) {
-    var nestedComponents = [],
-        self             = this;
-
-    // if array hasn't been set yet, set it with properties of object
-    if (!self.zfArray) {
-      self.setTagArray();
-    }
-
-    // if the nested component is an element, find the children
-    // NOTE: this is to avoid a cheerio quirk where it will still pass
-    // special alphanumeric characters as a selector
-    if (el.indexOf('<') !== -1) {
-      $(self.zfArray).each(function(idx, zfElement) {
-        // find any nearby elements that are contained within el
-        if ($(el).find(zfElement).length > 0) {
-          nestedComponents.push(zfElement);
-        }
-      });
-    };
-
-    // return array containing all nested components
-    return nestedComponents;
-  },
-
-  // Description:
-  //   Goes through array of custom nested components to determine whether or not there are any on the DOM
-  //
-  // Arguments:
-  //    $ : Cheerio
-  // Returns:
-  //    boolean: True if there are nested components on the DOM, false otherwise.
-  checkZfComponents: function($) {
-    var self = this;
-
-    // if array hasn't been set yet, set it with properties of object
-    if (!self.zfArray) {
-      self.setTagArray();
-    }
-
-    $(self.zfArray).each(function(idx, zfElement) {
-      // check if custom elements still exist
-      if ($('center').find(zfElement).length > 0) {
-        return true;
-      }
-    });
-
-  },
-
-  // Description:
-  //    Returns output for desired custom element
-  //
-  // Arguments:
-  //   $, element (obj), type (str): cheerio, element as a cheerio object, and type as the tag name
-  // Returns:
-  //    HTML (string): Mark up for corresponding element with inner html contents untouched
-  componentFactory: function($, element, type) {
-    var output    = '',
-        component = $(element),
-        inner     = $(element).html(),
-        compClass = '',
-        self      = this;
-
-    if ($(component).attr('class')) {
-      compClass = $(component).attr('class');
-    };
-
-    switch (type) {
-      case self.zfTags.callout:
-        output = '<td class="callout ' + compClass +'">' + inner + '</td>';
-        break;
-
-      case self.zfTags.button:
-        output = '<table class="button ' + compClass +'"><tbody><tr><td>' + inner + '</td></tr></tbody></table>';
-        break;
-
-      case self.zfTags.subcolumns:
-        output = self.makeCols($, component, 'subcolumns');
-        break;
-
-      case self.zfTags.container:
-        output = '<table class="container ' + compClass + '"><tbody><tr><td>' + inner + '</td></tr></tbody></table>';
-        break;
-
-      case self.zfTags.columns:
-        output = self.makeCols($, component, 'columns');
-        break;
-      
-      case self.zfTags.row:
-        output = '<table class="row ' + compClass + '"><tbody><tr>'+ inner + '</tr></tbody></table>';
-        break;
-
-      case self.zfTags.inlineListH:
-        inner  = self.makeInlineList($, component, 'horizontal');
-        output = '<table class="inline-list ' + compClass + '"><tbody><tr>' + inner + '</tr></tbody></table>';
-        break;
-
-      case self.zfTags.inlineListV:
-        inner  = self.makeInlineList($, component, 'vertical');
-        output = '<table class="inline-list ' + compClass + '"><tbody>' + inner + '</tbody></table>';
-        break;
-
-      default: 
-        // unless it's a special element, just grab the inside
-        // another cheerio quirk
-        inner = $.html(element);
-        output = '<td>' + inner + '</td>';
-    };
-
-    return output;
-  },
-
-  // Description:
-  //    Returns output for inline list elements. 
-  //
-  // Arguments:
-  //    $ (obj), col (obj), orientation (str): cheerio, the list, whether vertical/horizontal list
-  // Returns:
-  //    HTML (string): Mark up for inline lists
-  makeInlineList: function($, list, orientation) {
-    var output   = '';
-    var children = list.children();
-
-    $(children).each(function(idx, el) {
-      var innerChild = $.html(el);
-
-      if (orientation === 'horizontal') {
-        output += '<td>' + innerChild + '</td>';
-      }
-      else if (orientation === 'vertical') {
-        output += '<tr><td class="vertical">' + innerChild + '</td></tr>';
-      }
-      else {
-        return;
-      }
-    });
-    return output;
-  },
-
-  // Description:
-  //    Returns output for column elements. TODO: this could be refactored to handle both cols and subcols
-  //
-  // Arguments:
-  //    $ (obj), col (obj): cheerio, the target column
-  // Returns:
-  //    HTML (string): Mark up for columns all contained in a row
-  makeCols: function($, col, type) {
-    var output      = '',
-        wrapperHTML = '',
-        colSize     = '',
-        colClass    = '',
-        inner       = $(col).html(),
-        self        = this;
-
-    // Add 1 to include current column
-    var colCount = $(col).siblings().length + 1;
-
-    if ($(col).attr('class')) {
-      colClass = $(col).attr('class');
-    }
-
-    // check for sizes
-    // if no attribute is provided, default to small-12
-    // divide evenly for large columns
-    if ($(col).attr('small')) {
-      colSize += 'small' + '-' + $(col).attr('small') + ' ';
-    }
-    else {
-      colSize += 'small-12 ';
-    }
-
-    if ($(col).attr('large')) {
-      colSize += 'large' + '-' + $(col).attr('large') + ' ';
-    }
-    else {
-      colSize += 'large-' + Math.floor(self.grid/colCount) + ' ';
-    }
-
-    // start making markup
-    if (type === 'columns') {
-      // if it is the last column, add the class last
-      if ($(col).next()[0] && $(col).next()[0].name !== 'columns') {
-        output = '<td class="wrapper ' + colClass + 'last">';
-
-      } else {
-        output = '<td class="wrapper ' + colClass + '">';
-      }
-
-      output += '<table class="' + colSize + 'columns"><tr>';
-      output += inner;
-      output += '<td class="expander"></td></tr></table>';
-    }
-    else if (type === 'subcolumns') {
-
-      // if it is the last subcolumn, add the last class
-      if ($(col).next()[0] && $(col).next()[0].name !== 'subcolumns') {
-        output = '<td class="sub-columns last' + colClass + ' ' + colSize +'">' + inner + '</td>';
-      }
-      else {
-        output = '<td class="sub-columns' + colClass + ' ' + colSize +'">' + inner + '</td>';
-      }      
-    }
-    else {
-      return;
-    }
-
-    return output;
-  }
-};
-
-module.exports = new Inky();
\ No newline at end of file
diff --git a/output/gulp-zurb-inky/package.json b/output/gulp-zurb-inky/package.json
deleted file mode 100644 (file)
index a34f1bf..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-  "name": "gulp-zurb-inky",
-  "version": "0.0.1",
-  "main": "./index.js",
-  "dependencies": {
-    "gulp-util": "~2.2.1",
-    "event-stream": "~3",
-    "cheerio": "*"
-  },
-  "devDependencies": {
-    "gulp": "*",
-    "should": "*",
-    "gulp-util": "*"
-  },
-  "description": "Take initial HTML syntax and turn them into tables that use Foundation for Email styles."
-}
index 80c1397791940702dc8126338836b452fbe19f00..123023b6fff8c059048e8f208df28919587a072e 100644 (file)
@@ -5,16 +5,15 @@
   "devDependencies": {
     "cheerio": "^0.18.0",
     "gulp": "^3.8.10",
-    "gulp-combine-mq": "^0.3.1",
     "gulp-concat": "^2.4.3",
     "gulp-connect": "^2.2.0",
-    "gulp-group-css-media-queries": "^1.0.0",
     "gulp-html2txt": "^1.1.0",
     "gulp-inline-css": "^1.0.1",
     "gulp-jasmine": "^2.0.0",
     "gulp-minify-html": "^0.1.8",
     "gulp-rename": "^1.2.0",
     "gulp-ruby-sass": "^0.7.1",
+    "gulp-inky": "*",
     "rimraf": "^2.2.8"
   }
 }
diff --git a/spec/components.js b/spec/components.js
deleted file mode 100644 (file)
index ccb04ee..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-/* global describe, it, expect */
-
-"use strict";
-
-var inky = require('../node_modules/gulp-zurb-foundation-email/node_modules/gulp-zurb-inky');
-var cheerio = require('../node_modules/gulp-zurb-foundation-email/node_modules/cheerio');
-
-describe("the components", function () {
-
-  it("returns basic button syntax", function () {
-    var $ = cheerio.load('<center><row><columns large="12"><button>Big button</button></columns></row></center>');
-    
-    $ = inky.releaseTheKraken($);
-    expect($.html()).toEqual('<center><table class="row "><tbody><tr><td class="wrapper last"><table class="large-12 columns"><tr><td><table class="button "><tbody><tr><td>Big button</td></tr></tbody></table></td><td class="expander"></td></tr></table></td></tr></tbody></table></center>');
-  });
-
-
-
-
-});
diff --git a/spec/grid.js b/spec/grid.js
deleted file mode 100644 (file)
index 79d3540..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/* global describe, it, expect */
-
-"use strict";
-
-var inky = require('../node_modules/gulp-zurb-foundation-email/node_modules/gulp-zurb-inky');
-var cheerio = require('../node_modules/gulp-zurb-foundation-email/node_modules/cheerio');
-
-describe("the grid", function () {
-  it("returns the correct row syntax", function() {
-    var $ = cheerio.load('<center><row>This is a row!</row></center>');
-    
-    $ = inky.releaseTheKraken($);
-    expect($.html()).toEqual('<center><table class="row "><tbody><tr>This is a row!</tr></tbody></table></center>');
-  })
-
-  it("returns the correct container syntax", function() {
-    var $ = cheerio.load('<center><container>This is a container!</container></center>');
-    
-    $ = inky.releaseTheKraken($);
-    expect($.html()).toEqual('<center><table class="container "><tbody><tr><td>This is a container!</td></tr></tbody></table></center>');
-  })
-
-  it("returns the correct column syntax", function () {
-    var $ = cheerio.load('<center><row><columns large="10"><h3>This is 10 Columns</h3></columns><columns large="2"><h3>This is 2 Columns</h3></columns></row></center>');
-    
-    $ = inky.releaseTheKraken($);
-    expect($.html()).toEqual('<center><table class="row "><tbody><tr><td class="wrapper "><table class="large-10 columns"><tr><td><h3>This is 10 Columns</h3></td><td class="expander"></td></tr></table></td><td class="wrapper last"><table class="large-2 columns"><tr><td><h3>This is 2 Columns</h3></td><td class="expander"></td></tr></table></td></tr></tbody></table></center>');
-  });
-
-  it("nests subcolumns correctly", function() {
-    var $ = cheerio.load('<center><row><columns large="10"> <subcolumns large="6"><h3>I\'m just half of the parent 10 column</h3></subcolumns><subcolumns large="6"><h3>I\'m the other half of the parent 10 column</h3></subcolumns></columns><columns large="2"> <h3> This is 2 Columns </h3></columns></row></center>');
-
-    $ = inky.releaseTheKraken($);
-    expect($.html()).toEqual('<center><table class="row "><tbody><tr><td class="wrapper "><table class="large-10 columns"><tr> <td class="sub-columns  large-6 "><h3>I&apos;m just half of the parent 10 column</h3></td><td class="sub-columns last  large-6 "><h3>I&apos;m the other half of the parent 10 column</h3></td><td class="expander"></td></tr></table></td><td class="wrapper last"><table class="large-2 columns"><tr><td> <h3> This is 2 Columns </h3></td><td class="expander"></td></tr></table></td></tr></tbody></table></center>');
-  })
-
-  it("nests rows in containers", function() {
-    var $ = cheerio.load('<center><container></row>Row in container</row></container></center>');
-
-    $ = inky.releaseTheKraken($);
-    expect($.html()).toEqual('<center><table class="container "><tbody><tr><td>Row in container</td></tr></tbody></table></center>');
-  })
-
-  it("will place the 'last' class on the last column", function() {
-    var $ = cheerio.load('<center><row><columns large="10">.ten cols</columns><columns large="2">.two cols</columns></row></center>');
-
-    $ = inky.releaseTheKraken($);
-    expect($.html()).toEqual('<center><table class="row "><tbody><tr><td class="wrapper "><table class="large-10 columns"><tr>.ten cols<td class="expander"></td></tr></table></td><td class="wrapper last"><table class="large-2 columns"><tr>.two cols<td class="expander"></td></tr></table></td></tr></tbody></table></center>');
-
-  })
-
-  it("will place the 'last' class on a solo column", function() {
-    var $ = cheerio.load('<center><row><columns large="12">forever alone</columns></row></center>');
-
-    $ = inky.releaseTheKraken($);
-    expect($.html()).toEqual('<center><table class="row "><tbody><tr><td class="wrapper last"><table class="large-12 columns"><tr>forever alone<td class="expander"></td></tr></table></td></tr></tbody></table></center>');
-
-  })
-
-  it("handles deeply nested components", function() {
-    var $ = cheerio.load('<center><row><columns large="12"><p><callout>deep stuff</callout></p></columns></row></center>');
-
-    $ = inky.releaseTheKraken($);
-    expect($.html()).toEqual('<center><table class="row "><tbody><tr><td class="wrapper last"><table class="large-12 columns"><tr><td><p><td class="callout ">deep stuff</td></p></td><td class="expander"></td></tr></table></td></tr></tbody></table></center>');
-
-  })
-});
diff --git a/spec/inky.js b/spec/inky.js
deleted file mode 100644 (file)
index 8914405..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-"use strict";
-
-var inky = require('../node_modules/gulp-zurb-foundation-email/node_modules/gulp-zurb-inky');
-
-describe("inky", function () {
-  it("should be setting custom tags from object correctly", function () {
-
-  inky.setTagArray();
-  expect(inky.zfArray).toEqual([ 'button', 'row', 'callout', 'columns', 'subcolumns', 'container', 'inline-list-h', 'inline-list-v' ]);
-  });
-
-});