diff --git a/.gitignore b/.gitignore
index 302d77575..0f5104f43 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,6 +6,8 @@
/src/assets/documents
/src/assets/examples
/src/assets/plunker/examples
+/src/assets/*.css
+/src/assets/*.html
# dependencies
/node_modules
diff --git a/angular-cli.json b/angular-cli.json
index ca142e3a8..e4f229734 100644
--- a/angular-cli.json
+++ b/angular-cli.json
@@ -19,7 +19,11 @@
"mobile": false,
"styles": [
"main.scss",
- "highlightjs/solarized-light.css"
+ "highlightjs/solarized-light.css",
+ {"input": "assets/pink-bluegrey.css", "lazy": true},
+ {"input": "assets/deeppurple-amber.css", "lazy": true},
+ {"input": "assets/indigo-pink.css", "lazy": true},
+ {"input": "assets/purple-green.css", "lazy": true}
],
"scripts": [],
"environmentSource": "environments/environment.ts",
diff --git a/package.json b/package.json
index e0401cbcc..cef12aa9b 100644
--- a/package.json
+++ b/package.json
@@ -4,15 +4,16 @@
"license": "MIT",
"angular-cli": {},
"scripts": {
- "start": "ng serve",
+ "start": "npm run build-themes && ng serve",
"lint": "tslint \"src/**/*.ts\"",
"test": "ng test",
"pree2e": "webdriver-manager update",
"e2e": "protractor",
- "prod-build": "ng build --aot --prod && npm run prerender && cp -r tmp/prerendered/* dist/",
+ "build-themes": "./tools/build-themes.sh",
+ "prod-build": "npm run build-themes && ng build --aot --prod && npm run prerender && cp -r tmp/prerendered/* dist/",
"postinstall": "webdriver-manager update && tools/fetch-assets.sh",
- "publish-prod": "ng build --aot --prod && firebase use material-angular-io && firebase deploy",
- "publish-dev": "ng build --aot --prod && firebase use material2-docs-dev && firebase deploy"
+ "publish-prod": "npm run build-themes && ng build --aot --prod && firebase use material-angular-io && firebase deploy",
+ "publish-dev": "npm run build-themes && ng build --aot --prod && firebase use material2-docs-dev && firebase deploy"
},
"private": true,
"dependencies": {
@@ -26,6 +27,7 @@
"@angular/platform-browser": "^4.0.0",
"@angular/platform-browser-dynamic": "^4.0.0",
"@angular/router": "^4.0.0",
+ "color": "^1.0.3",
"core-js": "^2.4.1",
"rxjs": "^5.1.0",
"zone.js": "^0.8.4"
@@ -44,6 +46,7 @@
"karma-jasmine": "^1.1.0",
"karma-remap-istanbul": "^0.2.1",
"karma-sauce-launcher": "^1.1.0",
+ "node-sass": "^4.5.3",
"protractor": "^5.1.1",
"ts-node": "^2.0.0",
"tslint": "^4.4.2",
diff --git a/src/_app-theme.scss b/src/_app-theme.scss
index 46c56bef6..4b5800e80 100644
--- a/src/_app-theme.scss
+++ b/src/_app-theme.scss
@@ -1,4 +1,4 @@
-@import '~@angular/material/theming';
+@import '../node_modules/@angular/material/theming';
@import './app/pages/homepage/homepage-theme';
@import './app/pages/component-sidenav/component-sidenav-theme';
@import './app/pages/component-viewer/component-viewer-theme';
diff --git a/src/app/app-module.ts b/src/app/app-module.ts
index ca16677dc..97cc2e327 100644
--- a/src/app/app-module.ts
+++ b/src/app/app-module.ts
@@ -20,6 +20,7 @@ import {ComponentSidenav} from './pages/component-sidenav/component-sidenav';
import {Footer} from './shared/footer/footer';
import {ComponentPageTitle} from './pages/page-title/page-title';
import {ComponentPageHeader} from './pages/component-page-header/component-page-header';
+import {StyleManager} from './shared/style-manager/style-manager';
@NgModule({
@@ -33,7 +34,11 @@ import {ComponentPageHeader} from './pages/component-page-header/component-page-
GuideList,
GuideViewer,
Homepage,
- Footer
+ Footer,
+ ],
+ exports: [
+ MaterialDocsApp,
+ Homepage,
],
imports: [
BrowserModule,
@@ -49,6 +54,7 @@ import {ComponentPageHeader} from './pages/component-page-header/component-page-
providers: [
Location,
ComponentPageTitle,
+ StyleManager,
{provide: LocationStrategy, useClass: PathLocationStrategy},
],
bootstrap: [MaterialDocsApp],
diff --git a/src/app/material-docs-app.ts b/src/app/material-docs-app.ts
index b109e1acb..dd9fd9b01 100644
--- a/src/app/material-docs-app.ts
+++ b/src/app/material-docs-app.ts
@@ -15,7 +15,9 @@ export class MaterialDocsApp {
isDarkTheme = false;
showShadow = false;
- constructor(router: Router) {
+ constructor(
+ router: Router,
+ ) {
router.events.subscribe((data: NavigationStart) => {
this.showShadow = data.url.startsWith('/components');
});
diff --git a/src/app/pages/component-category-list/component-category-list.html b/src/app/pages/component-category-list/component-category-list.html
index bc9dc72fb..e0c0a24fa 100644
--- a/src/app/pages/component-category-list/component-category-list.html
+++ b/src/app/pages/component-category-list/component-category-list.html
@@ -5,8 +5,8 @@
[routerLink]="['/components/category/', category.id]">
{{category.summary}}
-