diff --git a/.gitignore b/.gitignore index 485dee6..1e628f4 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ .idea +node_modules +debug.log \ No newline at end of file diff --git a/CNAME b/CNAME deleted file mode 100644 index 65c9ec3..0000000 --- a/CNAME +++ /dev/null @@ -1 +0,0 @@ -angular-air.com diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 0f6151d..0000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,26 +0,0 @@ -# Contributing - -## Updating episodes - -### High level info - -- Episode configuration is stored in the `script.js` file. Most of the data for each episode lives there -- Episode resources (profile pictures/description/etc.) live in the `episodes` folder in a folder that's named after the date of the episode -- Profile pictures are named after the person's twitter handle (unless it starts with a `_`, in which case, omit that and specify the avatar explicitly) -- Episode descriptions are stored in a `description.md` file -- If there is a sponsor for the episode, their blurb goes in a `sponsorship.md` file and their profile picture follows the same convention as a person's picture. - -### Steps - -1. Add episode configuration to the `episodes` array (copy/paste from another episode) -2. Add pictures for users/sponsors - - [Should be `png`](http://image.online-convert.com/convert-to-png) - - Resize to 180x180 px - - Shrink file with [TinyPNG](https://tinypng.com/) -3. Create `description.md` (and if necessary, `sponsorship.md`). -4. Move old episode configs to `pastEpisodes` array (make sure it's in order). -5. `git add -A && git commit -am 'Adding {episode_name}' && git push` -6. Wait for 10 seconds, then go to [the website](http://angular-air.com) and check everything worked ok. - -Thanks! - diff --git a/README.md b/README.md index 4d4af12..6cb091d 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,3 @@ -# [angular-air.com](http://angular-air.com) - -![AngularAir logo](logo.png) - -[@AngularAir](https://twitter.com/AngularAir) is a video podcast all about -[AngularJS](https://angularjs.org/) hosted by -[Egghead.io](https://egghead.io/) instructor -[Kent C. Dodds](https://twitter.com/kentcdodds). - -This repo is [the website](http://ng-air.github.io) for ng-air. - -Catch AngularAir on [Twitter](https://twitter.com/AngularAir) and -[Google+](https://plus.google.com/+AngularAirPodcast/) +# [angularair.com](http://angularair.com) +## On YouTube at [/angularairpodcast](https://www.youtube.com/AngularAirPodcast) diff --git a/android-chrome-192x192.png b/android-chrome-192x192.png new file mode 100644 index 0000000..44318d3 Binary files /dev/null and b/android-chrome-192x192.png differ diff --git a/android-chrome-384x384.png b/android-chrome-384x384.png new file mode 100644 index 0000000..436889f Binary files /dev/null and b/android-chrome-384x384.png differ diff --git a/apple-touch-icon.png b/apple-touch-icon.png new file mode 100644 index 0000000..c798f09 Binary files /dev/null and b/apple-touch-icon.png differ diff --git a/assets/4iCs6KVjbNBYlgoKfw72nU6AFw.woff2 b/assets/4iCs6KVjbNBYlgoKfw72nU6AFw.woff2 new file mode 100644 index 0000000..39e70aa Binary files /dev/null and b/assets/4iCs6KVjbNBYlgoKfw72nU6AFw.woff2 differ diff --git a/assets/4iCv6KVjbNBYlgoCxCvjsGyNPYZvgw.woff2 b/assets/4iCv6KVjbNBYlgoCxCvjsGyNPYZvgw.woff2 new file mode 100644 index 0000000..b756f8f Binary files /dev/null and b/assets/4iCv6KVjbNBYlgoCxCvjsGyNPYZvgw.woff2 differ diff --git a/assets/AlyssaNicoll.jpg b/assets/AlyssaNicoll.jpg new file mode 100644 index 0000000..f535f64 Binary files /dev/null and b/assets/AlyssaNicoll.jpg differ diff --git a/assets/DtVlJxerQqQm37tzN3wMug9P_g_2oipOnuA.woff2 b/assets/DtVlJxerQqQm37tzN3wMug9P_g_2oipOnuA.woff2 new file mode 100644 index 0000000..46ae1e0 Binary files /dev/null and b/assets/DtVlJxerQqQm37tzN3wMug9P_g_2oipOnuA.woff2 differ diff --git a/assets/JustinSchwartzenberger.jpg b/assets/JustinSchwartzenberger.jpg new file mode 100644 index 0000000..456c467 Binary files /dev/null and b/assets/JustinSchwartzenberger.jpg differ diff --git a/assets/MikeBrocchi.jpg b/assets/MikeBrocchi.jpg new file mode 100644 index 0000000..cee0a92 Binary files /dev/null and b/assets/MikeBrocchi.jpg differ diff --git a/assets/angularairlogo.png b/assets/angularairlogo.png new file mode 100644 index 0000000..e684780 Binary files /dev/null and b/assets/angularairlogo.png differ diff --git a/assets/og-image.jpg b/assets/og-image.jpg new file mode 100644 index 0000000..2e3182f Binary files /dev/null and b/assets/og-image.jpg differ diff --git a/browserconfig.xml b/browserconfig.xml new file mode 100644 index 0000000..2ca1934 --- /dev/null +++ b/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #2d89ef + + + diff --git a/episodes/2014-11-14/IgorMinar.png b/episodes/2014-11-14/IgorMinar.png deleted file mode 100644 index aa911ee..0000000 Binary files a/episodes/2014-11-14/IgorMinar.png and /dev/null differ diff --git a/episodes/2014-11-14/bradlygreen.png b/episodes/2014-11-14/bradlygreen.png deleted file mode 100644 index c5a0369..0000000 Binary files a/episodes/2014-11-14/bradlygreen.png and /dev/null differ diff --git a/episodes/2014-11-14/description.md b/episodes/2014-11-14/description.md deleted file mode 100644 index edc9ce9..0000000 --- a/episodes/2014-11-14/description.md +++ /dev/null @@ -1,3 +0,0 @@ -To kick off the new live video podcast, members of the AngularJS Team are joining us to talk about what's coming up with -Angular 1.3 and why it's going to keep being awesome. We'll also talk about what's going to make Angular 2.0 even more -awesome. This is one hour conversation you definitely wont want to miss! diff --git a/episodes/2014-11-14/mhevery.png b/episodes/2014-11-14/mhevery.png deleted file mode 100644 index f15ff3f..0000000 Binary files a/episodes/2014-11-14/mhevery.png and /dev/null differ diff --git a/episodes/2014-11-14/petebd.png b/episodes/2014-11-14/petebd.png deleted file mode 100644 index bd52063..0000000 Binary files a/episodes/2014-11-14/petebd.png and /dev/null differ diff --git a/episodes/2014-12-02/description.md b/episodes/2014-12-02/description.md deleted file mode 100644 index fc0e6e7..0000000 --- a/episodes/2014-12-02/description.md +++ /dev/null @@ -1,4 +0,0 @@ -AngularJS is an amazing framework. Like all frameworks, there's a thing or two that you need to know before you can -really start being productive in it. Rock star [John Lindquist](https://twitter.com/johnlindquist) of -[egghead.io](https://egghead.io/) will join us to chat about what these are and how to start getting crazy productive by -doing things "the Angular way." diff --git a/episodes/2014-12-02/johnlindquist.png b/episodes/2014-12-02/johnlindquist.png deleted file mode 100644 index 95a65ff..0000000 Binary files a/episodes/2014-12-02/johnlindquist.png and /dev/null differ diff --git a/episodes/2014-12-16/ShirtJS.png b/episodes/2014-12-16/ShirtJS.png deleted file mode 100644 index 8069638..0000000 Binary files a/episodes/2014-12-16/ShirtJS.png and /dev/null differ diff --git a/episodes/2014-12-16/briantford.png b/episodes/2014-12-16/briantford.png deleted file mode 100644 index 33e4502..0000000 Binary files a/episodes/2014-12-16/briantford.png and /dev/null differ diff --git a/episodes/2014-12-16/description.md b/episodes/2014-12-16/description.md deleted file mode 100644 index f60105a..0000000 --- a/episodes/2014-12-16/description.md +++ /dev/null @@ -1,3 +0,0 @@ -Brian Ford (Angular core team member) will join with Todd and Kent in this episode of Angular Air to talk about Angular -Development Tools. Specifically the new version of AngularJS Batarang (the Chrome Extension no Angular developer should -work without) and Angular Hint (a JSHint-like runtime tool for Angular applications). diff --git a/episodes/2014-12-16/sponsorship.md b/episodes/2014-12-16/sponsorship.md deleted file mode 100644 index 6daeec5..0000000 --- a/episodes/2014-12-16/sponsorship.md +++ /dev/null @@ -1,4 +0,0 @@ -Also, we're pleased to announce that this episode is sponsored by [ShirtJS](http://shirtjs.com/)! They have been -gracious enough to offer our audience a shirt free of charge. All you have to do is submit a question for this episode -on Google Moderator. The asker of question at the top of the list when we read through them in the episode wins the -shirt (winner must claim the prize by emailing angularair@gmail.com). Ask away! diff --git a/episodes/2015-01-13/ReactWeek.png b/episodes/2015-01-13/ReactWeek.png deleted file mode 100644 index a03620b..0000000 Binary files a/episodes/2015-01-13/ReactWeek.png and /dev/null differ diff --git a/episodes/2015-01-13/auser.png b/episodes/2015-01-13/auser.png deleted file mode 100644 index ba5f183..0000000 Binary files a/episodes/2015-01-13/auser.png and /dev/null differ diff --git a/episodes/2015-01-13/description.md b/episodes/2015-01-13/description.md deleted file mode 100644 index 6839f61..0000000 --- a/episodes/2015-01-13/description.md +++ /dev/null @@ -1,3 +0,0 @@ -Join us with Ari Lerner, creator of [ng-book](https://www.ng-book.com/) (The Complete Book on AngularJS) and -[ng-newsletter](http://www.ng-newsletter.com/), as we talk about how AngularJS has evolved over time and how to take -advantage of all the cool things Angular's more recent releases have provided. \ No newline at end of file diff --git a/episodes/2015-01-13/sponsorship.md b/episodes/2015-01-13/sponsorship.md deleted file mode 100644 index 91464dd..0000000 --- a/episodes/2015-01-13/sponsorship.md +++ /dev/null @@ -1,3 +0,0 @@ -Interested in learning [React.js](http://facebook.github.io/react/)? Check out [ReactWeek](http://reactweek.com/), a -week long workshop for learning React.js, Flux, React-Router, Firebase, and Webpack taught by Ryan Florence, one of the -industry's best React Developers. Tickets go on sale January 23rd. Don't miss it! \ No newline at end of file diff --git a/episodes/2015-01-27/description.md b/episodes/2015-01-27/description.md deleted file mode 100644 index 9bea573..0000000 --- a/episodes/2015-01-27/description.md +++ /dev/null @@ -1,2 +0,0 @@ -We're super stoked to have the ng-conf organizers join us for this episode of Angular Air! We'll be going over what a -great community angular has, what made ng-conf 1.0 so great and why we should be so excited for ng-conf 2.0. \ No newline at end of file diff --git a/episodes/2015-01-27/geddski.png b/episodes/2015-01-27/geddski.png deleted file mode 100644 index 9d44823..0000000 Binary files a/episodes/2015-01-27/geddski.png and /dev/null differ diff --git a/episodes/2015-01-27/iammerrick.png b/episodes/2015-01-27/iammerrick.png deleted file mode 100644 index 7211d32..0000000 Binary files a/episodes/2015-01-27/iammerrick.png and /dev/null differ diff --git a/episodes/2015-01-27/josepheames.png b/episodes/2015-01-27/josepheames.png deleted file mode 100644 index 3384e1c..0000000 Binary files a/episodes/2015-01-27/josepheames.png and /dev/null differ diff --git a/episodes/2015-01-27/js_dev.png b/episodes/2015-01-27/js_dev.png deleted file mode 100644 index 92e4086..0000000 Binary files a/episodes/2015-01-27/js_dev.png and /dev/null differ diff --git a/episodes/2015-01-27/mightykip.png b/episodes/2015-01-27/mightykip.png deleted file mode 100644 index 052f6ca..0000000 Binary files a/episodes/2015-01-27/mightykip.png and /dev/null differ diff --git a/episodes/2015-02-13/description.md b/episodes/2015-02-13/description.md deleted file mode 100644 index 4c20636..0000000 --- a/episodes/2015-02-13/description.md +++ /dev/null @@ -1,3 +0,0 @@ -Kent C. Dodds will be making a house call to an angular conference in Amsterdam! We'll have a live broadcast during the -[ng-nl](http://www.ng-nl.org/) conference talking with some of the speakers and/or organizers there. See you in -Amsterdam! diff --git a/episodes/2015-02-13/ngnlconf.png b/episodes/2015-02-13/ngnlconf.png deleted file mode 100644 index 1dc90c4..0000000 Binary files a/episodes/2015-02-13/ngnlconf.png and /dev/null differ diff --git a/episodes/2015-03-17/adamdbradley.png b/episodes/2015-03-17/adamdbradley.png deleted file mode 100644 index 007280f..0000000 Binary files a/episodes/2015-03-17/adamdbradley.png and /dev/null differ diff --git a/episodes/2015-03-17/benjsperry.png b/episodes/2015-03-17/benjsperry.png deleted file mode 100644 index cbee869..0000000 Binary files a/episodes/2015-03-17/benjsperry.png and /dev/null differ diff --git a/episodes/2015-03-17/description.md b/episodes/2015-03-17/description.md deleted file mode 100644 index 2469351..0000000 --- a/episodes/2015-03-17/description.md +++ /dev/null @@ -1,4 +0,0 @@ -If you haven't heard of and tried the [Ionic Framework](http://ionicframework.com/) then you're missing out. Building a -simple app to make your life easier couldn't be... well... easier! And building a for-real app using web technologies -has come leaps and bounds in large part thanks to the work these guys have put into the development of this framework -built on Angular. Come hear how Ionic has dramatically changed the landscape for hybrid mobile app development. diff --git a/episodes/2015-03-17/maxlynch.png b/episodes/2015-03-17/maxlynch.png deleted file mode 100644 index 7eeab7d..0000000 Binary files a/episodes/2015-03-17/maxlynch.png and /dev/null differ diff --git a/episodes/2015-03-17/mhartington.png b/episodes/2015-03-17/mhartington.png deleted file mode 100644 index ecc3f3d..0000000 Binary files a/episodes/2015-03-17/mhartington.png and /dev/null differ diff --git a/episodes/2015-03-24/OCombe.png b/episodes/2015-03-24/OCombe.png deleted file mode 100644 index 87064ea..0000000 Binary files a/episodes/2015-03-24/OCombe.png and /dev/null differ diff --git a/episodes/2015-03-24/description.md b/episodes/2015-03-24/description.md deleted file mode 100644 index 28c4ebd..0000000 --- a/episodes/2015-03-24/description.md +++ /dev/null @@ -1,10 +0,0 @@ -Jason Dobry and Olivier Combe are each authors of popular Angular libraries. Jason is wrote -[angular-cache](https://github.com/jmdobry/angular-cache) and [js-data](https://github.com/js-data/js-data) -(formerly angular-data, but has evolved into a VanillaJS solution with an awesome -[Angular adapter](https://github.com/js-data/js-data-angular)). Olivier wrote -[ocLazyLoad](https://github.com/ocombe/ocLazyLoad) and -[angular-localForage](https://github.com/ocombe/angular-localForage). And our regular host, Kent C. Dodds is responsible -for [angular-formly](https://github.com/formly-js/angular-formly) and [ng-stats](https://github.com/kentcdodds/ng-stats). -Together we'll chat about what it's like to develop a popular open source library. How to get started, how to triage -GitHub issues, documentation. The works. You know that library you've been wanting to write, or that code you want to -open source? This is the episode for you to learn what to expect. diff --git a/episodes/2015-03-24/jmdobry.png b/episodes/2015-03-24/jmdobry.png deleted file mode 100644 index 3388281..0000000 Binary files a/episodes/2015-03-24/jmdobry.png and /dev/null differ diff --git a/episodes/2015-03-31/PascalPrecht.png b/episodes/2015-03-31/PascalPrecht.png deleted file mode 100644 index 2dac878..0000000 Binary files a/episodes/2015-03-31/PascalPrecht.png and /dev/null differ diff --git a/episodes/2015-03-31/chirayuk.png b/episodes/2015-03-31/chirayuk.png deleted file mode 100644 index f89f573..0000000 Binary files a/episodes/2015-03-31/chirayuk.png and /dev/null differ diff --git a/episodes/2015-03-31/description.md b/episodes/2015-03-31/description.md deleted file mode 100644 index db32730..0000000 --- a/episodes/2015-03-31/description.md +++ /dev/null @@ -1,7 +0,0 @@ -Internationalization (generally referred to as i18n because that's frankly easier to tweet) is a big deal when the -entire world can reach your application. Pascal, the creator of -[angular-translate](https://github.com/angular-translate/angular-translate) and Chirayu, Angular core team member, have -put a lot of time and effort into making applications accessible to anyone anywhere. And with some exciting things -brewing for i18n in Angular, we're excited to invite Pascal and Chirayu to chat with us about what's coming. - -P.S. This show is on Pascal's birthday :-) diff --git a/episodes/2015-04-07/description.md b/episodes/2015-04-07/description.md deleted file mode 100644 index 1347bd0..0000000 --- a/episodes/2015-04-07/description.md +++ /dev/null @@ -1,7 +0,0 @@ -Angular is an awesome framework to use, and it's awesome to contribute to as well! Pawel works at -[Amadeus](http://www.amadeus.com/) and spends most of his time working on Angular core -([Pawel's commits](https://github.com/angular/angular.js/commits?author=pkozlowski-opensource)). Rodric is a CS student -who spent a summer at Google working on the Angular project -([Rodric's commits](https://github.com/angular/angular.js/commits?author=rodyhaddad) <-- notice that even though his -internship is long over, he's still actively working on the project :-D). We're excited to have a chat with them about -committing to the Angular project and help us know how we can too! diff --git a/episodes/2015-04-07/pkozlowski_os.png b/episodes/2015-04-07/pkozlowski_os.png deleted file mode 100644 index 7a4725f..0000000 Binary files a/episodes/2015-04-07/pkozlowski_os.png and /dev/null differ diff --git a/episodes/2015-04-07/rodyhaddad.png b/episodes/2015-04-07/rodyhaddad.png deleted file mode 100644 index cb21d6b..0000000 Binary files a/episodes/2015-04-07/rodyhaddad.png and /dev/null differ diff --git a/episodes/2015-04-14/SomeJulie.png b/episodes/2015-04-14/SomeJulie.png deleted file mode 100644 index 422e4ef..0000000 Binary files a/episodes/2015-04-14/SomeJulie.png and /dev/null differ diff --git a/episodes/2015-04-14/andresdom.png b/episodes/2015-04-14/andresdom.png deleted file mode 100644 index e09df6a..0000000 Binary files a/episodes/2015-04-14/andresdom.png and /dev/null differ diff --git a/episodes/2015-04-14/description.md b/episodes/2015-04-14/description.md deleted file mode 100644 index 3e8c4d5..0000000 --- a/episodes/2015-04-14/description.md +++ /dev/null @@ -1,4 +0,0 @@ -One of the things we love about Angular is how testable it is. With the separation of concerns between where we interact -with the DOM, where our business logic resides, and where our view logic belongs, combined with dependency injection, -Angular is a fantastically testable framework. However, it can still be daunting at times. For this episode, we'll be -joined by Angular testing experts in both the unit and e2e sides of testing Angular applications. diff --git a/episodes/2015-04-14/zanthrash.png b/episodes/2015-04-14/zanthrash.png deleted file mode 100644 index 0be61f8..0000000 Binary files a/episodes/2015-04-14/zanthrash.png and /dev/null differ diff --git a/episodes/2015-04-21/description.md b/episodes/2015-04-21/description.md deleted file mode 100644 index 2d86878..0000000 --- a/episodes/2015-04-21/description.md +++ /dev/null @@ -1,4 +0,0 @@ -Life is more fun with more variety. That's why we're excited to announce that we've added a panel of some terrific -Angular community members to come join us on the show each week. Here's your chance to meet and get to know each of them -and their background and experience in Angular. We'll each supply an angular pro-tip / horror story or two as well, so -you don't want to miss this one! \ No newline at end of file diff --git a/episodes/2015-04-28/description.md b/episodes/2015-04-28/description.md deleted file mode 100644 index 754f2d1..0000000 --- a/episodes/2015-04-28/description.md +++ /dev/null @@ -1,2 +0,0 @@ -Patrick Stapleton, Jeff Whelpley, and Rob Wormald have been using Angular 2 Alpha a bit and will have some insightful -things to say about their experience in this show that I think you'll definitely want to catch :-) \ No newline at end of file diff --git a/episodes/2015-04-28/gdi2290.png b/episodes/2015-04-28/gdi2290.png deleted file mode 100644 index 4081945..0000000 Binary files a/episodes/2015-04-28/gdi2290.png and /dev/null differ diff --git a/episodes/2015-04-28/jeffwhelpley.png b/episodes/2015-04-28/jeffwhelpley.png deleted file mode 100644 index 9da67b8..0000000 Binary files a/episodes/2015-04-28/jeffwhelpley.png and /dev/null differ diff --git a/episodes/2015-04-28/robwormald.png b/episodes/2015-04-28/robwormald.png deleted file mode 100644 index 073504b..0000000 Binary files a/episodes/2015-04-28/robwormald.png and /dev/null differ diff --git a/episodes/2015-05-05/davideast.png b/episodes/2015-05-05/davideast.png deleted file mode 100644 index d792422..0000000 Binary files a/episodes/2015-05-05/davideast.png and /dev/null differ diff --git a/episodes/2015-05-05/description.md b/episodes/2015-05-05/description.md deleted file mode 100644 index 9e21fc6..0000000 --- a/episodes/2015-05-05/description.md +++ /dev/null @@ -1,3 +0,0 @@ -[Firebase](https://www.firebase.com/) and Angular are a match made in heaven for a 100% frontend application. Firebase -allows you to totally forget about your backend and just focus on the frontend. Join us with our Firebase experts as we -talk about how to use these two incredible tools together to accomplish some fantastic experiences for the web. \ No newline at end of file diff --git a/episodes/2015-05-05/jwngr.png b/episodes/2015-05-05/jwngr.png deleted file mode 100644 index 6d7f316..0000000 Binary files a/episodes/2015-05-05/jwngr.png and /dev/null differ diff --git a/episodes/2015-05-05/katowulf.png b/episodes/2015-05-05/katowulf.png deleted file mode 100644 index cfb9f51..0000000 Binary files a/episodes/2015-05-05/katowulf.png and /dev/null differ diff --git a/episodes/2015-05-12/audette.png b/episodes/2015-05-12/audette.png deleted file mode 100644 index dc2ceee..0000000 Binary files a/episodes/2015-05-12/audette.png and /dev/null differ diff --git a/episodes/2015-05-12/description.md b/episodes/2015-05-12/description.md deleted file mode 100644 index aa54a22..0000000 --- a/episodes/2015-05-12/description.md +++ /dev/null @@ -1,3 +0,0 @@ -SEO for JavaScript heavy clients can be difficult. We'll be joined by Googler John Mueller who works on the Webmaster -Central team and (likely) other SEO experts. They'll give us some insights on what we can do to make our Angular apps -more accessible to Search Engines and as a result, improve page rank in search results. diff --git a/episodes/2015-05-12/gimpslice.png b/episodes/2015-05-12/gimpslice.png deleted file mode 100644 index c57d5b3..0000000 Binary files a/episodes/2015-05-12/gimpslice.png and /dev/null differ diff --git a/episodes/2015-05-12/johnmu.png b/episodes/2015-05-12/johnmu.png deleted file mode 100644 index 0e958f8..0000000 Binary files a/episodes/2015-05-12/johnmu.png and /dev/null differ diff --git a/episodes/2015-05-12/maxxeight.png b/episodes/2015-05-12/maxxeight.png deleted file mode 100644 index ca5a959..0000000 Binary files a/episodes/2015-05-12/maxxeight.png and /dev/null differ diff --git a/episodes/2015-05-19/BenNadel.png b/episodes/2015-05-19/BenNadel.png deleted file mode 100644 index 6845254..0000000 Binary files a/episodes/2015-05-19/BenNadel.png and /dev/null differ diff --git a/episodes/2015-05-19/description.md b/episodes/2015-05-19/description.md deleted file mode 100644 index 0c6a120..0000000 --- a/episodes/2015-05-19/description.md +++ /dev/null @@ -1,4 +0,0 @@ -Architecting a JavaScript-heavy application is hard. -We'll be joined by Aaron Frost who works at Domo and by Ben Nadel who works at InVision. -Both run huge Angular apps and they will share their knowledge learned the hard way to -help us start our new projects on the right foot. \ No newline at end of file diff --git a/episodes/2015-05-19/js_dev.png b/episodes/2015-05-19/js_dev.png deleted file mode 100644 index 8f97451..0000000 Binary files a/episodes/2015-05-19/js_dev.png and /dev/null differ diff --git a/episodes/2015-05-26/description.md b/episodes/2015-05-26/description.md deleted file mode 100644 index 2e283ee..0000000 --- a/episodes/2015-05-26/description.md +++ /dev/null @@ -1,6 +0,0 @@ -Web components are the future of the web (whether you like it or not). Join us with our guests who have some good -experience with web components and how they fit quite nicely with Angular 1 and how they'll fit even more nicely with -Angular 2. Rachael and Kara gave [a splendid talk](https://www.youtube.com/watch?v=AbunztfV5vU) at ng-conf in March on -using Web Components with Angular (1 and 2), and Rado -[co-presented on Angular 2 template syntax](https://www.youtube.com/watch?v=-dMBcqwvYA0) with Miško Hevery (at -ng-conf as well). diff --git a/episodes/2015-05-26/morewry.png b/episodes/2015-05-26/morewry.png deleted file mode 100644 index 822a55a..0000000 Binary files a/episodes/2015-05-26/morewry.png and /dev/null differ diff --git a/episodes/2015-05-26/radokirov.png b/episodes/2015-05-26/radokirov.png deleted file mode 100644 index ce65da8..0000000 Binary files a/episodes/2015-05-26/radokirov.png and /dev/null differ diff --git a/episodes/2015-06-02/description.md b/episodes/2015-06-02/description.md deleted file mode 100644 index 13d0b9d..0000000 --- a/episodes/2015-06-02/description.md +++ /dev/null @@ -1,5 +0,0 @@ -Angular is an amazing abstraction that hides away many of the complexities of dealing with the DOM, data, and XHRs. But -it's extremely valuable to know how your abstractions work to be able to use them to the greatest potential. -[Tero Parviainen](https://twitter.com/teropa), author of -[Build Your Own AngularJS](http://teropa.info/build-your-own-angular) will join us to talk about some of the unique -insights he's had as he's looked over the Angular source to determine how this amazing abstraction works. diff --git a/episodes/2015-06-02/teropa.png b/episodes/2015-06-02/teropa.png deleted file mode 100644 index d803588..0000000 Binary files a/episodes/2015-06-02/teropa.png and /dev/null differ diff --git a/episodes/2015-06-09/description.md b/episodes/2015-06-09/description.md deleted file mode 100644 index 18a0bda..0000000 --- a/episodes/2015-06-09/description.md +++ /dev/null @@ -1,5 +0,0 @@ -[TypeScript](http://www.typescriptlang.org/) is an Open Source typed superset of JavaScript created by Microsoft. Its -opt-in type system and ES6 features are so helpful and powerful, that the Angular team has adopted it for the -development of Angular 2. Even though it's not required to use TypeScript when using Angular 2, you'll likely want to -because the benefits. Join us as we talk with [Jonathan Turner](https://twitter.com/jntrnr), the Program Manager on -TypeScript. diff --git a/episodes/2015-06-09/jntrnr.png b/episodes/2015-06-09/jntrnr.png deleted file mode 100644 index cfb443f..0000000 Binary files a/episodes/2015-06-09/jntrnr.png and /dev/null differ diff --git a/episodes/2015-06-16/briantford.png b/episodes/2015-06-16/briantford.png deleted file mode 100644 index 20b5be1..0000000 Binary files a/episodes/2015-06-16/briantford.png and /dev/null differ diff --git a/episodes/2015-06-16/description.md b/episodes/2015-06-16/description.md deleted file mode 100644 index d8376ef..0000000 --- a/episodes/2015-06-16/description.md +++ /dev/null @@ -1,5 +0,0 @@ -Routing and state handling is something that every serious SPA needs. Angular's -new [router](https://github.com/angular/router) is the new answer to this need that will work for both Angular 1.x -applications as well as Angular 2.x (and everywhere in between). [Brian Ford](https://twitter.com/briantford) -from the Angular team has put the majority of the work into the new router and -we're excited to have him join us to talk about it! diff --git a/episodes/2015-06-23/description.md b/episodes/2015-06-23/description.md deleted file mode 100644 index ce85ead..0000000 --- a/episodes/2015-06-23/description.md +++ /dev/null @@ -1,3 +0,0 @@ -We'll be joined by [Victor Savkin](https://twitter.com/victorsavkin) who is leading the development on Angular 2 Forms. -He'll give us the low-down on what we need to know about forms in Angular 2. It's pretty different from Angular 1, so -this is definitely a show you do not want to miss. \ No newline at end of file diff --git a/episodes/2015-06-23/victorsavkin.png b/episodes/2015-06-23/victorsavkin.png deleted file mode 100644 index 545a483..0000000 Binary files a/episodes/2015-06-23/victorsavkin.png and /dev/null differ diff --git a/episodes/2015-06-30/description.md b/episodes/2015-06-30/description.md deleted file mode 100644 index 14d716d..0000000 --- a/episodes/2015-06-30/description.md +++ /dev/null @@ -1,3 +0,0 @@ -Accessibility on the web is something that helps all users (whether they have disabilities or not). -[Marcy Sutton](https://twitter.com/marcysutton) is passionate about accessibility and will join us to give some tips and -tricks to making accessible web applications with Angular. diff --git a/episodes/2015-06-30/marcysutton.png b/episodes/2015-06-30/marcysutton.png deleted file mode 100644 index 7a4da82..0000000 Binary files a/episodes/2015-06-30/marcysutton.png and /dev/null differ diff --git a/episodes/2015-07-07/description.md b/episodes/2015-07-07/description.md deleted file mode 100644 index fef6141..0000000 --- a/episodes/2015-07-07/description.md +++ /dev/null @@ -1,2 +0,0 @@ -We'll be joined by [Jeff Cross](https://twitter.com/jeffbcross) and [Alex Rickabaugh](https://twitter.com/synalx) who are developing future of data in Angular. -They will be giving us the low-down on what we need to know about managing data in our Angular applications. Join us as we talk about best practices and the benefits the future holds for managing data. diff --git a/episodes/2015-07-07/jeffbcross.jpg b/episodes/2015-07-07/jeffbcross.jpg deleted file mode 100644 index c1bcfa8..0000000 Binary files a/episodes/2015-07-07/jeffbcross.jpg and /dev/null differ diff --git a/episodes/2015-07-07/synalx.png b/episodes/2015-07-07/synalx.png deleted file mode 100644 index 9f12704..0000000 Binary files a/episodes/2015-07-07/synalx.png and /dev/null differ diff --git a/episodes/2015-07-14/description.md b/episodes/2015-07-14/description.md deleted file mode 100644 index 8969b5a..0000000 --- a/episodes/2015-07-14/description.md +++ /dev/null @@ -1,4 +0,0 @@ -[Kent C. Dodds](https://twitter.com/kentcdodds) is the owner and maintainer of the library called -[angular-formly](http://angular-formly.com) (a JavaScript powered forms library for Angular). It has grown in popularity -due to its promises of maintainable, simple forms with Angular. [Lukas Ruebbelke](https://twitter.com/simpulton) -(of Lukas Ruebbelke fame) will join us as the guest host! \ No newline at end of file diff --git a/episodes/2015-07-14/simpulton.png b/episodes/2015-07-14/simpulton.png deleted file mode 100644 index a892d9d..0000000 Binary files a/episodes/2015-07-14/simpulton.png and /dev/null differ diff --git a/episodes/2015-07-21/description.md b/episodes/2015-07-21/description.md deleted file mode 100644 index 361791f..0000000 --- a/episodes/2015-07-21/description.md +++ /dev/null @@ -1,3 +0,0 @@ -[Guy Bedford](https://twitter.com/guybedford), JS developer, [open source contributor](https://github.com/guybedford), -and creator of [jspm](http://jspm.io/) (a package manager for browser JavaScript) will join us to talk about the -challenges with module loading and how jspm can help with that. \ No newline at end of file diff --git a/episodes/2015-07-21/guybedford.png b/episodes/2015-07-21/guybedford.png deleted file mode 100644 index bef2172..0000000 Binary files a/episodes/2015-07-21/guybedford.png and /dev/null differ diff --git a/episodes/2015-07-28/Aimee_Knight.png b/episodes/2015-07-28/Aimee_Knight.png deleted file mode 100644 index 4c84e45..0000000 Binary files a/episodes/2015-07-28/Aimee_Knight.png and /dev/null differ diff --git a/episodes/2015-07-28/description.md b/episodes/2015-07-28/description.md deleted file mode 100644 index 1dff06f..0000000 --- a/episodes/2015-07-28/description.md +++ /dev/null @@ -1,6 +0,0 @@ -Fill-in host [Jeff Whelpley](https://twitter.com/jeffwhelpley) along with panelists -[Patrick Stapleton](https://twitter.com/gdi2290) and [Aimee Knight](https://twitter.com/Aimee_Knight) -discuss a question that nearly every Angular developer will ask themselves at some point in the next year: - -Should I use [TypeScript](http://www.typescriptlang.org/) or ES6 with [Babel](https://babeljs.io/)? - \ No newline at end of file diff --git a/episodes/2015-07-28/gdi2290.png b/episodes/2015-07-28/gdi2290.png deleted file mode 100644 index 73a292d..0000000 Binary files a/episodes/2015-07-28/gdi2290.png and /dev/null differ diff --git a/episodes/2015-07-28/jeffwhelpley.png b/episodes/2015-07-28/jeffwhelpley.png deleted file mode 100644 index 71c72f7..0000000 Binary files a/episodes/2015-07-28/jeffwhelpley.png and /dev/null differ diff --git a/episodes/2015-08-04/description.md b/episodes/2015-08-04/description.md deleted file mode 100644 index 68c8b09..0000000 --- a/episodes/2015-08-04/description.md +++ /dev/null @@ -1,5 +0,0 @@ -The one and only [Jafar Husain](https://twitter.com/jhusain) joins us to talk about [FalcorJS](https://twitter.com/falcorjs). -Jafar is a tech lead at [Netflix](https://github.com/Netflix) and he is on the -[TC-39 committee](http://www.ecma-international.org/memento/TC39.htm). He is also a champion of -[reactive programming](https://www.youtube.com/watch?v=XE692Clb5LU) and -[Observables](https://egghead.io/lessons/javascript-introducing-the-observable). \ No newline at end of file diff --git a/episodes/2015-08-04/jhusain.png b/episodes/2015-08-04/jhusain.png deleted file mode 100644 index 5d8fdfa..0000000 Binary files a/episodes/2015-08-04/jhusain.png and /dev/null differ diff --git a/episodes/2015-08-11/bahmutov.png b/episodes/2015-08-11/bahmutov.png deleted file mode 100644 index a039bb3..0000000 Binary files a/episodes/2015-08-11/bahmutov.png and /dev/null differ diff --git a/episodes/2015-08-11/description.md b/episodes/2015-08-11/description.md deleted file mode 100644 index 6e17033..0000000 --- a/episodes/2015-08-11/description.md +++ /dev/null @@ -1,4 +0,0 @@ -[Gleb Bahmutov](https://twitter.com/bahmutov), also known as "The Doctor", is fanatic about -performance, quality and developer happiness. Gleb has done some amazing work to squeeze the -highest level of performance out of Angular 1.x and he has a number of open source libraries -that help improve the quality of your web app. \ No newline at end of file diff --git a/episodes/2015-08-18/description.md b/episodes/2015-08-18/description.md deleted file mode 100644 index a4f3481..0000000 --- a/episodes/2015-08-18/description.md +++ /dev/null @@ -1,3 +0,0 @@ -Friends of the show, [Martin Gontovnikas](https://twitter.com/mgonto) and [Geoff Goodman](https://twitter.com/g_goodman), -come on the show along with their boss, [Matias Woloski](https://twitter.com/woloski) to talk about Auth0 -and all things security. \ No newline at end of file diff --git a/episodes/2015-08-18/g_goodman.png b/episodes/2015-08-18/g_goodman.png deleted file mode 100644 index 3d0927e..0000000 Binary files a/episodes/2015-08-18/g_goodman.png and /dev/null differ diff --git a/episodes/2015-08-18/mgonto.png b/episodes/2015-08-18/mgonto.png deleted file mode 100644 index 71371da..0000000 Binary files a/episodes/2015-08-18/mgonto.png and /dev/null differ diff --git a/episodes/2015-08-18/woloski.png b/episodes/2015-08-18/woloski.png deleted file mode 100644 index 0e57cab..0000000 Binary files a/episodes/2015-08-18/woloski.png and /dev/null differ diff --git a/episodes/2015-08-25/description.md b/episodes/2015-08-25/description.md deleted file mode 100644 index 8f6ccd3..0000000 --- a/episodes/2015-08-25/description.md +++ /dev/null @@ -1,3 +0,0 @@ -The creator of [RxJS](https://github.com/Reactive-Extensions/RxJS), -[Matt Podwysocki](https://twitter.com/mattpodwysocki), joins us to talk about Reactive programming -and its influence in Angular 2. \ No newline at end of file diff --git a/episodes/2015-08-25/mattpodwysocki.png b/episodes/2015-08-25/mattpodwysocki.png deleted file mode 100644 index 5c68e9e..0000000 Binary files a/episodes/2015-08-25/mattpodwysocki.png and /dev/null differ diff --git a/episodes/2015-09-01/ChrisThielen.png b/episodes/2015-09-01/ChrisThielen.png deleted file mode 100644 index 4f14a0f..0000000 Binary files a/episodes/2015-09-01/ChrisThielen.png and /dev/null differ diff --git a/episodes/2015-09-01/description.md b/episodes/2015-09-01/description.md deleted file mode 100644 index d32fb72..0000000 --- a/episodes/2015-09-01/description.md +++ /dev/null @@ -1,2 +0,0 @@ -Of all the libraries for building big applications, [ui-router](https://github.com/angular-ui/ui-router) is one of the -most used of them all. Join us as we talk with two of the maintainers to this invaluable Angular router. diff --git a/episodes/2015-09-01/nateabele.png b/episodes/2015-09-01/nateabele.png deleted file mode 100644 index 66a3099..0000000 Binary files a/episodes/2015-09-01/nateabele.png and /dev/null differ diff --git a/episodes/2015-09-08/description.md b/episodes/2015-09-08/description.md deleted file mode 100644 index 74dcdbb..0000000 --- a/episodes/2015-09-08/description.md +++ /dev/null @@ -1 +0,0 @@ -The Angular Air panelists talk about Angular 1.x Fundamentals. \ No newline at end of file diff --git a/episodes/2015-09-08/mgechev.png b/episodes/2015-09-08/mgechev.png deleted file mode 100644 index ef466cd..0000000 Binary files a/episodes/2015-09-08/mgechev.png and /dev/null differ diff --git a/episodes/2015-09-15/angularGrid.png b/episodes/2015-09-15/angularGrid.png deleted file mode 100644 index e818ad6..0000000 Binary files a/episodes/2015-09-15/angularGrid.png and /dev/null differ diff --git a/episodes/2015-09-15/description.md b/episodes/2015-09-15/description.md deleted file mode 100644 index e4dcaba..0000000 --- a/episodes/2015-09-15/description.md +++ /dev/null @@ -1,4 +0,0 @@ -A really common component in many business applications for data display is a data grid. This is really hard to do in a -way that performs well. After a lot of hard work, [Niall Crosby](https://twitter.com/angularGrid) has come up with -something really impressive. We'll be chatting with him about how he did it and what -[ag-Grid](http://www.angulargrid.com) can do for you. diff --git a/episodes/2015-09-22/description.md b/episodes/2015-09-22/description.md deleted file mode 100644 index 4831fd2..0000000 --- a/episodes/2015-09-22/description.md +++ /dev/null @@ -1,2 +0,0 @@ -We welcome back fan favorite Minko Gechev to discuss the popular -[Immutable.js](https://facebook.github.io/immutable-js/) library and its use in Angular 1 and Angular 2. \ No newline at end of file diff --git a/episodes/2015-09-22/mgechev.png b/episodes/2015-09-22/mgechev.png deleted file mode 100644 index ef466cd..0000000 Binary files a/episodes/2015-09-22/mgechev.png and /dev/null differ diff --git a/episodes/2015-09-29/description.md b/episodes/2015-09-29/description.md deleted file mode 100644 index 2fd9f95..0000000 --- a/episodes/2015-09-29/description.md +++ /dev/null @@ -1 +0,0 @@ -TBD \ No newline at end of file diff --git a/favicon-16x16.png b/favicon-16x16.png new file mode 100644 index 0000000..ad2b0c3 Binary files /dev/null and b/favicon-16x16.png differ diff --git a/favicon-32x32.png b/favicon-32x32.png new file mode 100644 index 0000000..7ff5737 Binary files /dev/null and b/favicon-32x32.png differ diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000..e89e690 Binary files /dev/null and b/favicon.ico differ diff --git a/favicon.png b/favicon.png deleted file mode 100644 index 98d3cf6..0000000 Binary files a/favicon.png and /dev/null differ diff --git a/index.html b/index.html index f08b039..7676c54 100644 --- a/index.html +++ b/index.html @@ -1,175 +1,15 @@ - - - - - - - Angular Air - - - - - - -Google+ -
-

Loading Angular Air...

-
-
- - -
-

Angular Air

- -

- A live video podcast all about Angular -

-
- -
- - - -
- - -
-

Episodes

- -
-
-

- {{::episode.title}} -
- - {{::episode.displayDate}} - - {{::episode.time}} - - - (Time TBA) - - -

-
- - Sign up here to watch live! - - - Stay tuned for a hangouts link! - -
- -
-
-
-

Episode Sponsor{{episode.sponsors.length > 1 ? 's' : ''}}

- -
-
-
-
-
- -
- -
-

Past Episodes

- -
- -
- - - -
-

Host

- -
- Angular Air is hosted by - egghead.io instructor - Kent C. Dodds -
-
- -
- -
-

Panelists

- -
- Angular Air has a panel of some of the most awesome Angular developers the community has to offer -
-
- -
- -
- - -
- -
- - - - - - - - - - - - - - +Angular Air

A live stream on YouTube about all things Angular (by Google), a JavaScript platform for building mobile and desktop web applications.

Watch on YouTube at

Hosted by

Alyssa Nicoll Avatar Image

Alyssa Nicoll
@AlyssaNicoll

Justin Schwartzenberger Avatar Image

Justin Schwartzenberger
@schwarty

Mike Brocci Avatar Image

Mike Brocchi
@brocco

Connect with us on Twitter at

\ No newline at end of file diff --git a/index_raw.html b/index_raw.html new file mode 100644 index 0000000..71b4b31 --- /dev/null +++ b/index_raw.html @@ -0,0 +1,356 @@ + + + + + + + + Angular Air + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+

+ A live stream on YouTube about all things Angular (by Google), a JavaScript platform for building mobile and desktop web applications.
+

+

Watch on YouTube at

+ +
+
+

Hosted by

+ + Alyssa Nicoll Avatar Image +

Alyssa Nicoll
@AlyssaNicoll

+
+ + Justin Schwartzenberger Avatar Image +

Justin Schwartzenberger
@schwarty

+
+ + Mike Brocci Avatar Image +

Mike Brocchi
@brocco

+
+
+ +
+

Connect with us on Twitter at

+ +
+
+ + + + + diff --git a/kentcdodds.png b/kentcdodds.png deleted file mode 100644 index 6cc6b1d..0000000 Binary files a/kentcdodds.png and /dev/null differ diff --git a/logo.png b/logo.png deleted file mode 100644 index 334f262..0000000 Binary files a/logo.png and /dev/null differ diff --git a/markdown.min.js b/markdown.min.js deleted file mode 100644 index 68a1b45..0000000 --- a/markdown.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){function b(){return"Markdown.mk_block( "+uneval(this.toString())+", "+uneval(this.trailing)+", "+uneval(this.lineNumber)+" )"}function c(){var a=require("util");return"Markdown.mk_block( "+a.inspect(this.toString())+", "+a.inspect(this.trailing)+", "+a.inspect(this.lineNumber)+" )"}function d(a){for(var b=0,c=-1;-1!==(c=a.indexOf("\n",c+1));)b++;return b}function e(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function f(a){if("string"==typeof a)return e(a);var b=a.shift(),c={},d=[];for(!a.length||"object"!=typeof a[0]||a[0]instanceof Array||(c=a.shift());a.length;)d.push(f(a.shift()));var g="";for(var h in c)g+=" "+h+'="'+e(c[h])+'"';return"img"===b||"br"===b||"hr"===b?"<"+b+g+"/>":"<"+b+g+">"+d.join("")+""}function g(a,b,c){var d;c=c||{};var e=a.slice(0);"function"==typeof c.preprocessTreeNode&&(e=c.preprocessTreeNode(e,b));var f=o(e);if(f){e[1]={};for(d in f)e[1][d]=f[d];f=e[1]}if("string"==typeof e)return e;switch(e[0]){case"header":e[0]="h"+e[1].level,delete e[1].level;break;case"bulletlist":e[0]="ul";break;case"numberlist":e[0]="ol";break;case"listitem":e[0]="li";break;case"para":e[0]="p";break;case"markdown":e[0]="html",f&&delete f.references;break;case"code_block":e[0]="pre",d=f?2:1;var h=["code"];h.push.apply(h,e.splice(d,e.length-d)),e[d]=h;break;case"inlinecode":e[0]="code";break;case"img":e[1].src=e[1].href,delete e[1].href;break;case"linebreak":e[0]="br";break;case"link":e[0]="a";break;case"link_ref":e[0]="a";var i=b[f.ref];if(!i)return f.original;delete f.ref,f.href=i.href,i.title&&(f.title=i.title),delete f.original;break;case"img_ref":e[0]="img";var i=b[f.ref];if(!i)return f.original;delete f.ref,f.src=i.href,i.title&&(f.title=i.title),delete f.original}if(d=1,f){for(var j in e[1]){d=2;break}1===d&&e.splice(d,1)}for(;d1&&"object"==typeof a[1]&&!l(a[1])?a[1]:void 0};var m=function(a){switch(typeof a){case"undefined":this.dialect=m.dialects.Gruber;break;case"object":this.dialect=a;break;default:if(!(a in m.dialects))throw new Error("Unknown Markdown dialect '"+String(a)+"'");this.dialect=m.dialects[a]}this.em_state=[],this.strong_state=[],this.debug_indent=""};m.dialects={};var n=m.mk_block=k.mk_block,l=k.isArray;m.parse=function(a,b){var c=new m(b);return c.toTree(a)},m.prototype.split_blocks=function(a){a=a.replace(/(\r\n|\n|\r)/g,"\n");var b,c=/([\s\S]+?)($|\n#|\n(?:\s*\n|$)+)/g,e=[],f=1;for(null!==(b=/^(\s*\n)/.exec(a))&&(f+=d(b[0]),c.lastIndex=b[0].length);null!==(b=c.exec(a));)"\n#"===b[2]&&(b[2]="\n",c.lastIndex--),e.push(n(b[1],b[2],f)),f+=d(b[0]);return e},m.prototype.processBlock=function(a,b){var c=this.dialect.block,d=c.__order__;if("__call__"in c)return c.__call__.call(this,a,b);for(var e=0;e0&&!l(f[0]))&&this.debug(d[e],"didn't return a proper array"),f}return[]},m.prototype.processInline=function(a){return this.dialect.inline.__call__.call(this,String(a))},m.prototype.toTree=function(a,b){var c=a instanceof Array?a:this.split_blocks(a),d=this.tree;try{for(this.tree=b||this.tree||["markdown"];c.length;){var e=this.processBlock(c.shift(),c);e.length&&this.tree.push.apply(this.tree,e)}return this.tree}finally{b&&(this.tree=d)}},m.prototype.debug=function(){var a=Array.prototype.slice.call(arguments);a.unshift(this.debug_indent),"undefined"!=typeof print&&print.apply(print,a),"undefined"!=typeof console&&"undefined"!=typeof console.log&&console.log.apply(null,a)},m.prototype.loop_re_over_block=function(a,b,c){for(var d,e=b.valueOf();e.length&&null!==(d=a.exec(e));)e=e.substr(d[0].length),c.call(this,d);return e},m.buildBlockOrder=function(a){var b=[];for(var c in a)"__order__"!==c&&"__call__"!==c&&b.push(c);a.__order__=b},m.buildInlinePatterns=function(a){var b=[];for(var c in a)if(!c.match(/^__.*__$/)){var d=c.replace(/([\\.*+?|()\[\]{}])/g,"\\$1").replace(/\n/,"\\n");b.push(1===c.length?d:"(?:"+d+")")}b=b.join("|"),a.__patterns__=b;var e=a.__call__;a.__call__=function(a,c){return void 0!==c?e.call(this,a,c):e.call(this,a,b)}};var o=k.extract_attr;m.renderJsonML=function(a,b){b=b||{},b.root=b.root||!1;var c=[];if(b.root)c.push(f(a));else for(a.shift(),!a.length||"object"!=typeof a[0]||a[0]instanceof Array||a.shift();a.length;)c.push(f(a.shift()));return c.join("\n\n")},m.toHTMLTree=function(a,b,c){"string"==typeof a&&(a=this.parse(a,b));var d=o(a),e={};d&&d.references&&(e=d.references);var f=g(a,e,c);return h(f),f},m.toHTML=function(a,b,c){var d=this.toHTMLTree(a,b,c);return this.renderJsonML(d)};var p={};p.inline_until_char=function(a,b){for(var c=0,d=[];;){if(a.charAt(c)===b)return c++,[c,d];if(c>=a.length)return null;var e=this.dialect.inline.__oneElement__.call(this,a.substr(c));c+=e[0],d.push.apply(d,e.slice(1))}},p.subclassDialect=function(a){function b(){}function c(){}return b.prototype=a.block,c.prototype=a.inline,{block:new b,inline:new c}};var q=k.forEach,o=k.extract_attr,n=k.mk_block,r=k.isEmpty,s=p.inline_until_char,t={block:{atxHeader:function(a,b){var c=a.match(/^(#{1,6})\s*(.*?)\s*#*\s*(?:\n|$)/);if(!c)return void 0;var d=["header",{level:c[1].length}];return Array.prototype.push.apply(d,this.processInline(c[2])),c[0].length1&&c.unshift(d);for(var f=0;f1&&"string"==typeof e[e.length-1]?e[e.length-1]+=g:e.push(g)}}function d(a,b){for(var c=new RegExp("^("+i+"{"+a+"}.*?\\n?)*$"),d=new RegExp("^"+i+"{"+a+"}","gm"),e=[];b.length>0&&c.exec(b[0]);){var f=b.shift(),g=f.replace(d,"");e.push(n(g,f.trailing,f.lineNumber))}return e}function e(a,b,c){var d=a.list,e=d[d.length-1];if(!(e[1]instanceof Array&&"para"===e[1][0]))if(b+1===c.length)e.push(["para"].concat(e.splice(1,e.length-1)));else{var f=e.pop();e.push(["para"].concat(e.splice(1,e.length-1)),f)}}var f="[*+-]|\\d+\\.",g=/[*+-]/,h=new RegExp("^( {0,3})("+f+")[ ]+"),i="(?: {0,3}\\t| {4})";return function(f,i){function j(a){var b=g.exec(a[2])?["bulletlist"]:["numberlist"];return n.push({list:b,indent:a[1]}),b}var k=f.match(h);if(!k)return void 0;for(var l,m,n=[],o=j(k),p=!1,r=[n[0].list];;){for(var s=f.split(/(?=\n)/),t="",u="",v=0;vn.length)o=j(k),l.push(o),l=o[1]=["listitem"];else{var z=!1;for(m=0;mk[0].length&&(t+=u+w.substr(k[0].length))}t.length&&(c(l,p,this.processInline(t),u),p=!1,t="");var A=d(n.length,i);A.length>0&&(q(n,e,this),l.push.apply(l,this.toTree(A,[])));var B=i[0]&&i[0].valueOf()||"";if(!B.match(h)&&!B.match(/^ /))break;f=i.shift();var C=this.dialect.block.horizRule(f,i);if(C){r.push.apply(r,C);break}q(n,e,this),p=!0}return r}}(),blockquote:function(a,b){if(!a.match(/^>/m))return void 0;var c=[];if(">"!==a[0]){for(var d=a.split(/\n/),e=[],f=a.lineNumber;d.length&&">"!==d[0][0];)e.push(d.shift()),f++;var g=n(e.join("\n"),"\n",a.lineNumber);c.push.apply(c,this.processBlock(g,[])),a=n(d.join("\n"),a.trailing,f)}for(;b.length&&">"===b[0][0];){var h=b.shift();a=n(a+a.trailing+h,h.trailing,a.lineNumber)}var i=a.replace(/^> ?/gm,""),j=(this.tree,this.toTree(i,["blockquote"])),k=o(j);return k&&k.references&&(delete k.references,r(k)&&j.splice(1,1)),c.push(j),c},referenceDefn:function(a,b){var c=/^\s*\[(.*?)\]:\s*(\S+)(?:\s+(?:(['"])(.*?)\3|\((.*?)\)))?\n?/;if(!a.match(c))return void 0;o(this.tree)||this.tree.splice(1,0,{});var d=o(this.tree);void 0===d.references&&(d.references={});var e=this.loop_re_over_block(c,a,function(a){a[2]&&"<"===a[2][0]&&">"===a[2][a[2].length-1]&&(a[2]=a[2].substring(1,a[2].length-1));var b=d.references[a[1].toLowerCase()]={href:a[2]};void 0!==a[4]?b.title=a[4]:void 0!==a[5]&&(b.title=a[5])});return e.length&&b.unshift(n(e,a.trailing)),[]},para:function(a){return[["para"].concat(this.processInline(a))]}},inline:{__oneElement__:function(a,b,c){var d,e;b=b||this.dialect.inline.__patterns__;var f=new RegExp("([\\s\\S]*?)("+(b.source||b)+")");if(d=f.exec(a),!d)return[a.length,a];if(d[1])return[d[1].length,d[1]];var e;return d[2]in this.dialect.inline&&(e=this.dialect.inline[d[2]].call(this,a.substr(d.index),d,c||[])),e=e||[d[2].length,d[2]]},__call__:function(a,b){function c(a){"string"==typeof a&&"string"==typeof e[e.length-1]?e[e.length-1]+=a:e.push(a)}for(var d,e=[];a.length>0;)d=this.dialect.inline.__oneElement__.call(this,a,b,e),a=a.substr(d.shift()),q(d,c);return e},"]":function(){},"}":function(){},__escape__:/^\\[\\`\*_{}\[\]()#\+.!\-]/,"\\":function(a){return this.dialect.inline.__escape__.exec(a)?[2,a.charAt(1)]:[1,"\\"]},"![":function(a){var b=a.match(/^!\[(.*?)\][ \t]*\([ \t]*([^")]*?)(?:[ \t]+(["'])(.*?)\3)?[ \t]*\)/);if(b){b[2]&&"<"===b[2][0]&&">"===b[2][b[2].length-1]&&(b[2]=b[2].substring(1,b[2].length-1)),b[2]=this.dialect.inline.__call__.call(this,b[2],/\\/)[0];var c={alt:b[1],href:b[2]||""};return void 0!==b[4]&&(c.title=b[4]),[b[0].length,["img",c]]}return b=a.match(/^!\[(.*?)\][ \t]*\[(.*?)\]/),b?[b[0].length,["img_ref",{alt:b[1],ref:b[2].toLowerCase(),original:b[0]}]]:[2,"!["]},"[":function v(a){var b=String(a),c=s.call(this,a.substr(1),"]");if(!c)return[1,"["];var v,d,e=1+c[0],f=c[1];a=a.substr(e);var g=a.match(/^\s*\([ \t]*([^"']*)(?:[ \t]+(["'])(.*?)\2)?[ \t]*\)/);if(g){var h=g[1];if(e+=g[0].length,h&&"<"===h[0]&&">"===h[h.length-1]&&(h=h.substring(1,h.length-1)),!g[3])for(var i=1,j=0;j]+)|(.*?@.*?\.[a-zA-Z]+))>/))?b[3]?[b[0].length,["link",{href:"mailto:"+b[3]},b[3]]]:"mailto"===b[2]?[b[0].length,["link",{href:b[1]},b[1].substr("mailto:".length)]]:[b[0].length,["link",{href:b[1]},b[1]]]:[1,"<"]},"`":function(a){var b=a.match(/(`+)(([\s\S]*?)\1)/);return b&&b[2]?[b[1].length+b[2].length,["inlinecode",b[3]]]:[1,"`"]}," \n":function(){return[3,["linebreak"]]}}};t.inline["**"]=i("strong","**"),t.inline.__=i("strong","__"),t.inline["*"]=i("em","*"),t.inline._=i("em","_"),m.dialects.Gruber=t,m.buildBlockOrder(m.dialects.Gruber.block),m.buildInlinePatterns(m.dialects.Gruber.inline);var u=p.subclassDialect(t),o=k.extract_attr,q=k.forEach;u.processMetaHash=function(a){for(var b=j(a),c={},d=0;d1)return void 0;if(!a.match(/^(?:\w+:.*\n)*\w+:.*$/))return void 0;o(this.tree)||this.tree.splice(1,0,{});var b=a.split(/\n/);for(var c in b){var d=b[c].match(/(\w+):\s*(.*)$/),e=d[1].toLowerCase(),f=d[2];this.tree[1][e]=f}return[]},u.block.block_meta=function(a){var b=a.match(/(^|\n) {0,3}\{:\s*((?:\\\}|[^\}])*)\s*\}$/);if(!b)return void 0;var c,d=this.dialect.processMetaHash(b[2]);if(""===b[1]){var e=this.tree[this.tree.length-1];if(c=o(e),"string"==typeof e)return void 0;c||(c={},e.splice(1,0,c));for(var f in d)c[f]=d[f];return[]}var g=a.replace(/\n.*$/,""),h=this.processBlock(g,[]);c=o(h[0]),c||(c={},h[0].splice(1,0,c));for(var f in d)c[f]=d[f];return h},u.block.definition_list=function(a,b){var c,d,e=/^((?:[^\s:].*\n)+):\s+([\s\S]+)$/,f=["dl"];if(!(d=a.match(e)))return void 0;for(var g=[a];b.length&&e.exec(b[0]);)g.push(b.shift());for(var h=0;h=0.5.1" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "finalhandler": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", + "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.3.1", + "unpipe": "~1.0.0" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=", + "dev": true + }, + "fsevents": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz", + "integrity": "sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true, + "optional": true + }, + "minipass": { + "version": "2.3.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.2.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.10.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.6.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "yallist": { + "version": "3.0.3", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "html-minifier": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", + "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", + "dev": true, + "requires": { + "camel-case": "3.0.x", + "clean-css": "4.2.x", + "commander": "2.17.x", + "he": "1.2.x", + "param-case": "2.1.x", + "relateurl": "0.2.x", + "uglify-js": "3.4.x" + } + }, + "http-auth": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/http-auth/-/http-auth-3.1.3.tgz", + "integrity": "sha1-lFz63WZSHq+PfISRPTd9exXyTjE=", + "dev": true, + "requires": { + "apache-crypt": "^1.1.2", + "apache-md5": "^1.0.6", + "bcryptjs": "^2.3.0", + "uuid": "^3.0.0" + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "dependencies": { + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + } + } + }, + "http-parser-js": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz", + "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "live-server": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/live-server/-/live-server-1.2.1.tgz", + "integrity": "sha512-Yn2XCVjErTkqnM3FfTmM7/kWy3zP7+cEtC7x6u+wUzlQ+1UW3zEYbbyJrc0jNDwiMDZI0m4a0i3dxlGHVyXczw==", + "dev": true, + "requires": { + "chokidar": "^2.0.4", + "colors": "^1.3.3", + "connect": "^3.6.6", + "cors": "^2.8.5", + "event-stream": "3.3.4", + "faye-websocket": "0.11.x", + "http-auth": "3.1.x", + "morgan": "^1.9.1", + "object-assign": "^4.1.1", + "opn": "^5.4.0", + "proxy-middleware": "^0.15.0", + "send": "^0.16.2", + "serve-index": "^1.9.1" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", + "dev": true + }, + "mime-db": { + "version": "1.38.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.38.0.tgz", + "integrity": "sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg==", + "dev": true + }, + "mime-types": { + "version": "2.1.22", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.22.tgz", + "integrity": "sha512-aGl6TZGnhm/li6F7yx82bJiBZwgiEa4Hf6CNr8YO+r5UHr53tSTYZb102zyU50DOWWKeOv0uQLRL0/9EiKWCog==", + "dev": true, + "requires": { + "mime-db": "~1.38.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "morgan": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", + "integrity": "sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==", + "dev": true, + "requires": { + "basic-auth": "~2.0.0", + "debug": "2.6.9", + "depd": "~1.1.2", + "on-finished": "~2.3.0", + "on-headers": "~1.0.1" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "nan": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.1.tgz", + "integrity": "sha512-I6YB/YEuDeUZMmhscXKxGgZlFnhsn5y0hgOZBadkzfTRrZBtJDZeg6eQf7PYMIEclwmorTKK8GztsyOUSVBREA==", + "dev": true, + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "negotiator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", + "dev": true + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "requires": { + "lower-case": "^1.1.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true + }, + "opn": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.4.0.tgz", + "integrity": "sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, + "requires": { + "no-case": "^2.2.0" + } + }, + "parseurl": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", + "dev": true, + "requires": { + "through": "~2.3" + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true + }, + "proxy-middleware": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/proxy-middleware/-/proxy-middleware-0.15.0.tgz", + "integrity": "sha1-o/3xvvtzD5UZZYcqwvYHTGFHelY=", + "dev": true + }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "send": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.6.2", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.4.0" + }, + "dependencies": { + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "dev": true + } + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + } + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "dev": true, + "requires": { + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", + "dev": true, + "requires": { + "through": "2" + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", + "dev": true + }, + "stream-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", + "dev": true, + "requires": { + "duplexer": "~0.1.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "uglify-js": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", + "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", + "dev": true, + "requires": { + "commander": "~2.19.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "unix-crypt-td-js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unix-crypt-td-js/-/unix-crypt-td-js-1.0.0.tgz", + "integrity": "sha1-HAgkFQSBvHoB1J6Y8exmjYJBLzs=", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "upath": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz", + "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==", + "dev": true + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "dev": true + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, + "websocket-driver": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", + "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "dev": true, + "requires": { + "http-parser-js": ">=0.4.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", + "dev": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..7c2e3e1 --- /dev/null +++ b/package.json @@ -0,0 +1,25 @@ +{ + "name": "angularair.github.io", + "version": "1.0.0", + "description": "Website for Angular Air", + "main": "index.html", + "scripts": { + "start": "live-server", + "build": "npm run minify:html", + "minify:html": "html-minifier --minify-css --collapse-whitespace --remove-comments --remove-optional-tags --remove-redundant-attributes --remove-script-type-attributes --remove-tag-whitespace --use-short-doctype index_raw.html -o index.html" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/angularair/angularair.github.io.git" + }, + "author": "Justin Schwartzenberger", + "license": "ISC", + "bugs": { + "url": "https://github.com/angularair/angularair.github.io/issues" + }, + "homepage": "https://github.com/angularair/angularair.github.io#readme", + "devDependencies": { + "html-minifier": "^3.5.21", + "live-server": "^1.2.1" + } +} diff --git a/panel/Aimee_Knight.png b/panel/Aimee_Knight.png deleted file mode 100644 index 4c84e45..0000000 Binary files a/panel/Aimee_Knight.png and /dev/null differ diff --git a/panel/CarmenPopoviciu.png b/panel/CarmenPopoviciu.png deleted file mode 100644 index 13a32a6..0000000 Binary files a/panel/CarmenPopoviciu.png and /dev/null differ diff --git a/panel/gdi2290.png b/panel/gdi2290.png deleted file mode 100644 index 73a292d..0000000 Binary files a/panel/gdi2290.png and /dev/null differ diff --git a/panel/jeffwhelpley.png b/panel/jeffwhelpley.png deleted file mode 100644 index 71c72f7..0000000 Binary files a/panel/jeffwhelpley.png and /dev/null differ diff --git a/panel/ocombe.png b/panel/ocombe.png deleted file mode 100644 index 4567a39..0000000 Binary files a/panel/ocombe.png and /dev/null differ diff --git a/panel/scotups.png b/panel/scotups.png deleted file mode 100644 index b3ffde3..0000000 Binary files a/panel/scotups.png and /dev/null differ diff --git a/robots.txt b/robots.txt new file mode 100644 index 0000000..6396442 --- /dev/null +++ b/robots.txt @@ -0,0 +1,2 @@ +User-Agent: * +Disallow: /index_raw.html \ No newline at end of file diff --git a/safari-pinned-tab.svg b/safari-pinned-tab.svg new file mode 100644 index 0000000..0d11139 --- /dev/null +++ b/safari-pinned-tab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/script.js b/script.js deleted file mode 100644 index 031e9cb..0000000 --- a/script.js +++ /dev/null @@ -1,647 +0,0 @@ -/* global angular, markdown */ -/* eslint no-var:0 */ -(function() { - 'use strict'; - - var app = angular.module('ngAir', []); - app.constant('markdown', markdown); - - app.factory('markdownGetter', function markdownGetter($http, markdown) { - return { - getDescription: getMarkdownFileGetter('description.md'), - getSponsorship: getMarkdownFileGetter('sponsorship.md') - }; - - function getMarkdownFileGetter(fileName) { - return function getMarkdownFile(episodeDate) { - return $http.get('episodes/' + episodeDate + '/' + fileName).then(function(response) { - return markdown.toHTML(response.data, 'Maruku'); - }); - }; - } - }); - - app.controller('MainCtrl', function MainCtrl(markdownGetter, $sce) { - var vm = this; - - vm.hosts = [ - [ - { - name: 'Kent C. Dodds', - twitter: 'kentcdodds', - avatar: 'kentcdodds.png' - } - ] - ]; - - vm.panelists = [ - [ - {name: 'Olivier Combe', twitter: 'ocombe'}, - {name: 'Aimee Knight', twitter: 'Aimee_Knight'}, - {name: 'Scott Moss', twitter: 'scotups'} - ], - [ - {name: 'Carmen Popoviciu', twitter: 'CarmenPopoviciu'}, - {name: 'Patrick Stapleton', twitter: 'gdi2290'}, - {name: 'Jeff Whelpley', twitter: 'jeffwhelpley'} - ] - ]; - - vm.episodes = [ - { - title: 'Immutable.js with Angular', - displayDate: 'Tuesday, September 22nd, 2015', - date: '2015-09-22', - time: '11:00 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/events/cv8l70o6msbta0pcd0g1924aimo', - guests: [ - [ - {name: 'Minko Gechev', twitter: 'mgechev'} - ] - ] - }, - { - title: 'TBD', - displayDate: 'Tuesday, Septebmer 29th, 2015', - date: '2015-09-29', - time: '11:00 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/events/cnqln1vv6c1mji6gph8q6nvggss', - guests: [ - [] - ] - } - ]; - - vm.pastEpisodes = [ - { - title: 'The Angular Team on 1.3 & 2.0', - displayDate: 'Friday, November 14th, 2014', - date: '2014-11-14', - time: '2:00 PM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/u/0/events/c2182d3bec32vs4jim7r8smc1q4', - guests: [ - [ - {name: 'Bradly Green', twitter: 'bradlygreen'}, - {name: 'Miško Hevery', twitter: 'mhevery'} - ], - [ - {name: 'Igor Minar', twitter: 'IgorMinar'}, - {name: 'Pete Bacon Darwin', twitter: 'petebd'} - ] - ] - }, - { - title: 'Hitting the Ground Running with Angular', - displayDate: 'Tuesday, December 2nd, 2014', - date: '2014-12-02', - time: '11:00 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/u/0/events/cg90utbgkqg89fg43k62kav02v4', - guests: [ - [ - {name: 'John Lindquist', twitter: 'johnlindquist'} - ] - ] - }, - { - title: 'Angular DevTools', - displayDate: 'Tuesday, December 16th, 2014', - date: '2014-12-16', - time: '11:00 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/events/c6hntmhpemnkna04svmer2jnca8', - guests: [ - [ - {name: 'Brian Ford', twitter: 'briantford'} - ] - ], - sponsors: [ - [ - {name: 'ShirtJS', website: 'http://shirtjs.com/'} - ] - ] - }, - { - title: 'Staying up with AngularJS', - displayDate: 'Tuesday, January 13th, 2015', - date: '2015-01-13', - time: '11:00 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/events/cue886f2907d6l1avj1o2159j68', - guests: [ - [ - {name: 'Air Lerner', twitter: 'auser'} - ] - ], - sponsors: [ - [ - {name: 'ReactWeek', website: 'http://reactweek.com/', noCircle: true} - ] - ] - }, - { - title: 'Angular Community and Organizing ng-conf', - displayDate: 'Tuesday, January 27th, 2015', - date: '2015-01-27', - time: '11:00 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/events/cto0heinllidfpqqtmlvputrvlg', - guests: [ - [ - {name: 'Joe Eames', twitter: 'josepheames'}, - {name: 'Aaron Frost', twitter: 'js_dev'} - ], - [ - {name: 'Kip Lawrence', twitter: 'mightykip'}, - {name: 'Dave Geddes', twitter: 'geddski'}, - {name: 'Merrick Christensen', twitter: 'iammerrick'} - ] - ] - }, - { - title: 'On-site ng-nl broadcast', - displayDate: 'Friday, February 13th, 2015', - date: '2015-02-13', - time: '3:30 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/events/c1iuqnqrrbumg08vrmgk6fpmeao', - guests: [ - [ - {name: 'NG-NL', twitter: 'ngnlconf', noCircle: true} - ] - ] - }, - { - title: 'Ionic Framework', - displayDate: 'Tuesday, March 17th, 2015', - date: '2015-03-17', - time: '11:00 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/events/cmhq7mqarkoful8u7iusbjsdjtk', - guests: [ - [ - {name: 'Adam Bradley', twitter: 'adamdbradley'}, - {name: 'Mike Hartington', twitter: 'mhartington'} - ], - [ - {name: 'Max Lynch', twitter: 'maxlynch'}, - {name: 'Ben Sperry', twitter: 'benjsperry'} - ] - ] - }, - { - title: 'Developing Open Source Angular Libraries', - displayDate: 'Tuesday, March 24th, 2015', - date: '2015-03-24', - time: '11:00 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/events/c8vsorqvlsoi4r12m60l0fs22c4', - guests: [ - [ - {name: 'Jason Dobry', twitter: 'jmdobry'}, - {name: 'Olivier Combe', twitter: 'OCombe'} - ] - ] - }, - { - title: 'i18n with Angular', - displayDate: 'Tuesday, March 31st, 2015', - date: '2015-03-31', - time: '11:00 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/events/cpn5hnihfuh175tbtbe3i75msgc', - guests: [ - [ - {name: 'Pascal Precht', twitter: 'PascalPrecht'}, - {name: 'Chirayu Krishnappa', twitter: 'chirayuk'} - ] - ] - }, - { - title: 'Contributing to Angular', - displayDate: 'Tuesday, April 7th, 2015', - date: '2015-04-07', - time: '11:00 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/events/cmoqjb7tmeaai8ugc5i2j81fpm8', - guests: [ - [ - {name: 'Pawel Kozolowski', twitter: 'pkozlowski_os'}, - {name: 'Rodric Haddad', twitter: 'rodyhaddad'} - ] - ] - }, - { - title: 'Testing with Angular', - displayDate: 'Tuesday, April 14th, 2015', - date: '2015-04-14', - time: '11:00 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/events/cb42tejb88eliamj65o2ogh12qo', - guests: [ - [ - {name: 'Andres Dominguez', twitter: 'andresdom'}, - {name: 'Julie Ralph', twitter: 'SomeJulie'}, - {name: 'Zan Thrash', twitter: 'zanthrash'} - ] - ] - }, - { - title: 'Introducing the Angular Air Panel', - displayDate: 'Tuesday, April 21st, 2015', - date: '2015-04-21', - time: '11:00 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/events/ckq1tk7s4h3dk97n0co8jst305s', - guests: vm.panelists - }, - { - title: 'Angular 2 Alpha', - displayDate: 'Tuesday, April 28th, 2015', - date: '2015-04-28', - time: '11:00 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/events/cpa0ojla7fkk8mfi6h0e0gm2ejo', - guests: [ - [ - {name: 'Jeff Whelpley', twitter: 'jeffwhelpley'}, - {name: 'Patrick Stapleton', twitter: 'gdi2290'}, - {name: 'Rob Wormald', twitter: 'robwormald'} - ] - ] - }, - { - title: 'Angular and Firebase', - displayDate: 'Tuesday, May 5th, 2015', - date: '2015-05-05', - time: '11:00 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/events/ctgocfv62l6lj1gj1ijus0hfl20', - guests: [ - [ - {name: 'David East', twitter: '_davideast', avatar: 'episodes/2015-05-05/davideast.png'}, - {name: 'Jacob Wenger', twitter: '_jwngr', avatar: 'episodes/2015-05-05/jwngr.png'}, - {name: 'Kato Richardson', twitter: 'katowulf'} - ] - ] - }, - { - title: 'Angular Apps, JavaScript, and Search Optimization', - displayDate: 'Tuesday, May 12th, 2015', - date: '2015-05-12', - time: '11:00 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/events/ci85lav8bdnjl356n5o0fkegb44', - guests: [ - [ - {name: 'Adam Audette', twitter: 'audette'}, - {name: 'John Mueller', twitter: 'johnmu'}, - {name: 'Jody J. O\'Donnell', twitter: 'gimpslice'}, - {name: 'Max Prin', twitter: 'maxxeight'} - ] - ] - }, - { - title: 'Architecting huge Angular apps', - displayDate: 'Tuesday, May 19th, 2015', - date: '2015-05-19', - time: '11:00 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/events/c7f6uq69p09v6jdvb0635pf7hok', - guests: [ - [ - {name: 'Aaron Frost', twitter: 'js_dev'}, - {name: 'Ben Nadel', twitter: 'BenNadel'} - ] - ] - }, - { - title: 'Angular with Web Components', - displayDate: 'Tuesday, May 26th, 2015', - date: '2015-05-26', - time: '11:00 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/events/clffu5selsk7klhjrj2bdimd448', - guests: [ - [ - vm.panelists[0][1], // kara - {name: 'Rado Kirov', twitter: 'radokirov'}, - {name: 'Rachael L Moore', twitter: 'morewry'} - ] - ] - }, - { - title: 'Angular Internals', - displayDate: 'Tuesday, June 2nd, 2015', - date: '2015-06-02', - time: '11:00 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/events/c0u8rs3581pjup4la0g2fm6fqc4', - guests: [ - [ - {name: 'Tero Parviainen', twitter: 'teropa'} - ] - ] - }, - { - title: 'Angular with TypeScript', - displayDate: 'Tuesday, June 9th, 2015', - date: '2015-06-09', - time: '11:00 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/events/cj80em4hgteokhsa1e6hc50mnq0', - guests: [ - [ - {name: 'Jonathan Turner', twitter: 'jntrnr'} - ] - ] - }, - { - title: 'Angular\'s New Router', - displayDate: 'Tuesday, June 16th, 2015', - date: '2015-06-16', - time: '11:00 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/events/cmb8uhkic1du93l1ffgc53vjdcg', - guests: [ - [ - {name: 'Brian Ford', twitter: 'briantford'} - ] - ] - }, - { - title: 'Angular 2 Forms', - displayDate: 'Tuesday, June 23rd, 2015', - date: '2015-06-23', - time: '11:00 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/events/chv2s61pjie9eirimvm2m5och9g', - guests: [ - [ - {name: 'Victor Savkin', twitter: 'victorsavkin'} - ] - ] - }, - { - title: 'Angular Accessibility', - displayDate: 'Tuesday, June 30th, 2015', - date: '2015-06-30', - time: '11:00 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/events/ckd0vf27blav9ndi03h49ns4pos', - guests: [ - [ - {name: 'Marcy Sutton', twitter: 'marcysutton'} - ] - ] - }, - { - title: 'Angular Data', - displayDate: 'Tuesday, July 7th, 2015', - date: '2015-07-07', - time: '11:00 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/events/ci6mg4094cs1vid645qjegclqi0', - guests: [ - [ - {name: 'Jeff Cross', twitter: 'jeffbcross', imageExt: 'jpg'}, - {name: 'Alex Rickabaugh', twitter: 'synalx'} - ] - ] - }, - { - title: 'angular-formly', - displayDate: 'Tuesday, July 14th, 2015', - date: '2015-07-14', - time: '11:00 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/events/c5k02na22bq5k5ftg63bqpvtteo', - guests: [ - [ - {name: 'Kent C. Dodds', twitter: 'kentcdodds', avatar: 'kentcdodds.png'}, - {name: 'Lukas Ruebbelke', twitter: 'simpulton'} - ] - ] - }, - { - title: 'Angular and Module Loading', - displayDate: 'Tuesday, July 21st, 2015', - date: '2015-07-21', - time: '11:00 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/events/cmp8evvqkdikpjkis12r45fgqhc', - guests: [ - [ - {name: 'Guy Bedford', twitter: 'guybedford'} - ] - ] - }, - { - title: 'TypeScript or ES6 with Babel?', - displayDate: 'Tuesday, July 28th, 2015', - date: '2015-07-28', - time: '11:00 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/events/cvo18elq1u8vam3lhnoa4dheo4k', - guests: [ - [ - {name: 'Jeff Whelpley', twitter: 'jeffwhelpley'}, - {name: 'Aimee Knight', twitter: 'Aimee_Knight'}, - {name: 'Patrick Stapleton', twitter: 'gdi2290'} - ] - ] - }, - { - title: 'FalcorJS and Angular 2', - displayDate: 'Tuesday, August 4th, 2015', - date: '2015-08-04', - time: '11:00 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/events/ca3l6qalpu0uqcce58a379006m0', - guests: [ - [ - {name: 'Jafar Husain', twitter: 'jhusain'} - ] - ] - }, - { - title: 'Performance, testing and everything in-between', - displayDate: 'Tuesday, August 11th, 2015', - date: '2015-08-11', - time: '11:00 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/events/ce9lds6bk5nnre76da8hhig0n60', - guests: [ - [ - {name: 'Gleb Bahmutov', twitter: 'bahmutov'} - ] - ] - }, - { - title: 'Auth0', - displayDate: 'Tuesday, August 18th, 2015', - date: '2015-08-18', - time: '11:00 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/events/c0kajflmtfd8ellt6d7adpbg9mg', - guests: [ - [ - {name: 'Martin Gonto', twitter: 'mgonto'}, - {name: 'Geoff Goodman', twitter: 'g_goodman'}, - {name: 'Matias Woloski', twitter: 'woloski'} - ] - ] - }, - { - title: 'Reactive Programming', - displayDate: 'Tuesday, August 25th, 2015', - date: '2015-08-25', - time: '11:00 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/events/cln81vvg8du8kdbr03g7ngh32vs', - guests: [ - [ - {name: 'Matt Podwysocki', twitter: 'mattpodwysocki'} - ] - ] - }, - { - title: 'Angular UI-Router', - displayDate: 'Tuesday, September 1st, 2015', - date: '2015-09-01', - time: '11:00 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/events/cuc8f6acabb5g3fnu923t1156lo', - guests: [ - [ - {name: 'Chris Thielen', twitter: 'ChrisThielen'}, - {name: 'Nate Abele', twitter: 'nateabele'} - ] - ] - }, - { - title: 'Angular Fundamentals', - displayDate: 'Tuesday, September 8th, 2015', - date: '2015-09-08', - time: '11:00 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/events/cqj1arbi4du7dd5laj58rclc6ck', - guests: [ - [ - {name: 'Minko Gechev', twitter: 'mgechev'} - ] - ] - }, - { - title: 'Ag-Grid', - displayDate: 'Tuesday, Septebmer 15th, 2015', - date: '2015-09-15', - time: '11:00 AM (Pacific Time)', - hangoutUrl: 'https://plus.google.com/events/coq8qmkmlgtug23f2mju2nfa5sc', - guests: [ - [ - {name: 'Niall Crosby', twitter: 'angularGrid'} - ] - ] - } - ]; - - angular.forEach(vm.panelists, function(panelistGroup) { - angular.forEach(panelistGroup, function(panelist) { - if (!panelist.avatar) { - panelist.avatar = 'panel/' + panelist.twitter + '.png'; - } - }); - }); - - angular.forEach(vm.episodes, function(episode) { - angular.forEach(episode.guests, function(group) { - angular.forEach(group, function(guest) { - if (!guest.avatar) { - guest.avatar = 'episodes/' + episode.date + '/' + guest.twitter + '.' + (guest.imageExt || 'png'); - } - }); - }); - - markdownGetter.getDescription(episode.date).then(function success(markdown) { - episode.description = $sce.trustAsHtml(markdown); - }); - markdownGetter.getSponsorship(episode.date).then(function success(markdown) { - episode.sponsorship = $sce.trustAsHtml(markdown); - }); - }); - }); - - app.factory('CurrentUser', function CurrentUser($window) { - var key = 'user-obj'; - var store = $window.localStorage; - var currentUser = null; - return { - getUser: getUser, - setUser: setUser - }; - - function getUser() { - if (!currentUser) { - currentUser = JSON.parse(store.getItem(key)); - } - return currentUser; - } - - function setUser(user) { - if (!user) { - store.removeItem(key); - } else { - store.setItem(key, JSON.stringify(user)); - } - } - }); - - app.directive('personGroup', function personGroup() { - return { - templateUrl: 'person-group-template.html', - restrict: 'E', - scope: { - groups: '=' - }, - bindToController: true, - controllerAs: 'vm', - controller: angular.noop - }; - }); - - app.directive('person', function person() { - return { - templateUrl: 'person-template.html', - restrict: 'A', - scope: { - person: '=' - }, - bindToController: true, - controllerAs: 'vm', - controller: angular.noop - }; - }); - - app.directive('linkIcon', function linkIcon() { - return { - restrict: 'E', - template: function(el, attrs) { - return [ - '' - ].join(''); - } - }; - }); - - app.directive('subscribeIcon', function subscribeIcon() { - return { - restrict: 'E', - template: function(el, attrs) { - return ''; - } - }; - }); - - window.featureShow = function featureShow(index) { - var originalEpisode = document.querySelectorAll('.episode')[index]; - var $scope = angular.element(originalEpisode).scope(); - var newGuests = []; - $scope.episode.guests.forEach(function(guests) { - newGuests = newGuests.concat(guests); - }); - $scope.episode.guests = [newGuests]; - $scope.$apply(); - var episode = originalEpisode.querySelector('.main-episode-content').cloneNode(true); - var hangoutsUrl = episode.querySelector('.hangouts-url'); - var episodeTitle = episode.querySelector('.episode__title'); - var firstRowOfGuests = episode.querySelector('.group'); - - episode.removeChild(hangoutsUrl); - - episode.style.marginTop = '500px'; - episode.style.marginBottom = '500px'; - - episodeTitle.style.textAlign = 'center'; - episodeTitle.style.marginBottom = '0'; - episodeTitle.style.fontSize = '36px'; - - firstRowOfGuests.style.marginTop = '20px'; - - document.body.innerHTML = ''; - document.body.appendChild(episode); - }; -})(); diff --git a/site.webmanifest b/site.webmanifest new file mode 100644 index 0000000..0dfc330 --- /dev/null +++ b/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "Angular Air", + "short_name": "Angular Air", + "icons": [ + { + "src": "/android-chrome-192x192.png?v=lk90WvAQ4x", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/android-chrome-384x384.png?v=lk90WvAQ4x", + "sizes": "384x384", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} diff --git a/styles.css b/styles.css deleted file mode 100644 index f511bb4..0000000 --- a/styles.css +++ /dev/null @@ -1,317 +0,0 @@ - - -/* phone */ -@media only screen and (max-width: 767px) { - body { - margin-top: 20px; - font-size: 12px; - line-height: 1.6; - } - - hr { - margin-top: 20px; - margin-bottom: 20px; - } - - .big-gap { - margin-top: 10px; - } - - #logo img { - max-width: 120px; - min-height: 120px; - } - - h1, .link-icon { - font-size: 40px; - line-height: 46px; - } - - h2 { - font-size: 15px; - } - - h3 { - font-size: 13px; - } - - h4 { - font-size: 12px; - } - - #host { - max-width: 90px; - } - - .group { - margin-top: 20px; - max-width: 201px; - margin-bottom: 20px; - } - - .group-4 { - max-width: 421px; - } - - .group-3 { - max-width: 311px; - } - - .group-1 { - max-width: 91px; - } - - .host, .person { - padding-left: 10px; - padding-right: 10px; - } - - .host:first-child, .person:first-child { - padding-left: 0; - } - - .host:last-child, .person:last-child { - padding-right: 0; - } - - .host img, .person img { - max-width: 90px; - } - - .person__name { - font-size: 10px; - } - - .person__name__twitter { - margin-top: -4px; - } - - .link-icon { - margin: 0 14px; - } - - #t-spring img { - height: 150px; - } - -} - -/* Desktop */ -@media only screen and (min-width: 768px) { - body { - padding-left: 20px; - padding-right: 20px; - margin-top: 16px; - font-size: 23px; - line-height: 2; - } - - hr { - margin-top: 70px; - margin-bottom: 70px; - } - - .big-gap { - margin-top: 20px; - } - - #logo img { - margin-top: 20px; - max-width: 300px; - min-height: 300px; - } - - h1, .link-icon { - font-size: 80px; - line-height: 90px; - } - - h2 { - font-size: 30px; - } - - h3 { - font-size: 26px; - } - - h4 { - font-size: 24px; - } - - #host { - max-width: 180px; - } - - .group { - margin-top: 40px; - max-width: 401px; - margin-bottom: 40px; - } - - .group-4 { - max-width: 841px; - } - - .group-3 { - max-width: 621px; - } - - .group-1 { - max-width: 181px; - } - - .host, .person { - padding-left: 20px; - padding-right: 20px; - } - - .host:first-child, .person:first-child { - padding-left: 0; - } - - .host:last-child, .person:last-child { - padding-right: 0; - } - - .host img, .person img { - max-width: 180px; - } - - .person__name { - font-size: 20px; - } - - .person__name__twitter { - margin-top: -10px; - } - - .link-icon { - margin: 0 28px; - } - -} - -/* shared */ -body { - color: #303030; - font-family: 'helvetica neue', Helvetica, Arial; - font-weight: 300; - background-color: #fdfdfd; - max-width: 1050px; - margin-left: auto; - margin-right: auto; - width: 90%; - margin-bottom: 80px; -} - -a { - text-decoration: none; - color: #8c0c12; -} - -a:hover, a:focus { - color: #be0409; - text-decoration: underline; -} - -h1, h2, h3, h4 { - font-weight: inherit; -} - -h3 small { - color: #7c7c7c; -} - -hr { - border: 0; - border-top: 1px solid #eee; - height: 0; - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} - -.justify { - text-align: justify; -} - -.center { - text-align: center; -} - -#logo img { - width: 100%; - height: 100%; -} - -h1 { - margin: 40px 0 40px; -} - -h2 { - color: #3d3d3d; -} - -#t-spring img:first-child { - margin-right: 10px; -} - - -#t-spring img:last-child { - margin-left: 10px; -} - - -#host, .group { - position: relative; - margin-left: auto; - margin-right: auto; -} - -.host, .person { - float: left; -} - -.host:first-child, .person:first-child { - text-align: right; -} - -.host:last-child, .person:last-child { - text-align: left; -} - -.host img:not(.no-circle), .person img:not(.no-circle) { - border-radius: 50%; -} - -.link-icon { - display: inline; -} - - -#description { -} - -.person__name { - display: block; - text-align: center; -} - -.person__name__name { - display: block; -} - -.person__name__twitter { - display: block; -} - -.episode__qa, .episode__sponsors { - margin-top: 40px; -} - -.no-decorate, -.no-decorate:focus, -.no-decorate:active, -.no-decorate:hover { - text-decoration: none; -}