From 480f6ec9492520b59dad1eebd4e49d5216bc4a45 Mon Sep 17 00:00:00 2001 From: Jordan Kasper Date: Sat, 11 Mar 2017 16:58:09 -0500 Subject: [PATCH 01/10] Added Sass code and new thought JS --- src/index.html | 21 +++++++++++++++++++++ src/js/new-thought.js | 35 +++++++++++++++++++++++++++++++++++ src/sass/header.scss | 10 ++++++++++ src/sass/login.scss | 7 +++++++ src/sass/main.scss | 6 ++++++ src/sass/recent.scss | 10 ++++++++++ src/sass/variables.scss | 11 +++++++++++ 7 files changed, 100 insertions(+) create mode 100644 src/index.html create mode 100644 src/js/new-thought.js create mode 100644 src/sass/header.scss create mode 100644 src/sass/login.scss create mode 100644 src/sass/main.scss create mode 100644 src/sass/recent.scss create mode 100644 src/sass/variables.scss diff --git a/src/index.html b/src/index.html new file mode 100644 index 0000000..d257fa8 --- /dev/null +++ b/src/index.html @@ -0,0 +1,21 @@ + + + + + Thoughter + + + + + + +
+

Thoughter

+
+ + + + + + + diff --git a/src/js/new-thought.js b/src/js/new-thought.js new file mode 100644 index 0000000..cd2d613 --- /dev/null +++ b/src/js/new-thought.js @@ -0,0 +1,35 @@ +(function() { + + window.thoughter = window.thoughter || {}; + + /** + * Creates a new thought with the given text + * + * @param {String} text The text to use for the thought - this is REQUIRED! + * @return {Promise} The resolved promise will have the new thought data object in it + */ + window.thoughter.createThought = function createThought(text) { + if (typeof(text) !== 'string' || !text.length) { + return Promise.reject('Please provide text for this new thought'); + } + + return fetch( + 'http://thoughter.herokuapp.com/api/Thoughts', + { + method: 'post', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ content: text }) + } + ) + .then(function handleResponse(res) { + if (res.status > 299) { + console.error('Looks like a bad status code:', res.status); + } else { + return res.json() + } + }); + }; + +})(); diff --git a/src/sass/header.scss b/src/sass/header.scss new file mode 100644 index 0000000..aed64e2 --- /dev/null +++ b/src/sass/header.scss @@ -0,0 +1,10 @@ + +header { + border-bottom: $themeBorder; + + h1 { + font-size: $topHeaderFontSize; + font-weight: bold; + margin-left: $topHeaderShift; + } +} diff --git a/src/sass/login.scss b/src/sass/login.scss new file mode 100644 index 0000000..2a0f74b --- /dev/null +++ b/src/sass/login.scss @@ -0,0 +1,7 @@ + +.login { + form { + width: $loginWidth; + margin: 0 auto; + } +} diff --git a/src/sass/main.scss b/src/sass/main.scss new file mode 100644 index 0000000..affe303 --- /dev/null +++ b/src/sass/main.scss @@ -0,0 +1,6 @@ + +@import 'variables'; +@import 'header'; +@import 'login'; +@import 'new-thought'; +@import 'recent'; diff --git a/src/sass/recent.scss b/src/sass/recent.scss new file mode 100644 index 0000000..938e465 --- /dev/null +++ b/src/sass/recent.scss @@ -0,0 +1,10 @@ + +.recent { + width: $recentContainerWidth; + margin: 0 auto; + display: flex; + + article { + flex: 0 0 calc((100% / $thoughtColumns) - $thoughtMargin); + } +} diff --git a/src/sass/variables.scss b/src/sass/variables.scss new file mode 100644 index 0000000..85ac3f8 --- /dev/null +++ b/src/sass/variables.scss @@ -0,0 +1,11 @@ + +$themeFontColor: #222222; +$themeBorder: 1px solid #99bbff; +$topHeaderFontSize: 1.2em; +$topHeaderShift: 5em; + +$loginWidth: 60%; + +$recentContainerWidth: 90%; +$thoughtColumns: 2; +$thoughtMargin: 2em; From 61ed5414cc6d238da2054d19c8e9f5859ab87d2f Mon Sep 17 00:00:00 2001 From: Jordan Kasper Date: Sat, 11 Mar 2017 17:53:52 -0500 Subject: [PATCH 02/10] Added rejected promise on non-200 status code for new thoughts --- src/js/new-thought.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/js/new-thought.js b/src/js/new-thought.js index cd2d613..f56e972 100644 --- a/src/js/new-thought.js +++ b/src/js/new-thought.js @@ -26,6 +26,7 @@ .then(function handleResponse(res) { if (res.status > 299) { console.error('Looks like a bad status code:', res.status); + return Promise.reject('Sorry, but there was a problem with your request.'); } else { return res.json() } From 4fb660f4fbca602c0f6faf93780d3959ae50a619 Mon Sep 17 00:00:00 2001 From: Brian Fiala Date: Fri, 17 Mar 2017 15:18:59 -0400 Subject: [PATCH 03/10] begun work on testing unit --- package.json | 0 src/js/recent-thoughts.js | 2 +- test/specs/thoughter.spec.js | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 package.json create mode 100644 test/specs/thoughter.spec.js diff --git a/package.json b/package.json new file mode 100644 index 0000000..e69de29 diff --git a/src/js/recent-thoughts.js b/src/js/recent-thoughts.js index c548e79..19589f5 100644 --- a/src/js/recent-thoughts.js +++ b/src/js/recent-thoughts.js @@ -11,7 +11,7 @@ */ window.thoughter.showRecent = function showRecent(thoughts = []) { if (!Array.isArray(thoughts)) { - return; + return 'invalid parameters. array parameters only'; } recent = document.querySelector('.recent'); diff --git a/test/specs/thoughter.spec.js b/test/specs/thoughter.spec.js new file mode 100644 index 0000000..07ffc2a --- /dev/null +++ b/test/specs/thoughter.spec.js @@ -0,0 +1,35 @@ +(function() { + 'use strict'; + + window.thoughter = window.thoughter || {}; + let expect = window.chai; + + describe('thoughterDisplayModule', function() { + beforeEach(function () { + let thoughtList = document.createElement('ul'); + thoughtList.classList.add('recent'); + }); + + afterEach(function () { + document.querySelectorAll('ul').forEach( function () { + + }); + }); + + it('should be a function', function () { + let result = typeof(window.thoughter.showRecent); + expect(result).to.be.a('function'); + }); + it('should accept only an array as a parameter', function () { + let result = window.thoughter.showRecent('lasfdjh'); + expect(result).to.be.a('string'); + result = window.thoughter.showRecent(); + expect(result).to.be.a('string'); + result = window.thoughter.showRecent([]); + expect(result).to.be.undefined; + }); + + }); + + +}()); From 7a928717d0d287d352ad15815a59c536be49fdce Mon Sep 17 00:00:00 2001 From: Brian Fiala Date: Fri, 17 Mar 2017 15:24:52 -0400 Subject: [PATCH 04/10] updated package.json with testing suite dependencies and jquery --- package.json | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/package.json b/package.json index e69de29..bf72968 100644 --- a/package.json +++ b/package.json @@ -0,0 +1,38 @@ +{ + "devDependencies": { + "chai": "^3.5.0", + "karma": "^1.5.0", + "karma-chai": "^0.1.0", + "karma-chrome-launcher": "^2.0.0", + "karma-mocha": "^1.3.0", + "mocha": "^3.2.0" + }, + "name": "thoughter", + "description": "Definitely not a Twitter clone.", + "version": "1.0.0", + "main": "recent-thoughts.js", + "directories": { + "test": "test" + }, + "dependencies": { + "chai": "^3.5.0", + "jquery": "^3.2.0", + "karma-chrome-launcher": "^2.0.0", + "karma-chai": "^0.1.0", + "karma-mocha": "^1.3.0", + "karma": "^1.5.0" + }, + "scripts": { + "test": "mocha" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/BrianFiala/thoughter.git" + }, + "author": "", + "license": "ISC", + "bugs": { + "url": "https://github.com/BrianFiala/thoughter/issues" + }, + "homepage": "https://github.com/BrianFiala/thoughter#readme" +} From 53cff3b9902ef97d625ab400e68d6c157e3d968e Mon Sep 17 00:00:00 2001 From: Brian Fiala Date: Sun, 19 Mar 2017 14:08:29 -0400 Subject: [PATCH 05/10] recent thought function test spec tentatively complete. beginning testing --- src/js/recent-thoughts.js | 2 +- test/specs/thoughter.spec.js | 67 +++++++++++++++++++++++++----------- 2 files changed, 47 insertions(+), 22 deletions(-) diff --git a/src/js/recent-thoughts.js b/src/js/recent-thoughts.js index 19589f5..c548e79 100644 --- a/src/js/recent-thoughts.js +++ b/src/js/recent-thoughts.js @@ -11,7 +11,7 @@ */ window.thoughter.showRecent = function showRecent(thoughts = []) { if (!Array.isArray(thoughts)) { - return 'invalid parameters. array parameters only'; + return; } recent = document.querySelector('.recent'); diff --git a/test/specs/thoughter.spec.js b/test/specs/thoughter.spec.js index 07ffc2a..a89e497 100644 --- a/test/specs/thoughter.spec.js +++ b/test/specs/thoughter.spec.js @@ -3,33 +3,58 @@ window.thoughter = window.thoughter || {}; let expect = window.chai; + let showRecent = window.thoughter.showRecent; describe('thoughterDisplayModule', function() { - beforeEach(function () { - let thoughtList = document.createElement('ul'); - thoughtList.classList.add('recent'); - }); + describe('recent thought function', function() { + beforeEach(function () { + let thoughtList = document.createElement('section'); + thoughtList.classList.add('recent'); + }); - afterEach(function () { - document.querySelectorAll('ul').forEach( function () { + afterEach(function() { + Array.toArray(document.querySelectorAll('section.recent')).forEach(function (recentSection) { + recentSection.parentNode().remove(section.recent); + }); + }); + it('should be a function', function() { + let result = typeof(showRecent); + expect(result).to.be.a('function'); }); - }); - it('should be a function', function () { - let result = typeof(window.thoughter.showRecent); - expect(result).to.be.a('function'); - }); - it('should accept only an array as a parameter', function () { - let result = window.thoughter.showRecent('lasfdjh'); - expect(result).to.be.a('string'); - result = window.thoughter.showRecent(); - expect(result).to.be.a('string'); - result = window.thoughter.showRecent([]); - expect(result).to.be.undefined; - }); + it('should not change the page if passed any non-array parameter', function() { + showRecent('paramString'); + expect(result).to.be.a('string'); + result = showRecent(); + expect(result).to.be.a('string'); + }); - }); + it('should not add anything to the page when passed an empty array', function() { + showRecent([]); + expect(document.querySelectorAll('article.panel').length).to.eq(0); + }); + + it('should display valid thoughts', function() { + let thought = {'id': 'someNum', 'createTime': '9million o\'clock', 'content': "No thoughts were harmed in the making of this thought object"}; + showRecent([thought]); + expect(document.querySelectorAll('article.panel').length).to.eq(1); + }); + it('should not display invalid thoughts', function() { + let thought = {'id': 'someNum', 'content': "My thought is in pain"}; + showRecent([thought]); + expect(document.querySelectorAll('article.panel').length).to.eq(0); + }); -}()); + it('should add a thought for only valid thought objects in the passed array parameter', function() { + let thoughts = [{'id': 'someNum', 'createTime': '9million o\'clock', 'content': 'No thoughts were harmed in the making of this thought object'}, + {'id': 'someNum', 'createTime': '9million o\'clock', 'content': 'No thoughts were harmed in the making of this thought object'}, + {'id': 'someNum', 'content': 'This is an invalid thought. A thought was harmed in the making of this thought object'}]; + showRecent(thoughts); + let thoughtPanel = document.querySelectorAll('article.panel'); + expect(thoughtPanel).length.to.eq(2); + }); + }); + }); +})(); From 39728a6599faed33a47ebdb0b7cda14dfb89f783 Mon Sep 17 00:00:00 2001 From: Brian Fiala Date: Tue, 21 Mar 2017 22:06:06 -0400 Subject: [PATCH 06/10] played with conf files to try to get DOM additions through karma to work. Still not working --- karma.conf.js | 70 ++++++++++++++++++++++++++++++++++++ package.json | 52 ++++++++++++--------------- src/index.html | 12 +++++++ src/js/recent-thoughts.js | 2 +- test.conf.js | 13 +++++++ test/specs/thoughter.spec.js | 23 +++++++----- 6 files changed, 134 insertions(+), 38 deletions(-) create mode 100644 karma.conf.js create mode 100644 src/index.html create mode 100644 test.conf.js diff --git a/karma.conf.js b/karma.conf.js new file mode 100644 index 0000000..553da42 --- /dev/null +++ b/karma.conf.js @@ -0,0 +1,70 @@ +// Karma configuration +// Generated on Mon Mar 20 2017 14:04:49 GMT-0400 (EDT) + +module.exports = function(config) { + config.set({ + + // base path that will be used to resolve all patterns (eg. files, exclude) + basePath: '', + + + // frameworks to use + // available frameworks: https://npmjs.org/browse/keyword/karma-adapter + frameworks: ['mocha'], + + + // list of files / patterns to load in the browser + files: [ + '**/*.js', + '**/*.js' + ], + + + // list of files to exclude + exclude: [ + ], + + + // preprocess matching files before serving them to the browser + // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor + preprocessors: { + }, + + + // test results reporter to use + // possible values: 'dots', 'progress' + // available reporters: https://npmjs.org/browse/keyword/karma-reporter + reporters: ['progress'], + + + // web server port + port: 9876, + + + // enable / disable colors in the output (reporters and logs) + colors: true, + + + // level of logging + // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG + logLevel: config.LOG_INFO, + + + // enable / disable watching file and executing tests whenever any file changes + autoWatch: false, + + + // start these browsers + // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher + browsers: ['Chrome'], + + + // Continuous Integration mode + // if true, Karma captures browsers, runs the tests and exits + singleRun: true, + + // Concurrency level + // how many browser should be started simultaneous + concurrency: Infinity + }) +} diff --git a/package.json b/package.json index bf72968..9f72b4e 100644 --- a/package.json +++ b/package.json @@ -1,38 +1,32 @@ { - "devDependencies": { - "chai": "^3.5.0", - "karma": "^1.5.0", - "karma-chai": "^0.1.0", - "karma-chrome-launcher": "^2.0.0", - "karma-mocha": "^1.3.0", - "mocha": "^3.2.0" - }, "name": "thoughter", - "description": "Definitely not a Twitter clone.", "version": "1.0.0", - "main": "recent-thoughts.js", - "directories": { - "test": "test" + "author": "Brian Fiala", + "license": "ISC", + "description": "Definitely not a Twitter clone.", + "main": "src/js/recent-thoughts.js", + "scripts": { + "test": "karma start test.conf.js" }, "dependencies": { + "fetch-mock": "^5.9.4", + "jquery": "^3.2.0" + }, + "devDependencies": { "chai": "^3.5.0", - "jquery": "^3.2.0", - "karma-chrome-launcher": "^2.0.0", + "fetch-mock": "^5.9.4", + "grunt": "^1.0.1", + "grunt-contrib-clean": "^1.0.0", + "grunt-contrib-copy": "^1.0.0", + "grunt-contrib-jshint": "^1.1.0", + "grunt-contrib-sass": "^1.0.0", + "grunt-karma": "^2.0.0", + "karma": "^1.5.0", "karma-chai": "^0.1.0", + "karma-chrome-launcher": "^2.0.0", "karma-mocha": "^1.3.0", - "karma": "^1.5.0" - }, - "scripts": { - "test": "mocha" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/BrianFiala/thoughter.git" - }, - "author": "", - "license": "ISC", - "bugs": { - "url": "https://github.com/BrianFiala/thoughter/issues" - }, - "homepage": "https://github.com/BrianFiala/thoughter#readme" + "karma-requirejs": "^1.1.0", + "load-grunt-tasks": "^3.5.2", + "mocha": "^3.2.0" + } } diff --git a/src/index.html b/src/index.html new file mode 100644 index 0000000..15665f9 --- /dev/null +++ b/src/index.html @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/js/recent-thoughts.js b/src/js/recent-thoughts.js index c548e79..45edecf 100644 --- a/src/js/recent-thoughts.js +++ b/src/js/recent-thoughts.js @@ -14,7 +14,7 @@ return; } - recent = document.querySelector('.recent'); + let recent = document.querySelector('.recent'); thoughts.forEach(function showThought(thought) { if (!thought.content || !thought.createTime || !thought.id) { return; diff --git a/test.conf.js b/test.conf.js new file mode 100644 index 0000000..2136906 --- /dev/null +++ b/test.conf.js @@ -0,0 +1,13 @@ +module.exports = function karmaConfig( config) { + config.set({ + frameworks: ['mocha', 'chai'], + browsers: ['Chrome'], + singleRun: true, + files: [ + // globbing pattern for searching src directory and any sub for any js + 'src/**/*.js', + 'node_modules/fetch-mock/es5/client-browserified.js', + 'test/specs/**/*.js' + ] + }); +}; diff --git a/test/specs/thoughter.spec.js b/test/specs/thoughter.spec.js index a89e497..7951a5a 100644 --- a/test/specs/thoughter.spec.js +++ b/test/specs/thoughter.spec.js @@ -2,32 +2,39 @@ 'use strict'; window.thoughter = window.thoughter || {}; - let expect = window.chai; + + let expect = chai.expect; let showRecent = window.thoughter.showRecent; + let getRecent = window.thoughter.getRecent; describe('thoughterDisplayModule', function() { + describe('recent thought function', function() { + beforeEach(function () { let thoughtList = document.createElement('section'); thoughtList.classList.add('recent'); + console.info(document.querySelector('body')); + document.querySelector('body').appendChild(thoughtList); }); afterEach(function() { - Array.toArray(document.querySelectorAll('section.recent')).forEach(function (recentSection) { - recentSection.parentNode().remove(section.recent); + (document.querySelectorAll('.recent')).forEach(function (recentSection) { + recentSection.parentNode.remove(recentSection); }); }); + let result; + it('should be a function', function() { - let result = typeof(showRecent); - expect(result).to.be.a('function'); + expect(showRecent).to.be.a('function'); }); it('should not change the page if passed any non-array parameter', function() { - showRecent('paramString'); - expect(result).to.be.a('string'); + result = showRecent('paramString'); + expect(result).to.be.undefined; result = showRecent(); - expect(result).to.be.a('string'); + expect(result).to.be.undefined; }); it('should not add anything to the page when passed an empty array', function() { From bd7db9d1b73be70ea7939a51afee1190e8bd65a9 Mon Sep 17 00:00:00 2001 From: Brian Fiala Date: Tue, 21 Mar 2017 22:12:13 -0400 Subject: [PATCH 07/10] tried to modify karma conf file to remove requirejs dependency, but that did not work. then npm installed requirejs, but that did not work either --- karma.conf.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/karma.conf.js b/karma.conf.js index 553da42..670c24f 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -1,5 +1,5 @@ // Karma configuration -// Generated on Mon Mar 20 2017 14:04:49 GMT-0400 (EDT) +// Generated on Tue Mar 21 2017 22:08:29 GMT-0400 (EDT) module.exports = function(config) { config.set({ @@ -15,8 +15,8 @@ module.exports = function(config) { // list of files / patterns to load in the browser files: [ - '**/*.js', - '**/*.js' + 'src/js/*.js', + 'test/specs/*.js' ], @@ -61,7 +61,7 @@ module.exports = function(config) { // Continuous Integration mode // if true, Karma captures browsers, runs the tests and exits - singleRun: true, + singleRun: false, // Concurrency level // how many browser should be started simultaneous From 699b26984e1f43781c963dfb4aa10c9d7fbbfa4a Mon Sep 17 00:00:00 2001 From: Brian Fiala Date: Tue, 21 Mar 2017 23:04:07 -0400 Subject: [PATCH 08/10] success! all tests for showRecent pass. --- karma.conf.js | 8 ++++---- package.json | 3 ++- test.conf.js | 2 +- test/specs/thoughter.spec.js | 8 ++++---- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/karma.conf.js b/karma.conf.js index 670c24f..97abd64 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -10,7 +10,7 @@ module.exports = function(config) { // frameworks to use // available frameworks: https://npmjs.org/browse/keyword/karma-adapter - frameworks: ['mocha'], + frameworks: ['mocha', 'chai'], // list of files / patterns to load in the browser @@ -61,10 +61,10 @@ module.exports = function(config) { // Continuous Integration mode // if true, Karma captures browsers, runs the tests and exits - singleRun: false, + singleRun: true, // Concurrency level // how many browser should be started simultaneous concurrency: Infinity - }) -} + }); +}; diff --git a/package.json b/package.json index 9f72b4e..2dd5022 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,7 @@ "karma-mocha": "^1.3.0", "karma-requirejs": "^1.1.0", "load-grunt-tasks": "^3.5.2", - "mocha": "^3.2.0" + "mocha": "^3.2.0", + "requirejs": "^2.3.3" } } diff --git a/test.conf.js b/test.conf.js index 2136906..8c6cd14 100644 --- a/test.conf.js +++ b/test.conf.js @@ -5,7 +5,7 @@ module.exports = function karmaConfig( config) { singleRun: true, files: [ // globbing pattern for searching src directory and any sub for any js - 'src/**/*.js', + 'src/js/*.js', 'node_modules/fetch-mock/es5/client-browserified.js', 'test/specs/**/*.js' ] diff --git a/test/specs/thoughter.spec.js b/test/specs/thoughter.spec.js index 7951a5a..166571c 100644 --- a/test/specs/thoughter.spec.js +++ b/test/specs/thoughter.spec.js @@ -14,13 +14,13 @@ beforeEach(function () { let thoughtList = document.createElement('section'); thoughtList.classList.add('recent'); - console.info(document.querySelector('body')); + console.info('this is where I am using the console' + document.querySelector('body')); document.querySelector('body').appendChild(thoughtList); }); afterEach(function() { (document.querySelectorAll('.recent')).forEach(function (recentSection) { - recentSection.parentNode.remove(recentSection); + recentSection.parentNode.removeChild(recentSection); }); }); @@ -59,8 +59,8 @@ {'id': 'someNum', 'createTime': '9million o\'clock', 'content': 'No thoughts were harmed in the making of this thought object'}, {'id': 'someNum', 'content': 'This is an invalid thought. A thought was harmed in the making of this thought object'}]; showRecent(thoughts); - let thoughtPanel = document.querySelectorAll('article.panel'); - expect(thoughtPanel).length.to.eq(2); + let thoughtPanel = document.querySelectorAll('.panel'); + expect(thoughtPanel.length).to.eq(2); }); }); }); From e90023b5b1430bf6024b6c85cfc4c6a1a9d7ca0b Mon Sep 17 00:00:00 2001 From: Brian Fiala Date: Sat, 13 May 2017 17:01:34 -0400 Subject: [PATCH 09/10] updated sass --- src/sass/main.scss | 2 +- src/style.css | 19 +++++++++++++++++++ src/style.css.map | 7 +++++++ 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 src/style.css create mode 100644 src/style.css.map diff --git a/src/sass/main.scss b/src/sass/main.scss index affe303..4fd5a1e 100644 --- a/src/sass/main.scss +++ b/src/sass/main.scss @@ -2,5 +2,5 @@ @import 'variables'; @import 'header'; @import 'login'; -@import 'new-thought'; +// @import 'new-thought'; @import 'recent'; diff --git a/src/style.css b/src/style.css new file mode 100644 index 0000000..094e806 --- /dev/null +++ b/src/style.css @@ -0,0 +1,19 @@ +header { + border-bottom: 1px solid #99bbff; } + header h1 { + font-size: 1.2em; + font-weight: bold; + margin-left: 5em; } + +.login form { + width: 60%; + margin: 0 auto; } + +.recent { + width: 90%; + margin: 0 auto; + display: flex; } + .recent article { + flex: 0 0 calc((100% / $thoughtColumns) - $thoughtMargin); } + +/*# sourceMappingURL=style.css.map */ diff --git a/src/style.css.map b/src/style.css.map new file mode 100644 index 0000000..e31a746 --- /dev/null +++ b/src/style.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": "AACA,MAAO;EACH,aAAa,ECAH,iBAAiB;EDE3B,SAAG;IACC,SAAS,ECFG,KAAK;IDGjB,WAAW,EAAE,IAAI;IACjB,WAAW,ECHF,GAAG;;ACFhB,WAAK;EACD,KAAK,EDGA,GAAG;ECFR,MAAM,EAAE,MAAM;;ACHtB,OAAQ;EACJ,KAAK,EFMc,GAAG;EELtB,MAAM,EAAE,MAAM;EACd,OAAO,EAAE,IAAI;EAEb,eAAQ;IACJ,IAAI,EAAE,mDAAmD", +"sources": ["sass/header.scss","sass/variables.scss","sass/login.scss","sass/recent.scss"], +"names": [], +"file": "style.css" +} From f360aaaf04404e514ddfbc73fec99b21a22e9153 Mon Sep 17 00:00:00 2001 From: Brian Fiala Date: Sat, 13 May 2017 17:04:38 -0400 Subject: [PATCH 10/10] deleted wrong karma config file --- karma.conf.js | 70 --------------------------------------------------- 1 file changed, 70 deletions(-) delete mode 100644 karma.conf.js diff --git a/karma.conf.js b/karma.conf.js deleted file mode 100644 index 97abd64..0000000 --- a/karma.conf.js +++ /dev/null @@ -1,70 +0,0 @@ -// Karma configuration -// Generated on Tue Mar 21 2017 22:08:29 GMT-0400 (EDT) - -module.exports = function(config) { - config.set({ - - // base path that will be used to resolve all patterns (eg. files, exclude) - basePath: '', - - - // frameworks to use - // available frameworks: https://npmjs.org/browse/keyword/karma-adapter - frameworks: ['mocha', 'chai'], - - - // list of files / patterns to load in the browser - files: [ - 'src/js/*.js', - 'test/specs/*.js' - ], - - - // list of files to exclude - exclude: [ - ], - - - // preprocess matching files before serving them to the browser - // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor - preprocessors: { - }, - - - // test results reporter to use - // possible values: 'dots', 'progress' - // available reporters: https://npmjs.org/browse/keyword/karma-reporter - reporters: ['progress'], - - - // web server port - port: 9876, - - - // enable / disable colors in the output (reporters and logs) - colors: true, - - - // level of logging - // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG - logLevel: config.LOG_INFO, - - - // enable / disable watching file and executing tests whenever any file changes - autoWatch: false, - - - // start these browsers - // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher - browsers: ['Chrome'], - - - // Continuous Integration mode - // if true, Karma captures browsers, runs the tests and exits - singleRun: true, - - // Concurrency level - // how many browser should be started simultaneous - concurrency: Infinity - }); -};