From 3809f04ecee33ea633cc32425db7f88e2a4ab4de Mon Sep 17 00:00:00 2001 From: cd20202 Date: Tue, 17 Nov 2015 10:02:31 -0800 Subject: [PATCH 1/4] project 2 ideas --- cd20202/project_two_ideas.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 cd20202/project_two_ideas.md diff --git a/cd20202/project_two_ideas.md b/cd20202/project_two_ideas.md new file mode 100644 index 0000000..d42bcf5 --- /dev/null +++ b/cd20202/project_two_ideas.md @@ -0,0 +1,11 @@ +#Project Two Ideas + +1. HTML builder - Plug in content and links to build a basic html element + +2. Clock Bock - Site that only does DOS attacks on Jamedr + +3. StoneHearth - Card & turn based online game with ranks based on skill + +4. The Shire - Interactive LOTR middle earth map and adventure + +5. Dr. Powder - Crawls thru all Tahoe, Utah, and Colorado major ski resorts and displays snow reports for each with the ski cam \ No newline at end of file From 907de1d4a399bfc8bc2cc3c12a90ea6e38cd889e Mon Sep 17 00:00:00 2001 From: cd20202 Date: Mon, 7 Dec 2015 13:44:04 -0800 Subject: [PATCH 2/4] weekend lab --- cd20202/ang-weekend-lab/ang-weekend-lab | 1 + 1 file changed, 1 insertion(+) create mode 160000 cd20202/ang-weekend-lab/ang-weekend-lab diff --git a/cd20202/ang-weekend-lab/ang-weekend-lab b/cd20202/ang-weekend-lab/ang-weekend-lab new file mode 160000 index 0000000..0d51c9a --- /dev/null +++ b/cd20202/ang-weekend-lab/ang-weekend-lab @@ -0,0 +1 @@ +Subproject commit 0d51c9a4c8402b31065f6e8f45ba906de3041dc5 From efeccb7a644e60a68518d70f618f1a36f22422d5 Mon Sep 17 00:00:00 2001 From: cd20202 Date: Mon, 7 Dec 2015 13:48:50 -0800 Subject: [PATCH 3/4] weekend lab --- .DS_Store | Bin 6148 -> 6148 bytes cd20202/.DS_Store | Bin 10244 -> 10244 bytes cd20202/ang-weekend-lab/.bowerrc | 3 + cd20202/ang-weekend-lab/.gitignore | 2 + cd20202/ang-weekend-lab/Procfile | 1 + cd20202/ang-weekend-lab/README.md | 1 + cd20202/ang-weekend-lab/ang-weekend-lab | 1 - cd20202/ang-weekend-lab/bower.json | 13 ++++ cd20202/ang-weekend-lab/models/post.js | 35 +++++++++ cd20202/ang-weekend-lab/package.json | 30 ++++++++ cd20202/ang-weekend-lab/public/app.js | 22 ++++++ cd20202/ang-weekend-lab/public/controllers.js | 37 +++++++++ cd20202/ang-weekend-lab/public/css/style.css | 1 + cd20202/ang-weekend-lab/public/img/logo.jpg | Bin 0 -> 9191 bytes cd20202/ang-weekend-lab/routes/index.js | 14 ++++ cd20202/ang-weekend-lab/routes/posts.js | 50 ++++++++++++ cd20202/ang-weekend-lab/server.js | 69 +++++++++++++++++ cd20202/ang-weekend-lab/test/conf.js | 4 + cd20202/ang-weekend-lab/test/gen-spec.js | 15 ++++ cd20202/ang-weekend-lab/views/index.html | 71 ++++++++++++++++++ .../views/templates/posts-index.html | 38 ++++++++++ 21 files changed, 406 insertions(+), 1 deletion(-) create mode 100644 cd20202/ang-weekend-lab/.bowerrc create mode 100644 cd20202/ang-weekend-lab/.gitignore create mode 100644 cd20202/ang-weekend-lab/Procfile create mode 100644 cd20202/ang-weekend-lab/README.md delete mode 160000 cd20202/ang-weekend-lab/ang-weekend-lab create mode 100644 cd20202/ang-weekend-lab/bower.json create mode 100644 cd20202/ang-weekend-lab/models/post.js create mode 100644 cd20202/ang-weekend-lab/package.json create mode 100644 cd20202/ang-weekend-lab/public/app.js create mode 100644 cd20202/ang-weekend-lab/public/controllers.js create mode 100644 cd20202/ang-weekend-lab/public/css/style.css create mode 100644 cd20202/ang-weekend-lab/public/img/logo.jpg create mode 100644 cd20202/ang-weekend-lab/routes/index.js create mode 100644 cd20202/ang-weekend-lab/routes/posts.js create mode 100644 cd20202/ang-weekend-lab/server.js create mode 100644 cd20202/ang-weekend-lab/test/conf.js create mode 100644 cd20202/ang-weekend-lab/test/gen-spec.js create mode 100644 cd20202/ang-weekend-lab/views/index.html create mode 100644 cd20202/ang-weekend-lab/views/templates/posts-index.html diff --git a/.DS_Store b/.DS_Store index 1d1692c4540ce63df83844bce02ba392cf21cc44..5ab3b201357c6afba6a09f0bbb16c8f4b425733b 100755 GIT binary patch delta 171 zcmZoMXffC@gOy2MZt^VFBH4HW{^I1K{G6PC{Nl`#%>2B_==7q@6#ule;?$DKnryz( z5t+&PdBK@gsUW2p`Q@HKZa`6LS!Qbax+;K<<15XO+rP{lBjVJ^dZhTRM&816E>XZXp;&L}Whl3kv$eX}L|X#oJu C{VdY} delta 171 zcmZoMXffC@gOy26Ve%~2BH8HlqRbTkw6x;XlE`=g{^I1K{G6PC{Nl`#%>2B`nryz( zAkmEca?j-aynv$Avdq--h)f_mII}8s@GsLmopqgD$cf zh7=$_2Pl&?*-&&ppP@mmjzYDCk+F_~sj<=If1=i#`316>LuDA87>a;qCIU@P1CqrI zB|v@24EaD4OMo)@Kr?cH@9f$xlwo$xi~>4|E*E8K5&?{09RD zhRx-|-CotYXaYB|@7chtvez9zB5`N7jfy*%fd1hPf delta 76 zcmZn(XbG6$FDlBwz`)4BAi%(o$WXvg;F*)3oRqV%a2or>2Hwr=94s7+qMMBc^O!gP f6#2}wxj~|xePe?#(`I&sUo4v&#BvycLem)m7(f=s diff --git a/cd20202/ang-weekend-lab/.bowerrc b/cd20202/ang-weekend-lab/.bowerrc new file mode 100644 index 0000000..2de69f2 --- /dev/null +++ b/cd20202/ang-weekend-lab/.bowerrc @@ -0,0 +1,3 @@ +{ + "directory": "public/vendor/" +} \ No newline at end of file diff --git a/cd20202/ang-weekend-lab/.gitignore b/cd20202/ang-weekend-lab/.gitignore new file mode 100644 index 0000000..503442c --- /dev/null +++ b/cd20202/ang-weekend-lab/.gitignore @@ -0,0 +1,2 @@ +node_modules +public/vendor diff --git a/cd20202/ang-weekend-lab/Procfile b/cd20202/ang-weekend-lab/Procfile new file mode 100644 index 0000000..6f86b16 --- /dev/null +++ b/cd20202/ang-weekend-lab/Procfile @@ -0,0 +1 @@ +web: node server.js \ No newline at end of file diff --git a/cd20202/ang-weekend-lab/README.md b/cd20202/ang-weekend-lab/README.md new file mode 100644 index 0000000..9dd3b54 --- /dev/null +++ b/cd20202/ang-weekend-lab/README.md @@ -0,0 +1 @@ +Angular Weekend Lab \ No newline at end of file diff --git a/cd20202/ang-weekend-lab/ang-weekend-lab b/cd20202/ang-weekend-lab/ang-weekend-lab deleted file mode 160000 index 0d51c9a..0000000 --- a/cd20202/ang-weekend-lab/ang-weekend-lab +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 0d51c9a4c8402b31065f6e8f45ba906de3041dc5 diff --git a/cd20202/ang-weekend-lab/bower.json b/cd20202/ang-weekend-lab/bower.json new file mode 100644 index 0000000..246f484 --- /dev/null +++ b/cd20202/ang-weekend-lab/bower.json @@ -0,0 +1,13 @@ +{ + "name": "seed-mean-html", + "version": "1.0.0", + "dependencies": { + "angular": "latest", + "angular-ui-router": "~0.2.15", + "angular-resource": "latest", + "angular-sanitize": "latest", + "angular-touch": "latest", + "bootstrap": "latest", + "font-awesome": "latest" + } +} diff --git a/cd20202/ang-weekend-lab/models/post.js b/cd20202/ang-weekend-lab/models/post.js new file mode 100644 index 0000000..c560b3e --- /dev/null +++ b/cd20202/ang-weekend-lab/models/post.js @@ -0,0 +1,35 @@ +/* + * POST MODEL + */ + +var mongoose = require('mongoose'), + Schema = mongoose.Schema; + +var PostSchema = new Schema({ + created_at: { + type: Date, + default: Date.now() + }, + updated_at: { type: Date }, + content: { + type: String, + required: true, + trim: true + } +}); + +// MIDDLEWARE +PostSchema.pre('save', function(next){ + // set a created_at and update updated_at + now = new Date(); + this.updated_at = now; + if ( !this.created_at ) { + this.created_at = now; + } + next(); +}); + +// export post model +var Post = mongoose.model('Post', PostSchema); + +module.exports = Post; diff --git a/cd20202/ang-weekend-lab/package.json b/cd20202/ang-weekend-lab/package.json new file mode 100644 index 0000000..b401b7f --- /dev/null +++ b/cd20202/ang-weekend-lab/package.json @@ -0,0 +1,30 @@ +{ + "name": "seed-mean-html", + "version": "1.0.0", + "description": "MEAN seed project", + "main": "server.js", + "scripts": { + "test": "mocha", + "postinstall": "bower cache clean && bower install", + "start": "node server.js" + }, + "devDependencies": { + "mocha": "*", + "chai": "*" + }, + "engines": { + "node": "0.10.28", + "npm": "2.9.0" + }, + "license": "ISC", + "dependencies": { + "body-parser": "^1.12.3", + "bower": "^1.4.1", + "ejs": "^2.3.3", + "express": "^4.13.3", + "mongoose": "^4.0.2" + }, + "directories": { + "test": "test" + } +} diff --git a/cd20202/ang-weekend-lab/public/app.js b/cd20202/ang-weekend-lab/public/app.js new file mode 100644 index 0000000..7b931ff --- /dev/null +++ b/cd20202/ang-weekend-lab/public/app.js @@ -0,0 +1,22 @@ +/* + * ANGULAR APP.JS + */ + +'use strict'; + +angular.module('myApp', ['ui.router', + 'myApp.controllers']) + + .config(['$stateProvider', '$urlRouterProvider', '$locationProvider', function($stateProvider, $urlRouterProvider, $locationProvider) { + $stateProvider + .state('posts', { + url: "/", + templateUrl: 'templates/posts-index', + controller: 'PostsIndexCtrl' + }); + + $locationProvider.html5Mode({ + enabled: true, + requireBase: false + }); + }]); diff --git a/cd20202/ang-weekend-lab/public/controllers.js b/cd20202/ang-weekend-lab/public/controllers.js new file mode 100644 index 0000000..67f8e3b --- /dev/null +++ b/cd20202/ang-weekend-lab/public/controllers.js @@ -0,0 +1,37 @@ +/* + * CONTROLLERS + */ + +'use strict'; + +angular.module('myApp.controllers', []) + .controller('MainCtrl', ['$rootScope', '$scope', '$location', function ($rootScope, $scope, $location) { + // INITIALIZATION AND NAVBAR LOGIC + }]) + + //POSTS + .controller('PostsIndexCtrl', ['$scope', '$location', '$http', function ($scope, $location, $http) { + + $http.get("http://api.giphy.com/v1/gifs/search?q=funny+cat&api_key=dc6zaTOxFJmzC") + .success(function(response) { + $scope.gifs = response.data; + }) + .error(function(response) { + alert("error: ", response); + }); + + $scope.searchGifs = function() { + $http.get("http://api.giphy.com/v1/gifs/search?q=" + $scope.term + "&api_key=dc6zaTOxFJmzC") + .success(function(response) { + $scope.gifs = response.data; + }) + .error(function(response) { + alert("error: ", response); + }); + }; + $scope.deleteGif = function(gif) { + var index = $scope.gifs.indexOf(gif); + $scope.gifs.splice(index,1); + }; + + }]); diff --git a/cd20202/ang-weekend-lab/public/css/style.css b/cd20202/ang-weekend-lab/public/css/style.css new file mode 100644 index 0000000..91e467b --- /dev/null +++ b/cd20202/ang-weekend-lab/public/css/style.css @@ -0,0 +1 @@ +/*PUT YOUR STYLES HERE*/ diff --git a/cd20202/ang-weekend-lab/public/img/logo.jpg b/cd20202/ang-weekend-lab/public/img/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..24dbd4577f216593e34f11ddbdac7a707d08c5e7 GIT binary patch literal 9191 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 literal 0 HcmV?d00001 diff --git a/cd20202/ang-weekend-lab/routes/index.js b/cd20202/ang-weekend-lab/routes/index.js new file mode 100644 index 0000000..4871b77 --- /dev/null +++ b/cd20202/ang-weekend-lab/routes/index.js @@ -0,0 +1,14 @@ +/* + * INDEX RESOURCES + */ + +exports.index = function(req, res){ + res.render('index'); +}; + +exports.templates = function (req, res) { + var name = req.params.name; + res.render('templates/' + name); +}; + +exports.postRouter = require('./posts.js'); \ No newline at end of file diff --git a/cd20202/ang-weekend-lab/routes/posts.js b/cd20202/ang-weekend-lab/routes/posts.js new file mode 100644 index 0000000..89d1b56 --- /dev/null +++ b/cd20202/ang-weekend-lab/routes/posts.js @@ -0,0 +1,50 @@ +var express = require('express'); +var postRouter = express.Router(); + +var Post = require('../models/post.js'); + +postRouter.route('/') // translates to '/api/posts/' + // send all posts + .get(function(request, response){ + Post.find().sort('-created_at').exec(function(err, posts) { + if (err) { return response.status(404).send(err); } + response.send(posts); + }); + }) + // create new post + .post(function(req,res){ + // var post = new Post({ content: req.body.content }); + // post.save(function (err, post) { + Post.create({ content: req.body.content }, function(err, post){ + if (err) { return res.send(err); } + console.log(post); + res.status(201).send(post); + }); + }); + +postRouter.route('/:post_id') // translates to '/api/posts/:post_id' + // send one post by id + .get(function(req,res){ + Post.findById(req.params.post_id, function(err, post) { + if (err) { return res.status(404).send(err); } + res.send(post); + }); + }) + + // full update of one post by id + .put(function(req,res){ + Post.findOneAndUpdate({ _id: req.params.post_id}, req.query.post, function (err, post) { + if (err) { return res.send(err); } + res.send(post); + }); + }) + + // delete one post by id + .delete(function(req,res){ + Post.findByIdAndRemove(req.params.post_id, function (err, post) { + if (err) { return res.send(err); } + res.status(200).send('Success'); + }); + }); + +module.exports = postRouter; \ No newline at end of file diff --git a/cd20202/ang-weekend-lab/server.js b/cd20202/ang-weekend-lab/server.js new file mode 100644 index 0000000..6e12925 --- /dev/null +++ b/cd20202/ang-weekend-lab/server.js @@ -0,0 +1,69 @@ +/* + * SERVER.JS - setup for server, modules, middleware, database + */ + +// set up base express app +var express = require('express'); +var app = express(); + +// other modules and middleware +var path = require('path'); // built-in module for dealing with file paths +var bodyParser = require('body-parser'); // parse form data into req.body +var mongoose = require('mongoose'); // object document mapper + +// configure bodyparser +app.use(bodyParser.urlencoded({ + extended: true +})); +app.use(bodyParser.json()); + +// connect to database +var dbName = 'seed-mean-html'; +mongoose.connect(process.env.MONGOLAB_URI || 'mongodb://localhost/' + dbName); + +// serve public folder as static assets on the root route +var publicPath = path.join(__dirname, 'public'); +app.use("/", express.static(publicPath)); + +// alias the views folder +// var viewsPath = path.join(__dirname, 'views'); +// app.set('views', viewsPath); + +// set 'html' as the engine, using ejs's renderFile function +var ejs = require('ejs'); +app.engine('html', ejs.renderFile); +app.set('view engine', 'html'); + +/*** ROUTES ***/ +var routes = require('./routes'); + +// INDEX and TEMPLATE ROUTES +app.get('/', routes.index); +// app.get('/', function(request, response){ +// response.render('index'); +// }); + +app.get('/templates/:name', routes.templates); +// app.get('/templates/:name', function(request, response){ +// var name = request.params.name; +// response.render('templates/' + name); +// }); + +// API ROUTES +// post routes +app.use('/api/posts', routes.postRouter); + + +// ALL OTHER ROUTES (ANGULAR HANDLES) +// redirect all other paths to index +app.get('*', routes.index); + + +// SERVER +process.env.NODE_ENV = process.env.NODE_ENV || 'development'; +var port = process.env.PORT || 1337; + +var server = require('http').createServer(app); +server = server.listen(port); +console.log(process.env.NODE_ENV + ' server running at port:' + port); + diff --git a/cd20202/ang-weekend-lab/test/conf.js b/cd20202/ang-weekend-lab/test/conf.js new file mode 100644 index 0000000..f174c8b --- /dev/null +++ b/cd20202/ang-weekend-lab/test/conf.js @@ -0,0 +1,4 @@ +exports.config = { + seleniumAddress: 'http://localhost:4444/wd/hub', + specs: ['gen-spec.js'] +}; \ No newline at end of file diff --git a/cd20202/ang-weekend-lab/test/gen-spec.js b/cd20202/ang-weekend-lab/test/gen-spec.js new file mode 100644 index 0000000..96284b8 --- /dev/null +++ b/cd20202/ang-weekend-lab/test/gen-spec.js @@ -0,0 +1,15 @@ +/* + * TESTS - PROTRACTOR + */ + + // HERE ARE YOUR PROTRACTOR TESTS + // TO RUN THEM RUN THE FOLLOWING IN THE TERMINAL + // $ webdriver-manager start + // $ protractor test/conf.js + +describe('Home Page', function() { + it('should have the correct title', function() { + browser.get('http://localhost:1337/'); + expect(browser.getTitle()).toEqual('MEAN Seed'); + }); +}) \ No newline at end of file diff --git a/cd20202/ang-weekend-lab/views/index.html b/cd20202/ang-weekend-lab/views/index.html new file mode 100644 index 0000000..ca1d8fa --- /dev/null +++ b/cd20202/ang-weekend-lab/views/index.html @@ -0,0 +1,71 @@ + + + + + + + + + MEAN Seed + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cd20202/ang-weekend-lab/views/templates/posts-index.html b/cd20202/ang-weekend-lab/views/templates/posts-index.html new file mode 100644 index 0000000..6b5a1da --- /dev/null +++ b/cd20202/ang-weekend-lab/views/templates/posts-index.html @@ -0,0 +1,38 @@ +

Posts

+
+
+ +
+ +
+ +
+

Search Gifs

+
+
+ +
+ +
+
+
+ + +
+ + + + From f36826fe10f60a06fe5ff754fdd3bfd4b8db510a Mon Sep 17 00:00:00 2001 From: cd20202 Date: Tue, 8 Dec 2015 09:39:32 -0800 Subject: [PATCH 4/4] refactor micro blog for parse --- cd20202/w11-d1/micro-blog-parse/README.md | 3 + cd20202/w11-d1/micro-blog-parse/app.js | 163 +++++++++++++++++++++ cd20202/w11-d1/micro-blog-parse/index.html | 125 ++++++++++++++++ cd20202/w11-d1/micro-blog-parse/styles.css | 120 +++++++++++++++ 4 files changed, 411 insertions(+) create mode 100644 cd20202/w11-d1/micro-blog-parse/README.md create mode 100644 cd20202/w11-d1/micro-blog-parse/app.js create mode 100644 cd20202/w11-d1/micro-blog-parse/index.html create mode 100644 cd20202/w11-d1/micro-blog-parse/styles.css diff --git a/cd20202/w11-d1/micro-blog-parse/README.md b/cd20202/w11-d1/micro-blog-parse/README.md new file mode 100644 index 0000000..174672b --- /dev/null +++ b/cd20202/w11-d1/micro-blog-parse/README.md @@ -0,0 +1,3 @@ +## Gaming Micro Blog built with Parse + +#####created by Chris Dawson \ No newline at end of file diff --git a/cd20202/w11-d1/micro-blog-parse/app.js b/cd20202/w11-d1/micro-blog-parse/app.js new file mode 100644 index 0000000..2f2c8aa --- /dev/null +++ b/cd20202/w11-d1/micro-blog-parse/app.js @@ -0,0 +1,163 @@ +Parse.initialize("rGUykmwSQuq0saepWPoBsdGOUOL1tjqGNJU6OQSQ", + "ISk59kzwQzzL7nyat8DjLBCKTKXmcMZnpJKcwsR0"); + +var PostsObject = Parse.Object.extend("PostsObject"); +var post = new PostsObject(); + +post.save({ + title: "", + imgUrl: "", + post: "", + link: "", + linkname: "", + author: ""}) + .then(function(obj) { + alert("Wicked Awesome!"); + }); + + + +$(document).ready(function(){ + + //created by Chris Dawson + + var postCounter = 1; + var postID = []; + $blogcon = $('#blog'); + + function BlogPost(title, img_url, post_text, link, link_title, author) { + if (title === "") { + title = "Untitled"; + } + if (img_url === "") { + img_url = "http://refugeeks.com/wp-content/uploads/2014/04/203-Non-Auth-Information1-600x480.jpg"; + } + if (post_text === "") { + post_text = "I'm too cool for school because my name is [REDACTED] so I don't fill things out"; + } + if (link_title === "") { + link_title = "Check it out!"; + } + if (link === "") { + link = "https://www.youtube.com/watch?v=0hrqZjw6mUY"; + } + if (author === "") { + author = "Anonymous"; + } + var blogDiv = '

' + + title + '

' + + post_text + '

' + + postCounter +'

'; + + addBlogPost(blogDiv); + postID.push("'#post" + postCounter + "'"); + console.log(postID[postCounter-1]); + + return postCounter++, postID; + } + var addBlogPost = function(rv1) { + $blogcon.children().first().after(rv1); + $('.bpost').addClass('shpost'); + $('.togglesh').hide(); + $('#post-track').text(postCounter); + }; + + var addBlogListeners = function() { + return $('.bpost').on('click', toggleDisplay); + }; + var addNewBlogLisenters = function() { + $('.bpost').off(); + $('.bpost').removeClass('shpost'); + $('.togglesh').hide(); + $('.bpost').children().find('.pImg').addClass('post_img_before'); + $('.bpost').children().find('.pImg').removeClass('post_img_after'); + $('.bpost').addClass('shpost'); + return $('.bpost').on('click', toggleDisplay); + }; + + var toggleDisplay = function() { + $(this).children().find('.pImg').toggleClass('post_img_before'); + $(this).children().find('.pImg').toggleClass('post_img_after'); + $(this).toggleClass('shpost'); + $(this).children().find('.togglesh').toggle(); + }; + + + + var post1 = new BlogPost("[REDACTED]", "", "", "", "", ""); + + var post2 = new BlogPost("Super Smash", + "http://www.ssbwiki.com/images/d/db/User.png", + "blah blah blah, blah blah blah. Super Smash Bros is a really cool game, especially 8 player free-for-all on the Wii-U.", + "https://www.google.com", + "Super Smash Bros", + "cd20202"); + + var post3 = new BlogPost("Halo 5 Is Almost Here!", + "http://zoneg.ru/uploads/posts/2015-03/1425931500_Halo_5_Guardians_icon.png", + "Lest I remind everyone, Oct. 27th, 2015 is the release date for Halo. Remember, I played the Beta and I will destroy you.", + "https://en.wikipedia.org/wiki/Halo_5:_Guardians", + "Halo 5 Guardians WIKI", + "cd20202"); + + var post4 = new BlogPost("Battlefront Beta MEOW OUT!", + "https://cdn0.iconfinder.com/data/icons/black-religious-icons/256/Darth_Vader.png", + "Title says it all bro. Check out the beta meow brotato chip!", + "http://starwars.ea.com/starwars/battlefront/beta", + "Battlefront Beta", + "cd20202"); + + + addBlogListeners(); + + $('#createPost').on('click', function(e) { + e.preventDefault(); + + $title = $('#Title'); + $imgURL = $('#ImageURL'); + $post = $('#Post'); + $linkname = $('#LinkName'); + $link = $('#Link'); + $author = $('#Author'); + + var newpost = new PostsObject(); + newpost.save({ + title: $title.val(), + imgUrl: $imgURL.val(), + post: $post.val(), + link: $link.val(), + linkname: $linkname.val(), + author: $author.val() + }).then(function(obj) { + alert("Wicked Awesome!"); + }); + + addNewBlogLisenters(); + + $title.val(""); + $imgURL.val(""); + $post.val(""); + $link.val(""); + $linkname.val(""); + $author.val(""); + }); + + + $('[data-toggle="tooltip"]').tooltip(); +}); + + + + + + + + + + + + diff --git a/cd20202/w11-d1/micro-blog-parse/index.html b/cd20202/w11-d1/micro-blog-parse/index.html new file mode 100644 index 0000000..274f13c --- /dev/null +++ b/cd20202/w11-d1/micro-blog-parse/index.html @@ -0,0 +1,125 @@ + + + + + + + Game Time Blog + + + + + + + + + + + + + + + +
+
+
+ +
+
+

GAME TIME

+ a game life blog by +
+
+ +
+
+
+
+
+
+

l3uttertoast

+
+
+

cd20202

+
+
+

notSOfunnyM30W

+
+
+
+ + +
+
+
+ +
+
+ +
+
+ +
+
+
+ + + + + + + + + + + + + diff --git a/cd20202/w11-d1/micro-blog-parse/styles.css b/cd20202/w11-d1/micro-blog-parse/styles.css new file mode 100644 index 0000000..58dc661 --- /dev/null +++ b/cd20202/w11-d1/micro-blog-parse/styles.css @@ -0,0 +1,120 @@ +/* + +created by chris dawson + +*/ +.container { + min-width: 760px; + max-width: 800px; +} +.jumbotron { + padding: 0px 15px 0px 15px; + margin-bottom: 0px; + background-color: ; +} +.jumbotron #gametime { + font-size: 85px; + font-family: Times New Roman; + margin-top: 0px; + margin-bottom: 0px; +} +.jumbotron #gametimesmall { + font-size: 15px; + color: black; +} +.header { + height: 125px; + padding: 10px 10px 10px 10px; +} +.gamertag { + color: lightgray; + background-color: darkgray; + text-align: center; +} +.clock { + height: 100%; + width: 100%; +} +.blogActionsBar { + margin: 15px 0px 15px 0px; + height: 40px; +} +button#localsave { + height: 40px; + width: 120px; + color: lightgray; + background-color: darkgray; + border: solid lightgray; +} +button#addPost { + height: 40px; + width: 280px; + color: white; + background-color: darkgray; + border: solid lightgray; +} +button#postNum { + height: 40px; + width: 120px; + color: white; + background-color: darkgray; + border: solid lightgray; +} +.bpost { + border: solid white; + background-color: darkgray; +} +.post_img_before { + height: 25%; + width: 25%; +} +.post_img_after { + height: 100%; + width: 100%; +} +.postAuthor { + padding-top: 100px; +} +#post-track { + font-weight: bold; + color: black; +} +.postTracker { + padding-top: 10px; +} +.shpost { + height: 65px; + opacity: .75; +} +.col-xs-7 h2 { + margin: 15px 0px 15px 0px; +} +.col-xs-2 { + padding: 0px 0px 0px 0px; +} +.col-xs-3 { + padding: 5px 5px 5px 5px; +} +.col-xs-4 h3 { + margin-top: 10px; +} +#gogame h1{ + font-family: Times New Roman;; + font-size: 45px; + color: darkgray; +} +body { + background-image: url(http://pre06.deviantart.net/be1a/th/pre/f/2013/041/5/9/minimalist_star_wars_wallpaper__jedi_emblem_by_diros-d5ui25a.png); + background-size: 100% 125%; + background-repeat: no-repeat; +} + + + + + + + + + +