diff --git a/content/blaze/step02.md b/content/blaze/step02.md index 5454006..b4a58a8 100644 --- a/content/blaze/step02.md +++ b/content/blaze/step02.md @@ -7,7 +7,7 @@ First, let's remove the body from our HTML entry-point (leaving just the ` {{> DiffBox tutorialName="simple-todos" step="2.1"}} -Create a new directory with the name `imports` inside `simple-todos` folder. Then we create some new files in the `imports/` directory: +Create a new directory with the path `imports/ui/` inside `simple-todos` folder. Then we create some new files in the `imports/ui/` directory: {{> DiffBox tutorialName="simple-todos" step="2.2"}} diff --git a/generated/blaze.multi.patch b/generated/blaze.multi.patch index f0f3b17..7b41e5e 100644 --- a/generated/blaze.multi.patch +++ b/generated/blaze.multi.patch @@ -1,464 +1,489 @@ -From 51e340b7cd2b944bd0929206b1871f1c044c2aa2 Mon Sep 17 00:00:00 2001 -From: Sashko Stubailo -Date: Tue, 14 Jul 2015 19:05:51 -0700 -Subject: [PATCH 01/48] Step 1: Run `meteor create` - ---- - .gitignore | 1 + - .meteor/.finished-upgraders | 13 +++++++++ - .meteor/.gitignore | 1 + - .meteor/.id | 7 +++++ - .meteor/packages | 21 ++++++++++++++ - .meteor/platforms | 2 ++ - .meteor/release | 1 + - .meteor/versions | 69 +++++++++++++++++++++++++++++++++++++++++++++ - client/main.css | 1 + - client/main.html | 25 ++++++++++++++++ - client/main.js | 22 +++++++++++++++ - package.json | 10 +++++++ - server/main.js | 5 ++++ - 13 files changed, 178 insertions(+) - create mode 100644 .gitignore - create mode 100644 .meteor/.finished-upgraders - create mode 100644 .meteor/.gitignore - create mode 100644 .meteor/.id - create mode 100644 .meteor/packages - create mode 100644 .meteor/platforms - create mode 100644 .meteor/release - create mode 100644 .meteor/versions - create mode 100644 client/main.css - create mode 100644 client/main.html - create mode 100644 client/main.js - create mode 100644 package.json - create mode 100644 server/main.js +From ef65191180c3022072eead2f802a9f80454f07da Mon Sep 17 00:00:00 2001 +From: Sashko Stubailo +Date: Wed, 8 Jul 2015 20:58:35 -0700 +Subject: [PATCH 001/176] Add content from website -diff --git a/.gitignore b/.gitignore -new file mode 100644 -index 0000000..3c3629e ---- /dev/null -+++ b/.gitignore -@@ -0,0 +1 @@ -+node_modules -diff --git a/.meteor/.finished-upgraders b/.meteor/.finished-upgraders -new file mode 100644 -index 0000000..dacc2c0 ---- /dev/null -+++ b/.meteor/.finished-upgraders -@@ -0,0 +1,13 @@ -+# This file contains information which helps Meteor properly upgrade your -+# app when you run 'meteor update'. You should check it into version control -+# with your project. -+ -+notices-for-0.9.0 -+notices-for-0.9.1 -+0.9.4-platform-file -+notices-for-facebook-graph-api-2 -+1.2.0-standard-minifiers-package -+1.2.0-meteor-platform-split -+1.2.0-cordova-changes -+1.2.0-breaking-changes -+1.3.0-split-minifiers-package -diff --git a/.meteor/.gitignore b/.meteor/.gitignore -new file mode 100644 -index 0000000..4083037 ---- /dev/null -+++ b/.meteor/.gitignore -@@ -0,0 +1 @@ -+local -diff --git a/.meteor/.id b/.meteor/.id +--- + routes/angularTut.js | 108 +++++++++++++++++++++ + routes/blazeTut.js | 107 +++++++++++++++++++++ + routes/tutorial-pages.js | 36 +++++++ + steps/angular/step01.html | 35 +++++++ + steps/angular/step02.html | 232 ++++++++++++++++++++++++++++++++++++++++++++++ + steps/angular/step03.html | 55 +++++++++++ + steps/angular/step04.html | 68 ++++++++++++++ + steps/angular/step05.html | 41 ++++++++ + steps/angular/step06.html | 20 ++++ + steps/angular/step07.html | 113 ++++++++++++++++++++++ + steps/angular/step08.html | 98 ++++++++++++++++++++ + steps/angular/step09.html | 94 +++++++++++++++++++ + steps/angular/step10.html | 93 +++++++++++++++++++ + steps/angular/step11.html | 111 ++++++++++++++++++++++ + steps/angular/step12.html | 31 +++++++ + steps/blaze/step01.html | 35 +++++++ + steps/blaze/step02.html | 210 +++++++++++++++++++++++++++++++++++++++++ + steps/blaze/step03.html | 47 ++++++++++ + steps/blaze/step04.html | 80 ++++++++++++++++ + steps/blaze/step05.html | 62 +++++++++++++ + steps/blaze/step06.html | 20 ++++ + steps/blaze/step07.html | 86 +++++++++++++++++ + steps/blaze/step08.html | 74 +++++++++++++++ + steps/blaze/step09.html | 80 ++++++++++++++++ + steps/blaze/step10.html | 81 ++++++++++++++++ + steps/blaze/step11.html | 122 ++++++++++++++++++++++++ + steps/blaze/step12.html | 40 ++++++++ + steps/step00.html | 49 ++++++++++ + 28 files changed, 2228 insertions(+) + create mode 100644 routes/angularTut.js + create mode 100644 routes/blazeTut.js + create mode 100644 routes/tutorial-pages.js + create mode 100644 steps/angular/step01.html + create mode 100644 steps/angular/step02.html + create mode 100644 steps/angular/step03.html + create mode 100644 steps/angular/step04.html + create mode 100644 steps/angular/step05.html + create mode 100644 steps/angular/step06.html + create mode 100644 steps/angular/step07.html + create mode 100644 steps/angular/step08.html + create mode 100644 steps/angular/step09.html + create mode 100644 steps/angular/step10.html + create mode 100644 steps/angular/step11.html + create mode 100644 steps/angular/step12.html + create mode 100644 steps/blaze/step01.html + create mode 100644 steps/blaze/step02.html + create mode 100644 steps/blaze/step03.html + create mode 100644 steps/blaze/step04.html + create mode 100644 steps/blaze/step05.html + create mode 100644 steps/blaze/step06.html + create mode 100644 steps/blaze/step07.html + create mode 100644 steps/blaze/step08.html + create mode 100644 steps/blaze/step09.html + create mode 100644 steps/blaze/step10.html + create mode 100644 steps/blaze/step11.html + create mode 100644 steps/blaze/step12.html + create mode 100644 steps/step00.html + +diff --git a/routes/angularTut.js b/routes/angularTut.js new file mode 100644 -index 0000000..9a3be4f +index 0000000..3b70561 --- /dev/null -+++ b/.meteor/.id -@@ -0,0 +1,7 @@ -+# This file contains a token that is unique to your project. -+# Check it into your repository along with the rest of this directory. -+# It can be used for purposes such as: -+# - ensuring you don't accidentally deploy one app on top of another -+# - providing package authors with aggregated statistics -+ -+1v2pn7n1jbklfu1hg4tnm -diff --git a/.meteor/packages b/.meteor/packages ++++ b/routes/angularTut.js +@@ -0,0 +1,108 @@ ++ANGULAR_TUT = [ ++ { ++ id: "0", ++ title: 'Creating an app', ++ seoTitle: 'Creating an app', ++ route: "tutorials.angular.creating-an-app", ++ path: "/tutorials/angular/creating-an-app", ++ contentTemplate: 'angular-step01', ++ sha: "fc766519b453d3d57820a6fe8839dae173f49941" ++ }, ++ { ++ id: "1", ++ title: 'Templates', ++ seoTitle: 'Templates', ++ route: "tutorials.angular.templates", ++ path: "/tutorials/angular/templates", ++ contentTemplate: 'angular-step02', ++ sha: "7eea17a2de2c45031b7f345e4db7ec1152d6386f" ++ }, ++ { ++ id: "2", ++ title: 'Collections', ++ seoTitle: 'Collections', ++ route: "tutorials.angular.collections", ++ path: "/tutorials/angular/collections", ++ contentTemplate: 'angular-step03', ++ sha: "8bc939ece149a547e1130c056853b13f89519627" ++ }, ++ { ++ id: "3", ++ title: 'Forms and events', ++ seoTitle: 'Forms and events', ++ route: "tutorials.angular.forms-and-events", ++ path: "/tutorials/angular/forms-and-events", ++ contentTemplate: 'angular-step04', ++ sha: "785d5fa76b32ba37e2a73bccea2cebfe27b79c94" ++ }, ++ { ++ id: "4", ++ title: 'Update and remove', ++ seoTitle: 'Update and remove', ++ route: "tutorials.angular.update-and-remove", ++ path: "/tutorials/angular/update-and-remove", ++ contentTemplate: 'angular-step05', ++ sha: "2c5420e51ca2d0177d83befad0730adea8e75c4a" ++ }, ++ { ++ id: "5", ++ title: 'Deploying your app', ++ seoTitle: 'Deploying your app', ++ route: "tutorials.angular.deploying-your-app", ++ path: "/tutorials/angular/deploying-your-app", ++ contentTemplate: 'angular-step06' ++ }, ++ { ++ id: "6", ++ title: 'Running on mobile', ++ seoTitle: 'Running on mobile', ++ route: "tutorials.angular.running-on-mobile", ++ path: "/tutorials/angular/running-on-mobile", ++ contentTemplate: 'angular-step07', ++ sha: "f285fe5d508411b1aed368a818263eb23239f024" ++ }, ++ { ++ id: "7", ++ title: 'Filtering Collections', ++ seoTitle: 'Filtering Collections', ++ route: "tutorials.angular.filtering-collections", ++ path: "/tutorials/angular/filtering-collections", ++ contentTemplate: 'angular-step08', ++ sha: "f11a875b19ccf321e62fd5494d8de5d03df0c55e" ++ }, ++ { ++ id: "8", ++ title: 'Adding user accounts', ++ seoTitle: 'Adding user accounts', ++ route: "tutorials.angular.adding-user-accounts", ++ path: "/tutorials/angular/adding-user-accounts", ++ contentTemplate: 'angular-step09', ++ sha: "85b6b6606e8a0742250614041455784d8455810c" ++ }, ++ { ++ id: "9", ++ title: 'Security with methods', ++ seoTitle: 'Security with methods', ++ route: "tutorials.angular.security-with-methods", ++ path: "/tutorials/angular/security-with-methods", ++ contentTemplate: 'angular-step10', ++ sha: "75b8328206dc9a6a0f8ce019da35446c63b5b5d1" ++ }, ++ { ++ id: "10", ++ title: 'Publish and subscribe', ++ seoTitle: 'Publish and subscribe', ++ route: "tutorials.angular.publish-and-subscribe", ++ path: "/tutorials/angular/publish-and-subscribe", ++ contentTemplate: 'angular-step11', ++ sha: "a85b2f031fa08fb1ae09bdc69d55ce760d44bf72" ++ }, ++ { ++ id: "11", ++ title: 'Next steps', ++ seoTitle: 'Next steps', ++ route: "tutorials.angular.next-steps", ++ path: "/tutorials/angular/next-steps", ++ contentTemplate: 'angular-step12' ++ } ++]; +\ No newline at end of file +diff --git a/routes/blazeTut.js b/routes/blazeTut.js new file mode 100644 -index 0000000..d4c8001 +index 0000000..616cbc6 --- /dev/null -+++ b/.meteor/packages -@@ -0,0 +1,21 @@ -+# Meteor packages used by this project, one per line. -+# Check this file (and the other files in this directory) into your repository. -+# -+# 'meteor add' and 'meteor remove' will edit this file for you, -+# but you can also edit it by hand. -+ -+meteor-base # Packages every Meteor app needs to have -+mobile-experience # Packages for a great mobile UX -+mongo # The database Meteor supports right now -+blaze-html-templates # Compile .html files into Meteor Blaze views -+reactive-var # Reactive variable for tracker -+jquery # Helpful client-side library -+tracker # Meteor's client-side reactive programming library -+ -+standard-minifier-css # CSS minifier run for production mode -+standard-minifier-js # JS minifier run for production mode -+es5-shim # ECMAScript 5 compatibility for older browsers. -+ecmascript # Enable ECMAScript2015+ syntax in app code -+ -+autopublish # Publish all data to the clients (for prototyping) -+insecure # Allow all DB writes from clients (for prototyping) -diff --git a/.meteor/platforms b/.meteor/platforms -new file mode 100644 -index 0000000..efeba1b ---- /dev/null -+++ b/.meteor/platforms -@@ -0,0 +1,2 @@ -+server -+browser -diff --git a/.meteor/release b/.meteor/release ++++ b/routes/blazeTut.js +@@ -0,0 +1,107 @@ ++BLAZE_TUT = [ ++ { ++ id: "0", ++ title: 'Creating an app', ++ seoTitle: 'Creating an app', ++ route: "tutorials.blaze.creating-an-app", ++ path: "/tutorials/blaze/creating-an-app", ++ contentTemplate: 'blaze-step01', ++ sha: "377a8610c2fa77056d015e6998d5eb894436c99e" ++ }, ++ { ++ id: "1", ++ title: 'Templates', ++ seoTitle: 'Templates', ++ route: "tutorials.blaze.templates", ++ path: "/tutorials/blaze/templates", ++ contentTemplate: 'blaze-step02', ++ sha: "9f5c65302f1527f25cacaaf275ea5c747d55e405" ++ }, ++ { ++ id: "2", ++ title: 'Collections', ++ seoTitle: 'Collections', ++ route: "tutorials.blaze.collections", ++ path: "/tutorials/blaze/collections", ++ contentTemplate: 'blaze-step03', ++ sha: "ab14d317db174a3b2d408f4e24a50c7af13342cd" ++ }, ++ { ++ id: "3", ++ title: 'Forms and events', ++ seoTitle: 'Forms and events', ++ route: "tutorials.blaze.forms-and-events", ++ path: "/tutorials/blaze/forms-and-events", ++ contentTemplate: 'blaze-step04', ++ sha: "9c24b998e540848f0dbc241702a4fcfa48fb9087" ++ }, ++ { ++ id: "4", ++ title: 'Update and remove', ++ seoTitle: 'Update and remove', ++ route: "tutorials.blaze.update-and-remove", ++ path: "/tutorials/blaze/update-and-remove", ++ contentTemplate: 'blaze-step05', ++ sha: "4e6f9494c895eff43fe26167a7b803a24c35854e" ++ }, ++ { ++ id: "5", ++ title: 'Deploying your app', ++ seoTitle: 'Deploying your app', ++ route: "tutorials.blaze.deploying-your-app", ++ path: "/tutorials/blaze/deploying-your-app", ++ contentTemplate: 'blaze-step06' ++ }, ++ { ++ id: "6", ++ title: 'Running on mobile', ++ seoTitle: 'Running on mobile', ++ route: "tutorials.blaze.running-on-mobile", ++ path: "/tutorials/blaze/running-on-mobile", ++ contentTemplate: 'blaze-step07' ++ }, ++ { ++ id: "7", ++ title: 'Temporary UI state', ++ seoTitle: 'Temporary UI state', ++ route: "tutorials.blaze.temporary-ui-state", ++ path: "/tutorials/blaze/temporary-ui-state", ++ contentTemplate: 'blaze-step08', ++ sha: "ad35c7e02a9f7c40f45f40dbff8d297fba4b13ac" ++ }, ++ { ++ id: "8", ++ title: 'Adding user accounts', ++ seoTitle: 'Adding user accounts', ++ route: "tutorials.blaze.adding-user-accounts", ++ path: "/tutorials/blaze/adding-user-accounts", ++ contentTemplate: 'blaze-step09', ++ sha: "bb4a0fc190c44aa8cfd4189a03c2e18f1294074c" ++ }, ++ { ++ id: "9", ++ title: 'Security with methods', ++ seoTitle: 'Security with methods', ++ route: "tutorials.blaze.security-with-methods", ++ path: "/tutorials/blaze/security-with-methods", ++ contentTemplate: 'blaze-step10', ++ sha: "e3b7fa8ed373c9e6b96fb3c370d0af238170b89a" ++ }, ++ { ++ id: "10", ++ title: 'Publish and subscribe', ++ seoTitle: 'Publish and subscribe', ++ route: "tutorials.blaze.publish-and-subscribe", ++ path: "/tutorials/blaze/publish-and-subscribe", ++ contentTemplate: 'blaze-step11', ++ sha: "44dfd82a9e90cf8600c18b7e9f3c2e742c34285d" ++ }, ++ { ++ id: "11", ++ title: 'Next steps', ++ seoTitle: 'Next steps', ++ route: "tutorials.blaze.next-steps", ++ path: "/tutorials/blaze/next-steps", ++ contentTemplate: 'blaze-step12' ++ } ++]; +\ No newline at end of file +diff --git a/routes/tutorial-pages.js b/routes/tutorial-pages.js new file mode 100644 -index 0000000..ab70657 +index 0000000..985bfdb --- /dev/null -+++ b/.meteor/release -@@ -0,0 +1 @@ -+METEOR@1.3-rc.2 -diff --git a/.meteor/versions b/.meteor/versions ++++ b/routes/tutorial-pages.js +@@ -0,0 +1,36 @@ ++TUTORIAL_PAGES = { ++ id: "0", ++ title: "Tutorials", ++ route: "tutorials", ++ path: "/tutorials", ++ pathRedirect: "/install", ++ template: "tutorials", ++ pages: [ ++ { ++ id: "1", ++ title: "Todo App", ++ route: "tutorials.blaze", ++ path: "/tutorials/blaze", ++ pathRedirect: "/tutorials/blaze/creating-an-app", ++ ghRepoName: "simple-todos", ++ subSidebarType: "sidebarStepsCollapse", ++ seoTitlePrefix: "Meteor Tutorial | ", ++ subHead: "Build your first Meteor app", ++ stepbarHide: true, ++ pages: BLAZE_TUT ++ }, ++ { ++ id: "2", ++ title: "Todo App with Angular", ++ route: "tutorials.angular", ++ path: "/tutorials/angular", ++ pathRedirect: "/tutorials/angular/creating-an-app", ++ ghRepoName: "simple-todos-angular", ++ subSidebarType: "sidebarStepsCollapse", ++ seoTitlePrefix: "Meteor-Angular Tutorial | ", ++ subHead: "Integrate Meteor and AngularJS", ++ stepbarHide: true, ++ pages: ANGULAR_TUT ++ } ++ ] ++} +\ No newline at end of file +diff --git a/steps/angular/step01.html b/steps/angular/step01.html new file mode 100644 -index 0000000..c3395d2 +index 0000000..7517c37 --- /dev/null -+++ b/.meteor/versions -@@ -0,0 +1,69 @@ -+allow-deny@1.0.2-rc.2 -+autopublish@1.0.5-rc.2 -+autoupdate@1.2.6-rc.2 -+babel-compiler@6.5.1-rc.2 -+babel-runtime@0.1.6-rc.2 -+base64@1.0.6-rc.2 -+binary-heap@1.0.6-rc.2 -+blaze@2.1.5-rc.2 -+blaze-html-templates@1.0.2-rc.2 -+blaze-tools@1.0.6-rc.2 -+boilerplate-generator@1.0.6-rc.2 -+caching-compiler@1.0.2-rc.2 -+caching-html-compiler@1.0.4-rc.2 -+callback-hook@1.0.6-rc.2 -+check@1.1.2-rc.2 -+ddp@1.2.3-rc.2 -+ddp-client@1.2.3-rc.2 -+ddp-common@1.2.3-rc.2 -+ddp-server@1.2.4-rc.2 -+deps@1.0.10-rc.2 -+diff-sequence@1.0.3-rc.2 -+ecmascript@0.4.1-rc.2 -+ecmascript-runtime@0.2.8-rc.2 -+ejson@1.0.9-rc.2 -+es5-shim@4.5.8-rc.2 -+fastclick@1.0.9-rc.2 -+geojson-utils@1.0.6-rc.2 -+hot-code-push@1.0.2-rc.2 -+html-tools@1.0.7-rc.2 -+htmljs@1.0.7-rc.2 -+http@1.1.3-rc.2 -+id-map@1.0.5-rc.2 -+insecure@1.0.5-rc.2 -+jquery@1.11.6-rc.2 -+launch-screen@1.0.7-rc.2 -+livedata@1.0.16-rc.2 -+logging@1.0.10-rc.2 -+meteor@1.1.12-rc.2 -+meteor-base@1.0.2-rc.2 -+minifier-css@1.1.9-rc.2 -+minifier-js@1.1.9-rc.2 -+minimongo@1.0.12-rc.2 -+mobile-experience@1.0.2-rc.2 -+mobile-status-bar@1.0.9-rc.2 -+modules@0.5.1-rc.2 -+modules-runtime@0.6.1-rc.2 -+mongo@1.1.5-rc.2 -+mongo-id@1.0.2-rc.2 -+npm-mongo@1.4.41-rc.2 -+observe-sequence@1.0.9-rc.2 -+ordered-dict@1.0.5-rc.2 -+promise@0.6.4-rc.2 -+random@1.0.7-rc.2 -+reactive-var@1.0.7-rc.2 -+reload@1.1.6-rc.2 -+retry@1.0.5-rc.2 -+routepolicy@1.0.8-rc.2 -+spacebars@1.0.9-rc.2 -+spacebars-compiler@1.0.9-rc.2 -+standard-minifier-css@1.0.4-rc.2 -+standard-minifier-js@1.0.4-rc.2 -+templating@1.1.7-rc.2 -+templating-tools@1.0.2-rc.2 -+tracker@1.0.11-rc.2 -+ui@1.0.9-rc.2 -+underscore@1.0.6-rc.2 -+url@1.0.7-rc.2 -+webapp@1.2.6-rc.2 -+webapp-hashing@1.0.7-rc.2 -diff --git a/client/main.css b/client/main.css -new file mode 100644 -index 0000000..b6b4052 ---- /dev/null -+++ b/client/main.css -@@ -0,0 +1 @@ -+/* CSS declarations go here */ -diff --git a/client/main.html b/client/main.html ++++ b/steps/angular/step01.html +@@ -0,0 +1,35 @@ ++ +diff --git a/steps/angular/step02.html b/steps/angular/step02.html new file mode 100644 -index 0000000..6fe0dc5 +index 0000000..589948d --- /dev/null -+++ b/client/main.html -@@ -0,0 +1,25 @@ ++++ b/steps/angular/step02.html +@@ -0,0 +1,232 @@ ++ +diff --git a/steps/angular/step03.html b/steps/angular/step03.html new file mode 100644 -index 0000000..3bed819 +index 0000000..ae6344d --- /dev/null -+++ b/imports/api/tasks.js -@@ -0,0 +1,3 @@ -+import { Mongo } from 'meteor/mongo'; ++++ b/steps/angular/step03.html +@@ -0,0 +1,55 @@ ++ +diff --git a/steps/angular/step04.html b/steps/angular/step04.html +new file mode 100644 +index 0000000..0978a33 +--- /dev/null ++++ b/steps/angular/step04.html +@@ -0,0 +1,68 @@ ++ +diff --git a/steps/angular/step05.html b/steps/angular/step05.html +new file mode 100644 +index 0000000..07e33fe +--- /dev/null ++++ b/steps/angular/step05.html +@@ -0,0 +1,41 @@ ++ +diff --git a/steps/angular/step06.html b/steps/angular/step06.html +new file mode 100644 +index 0000000..539c3ea +--- /dev/null ++++ b/steps/angular/step06.html +@@ -0,0 +1,20 @@ ++ +diff --git a/steps/angular/step07.html b/steps/angular/step07.html +new file mode 100644 +index 0000000..5986e9e +--- /dev/null ++++ b/steps/angular/step07.html +@@ -0,0 +1,113 @@ ++ +diff --git a/steps/angular/step08.html b/steps/angular/step08.html +new file mode 100644 +index 0000000..107513b +--- /dev/null ++++ b/steps/angular/step08.html +@@ -0,0 +1,98 @@ ++ +diff --git a/steps/angular/step09.html b/steps/angular/step09.html +new file mode 100644 +index 0000000..58b552a +--- /dev/null ++++ b/steps/angular/step09.html +@@ -0,0 +1,94 @@ ++ +diff --git a/steps/angular/step10.html b/steps/angular/step10.html +new file mode 100644 +index 0000000..243b015 +--- /dev/null ++++ b/steps/angular/step10.html +@@ -0,0 +1,93 @@ ++ +diff --git a/steps/angular/step11.html b/steps/angular/step11.html +new file mode 100644 +index 0000000..0ae8fca +--- /dev/null ++++ b/steps/angular/step11.html +@@ -0,0 +1,111 @@ ++ +diff --git a/steps/angular/step12.html b/steps/angular/step12.html +new file mode 100644 +index 0000000..00d3c46 +--- /dev/null ++++ b/steps/angular/step12.html +@@ -0,0 +1,31 @@ ++ +diff --git a/steps/blaze/step01.html b/steps/blaze/step01.html +new file mode 100644 +index 0000000..d6e7482 +--- /dev/null ++++ b/steps/blaze/step01.html +@@ -0,0 +1,35 @@ ++ +diff --git a/steps/blaze/step02.html b/steps/blaze/step02.html +new file mode 100644 +index 0000000..deb63c1 +--- /dev/null ++++ b/steps/blaze/step02.html +@@ -0,0 +1,210 @@ ++ + -- +-2.2.1 ++2.6.3 + + +-From 59808d546321d201594a14dfa6a84c4a28eab53a Mon Sep 17 00:00:00 2001 ++From 189b5aadecdaa2a5c44992f1abd27a5f9495bf8b Mon Sep 17 00:00:00 2001 + From: Sashko Stubailo + Date: Tue, 14 Jul 2015 19:29:52 -0700 +-Subject: [PATCH 22/34] Step 10.1: Remove insecure package ++Subject: [PATCH 22/34] Step 9.1: Remove insecure package + + --- + .meteor/packages | 1 - +@@ -1026,13 +1026,13 @@ index 26385bb..6a03dd0 100644 + json@1.0.3 + launch-screen@1.0.2 + -- +-2.2.1 ++2.6.3 + + +-From c209b47dcce29206ee5235e09817558440905a6e Mon Sep 17 00:00:00 2001 ++From 7a680b88da2fc82820ee481f7f4f1a0b1b4a947e Mon Sep 17 00:00:00 2001 + From: Sashko Stubailo + Date: Tue, 14 Jul 2015 19:30:20 -0700 +-Subject: [PATCH 23/34] Step 10.2: Define some methods ++Subject: [PATCH 23/34] Step 9.2: Define some methods + + --- + simple-todos.js | 22 ++++++++++++++++++++++ +@@ -1069,13 +1069,13 @@ index cf0bd1e..40edc1a 100644 + + } + +}); + -- +-2.2.1 ++2.6.3 + + +-From 7f422feef91339c9ffe9afd0a6069a14297f45b4 Mon Sep 17 00:00:00 2001 ++From c3613e3ede173c3624d5a93409fdbd947ff44825 Mon Sep 17 00:00:00 2001 + From: Sashko Stubailo + Date: Tue, 14 Jul 2015 19:31:24 -0700 +-Subject: [PATCH 24/34] Step 10.3: Replace insert with addTask method ++Subject: [PATCH 24/34] Step 9.3: Replace insert with addTask method + + --- + simple-todos.js | 7 +------ +@@ -1100,13 +1100,13 @@ index 40edc1a..3f35197 100644 + // Clear form + event.target.text.value = ""; + -- +-2.2.1 ++2.6.3 + + +-From 40f20dec61f94269f434f8e6600f52e48dab9c59 Mon Sep 17 00:00:00 2001 ++From 27f8d1a79a05667342a7ffdbe19074d8398a248c Mon Sep 17 00:00:00 2001 + From: Sashko Stubailo + Date: Tue, 14 Jul 2015 19:31:46 -0700 +-Subject: [PATCH 25/34] Step 10.4: Replace update and remove with methods ++Subject: [PATCH 25/34] Step 9.4: Replace update and remove with methods + + --- + simple-todos.js | 6 ++---- +@@ -1132,13 +1132,13 @@ index 3f35197..d477b50 100644 + }); + + -- +-2.2.1 ++2.6.3 + + +-From 6d476642901e702bac6ead65d5522dbe85e7852c Mon Sep 17 00:00:00 2001 ++From ed3ca0156c0ba6a15bd134e40d5178fb82dfed41 Mon Sep 17 00:00:00 2001 + From: Sashko Stubailo + Date: Tue, 14 Jul 2015 19:32:19 -0700 +-Subject: [PATCH 26/34] Step 11.1: Remove autopublish ++Subject: [PATCH 26/34] Step 10.1: Remove autopublish + + --- + .meteor/packages | 1 - +@@ -1169,13 +1169,13 @@ index 6a03dd0..6766561 100644 + base64@1.0.3 + binary-heap@1.0.3 + -- +-2.2.1 ++2.6.3 + + +-From b292ba8028b19999a63e84d48fb2ca15d1e30110 Mon Sep 17 00:00:00 2001 ++From fa380edb61cf1a07044f23afa76acb51b7afaf50 Mon Sep 17 00:00:00 2001 + From: Sashko Stubailo + Date: Tue, 14 Jul 2015 19:33:17 -0700 +-Subject: [PATCH 27/34] Step 11.2: Add publish and subscribe ++Subject: [PATCH 27/34] Step 10.2: Add publish and subscribe + + --- + simple-todos.js | 9 +++++++++ +@@ -1203,13 +1203,13 @@ index d477b50..31eda5c 100644 + tasks: function () { + if (Session.get("hideCompleted")) { + -- +-2.2.1 ++2.6.3 + + +-From 2c186456f68d31fbc51ef87cf10d8ff5a60f7cfe Mon Sep 17 00:00:00 2001 ++From 75c795b419486b4dc7c81d353e4156185d4d73a8 Mon Sep 17 00:00:00 2001 + From: Sashko Stubailo + Date: Tue, 14 Jul 2015 19:33:43 -0700 +-Subject: [PATCH 28/34] Step 11.3: Add private button ++Subject: [PATCH 28/34] Step 10.3: Add private button + + --- + simple-todos.html | 10 ++++++++++ +@@ -1237,13 +1237,13 @@ index 55c1dc9..bd18923 100644 + + + -- +-2.2.1 ++2.6.3 + + +-From d1a2cc5eefa0b830f5f952cb6a94a496d7bb13aa Mon Sep 17 00:00:00 2001 ++From e20dcfc13016f7f9a3642de3dd0c5530056adae2 Mon Sep 17 00:00:00 2001 + From: Sashko Stubailo + Date: Tue, 14 Jul 2015 19:34:13 -0700 +-Subject: [PATCH 29/34] Step 11.4: Add private class to private tasks ++Subject: [PATCH 29/34] Step 10.4: Add private class to private tasks + + --- + simple-todos.html | 2 +- +@@ -1263,13 +1263,13 @@ index bd18923..08854e2 100644 + + + -- +-2.2.1 ++2.6.3 + + +-From ba34429a728da182231069f71f46ece369baa31b Mon Sep 17 00:00:00 2001 ++From f5ff7942bb745e53c1d94d6d2555449544928754 Mon Sep 17 00:00:00 2001 + From: Sashko Stubailo + Date: Tue, 14 Jul 2015 19:34:47 -0700 +-Subject: [PATCH 30/34] Step 11.5: Define helper to check ownership ++Subject: [PATCH 30/34] Step 10.5: Define helper to check ownership + + --- + simple-todos.js | 6 ++++++ +@@ -1293,13 +1293,13 @@ index 31eda5c..db6e512 100644 + "click .toggle-checked": function () { + // Set the checked property to the opposite of its current value + -- +-2.2.1 ++2.6.3 + + +-From 47e1ff964973d319585bc7f5eb45b7ea78581028 Mon Sep 17 00:00:00 2001 ++From c12c07a4480a0db0679c9af90fddcae0e843c816 Mon Sep 17 00:00:00 2001 + From: Sashko Stubailo + Date: Tue, 14 Jul 2015 19:35:31 -0700 +-Subject: [PATCH 31/34] Step 11.6: Define method to set tasks to private ++Subject: [PATCH 31/34] Step 10.6: Define method to set tasks to private + + --- + simple-todos.js | 10 ++++++++++ +@@ -1326,13 +1326,13 @@ index db6e512..ff07739 100644 + } + }); + -- +-2.2.1 ++2.6.3 + + +-From 06f0e314c1dfe3dc8a44288e71d02cac85a32c0c Mon Sep 17 00:00:00 2001 ++From a7412e05eb2294eba0ac8c3737acc9e996da9b0d Mon Sep 17 00:00:00 2001 + From: Sashko Stubailo + Date: Tue, 14 Jul 2015 19:35:55 -0700 +-Subject: [PATCH 32/34] Step 11.7: Add event handler to call the setPrivate ++Subject: [PATCH 32/34] Step 10.7: Add event handler to call the setPrivate + method + + --- +@@ -1354,13 +1354,13 @@ index ff07739..937e361 100644 + }); + + -- +-2.2.1 ++2.6.3 + + +-From 6682fe168d69eb11b7fe280b67ae87fc6c06425a Mon Sep 17 00:00:00 2001 ++From b027b618497c1c1d5f8c6d4d259e802018a6bab2 Mon Sep 17 00:00:00 2001 + From: Sashko Stubailo + Date: Tue, 14 Jul 2015 19:36:38 -0700 +-Subject: [PATCH 33/34] Step 11.8: Only publish tasks the user is allowed to ++Subject: [PATCH 33/34] Step 10.8: Only publish tasks the user is allowed to + see + + --- +@@ -1388,13 +1388,13 @@ index 937e361..fea68a1 100644 + } + + -- +-2.2.1 ++2.6.3 + + +-From b5957208d50a064a4a22780c7ef76259691b2c7a Mon Sep 17 00:00:00 2001 ++From 17b00f034ea0273a4eff10ab9ec4774fb7f98a7e Mon Sep 17 00:00:00 2001 + From: Sashko Stubailo + Date: Tue, 14 Jul 2015 19:37:36 -0700 +-Subject: [PATCH 34/34] Step 11.9: Add some extra security to methods ++Subject: [PATCH 34/34] Step 10.9: Add some extra security to methods + + --- + simple-todos.js | 12 ++++++++++++ +@@ -1427,5 +1427,5 @@ index fea68a1..9bf41bb 100644 + }, + setPrivate: function (taskId, setToPrivate) { + -- +-2.2.1 ++2.6.3 + +diff --git a/generated/react.multi.patch b/generated/react.multi.patch +index 6c08057..eaf44eb 100644 +--- a/generated/react.multi.patch ++++ b/generated/react.multi.patch +@@ -201,7 +201,7 @@ index 0000000..4f8c65d + + }); + +} + -- +-2.2.1 ++2.6.3 + + + From 96bd5130dbd707aa497a0effa85cb7316cd7d560 Mon Sep 17 00:00:00 2001 +@@ -265,7 +265,7 @@ index 410e1d9..288ee5f 100644 + reactive-var@1.0.5 + reload@1.1.3 + -- +-2.2.1 ++2.6.3 + + + From 3cec511c67cb3b78b43329d12b55da7efb2a107e Mon Sep 17 00:00:00 2001 +@@ -299,7 +299,7 @@ index e296a58..1aae2d4 100644 + -

You've pressed the button {{counter}} times.

+ - + -- +-2.2.1 ++2.6.3 + + + From 36c59c642fc6a7b48ebe0378c5f75488854479c7 Mon Sep 17 00:00:00 2001 +@@ -358,7 +358,7 @@ index 0000000..a7e2d2f + + }); + +} + -- +-2.2.1 ++2.6.3 + + + From 1b8a7577860c7d9f0f0afa6996cf8fa6fe92d3ec Mon Sep 17 00:00:00 2001 +@@ -408,7 +408,7 @@ index 0000000..27ac66e + + } + +}); + -- +-2.2.1 ++2.6.3 + + + From c676d9f668e3adb9c4f214bdafaa8f388d63678b Mon Sep 17 00:00:00 2001 +@@ -441,7 +441,7 @@ index 0000000..c49e7ac + + } + +}); + -- +-2.2.1 ++2.6.3 + + + From ec0e0aee25ff51d8f3096ea446537113aded6ab3 Mon Sep 17 00:00:00 2001 +@@ -586,7 +586,7 @@ index b6b4052..cec3ae6 100644 + +} + \ No newline at end of file + -- +-2.2.1 ++2.6.3 + + + From b21327904ff8de4d51618d88edc6aabb39060c65 Mon Sep 17 00:00:00 2001 +@@ -610,7 +610,7 @@ index a7e2d2f..a67b030 100644 + // This code is executed on the client only + + -- +-2.2.1 ++2.6.3 + + + From ce86ff010f94a8a1cc2c8e6f9331df080565682b Mon Sep 17 00:00:00 2001 +@@ -655,7 +655,7 @@ index 27ac66e..60f1400 100644 + }); + }, + -- +-2.2.1 ++2.6.3 + + + From 8a0525ce1e84b872ca35743b7101f14ec627b41f Mon Sep 17 00:00:00 2001 +@@ -686,7 +686,7 @@ index 60f1400..7b798bb 100644 + +
    + -- +-2.2.1 ++2.6.3 + + + From 1b87eff8bd37fc375f506c32b9c4d765f15b301f Mon Sep 17 00:00:00 2001 +@@ -725,7 +725,7 @@ index 7b798bb..67184cc 100644 + return ( +
    + -- +-2.2.1 ++2.6.3 + + + From 4bd9bbafd1845dd9aee21da655f0dcde7b4b3da5 Mon Sep 17 00:00:00 2001 +@@ -751,7 +751,7 @@ index 67184cc..64197bd 100644 + }, + + -- +-2.2.1 ++2.6.3 + + + From 2560d9ad137bf546344670d81fcaaee6ef38c560 Mon Sep 17 00:00:00 2001 +@@ -811,13 +811,13 @@ index c49e7ac..d1c618b 100644 + } + }); + -- +-2.2.1 ++2.6.3 + + +-From 922d90961e4cdab0aaef6c07438d853b2d16e32a Mon Sep 17 00:00:00 2001 ++From a71020ec83f6fb09b25cee37f67cff63d6e4288f Mon Sep 17 00:00:00 2001 + From: Sashko Stubailo + Date: Mon, 13 Jul 2015 12:21:30 -0700 +-Subject: [PATCH 14/41] Step 8.1: Add hide completed checkbox to App component ++Subject: [PATCH 14/41] Step 7.1: Add hide completed checkbox to App component + + --- + App.jsx | 9 +++++++++ +@@ -844,13 +844,13 @@ index 64197bd..ef39e73 100644 + + Date: Mon, 13 Jul 2015 12:22:07 -0700 +-Subject: [PATCH 15/41] Step 8.2: Add getInitialState to App component ++Subject: [PATCH 15/41] Step 7.2: Add getInitialState to App component + + --- + App.jsx | 6 ++++++ +@@ -874,13 +874,13 @@ index ef39e73..144582d 100644 + getMeteorData() { + return { + -- +-2.2.1 ++2.6.3 + + +-From 59dab20a8dbb012f3313dc660a1266612298e786 Mon Sep 17 00:00:00 2001 ++From 3a8ff2979cbfbc22f4d4ee4cea2ab8116a09f80d Mon Sep 17 00:00:00 2001 + From: Sashko Stubailo + Date: Mon, 13 Jul 2015 12:22:32 -0700 +-Subject: [PATCH 16/41] Step 8.3: Add toggleHideCompleted handler to App ++Subject: [PATCH 16/41] Step 7.3: Add toggleHideCompleted handler to App + + --- + App.jsx | 6 ++++++ +@@ -904,13 +904,13 @@ index 144582d..6799fca 100644 + return ( +
    + -- +-2.2.1 ++2.6.3 + + +-From f48c03507b9438ad4c1e9a48a2d5b82b1bd354ea Mon Sep 17 00:00:00 2001 ++From 2fedbda3e9d6c8d16833dc83ca5b5da0d1e43b6d Mon Sep 17 00:00:00 2001 + From: Sashko Stubailo + Date: Mon, 13 Jul 2015 12:23:02 -0700 +-Subject: [PATCH 17/41] Step 8.4: Replace getMeteorData to filter tasks ++Subject: [PATCH 17/41] Step 7.4: Replace getMeteorData to filter tasks + + --- + App.jsx | 11 +++++++++-- +@@ -940,13 +940,13 @@ index 6799fca..105577e 100644 + + renderTasks() { + -- +-2.2.1 ++2.6.3 + + +-From 0ffc7a42c13617ffa11d1460f1251531043813fd Mon Sep 17 00:00:00 2001 ++From b2ed418abe28a56d510bb9c7c3a7c188fa08716c Mon Sep 17 00:00:00 2001 + From: Sashko Stubailo + Date: Mon, 13 Jul 2015 12:23:44 -0700 +-Subject: [PATCH 18/41] Step 8.5: Update getMeteorData to return ++Subject: [PATCH 18/41] Step 7.5: Update getMeteorData to return + incompleteCount + + --- +@@ -968,13 +968,13 @@ index 105577e..09415f3 100644 + }, + + -- +-2.2.1 ++2.6.3 + + +-From 8173671b2f2e8411b20194d818abadea83f974f0 Mon Sep 17 00:00:00 2001 ++From e31d982d438d30fc818918839a1e712c04ad4e3f Mon Sep 17 00:00:00 2001 + From: Sashko Stubailo + Date: Mon, 13 Jul 2015 12:24:09 -0700 +-Subject: [PATCH 19/41] Step 8.6: Display incompleteCount in the header ++Subject: [PATCH 19/41] Step 7.6: Display incompleteCount in the header + + --- + App.jsx | 2 +- +@@ -994,13 +994,13 @@ index 09415f3..f5b8224 100644 +
    + + -- +-2.6.3 ++2.11.0 + + + From 12ffe2d30b1db1e4c7ca94fe830ba4ea0e28162b Mon Sep 17 00:00:00 2001 +@@ -579,7 +579,7 @@ index 053a00e..8191cb2 100644 + + todosList.name + ]); + -- +-2.6.3 ++2.11.0 + + + From 0393d12a1cea1c8b0e8713b65a23410f8cd43280 Mon Sep 17 00:00:00 2001 +@@ -723,7 +723,7 @@ index b6b4052..a66ec6f 100644 + + } + +} + -- +-2.6.3 ++2.11.0 + + + From e07b633fc1253c9b5b987e4d850770825a6470ca Mon Sep 17 00:00:00 2001 +@@ -746,7 +746,7 @@ index 0000000..3bed819 + + + +export const Tasks = new Mongo.Collection('tasks'); + -- +-2.6.3 ++2.11.0 + + + From 7d40b56d0f1b3dc2c20464df81f64afc97ad0608 Mon Sep 17 00:00:00 2001 +@@ -770,7 +770,7 @@ index 31a9e0e..ab941a4 100644 + -}); + +import '../imports/api/tasks.js'; + -- +-2.6.3 ++2.11.0 + + + From fa3f484a4e0299f0b133958c4754e3d9e95c1550 Mon Sep 17 00:00:00 2001 +@@ -821,7 +821,7 @@ index 3dcaabb..becd31b 100644 + + controller: ['$scope', TodosListCtrl] + }); + -- +-2.6.3 ++2.11.0 + + + From 7fb2b760210091447316c28ccd36b3dd9da1d86e Mon Sep 17 00:00:00 2001 +@@ -849,7 +849,7 @@ index a992e45..899f2d5 100644 + +
      + -- +-2.6.3 ++2.11.0 + + + From 0c2b00a0141b02542bdf43ca7b79e3ff1a160f93 Mon Sep 17 00:00:00 2001 +@@ -884,7 +884,7 @@ index becd31b..a27e7ae 100644 + + export default angular.module('todosList', [ + -- +-2.6.3 ++2.11.0 + + + From ad36285f216856d4cd947e72983ee71e7232f740 Mon Sep 17 00:00:00 2001 +@@ -915,7 +915,7 @@ index a27e7ae..976e9a9 100644 + }) + } + -- +-2.6.3 ++2.11.0 + + + From e02c4a765836e7860ded695c2d0f8c6184b13220 Mon Sep 17 00:00:00 2001 +@@ -948,7 +948,7 @@ index 899f2d5..1bfe1c4 100644 + +
    + -- +-2.6.3 ++2.11.0 + + + From c637635457f0c0e5fe6af6fc5e4a7d708dac25d2 Mon Sep 17 00:00:00 2001 +@@ -985,7 +985,7 @@ index 976e9a9..8d56f11 100644 + + export default angular.module('todosList', [ + -- +-2.6.3 ++2.11.0 + + + From 89c6f656bff10973a22c8e8f5a78341051453096 Mon Sep 17 00:00:00 2001 +@@ -1011,7 +1011,7 @@ index d0f7ed7..f7f43b1 100644 +
    + + -- +-2.6.3 ++2.11.0 + + + From 9d407e878bfc21b7be80bda6361f70a8b8e4f109 Mon Sep 17 00:00:00 2001 +@@ -1042,7 +1042,7 @@ index 8191cb2..c79d69c 100644 + + angular.element(document).ready(onReady); + +} + -- +-2.6.3 ++2.11.0 + + + From 6dc7a065fb5762d088623a0b5d65b2588980cfea Mon Sep 17 00:00:00 2001 +@@ -1071,7 +1071,7 @@ index 1bfe1c4..73416a2 100644 + + + -- +-2.6.3 ++2.11.0 + + + From 24d5b599f22aef3e34782d2937667576be60154d Mon Sep 17 00:00:00 2001 +@@ -1111,7 +1111,7 @@ index 8d56f11..88af3bf 100644 + createdAt: -1 + } + -- +-2.6.3 ++2.11.0 + + + From 7d2e15defdc11ce55d32b8b3863041c432309c87 Mon Sep 17 00:00:00 2001 +@@ -1142,7 +1142,7 @@ index 88af3bf..36deb05 100644 + }) + } + -- +-2.6.3 ++2.11.0 + + + From 936d91c42a3abafe3bdedb7e17f7d2534bdcbd83 Mon Sep 17 00:00:00 2001 +@@ -1166,7 +1166,7 @@ index 73416a2..59cd86a 100644 +
+ -- +-2.6.3 ++2.11.0 + + + From 3450992ba7fc685852ed6667ccdf25cd5566a7d6 Mon Sep 17 00:00:00 2001 +@@ -1522,7 +1522,7 @@ index 98c1d11..ebc977e 100644 + launch-screen@1.0.8-rc.8 + less@2.5.6-rc.8 + -- +-2.6.3 ++2.11.0 + + + From 4c0a4805e8338c9e963ece53be4f97a5b70e018a Mon Sep 17 00:00:00 2001 +@@ -1578,7 +1578,7 @@ index 3bed819..01ceabb 100644 + + }, + +}); + -- +-2.6.3 ++2.11.0 + + + From ab0996ec019bad7e6f98631eaeb410a20b928ea2 Mon Sep 17 00:00:00 2001 +@@ -1609,7 +1609,7 @@ index 0a27893..68913b3 100644 + // Clear form + this.newTask = ''; + -- +-2.6.3 ++2.11.0 + + + From cd583ae0f7e053b8da0c5728a1bf2192bb8380e4 Mon Sep 17 00:00:00 2001 +@@ -1644,7 +1644,7 @@ index 68913b3..c8a1f1d 100644 + } + + -- +-2.6.3 ++2.11.0 + + + From 4ecda4f067616b8ecff8cc3f831d8fa785d6765a Mon Sep 17 00:00:00 2001 +@@ -1682,7 +1682,7 @@ index ebc977e..b2d83b9 100644 + babel-compiler@6.5.2-rc.8 + babel-runtime@0.1.6-rc.8 + -- +-2.6.3 ++2.11.0 + + + From 0984118c66958d35b560efdfdbdd9acefa043990 Mon Sep 17 00:00:00 2001 +@@ -1713,7 +1713,7 @@ index 01ceabb..abbc060 100644 + 'tasks.insert' (text) { + check(text, String); + -- +-2.6.3 ++2.11.0 + + + From 6ce0c99d129c7f69c89b43a930eedc5e42c5d07f Mon Sep 17 00:00:00 2001 +@@ -1739,7 +1739,7 @@ index c8a1f1d..859b5f8 100644 + + this.helpers({ + -- +-2.6.3 ++2.11.0 + + + From a9f5b38100a71d3a2aeae3152ce851179f432264 Mon Sep 17 00:00:00 2001 +@@ -1766,7 +1766,7 @@ index 54dcf6f..bdab140 100644 + + + -- +-2.6.3 ++2.11.0 + + + From 7d96735e1bfb86a7522532f74625fd6fa53c3dbd Mon Sep 17 00:00:00 2001 +@@ -1792,7 +1792,7 @@ index bdab140..ca14799 100644 + + + -- +-2.6.3 ++2.11.0 + + + From 4dc64e7c5a3a55f6eb732cc74ec159e274e21226 Mon Sep 17 00:00:00 2001 +@@ -1831,7 +1831,7 @@ index abbc060..53e070b 100644 + + }, + }); + -- +-2.6.3 ++2.11.0 + + + From 40d23f30d4ce79cb453a0407560b199ed574c86b Mon Sep 17 00:00:00 2001 +@@ -1859,7 +1859,7 @@ index 859b5f8..789bf4b 100644 + + export default angular.module('todosList', [ + -- +-2.6.3 ++2.11.0 + + + From 4bbf32caa76e7a8bdbd843f9b11f090eaac3d72a Mon Sep 17 00:00:00 2001 +@@ -1896,7 +1896,7 @@ index 53e070b..a39c461 100644 + } + + -- +-2.6.3 ++2.11.0 + + + From 5cee5bd2a60ad284ff7d403c1458f8383274b42d Mon Sep 17 00:00:00 2001 +@@ -1938,7 +1938,7 @@ index a39c461..610c90d 100644 + $set: { + checked: setChecked + -- +-2.6.3 ++2.11.0 + + + From 33929986de31d2c67324ebc9aed88f39d1218768 Mon Sep 17 00:00:00 2001 +@@ -1985,7 +1985,7 @@ index b2d83b9..f1652dd 100644 + random@1.0.7-rc.8 + rate-limit@1.0.2-rc.8 + -- +-2.6.3 ++2.11.0 + + + From 1004db1df20b7a68e370b8bee46a6e4b9aca3b4f Mon Sep 17 00:00:00 2001 +@@ -2017,7 +2017,7 @@ index 0000000..05287ba + + }); + +} + -- +-2.6.3 ++2.11.0 + + + From 304ab142599572ac72dea888aa2ef97382f41669 Mon Sep 17 00:00:00 2001 +@@ -2063,7 +2063,7 @@ index 05287ba..a033a3b 100644 + }); + } + -- +-2.6.3 ++2.11.0 + + + From d2f794f656c50b1c4ce11857ca3b8a2249a7fd4e Mon Sep 17 00:00:00 2001 +@@ -2112,7 +2112,7 @@ index a033a3b..54e6c41 100644 + }); + } + -- +-2.6.3 ++2.11.0 + + + From 993972ce855fb8b87e4f46db95ba071f9abce43b Mon Sep 17 00:00:00 2001 +@@ -2138,7 +2138,7 @@ index 648e16e..c257af6 100644 + } + } + -- +-2.6.3 ++2.11.0 + + + From 0676ae95b052efd2e2795b12bcf9e67c7a5d99be Mon Sep 17 00:00:00 2001 +@@ -2183,7 +2183,7 @@ index 0000000..67f5256 + + }); + +}) + -- +-2.6.3 ++2.11.0 + + + From eacbd5e02918599cb3783188bf4220fd1eae27cc Mon Sep 17 00:00:00 2001 +@@ -2219,7 +2219,7 @@ index 67f5256..41167bc 100644 + + }); + }) + -- +-2.6.3 ++2.11.0 + + + From 624322117e54c32ee9883f12ac66fc2b2c0328b2 Mon Sep 17 00:00:00 2001 +@@ -2267,7 +2267,7 @@ index 41167bc..bb290ed 100644 + + }); + }) + -- +-2.6.3 ++2.11.0 + + + From de86d18961051b18c9fc78f4d55873711a76144f Mon Sep 17 00:00:00 2001 +@@ -2296,7 +2296,7 @@ index bb290ed..8a016aa 100644 + }); + }) + -- +-2.6.3 ++2.11.0 + + + From 83c53904e21e0aa21f236193532bb81075929d00 Mon Sep 17 00:00:00 2001 +@@ -2324,5 +2324,5 @@ index 8a016aa..d293a4b 100644 + }); + }) + -- +-2.6.3 ++2.11.0 + +diff --git a/generated/blaze.multi.patch b/generated/blaze.multi.patch +index 7a1d81d..f0f3b17 100644 +--- a/generated/blaze.multi.patch ++++ b/generated/blaze.multi.patch +@@ -1,4 +1,4 @@ +-From f074a805255262736d909d1d5e17eee22bbb6605 Mon Sep 17 00:00:00 2001 ++From 51e340b7cd2b944bd0929206b1871f1c044c2aa2 Mon Sep 17 00:00:00 2001 + From: Sashko Stubailo + Date: Tue, 14 Jul 2015 19:05:51 -0700 + Subject: [PATCH 01/48] Step 1: Run `meteor create` +@@ -289,10 +289,10 @@ index 0000000..31a9e0e + + // code to run on server at startup + +}); + -- +-2.5.1 ++2.11.0 + + +-From f00a06c7c5e14b46f8c1c4b57b8308470ae4131b Mon Sep 17 00:00:00 2001 ++From 431f75b28f8ee985b3ac341da6c4d752d204b135 Mon Sep 17 00:00:00 2001 + From: Sashko Stubailo + Date: Tue, 14 Jul 2015 19:07:22 -0700 + Subject: [PATCH 02/48] Step 2.1: Remove starter HTML code +@@ -332,10 +332,10 @@ index 6fe0dc5..7c48505 100644 + - + - + -- +-2.5.1 ++2.11.0 + + +-From d76d39724777bf82d31f70f3ded8de3659d0ba0f Mon Sep 17 00:00:00 2001 ++From 99cffc464f80899ce34cf446179e8041c9f5114c Mon Sep 17 00:00:00 2001 + From: Tom Coleman + Date: Thu, 17 Mar 2016 13:11:52 +1100 + Subject: [PATCH 03/48] Step 2.2: Add starter HTML code +@@ -369,10 +369,10 @@ index 0000000..23a6507 + +
  • {{text}}
  • + + + -- +-2.5.1 ++2.11.0 + + +-From 81b442e117eb61469eef1b783552820aad769b08 Mon Sep 17 00:00:00 2001 ++From 30e9ac16a2de85e74d5a6d92b16e41b37e7faf5e Mon Sep 17 00:00:00 2001 + From: Sashko Stubailo + Date: Tue, 14 Jul 2015 19:07:50 -0700 + Subject: [PATCH 04/48] Step 2.3: Add starter JS code +@@ -400,10 +400,10 @@ index 0000000..3ad20b1 + + ], + +}); + -- +-2.5.1 ++2.11.0 + + +-From 0ee65568d41f16915c4d1271ac307a1a362fb253 Mon Sep 17 00:00:00 2001 ++From d63fe20a79a2dd9be0034b72bba93d9654d10d31 Mon Sep 17 00:00:00 2001 + From: Sashko Stubailo + Date: Tue, 14 Jul 2015 19:08:17 -0700 + Subject: [PATCH 05/48] Step 2.4: Import starter JS +@@ -441,10 +441,10 @@ index ecb3282..4e7c1a4 100644 + -}); + +import '../imports/ui/body.js'; + -- +-2.5.1 ++2.11.0 + + +-From 84a25d420baa2815108ecd22709339f1912478a9 Mon Sep 17 00:00:00 2001 ++From 63f980943c048f8084f5a42543ba3e13b4088800 Mon Sep 17 00:00:00 2001 + From: Tom Coleman + Date: Thu, 17 Mar 2016 12:13:09 +1100 + Subject: [PATCH 06/48] Step 2.5: Add CSS +@@ -585,10 +585,10 @@ index b6b4052..ed5e77e 100644 + + } + +} + -- +-2.5.1 ++2.11.0 + + +-From 9ee57a11d41eac7791920a24497bef8716a6301f Mon Sep 17 00:00:00 2001 ++From bbe752d39cf04a51376c1cd089b053615cf08df9 Mon Sep 17 00:00:00 2001 + From: Tom Coleman + Date: Thu, 17 Mar 2016 12:15:47 +1100 + Subject: [PATCH 07/48] Step 3.1: Create tasks collection +@@ -608,10 +608,10 @@ index 0000000..3bed819 + + + +export const Tasks = new Mongo.Collection('tasks'); + -- +-2.5.1 ++2.11.0 + + +-From 96f0e2a82fa51aeb72170c2fb30814245806fd1c Mon Sep 17 00:00:00 2001 ++From 85ec00cdd88b93b68d2f3c517060594a8f015062 Mon Sep 17 00:00:00 2001 + From: Tom Coleman + Date: Thu, 17 Mar 2016 12:20:32 +1100 + Subject: [PATCH 08/48] Step 3.2: Load tasks collection on the server +@@ -632,10 +632,10 @@ index 31a9e0e..ab941a4 100644 + -}); + +import '../imports/api/tasks.js'; + -- +-2.5.1 ++2.11.0 + + +-From f345b40d5bf55026d8bb72a771971d06f6cec25e Mon Sep 17 00:00:00 2001 ++From f6b008980d6f04b93e05bf777bdb0378308f4b57 Mon Sep 17 00:00:00 2001 + From: Tom Coleman + Date: Thu, 17 Mar 2016 12:16:03 +1100 + Subject: [PATCH 09/48] Step 3.3: Load tasks from Tasks collection +@@ -666,10 +666,10 @@ index 3ad20b1..fc36022 100644 + + }, + }); + -- +-2.5.1 ++2.11.0 + + +-From 06fc0de9e7665c11170f69f7df069229fa99330f Mon Sep 17 00:00:00 2001 ++From 5181113b59242497a2593b844337a93944b7d78a Mon Sep 17 00:00:00 2001 + From: Sashko Stubailo + Date: Tue, 14 Jul 2015 19:10:21 -0700 + Subject: [PATCH 10/48] Step 4.1: Add form for new tasks +@@ -694,10 +694,10 @@ index 23a6507..0a1f952 100644 + +
      + -- +-2.5.1 ++2.11.0 + + +-From 2fd36714d6494f4fb1bf99d1aefbc9a10dfde350 Mon Sep 17 00:00:00 2001 ++From 828c084621cc5bd0d9373d54f4eda6188260bbda Mon Sep 17 00:00:00 2001 + From: Tom Coleman + Date: Thu, 17 Mar 2016 12:19:59 +1100 + Subject: [PATCH 11/48] Step 4.2: Add event handler for form submit +@@ -735,10 +735,10 @@ index fc36022..42ad1d5 100644 + + }, + +}); + -- +-2.5.1 ++2.11.0 + + +-From 3706dd75816a2a0ac525aa79acdb75f622e64d5a Mon Sep 17 00:00:00 2001 ++From 0dc5c4c9c5bb0f8f769ef704a90a981de6090847 Mon Sep 17 00:00:00 2001 + From: Sashko Stubailo + Date: Tue, 14 Jul 2015 19:12:14 -0700 + Subject: [PATCH 12/48] Step 4.3: Show newest tasks at the top +@@ -762,10 +762,10 @@ index 42ad1d5..6fbc9d5 100644 + }); + + -- +-2.5.1 ++2.11.0 + + +-From 0f5a29b2ec349b1beefaea65da8795669eb3fbd6 Mon Sep 17 00:00:00 2001 ++From 89bc3233dc87cba97d7e5a89f659dfc463b8da53 Mon Sep 17 00:00:00 2001 + From: Sashko Stubailo + Date: Tue, 14 Jul 2015 19:12:57 -0700 + Subject: [PATCH 13/48] Step 5.1: Add buttons to Task component +@@ -791,10 +791,10 @@ index 0000000..c4ab8e5 + + + + + -- +-2.5.1 ++2.11.0 + + +-From a0a45efdbc9f6304a07e3fd378ac063bbd4a552b Mon Sep 17 00:00:00 2001 ++From acb70c80fb362a856eb7254d5b7dbe8492e2dc83 Mon Sep 17 00:00:00 2001 + From: Tom Coleman + Date: Thu, 17 Mar 2016 12:23:12 +1100 + Subject: [PATCH 14/48] Step 5.2: Remove Tasks component from Body file +@@ -816,10 +816,10 @@ index 0a1f952..c40a87b 100644 + -
    • {{text}}
    • + - + -- +-2.5.1 ++2.11.0 + + +-From 9662f35f00dfc5bc0f5b6b363f17324d785b6684 Mon Sep 17 00:00:00 2001 ++From 4f27c1302376e197c5e69b476f19d9cd13522ade Mon Sep 17 00:00:00 2001 + From: Tom Coleman + Date: Thu, 17 Mar 2016 12:26:44 +1100 + Subject: [PATCH 15/48] Step 5.3: Add event handlers for Task buttons +@@ -853,10 +853,10 @@ index 0000000..782f932 + + }, + +}); + -- +-2.5.1 ++2.11.0 + + +-From 95760055fbe30f22a0f05154fbfb70628fa4d80b Mon Sep 17 00:00:00 2001 ++From a26ed7b132ec652a7c4cd9f088f7eb3300e86389 Mon Sep 17 00:00:00 2001 + From: Tom Coleman + Date: Thu, 17 Mar 2016 12:26:57 +1100 + Subject: [PATCH 16/48] Step 5.4: Import Task component from the body +@@ -878,10 +878,10 @@ index 6fbc9d5..bac22c6 100644 + + Template.body.helpers({ + -- +-2.5.1 ++2.11.0 + + +-From 35b9df8d06b3d3b1ea53adf1a0baeced4ad69e01 Mon Sep 17 00:00:00 2001 ++From 4bfaa6f070101cb0caf35ab30343e1126b0e6701 Mon Sep 17 00:00:00 2001 + From: Sashko Stubailo + Date: Tue, 14 Jul 2015 19:24:18 -0700 + Subject: [PATCH 17/48] Step 7.1: Add hide-completed checkbox to HTML +@@ -907,10 +907,10 @@ index c40a87b..b634377 100644 + + + -- +-2.5.1 ++2.11.0 + + +-From bc9bad96083398a27f0f5715d2c42840c550efbd Mon Sep 17 00:00:00 2001 ++From 11349ad2cad437421ad9fadb05f000fc2f24d928 Mon Sep 17 00:00:00 2001 + From: Tom Coleman + Date: Thu, 17 Mar 2016 12:33:00 +1100 + Subject: [PATCH 18/48] Step 7.2: Add reactive-dict package +@@ -942,10 +942,10 @@ index c3395d2..ccbd7bb 100644 + reload@1.1.6-rc.2 + retry@1.0.5-rc.2 + -- +-2.5.1 ++2.11.0 + + +-From 6278c9251e42824a54e33982f393f195f7c261a7 Mon Sep 17 00:00:00 2001 ++From 349bd90805ba098d08c9445c00fb6776f2cb8b08 Mon Sep 17 00:00:00 2001 + From: Tom Coleman + Date: Thu, 17 Mar 2016 12:29:41 +1100 + Subject: [PATCH 19/48] Step 7.3: Add state dictionary to the body +@@ -975,10 +975,10 @@ index bac22c6..d429b10 100644 + tasks() { + // Show newest tasks at the top + -- +-2.5.1 ++2.11.0 + + +-From 099e720bdef9264fb4a50c96aff01cb776c61d58 Mon Sep 17 00:00:00 2001 ++From caa11a11d808123299380ee26229c9f358ba1775 Mon Sep 17 00:00:00 2001 + From: Tom Coleman + Date: Thu, 17 Mar 2016 12:30:11 +1100 + Subject: [PATCH 20/48] Step 7.4: Add event handler for checkbox +@@ -1000,10 +1000,10 @@ index d429b10..856dad4 100644 + + }, + }); + -- +-2.5.1 ++2.11.0 + + +-From 9f9c2e3690dc589db6515c68301af09f630c05c2 Mon Sep 17 00:00:00 2001 ++From 10e30f2ff2b42a53bd675433f65d21ac2beb679e Mon Sep 17 00:00:00 2001 + From: Tom Coleman + Date: Thu, 17 Mar 2016 12:31:16 +1100 + Subject: [PATCH 21/48] Step 7.5: Add helpers to body template +@@ -1031,10 +1031,10 @@ index 856dad4..18422ae 100644 + }, + }); + -- +-2.5.1 ++2.11.0 + + +-From 8422a894f5acb8776657e6ec366a9cb174dfbd33 Mon Sep 17 00:00:00 2001 ++From 79b34c54716abd5aaa1a5d9f5068a8bd7c24e35b Mon Sep 17 00:00:00 2001 + From: Sashko Stubailo + Date: Tue, 14 Jul 2015 19:26:17 -0700 + Subject: [PATCH 22/48] Step 7.6: Add incompleteCount helper to body +@@ -1058,10 +1058,10 @@ index 18422ae..3ca9a47 100644 + + Template.body.events({ + -- +-2.5.1 ++2.11.0 + + +-From 8580aba0afce4d9392a348d55be7bda3343d980b Mon Sep 17 00:00:00 2001 ++From b26b4d486c9136a3db7beb5d63759b7fa1cdf0b3 Mon Sep 17 00:00:00 2001 + From: Sashko Stubailo + Date: Tue, 14 Jul 2015 19:26:37 -0700 + Subject: [PATCH 23/48] Step 7.7: Display incompleteCount +@@ -1084,10 +1084,10 @@ index b634377..6738d6c 100644 +
    ++ - ++ -- ++-2.5.1 +++2.11.0 ++ ++ ++-From d76d39724777bf82d31f70f3ded8de3659d0ba0f Mon Sep 17 00:00:00 2001 +++From 99cffc464f80899ce34cf446179e8041c9f5114c Mon Sep 17 00:00:00 2001 ++ From: Tom Coleman ++ Date: Thu, 17 Mar 2016 13:11:52 +1100 ++ Subject: [PATCH 03/48] Step 2.2: Add starter HTML code ++@@ -369,10 +369,10 @@ index 0000000..23a6507 ++ +
  • {{text}}
  • ++ + ++ -- ++-2.5.1 +++2.11.0 ++ ++ ++-From 81b442e117eb61469eef1b783552820aad769b08 Mon Sep 17 00:00:00 2001 +++From 30e9ac16a2de85e74d5a6d92b16e41b37e7faf5e Mon Sep 17 00:00:00 2001 ++ From: Sashko Stubailo ++ Date: Tue, 14 Jul 2015 19:07:50 -0700 ++ Subject: [PATCH 04/48] Step 2.3: Add starter JS code ++@@ -400,10 +400,10 @@ index 0000000..3ad20b1 ++ + ], ++ +}); ++ -- ++-2.5.1 +++2.11.0 ++ ++ ++-From 0ee65568d41f16915c4d1271ac307a1a362fb253 Mon Sep 17 00:00:00 2001 +++From d63fe20a79a2dd9be0034b72bba93d9654d10d31 Mon Sep 17 00:00:00 2001 ++ From: Sashko Stubailo ++ Date: Tue, 14 Jul 2015 19:08:17 -0700 ++ Subject: [PATCH 05/48] Step 2.4: Import starter JS ++@@ -441,10 +441,10 @@ index ecb3282..4e7c1a4 100644 ++ -}); ++ +import '../imports/ui/body.js'; ++ -- ++-2.5.1 +++2.11.0 ++ ++ ++-From 84a25d420baa2815108ecd22709339f1912478a9 Mon Sep 17 00:00:00 2001 +++From 63f980943c048f8084f5a42543ba3e13b4088800 Mon Sep 17 00:00:00 2001 ++ From: Tom Coleman ++ Date: Thu, 17 Mar 2016 12:13:09 +1100 ++ Subject: [PATCH 06/48] Step 2.5: Add CSS ++@@ -585,10 +585,10 @@ index b6b4052..ed5e77e 100644 ++ + } ++ +} ++ -- ++-2.5.1 +++2.11.0 ++ ++ ++-From 9ee57a11d41eac7791920a24497bef8716a6301f Mon Sep 17 00:00:00 2001 +++From bbe752d39cf04a51376c1cd089b053615cf08df9 Mon Sep 17 00:00:00 2001 ++ From: Tom Coleman ++ Date: Thu, 17 Mar 2016 12:15:47 +1100 ++ Subject: [PATCH 07/48] Step 3.1: Create tasks collection ++@@ -608,10 +608,10 @@ index 0000000..3bed819 ++ + ++ +export const Tasks = new Mongo.Collection('tasks'); ++ -- ++-2.5.1 +++2.11.0 ++ ++ ++-From 96f0e2a82fa51aeb72170c2fb30814245806fd1c Mon Sep 17 00:00:00 2001 +++From 85ec00cdd88b93b68d2f3c517060594a8f015062 Mon Sep 17 00:00:00 2001 ++ From: Tom Coleman ++ Date: Thu, 17 Mar 2016 12:20:32 +1100 ++ Subject: [PATCH 08/48] Step 3.2: Load tasks collection on the server ++@@ -632,10 +632,10 @@ index 31a9e0e..ab941a4 100644 ++ -}); ++ +import '../imports/api/tasks.js'; ++ -- ++-2.5.1 +++2.11.0 ++ ++ ++-From f345b40d5bf55026d8bb72a771971d06f6cec25e Mon Sep 17 00:00:00 2001 +++From f6b008980d6f04b93e05bf777bdb0378308f4b57 Mon Sep 17 00:00:00 2001 ++ From: Tom Coleman ++ Date: Thu, 17 Mar 2016 12:16:03 +1100 ++ Subject: [PATCH 09/48] Step 3.3: Load tasks from Tasks collection ++@@ -666,10 +666,10 @@ index 3ad20b1..fc36022 100644 ++ + }, ++ }); ++ -- ++-2.5.1 +++2.11.0 ++ ++ ++-From 06fc0de9e7665c11170f69f7df069229fa99330f Mon Sep 17 00:00:00 2001 +++From 5181113b59242497a2593b844337a93944b7d78a Mon Sep 17 00:00:00 2001 ++ From: Sashko Stubailo ++ Date: Tue, 14 Jul 2015 19:10:21 -0700 ++ Subject: [PATCH 10/48] Step 4.1: Add form for new tasks ++@@ -694,10 +694,10 @@ index 23a6507..0a1f952 100644 ++ ++
      ++ -- ++-2.5.1 +++2.11.0 ++ ++ ++-From 2fd36714d6494f4fb1bf99d1aefbc9a10dfde350 Mon Sep 17 00:00:00 2001 +++From 828c084621cc5bd0d9373d54f4eda6188260bbda Mon Sep 17 00:00:00 2001 ++ From: Tom Coleman ++ Date: Thu, 17 Mar 2016 12:19:59 +1100 ++ Subject: [PATCH 11/48] Step 4.2: Add event handler for form submit ++@@ -735,10 +735,10 @@ index fc36022..42ad1d5 100644 ++ + }, ++ +}); ++ -- ++-2.5.1 +++2.11.0 ++ ++ ++-From 3706dd75816a2a0ac525aa79acdb75f622e64d5a Mon Sep 17 00:00:00 2001 +++From 0dc5c4c9c5bb0f8f769ef704a90a981de6090847 Mon Sep 17 00:00:00 2001 ++ From: Sashko Stubailo ++ Date: Tue, 14 Jul 2015 19:12:14 -0700 ++ Subject: [PATCH 12/48] Step 4.3: Show newest tasks at the top ++@@ -762,10 +762,10 @@ index 42ad1d5..6fbc9d5 100644 ++ }); ++ ++ -- ++-2.5.1 +++2.11.0 ++ ++ ++-From 0f5a29b2ec349b1beefaea65da8795669eb3fbd6 Mon Sep 17 00:00:00 2001 +++From 89bc3233dc87cba97d7e5a89f659dfc463b8da53 Mon Sep 17 00:00:00 2001 ++ From: Sashko Stubailo ++ Date: Tue, 14 Jul 2015 19:12:57 -0700 ++ Subject: [PATCH 13/48] Step 5.1: Add buttons to Task component ++@@ -791,10 +791,10 @@ index 0000000..c4ab8e5 ++ + ++ + ++ -- ++-2.5.1 +++2.11.0 ++ ++ ++-From a0a45efdbc9f6304a07e3fd378ac063bbd4a552b Mon Sep 17 00:00:00 2001 +++From acb70c80fb362a856eb7254d5b7dbe8492e2dc83 Mon Sep 17 00:00:00 2001 ++ From: Tom Coleman ++ Date: Thu, 17 Mar 2016 12:23:12 +1100 ++ Subject: [PATCH 14/48] Step 5.2: Remove Tasks component from Body file ++@@ -816,10 +816,10 @@ index 0a1f952..c40a87b 100644 ++ -
    • {{text}}
    • ++ - ++ -- ++-2.5.1 +++2.11.0 ++ ++ ++-From 9662f35f00dfc5bc0f5b6b363f17324d785b6684 Mon Sep 17 00:00:00 2001 +++From 4f27c1302376e197c5e69b476f19d9cd13522ade Mon Sep 17 00:00:00 2001 ++ From: Tom Coleman ++ Date: Thu, 17 Mar 2016 12:26:44 +1100 ++ Subject: [PATCH 15/48] Step 5.3: Add event handlers for Task buttons ++@@ -853,10 +853,10 @@ index 0000000..782f932 ++ + }, ++ +}); ++ -- ++-2.5.1 +++2.11.0 ++ ++ ++-From 95760055fbe30f22a0f05154fbfb70628fa4d80b Mon Sep 17 00:00:00 2001 +++From a26ed7b132ec652a7c4cd9f088f7eb3300e86389 Mon Sep 17 00:00:00 2001 ++ From: Tom Coleman ++ Date: Thu, 17 Mar 2016 12:26:57 +1100 ++ Subject: [PATCH 16/48] Step 5.4: Import Task component from the body ++@@ -878,10 +878,10 @@ index 6fbc9d5..bac22c6 100644 ++ ++ Template.body.helpers({ ++ -- ++-2.5.1 +++2.11.0 ++ ++ ++-From 35b9df8d06b3d3b1ea53adf1a0baeced4ad69e01 Mon Sep 17 00:00:00 2001 +++From 4bfaa6f070101cb0caf35ab30343e1126b0e6701 Mon Sep 17 00:00:00 2001 ++ From: Sashko Stubailo ++ Date: Tue, 14 Jul 2015 19:24:18 -0700 ++ Subject: [PATCH 17/48] Step 7.1: Add hide-completed checkbox to HTML ++@@ -907,10 +907,10 @@ index c40a87b..b634377 100644 ++ ++ ++ -- ++-2.5.1 +++2.11.0 ++ ++ ++-From bc9bad96083398a27f0f5715d2c42840c550efbd Mon Sep 17 00:00:00 2001 +++From 11349ad2cad437421ad9fadb05f000fc2f24d928 Mon Sep 17 00:00:00 2001 ++ From: Tom Coleman ++ Date: Thu, 17 Mar 2016 12:33:00 +1100 ++ Subject: [PATCH 18/48] Step 7.2: Add reactive-dict package ++@@ -942,10 +942,10 @@ index c3395d2..ccbd7bb 100644 ++ reload@1.1.6-rc.2 ++ retry@1.0.5-rc.2 ++ -- ++-2.5.1 +++2.11.0 ++ ++ ++-From 6278c9251e42824a54e33982f393f195f7c261a7 Mon Sep 17 00:00:00 2001 +++From 349bd90805ba098d08c9445c00fb6776f2cb8b08 Mon Sep 17 00:00:00 2001 ++ From: Tom Coleman ++ Date: Thu, 17 Mar 2016 12:29:41 +1100 ++ Subject: [PATCH 19/48] Step 7.3: Add state dictionary to the body ++@@ -975,10 +975,10 @@ index bac22c6..d429b10 100644 ++ tasks() { ++ // Show newest tasks at the top ++ -- ++-2.5.1 +++2.11.0 ++ ++ ++-From 099e720bdef9264fb4a50c96aff01cb776c61d58 Mon Sep 17 00:00:00 2001 +++From caa11a11d808123299380ee26229c9f358ba1775 Mon Sep 17 00:00:00 2001 ++ From: Tom Coleman ++ Date: Thu, 17 Mar 2016 12:30:11 +1100 ++ Subject: [PATCH 20/48] Step 7.4: Add event handler for checkbox ++@@ -1000,10 +1000,10 @@ index d429b10..856dad4 100644 ++ + }, ++ }); ++ -- ++-2.5.1 +++2.11.0 ++ ++ ++-From 9f9c2e3690dc589db6515c68301af09f630c05c2 Mon Sep 17 00:00:00 2001 +++From 10e30f2ff2b42a53bd675433f65d21ac2beb679e Mon Sep 17 00:00:00 2001 ++ From: Tom Coleman ++ Date: Thu, 17 Mar 2016 12:31:16 +1100 ++ Subject: [PATCH 21/48] Step 7.5: Add helpers to body template ++@@ -1031,10 +1031,10 @@ index 856dad4..18422ae 100644 ++ }, ++ }); ++ -- ++-2.5.1 +++2.11.0 ++ ++ ++-From 8422a894f5acb8776657e6ec366a9cb174dfbd33 Mon Sep 17 00:00:00 2001 +++From 79b34c54716abd5aaa1a5d9f5068a8bd7c24e35b Mon Sep 17 00:00:00 2001 ++ From: Sashko Stubailo ++ Date: Tue, 14 Jul 2015 19:26:17 -0700 ++ Subject: [PATCH 22/48] Step 7.6: Add incompleteCount helper to body ++@@ -1058,10 +1058,10 @@ index 18422ae..3ca9a47 100644 ++ ++ Template.body.events({ ++ -- ++-2.5.1 +++2.11.0 ++ ++ ++-From 8580aba0afce4d9392a348d55be7bda3343d980b Mon Sep 17 00:00:00 2001 +++From b26b4d486c9136a3db7beb5d63759b7fa1cdf0b3 Mon Sep 17 00:00:00 2001 ++ From: Sashko Stubailo ++ Date: Tue, 14 Jul 2015 19:26:37 -0700 ++ Subject: [PATCH 23/48] Step 7.7: Display incompleteCount ++@@ -1084,10 +1084,10 @@ index b634377..6738d6c 100644 ++