├── src
├── app
│ ├── home
│ │ ├── home.css
│ │ ├── index.ts
│ │ ├── services
│ │ │ └── title
│ │ │ │ ├── index.ts
│ │ │ │ ├── title.service.ts
│ │ │ │ └── title.service.spec.ts
│ │ ├── directives
│ │ │ └── x-large
│ │ │ │ ├── index.ts
│ │ │ │ ├── x-large.directive.ts
│ │ │ │ └── x-large.spec.ts
│ │ ├── home.component.e2e.ts
│ │ ├── home.component.spec.ts
│ │ ├── home.html
│ │ └── home.component.ts
│ ├── about
│ │ ├── index.ts
│ │ ├── about.spec.ts
│ │ └── about.component.ts
│ ├── shared
│ │ ├── directives
│ │ │ └── router-active
│ │ │ │ ├── index.ts
│ │ │ │ └── router-active.directive.ts
│ │ └── components
│ │ │ └── accordion
│ │ │ ├── accordion-group.html
│ │ │ ├── accordion.component.ts
│ │ │ └── accordion-group.component.ts
│ ├── recipes
│ │ ├── rating.html
│ │ ├── recipes.html
│ │ ├── recipe.store.ts
│ │ ├── selected-recipe.reducer.ts
│ │ ├── recipe-list.html
│ │ ├── rating.component.ts
│ │ ├── recipe-list.component.ts
│ │ ├── recipes.reducer.ts
│ │ ├── recipes.spec.ts
│ │ ├── recipes.component.ts
│ │ ├── recipe.service.ts
│ │ ├── recipe-details.html
│ │ └── recipe-details.component.ts
│ ├── app.store.ts
│ ├── app.component.spec.ts
│ ├── app.component.e2e.ts
│ ├── app.service.ts
│ ├── index.ts
│ ├── todo
│ │ ├── todo.html
│ │ ├── todo.service.ts
│ │ └── todo.component.ts
│ └── app.component.ts
├── assets
│ ├── css
│ │ └── .gitkeep
│ ├── data.json
│ ├── robots.txt
│ ├── service-worker.js
│ ├── icon
│ │ ├── apple-icon.png
│ │ ├── favicon-16x16.png
│ │ ├── favicon-32x32.png
│ │ ├── favicon-96x96.png
│ │ ├── ms-icon-70x70.png
│ │ ├── apple-icon-57x57.png
│ │ ├── apple-icon-60x60.png
│ │ ├── apple-icon-72x72.png
│ │ ├── apple-icon-76x76.png
│ │ ├── ms-icon-144x144.png
│ │ ├── ms-icon-150x150.png
│ │ ├── ms-icon-310x310.png
│ │ ├── android-icon-36x36.png
│ │ ├── android-icon-48x48.png
│ │ ├── android-icon-72x72.png
│ │ ├── android-icon-96x96.png
│ │ ├── apple-icon-114x114.png
│ │ ├── apple-icon-120x120.png
│ │ ├── apple-icon-144x144.png
│ │ ├── apple-icon-152x152.png
│ │ ├── apple-icon-180x180.png
│ │ ├── android-icon-144x144.png
│ │ ├── android-icon-192x192.png
│ │ ├── apple-icon-precomposed.png
│ │ ├── browserconfig.xml
│ │ └── manifest.json
│ ├── img
│ │ └── angular-logo.png
│ ├── humans.txt
│ └── manifest.json
├── platform
│ ├── browser
│ │ ├── index.ts
│ │ ├── pipes.ts
│ │ ├── directives.ts
│ │ ├── providers.ts
│ │ └── angular2-material2
│ │ │ └── index.ts
│ └── environment.ts
├── sass
│ ├── base
│ │ ├── _typography.scss
│ │ ├── _fonts.scss
│ │ ├── README.MD
│ │ ├── _base.scss
│ │ └── _helpers.scss
│ ├── themes
│ │ ├── _default.scss
│ │ └── README.MD
│ ├── components
│ │ ├── _button.scss
│ │ └── README.MD
│ ├── README.md
│ ├── layout
│ │ ├── _footer.scss
│ │ ├── README.MD
│ │ └── _header.scss
│ ├── _shame.scss
│ ├── abstracts
│ │ ├── README.md
│ │ ├── _mixins.scss
│ │ ├── _functions.scss
│ │ └── _variables.scss
│ ├── pages
│ │ ├── README.MD
│ │ └── _home.scss
│ ├── main.scss
│ └── vendor
│ │ ├── README.md
│ │ └── _normalize.scss
├── polyfills.ts
├── vendor.ts
├── main.browser.ts
├── index.html
└── custom-typings.d.ts
├── test
├── mocha.opts
├── todo.model.spec.js
├── utils.js
└── recipe.model.spec.js
├── vulgar.json
├── .babelrc
├── karma.conf.js
├── protractor.conf.js
├── .travis.yml
├── .github
├── PULL_REQUEST_TEMPLATE.md
├── CONTRIBUTING.md
└── ISSUE_TEMPLATE.md
├── .editorconfig
├── typedoc.json
├── config
├── helpers.js
├── protractor.conf.js
├── mongoose.conf.js
├── ts-rules
│ ├── importDestructuringSpacingRule.ts
│ └── importDestructuringSpacingRule.js
├── karma.conf.js
├── spec-bundle.js
├── env.conf.js
├── webpack.dev.js
├── gulpfile.conf.js
├── webpack.test.config.js
├── webpack.common.js
└── webpack.prod.config.js
├── server.js
├── gulpfile.js
├── sockets
└── base.js
├── webpack.config.js
├── app
├── models
│ ├── todo.model.js
│ ├── recipe.model.js
│ └── user.model.js
├── routes.js
└── routes
│ ├── _todo.router.js
│ ├── _recipe.router.js
│ └── _authentication.router.js
├── tsconfig.json
├── typings.json
├── .atom-build.json
├── LICENSE
├── .gitignore
├── .gitattributes
├── tslint.json
├── server.conf.js
└── package.json
/src/app/home/home.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/css/.gitkeep:
--------------------------------------------------------------------------------
1 | @datatypevoid
2 |
--------------------------------------------------------------------------------
/test/mocha.opts:
--------------------------------------------------------------------------------
1 | --require babel-register
2 |
--------------------------------------------------------------------------------
/vulgar.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {}
3 | }
4 |
--------------------------------------------------------------------------------
/src/app/about/index.ts:
--------------------------------------------------------------------------------
1 | export * from './about.component';
2 |
--------------------------------------------------------------------------------
/src/app/home/index.ts:
--------------------------------------------------------------------------------
1 | export * from './home.component';
2 |
--------------------------------------------------------------------------------
/src/assets/data.json:
--------------------------------------------------------------------------------
1 | {
2 | "value": "datatypevoid"
3 | }
4 |
--------------------------------------------------------------------------------
/src/assets/robots.txt:
--------------------------------------------------------------------------------
1 | # robotstxt.org
2 |
3 | User-agent: *
4 |
--------------------------------------------------------------------------------
/src/app/home/services/title/index.ts:
--------------------------------------------------------------------------------
1 | export * from './title.service';
2 |
--------------------------------------------------------------------------------
/src/assets/service-worker.js:
--------------------------------------------------------------------------------
1 | // This file is intentionally without code.
2 |
--------------------------------------------------------------------------------
/src/app/home/directives/x-large/index.ts:
--------------------------------------------------------------------------------
1 | export * from './x-large.directive';
2 |
--------------------------------------------------------------------------------
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [],
3 | "presets" : ['es2015', 'stage-0', 'react']
4 | }
--------------------------------------------------------------------------------
/src/app/shared/directives/router-active/index.ts:
--------------------------------------------------------------------------------
1 | export * from './router-active.directive';
2 |
--------------------------------------------------------------------------------
/karma.conf.js:
--------------------------------------------------------------------------------
1 | // Look in `./config` for `karma.conf.js`
2 | exports.config = require('./config/karma.conf.js');
3 |
--------------------------------------------------------------------------------
/src/assets/icon/apple-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/datatypevoid/vulgar/HEAD/src/assets/icon/apple-icon.png
--------------------------------------------------------------------------------
/src/assets/img/angular-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/datatypevoid/vulgar/HEAD/src/assets/img/angular-logo.png
--------------------------------------------------------------------------------
/src/assets/icon/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/datatypevoid/vulgar/HEAD/src/assets/icon/favicon-16x16.png
--------------------------------------------------------------------------------
/src/assets/icon/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/datatypevoid/vulgar/HEAD/src/assets/icon/favicon-32x32.png
--------------------------------------------------------------------------------
/src/assets/icon/favicon-96x96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/datatypevoid/vulgar/HEAD/src/assets/icon/favicon-96x96.png
--------------------------------------------------------------------------------
/src/assets/icon/ms-icon-70x70.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/datatypevoid/vulgar/HEAD/src/assets/icon/ms-icon-70x70.png
--------------------------------------------------------------------------------
/src/assets/icon/apple-icon-57x57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/datatypevoid/vulgar/HEAD/src/assets/icon/apple-icon-57x57.png
--------------------------------------------------------------------------------
/src/assets/icon/apple-icon-60x60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/datatypevoid/vulgar/HEAD/src/assets/icon/apple-icon-60x60.png
--------------------------------------------------------------------------------
/src/assets/icon/apple-icon-72x72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/datatypevoid/vulgar/HEAD/src/assets/icon/apple-icon-72x72.png
--------------------------------------------------------------------------------
/src/assets/icon/apple-icon-76x76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/datatypevoid/vulgar/HEAD/src/assets/icon/apple-icon-76x76.png
--------------------------------------------------------------------------------
/src/assets/icon/ms-icon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/datatypevoid/vulgar/HEAD/src/assets/icon/ms-icon-144x144.png
--------------------------------------------------------------------------------
/src/assets/icon/ms-icon-150x150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/datatypevoid/vulgar/HEAD/src/assets/icon/ms-icon-150x150.png
--------------------------------------------------------------------------------
/src/assets/icon/ms-icon-310x310.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/datatypevoid/vulgar/HEAD/src/assets/icon/ms-icon-310x310.png
--------------------------------------------------------------------------------
/src/platform/browser/index.ts:
--------------------------------------------------------------------------------
1 | export * from './directives';
2 | export * from './pipes';
3 | export * from './providers';
4 |
--------------------------------------------------------------------------------
/src/assets/icon/android-icon-36x36.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/datatypevoid/vulgar/HEAD/src/assets/icon/android-icon-36x36.png
--------------------------------------------------------------------------------
/src/assets/icon/android-icon-48x48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/datatypevoid/vulgar/HEAD/src/assets/icon/android-icon-48x48.png
--------------------------------------------------------------------------------
/src/assets/icon/android-icon-72x72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/datatypevoid/vulgar/HEAD/src/assets/icon/android-icon-72x72.png
--------------------------------------------------------------------------------
/src/assets/icon/android-icon-96x96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/datatypevoid/vulgar/HEAD/src/assets/icon/android-icon-96x96.png
--------------------------------------------------------------------------------
/src/assets/icon/apple-icon-114x114.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/datatypevoid/vulgar/HEAD/src/assets/icon/apple-icon-114x114.png
--------------------------------------------------------------------------------
/src/assets/icon/apple-icon-120x120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/datatypevoid/vulgar/HEAD/src/assets/icon/apple-icon-120x120.png
--------------------------------------------------------------------------------
/src/assets/icon/apple-icon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/datatypevoid/vulgar/HEAD/src/assets/icon/apple-icon-144x144.png
--------------------------------------------------------------------------------
/src/assets/icon/apple-icon-152x152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/datatypevoid/vulgar/HEAD/src/assets/icon/apple-icon-152x152.png
--------------------------------------------------------------------------------
/src/assets/icon/apple-icon-180x180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/datatypevoid/vulgar/HEAD/src/assets/icon/apple-icon-180x180.png
--------------------------------------------------------------------------------
/protractor.conf.js:
--------------------------------------------------------------------------------
1 | // Look in `./config` for `protractor.conf.js`
2 | exports.config = require('./config/protractor.conf.js').config;
3 |
--------------------------------------------------------------------------------
/src/assets/icon/android-icon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/datatypevoid/vulgar/HEAD/src/assets/icon/android-icon-144x144.png
--------------------------------------------------------------------------------
/src/assets/icon/android-icon-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/datatypevoid/vulgar/HEAD/src/assets/icon/android-icon-192x192.png
--------------------------------------------------------------------------------
/src/assets/icon/apple-icon-precomposed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/datatypevoid/vulgar/HEAD/src/assets/icon/apple-icon-precomposed.png
--------------------------------------------------------------------------------
/src/sass/base/_typography.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * Basic typography style for copy text
3 | */
4 | body {
5 | color: $text-color;
6 | font: normal 125% / 1.4 $text-font-stack;
7 | }
8 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - node
4 | - "5"
5 | - "4"
6 | sudo: false
7 | branches:
8 | only:
9 | - master
10 | script: npm test
11 | notifications:
12 | slack: vulgardisplayofpower:RQzt5qlhpuN4caO9OavVbmoi
13 |
--------------------------------------------------------------------------------
/src/sass/base/_fonts.scss:
--------------------------------------------------------------------------------
1 | // -----------------------------------------------------------------------------
2 | // This file contains all @font-face declarations, if any.
3 | // -----------------------------------------------------------------------------
4 |
--------------------------------------------------------------------------------
/.github/PULL_REQUEST_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | - **What kind of change does this PR introduce?** (Bug fix, feature, docs update, ...)
2 | - **What is the current behavior?** (You can also link to an open issue here)
3 | - **What is the new behavior (if this is a feature change)?**
4 | - **Other information**:
5 |
--------------------------------------------------------------------------------
/src/sass/themes/_default.scss:
--------------------------------------------------------------------------------
1 | // -----------------------------------------------------------------------------
2 | // When having several themes, this file contains everything related to the
3 | // default one.
4 | // -----------------------------------------------------------------------------
5 |
--------------------------------------------------------------------------------
/src/assets/icon/browserconfig.xml:
--------------------------------------------------------------------------------
1 |
2 | #ffffff
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | # @datatypevoid
2 | # http://editorconfig.org
3 |
4 | root = true
5 |
6 | [*]
7 | charset = utf-8
8 | indent_style = space
9 | indent_size = 2
10 | end_of_line = lf
11 | insert_final_newline = true
12 | trim_trailing_whitespace = true
13 |
14 | [*.md]
15 | insert_final_newline = false
16 | trim_trailing_whitespace = false
17 |
--------------------------------------------------------------------------------
/src/app/recipes/rating.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | ({{ index < rate ? '*' : ' ' }})
4 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/app/recipes/recipes.html:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 | Pick your Fancy:
10 |
11 |
12 |
--------------------------------------------------------------------------------
/src/assets/humans.txt:
--------------------------------------------------------------------------------
1 | # humanstxt.org/
2 | # The humans responsible & technology colophon
3 |
4 | # TEAM
5 |
6 | -- --
7 |
8 | # THANKS
9 |
10 |
11 | David Newman -- @datatype_void
12 | PatrickJS -- @gdi2290
13 | AngularClass -- @AngularClass
14 |
15 | # TECHNOLOGY COLOPHON
16 |
17 | HTML5, CSS3
18 | Angular2, TypeScript, Webpack
19 |
--------------------------------------------------------------------------------
/src/sass/components/_button.scss:
--------------------------------------------------------------------------------
1 | // -----------------------------------------------------------------------------
2 | // This file contains all styles related to the button component.
3 | // -----------------------------------------------------------------------------
4 | button.active{
5 | background: #fff;
6 | color: #009688;
7 | }
8 | button.active:hover{
9 | color: #fff;
10 | }
11 |
--------------------------------------------------------------------------------
/src/sass/README.md:
--------------------------------------------------------------------------------
1 | # Main file
2 |
3 | The main file (usually labelled `main.scss`) should be the only Sass file from the whole code base not to begin with an underscore. This file should not contain anything but `@import` and comments.
4 |
5 | Reference: [Sass Guidelines](http://sass-guidelin.es/) > [Architecture](http://sass-guidelin.es/#architecture) > [Main file](http://sass-guidelin.es/#main-file)
6 |
--------------------------------------------------------------------------------
/src/platform/browser/pipes.ts:
--------------------------------------------------------------------------------
1 | //# Global Pipes
2 | //
3 | //** These `pipes` are available in any template **
4 |
5 | import {PLATFORM_PIPES} from '@angular/core';
6 |
7 | //# APPLICATION_PIPES
8 | //
9 | //** Pipes that are global throughout our application **
10 | export const APPLICATION_PIPES = [
11 |
12 | ];
13 |
14 | export const PIPES = [
15 | {provide: PLATFORM_PIPES, multi: true, useValue: APPLICATION_PIPES }
16 | ];
17 |
--------------------------------------------------------------------------------
/src/sass/layout/_footer.scss:
--------------------------------------------------------------------------------
1 | // -----------------------------------------------------------------------------
2 | // This file contains all styles related to the footer of the site/application.
3 | // -----------------------------------------------------------------------------
4 |
5 | footer{
6 | flex: 0 0 60px;
7 | padding: 10px;
8 | display: flex;
9 | align-items: center;
10 | justify-content: center;
11 | background: #fff;
12 | }
13 |
--------------------------------------------------------------------------------
/typedoc.json:
--------------------------------------------------------------------------------
1 | {
2 | "mode": "modules",
3 | "out": "doc",
4 | "theme": "default",
5 | "ignoreCompilerErrors": "true",
6 | "experimentalDecorators": "true",
7 | "emitDecoratorMetadata": "true",
8 | "target": "ES5",
9 | "moduleResolution": "node",
10 | "preserveConstEnums": "true",
11 | "stripInternal": "true",
12 | "suppressExcessPropertyErrors": "true",
13 | "suppressImplicitAnyIndexErrors": "true",
14 | "module": "commonjs"
15 | }
16 |
--------------------------------------------------------------------------------
/src/sass/base/README.MD:
--------------------------------------------------------------------------------
1 | # Base
2 |
3 | The `base/` folder holds what we might call the boilerplate code for the project. In there, you might find some typographic rules, and probably a stylesheet (that I’m used to calling `_base.scss`), defining some standard styles for commonly used HTML elements.
4 |
5 | Reference: [Sass Guidelines](http://sass-guidelin.es/) > [Architecture](http://sass-guidelin.es/#architecture) > [Base folder](http://sass-guidelin.es/#base-folder)
6 |
--------------------------------------------------------------------------------
/src/platform/environment.ts:
--------------------------------------------------------------------------------
1 | // Angular 2
2 | import {enableProdMode} from '@angular/core';
3 |
4 | // Environment Providers
5 | var PROVIDERS = [];
6 |
7 | if ('production' === ENV) {
8 | // Production
9 | enableProdMode();
10 |
11 | PROVIDERS = [
12 | ...PROVIDERS
13 | ];
14 |
15 | } else {
16 | // Development
17 | PROVIDERS = [
18 | ...PROVIDERS
19 | ];
20 |
21 | }
22 |
23 | export const ENV_PROVIDERS = [
24 | ...PROVIDERS
25 | ];
26 |
--------------------------------------------------------------------------------
/src/sass/layout/README.MD:
--------------------------------------------------------------------------------
1 | # Layout
2 |
3 | The `layout/` folder contains everything that takes part in laying out the site or application. This folder could have stylesheets for the main parts of the site (header, footer, navigation, sidebar…), the grid system or even CSS styles for all the forms.
4 |
5 | Reference: [Sass Guidelines](http://sass-guidelin.es/) > [Architecture](http://sass-guidelin.es/#architecture) > [Layout folder](http://sass-guidelin.es/#layout-folder)
6 |
--------------------------------------------------------------------------------
/src/app/shared/components/accordion/accordion-group.html:
--------------------------------------------------------------------------------
1 |
13 |
--------------------------------------------------------------------------------
/src/sass/_shame.scss:
--------------------------------------------------------------------------------
1 | // ```
2 | // _shame.scss
3 | // (c) 2016 David Newman
4 | // blackshuriken@hotmail.com
5 | // _shame.scss may be freely distributed under the MIT license
6 | // ```
7 |
8 | // */public/sass/_shame.scss*
9 |
10 | // ## Shameful Sass Import
11 |
12 | // This Sass file pulls in all declarations, hacks, etc. for code that the
13 | // authoring developer is not proud of.
14 |
15 | // Reference:
16 | // http://csswizardry.com/2013/04/shame-css-full-net-interview/
--------------------------------------------------------------------------------
/src/app/recipes/recipe.store.ts:
--------------------------------------------------------------------------------
1 | // ```
2 | // recipes.store.js
3 | // (c) 2016 David Newman
4 | // blackshuriken@hotmail.com
5 | // recipes.store.js may be freely distributed under the MIT license
6 | // ```
7 |
8 | // # Redux store for `recipes`
9 |
10 | export interface Recipe {
11 | _id: number;
12 | tags: Array