Skip to content
This repository was archived by the owner on Dec 4, 2017. It is now read-only.

Commit 410b374

Browse files
Eric Jimeneznaomiblack
Eric Jimenez
authored andcommitted
feat(images): new frontpage as directed by Alex Wolfe. New images from Fatima Remtullah
1 parent acc5233 commit 410b374

17 files changed

+1245
-90
lines changed

public/_includes/_hero-home.jade

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ header(class="background-sky")
55
.hero-cta
66
a(href="/docs/ts/latest/quickstart.html" class="md-raised button button-large button-plain" md-button) Get Started
77

8-
.banner.is-centered
8+
.banner.banner-floaty
99
.banner-ng-annoucement
10-
h4 Watch the ng-conf Live Stream May 4th-6th. 
10+
div(class="banner-text") Watch the ng-conf Live Stream May 4th-6th. 
11+
div(class="banner-button")
1112
a(href="https://www.ng-conf.org/#/extended" target="_blank") View Live Stream

public/index.jade

Lines changed: 51 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,53 @@
11
include _includes/_util-fns
22

3-
div(layout-gt-sm='row' style='margin: 0 -24px')
4-
div(flex=33 style='padding:0 24px')
5-
h3.text-headline Fast
6-
p.text-body Angular computes updates based on changes to data, not DOM, for fast updates that scale to the largest data sets with minimal memory overhead.
7-
div(flex=33 style='padding:0 24px')
8-
h3.text-headline Mobile
9-
p.text-body With Angular Universal for server-side rendering and Web Workers for smooth scrolling and transitions, Angular 2 solves the core challenges in mobile web performance.
10-
div(flex=33 style='padding:0 24px')
11-
h3.text-headline Flexible
12-
p.text-body Supports several languages including plain JavaScript, TypeScript, and Dart. Also supports both object-style data structure with POJO data-binding and functional reactive style with unidirectional data flow and support for observables and immutable data structures.
13-
br
14-
div
15-
h3.text-headline The Basics
16-
p.text-body In Angular you display data by defining components. Data in your component classes is automatically available to display in your templates or control how they render as in the example below.
17-
p.text-body While this example uses TypeScript, Angular works equally well with ES5, ES6 and Dart as well.
18-
p(style='text-align:right')
19-
md-button.md-primary(href='/resources/live-examples/homepage-hello-world/ts/plnkr.html' target='_blank')
20-
span.icon-open-in-new
21-
| Try in Plunker
22-
+makeTabs(`
23-
../docs/_fragments/homepage-hello-world/ts/app/hello_world.html,
24-
../docs/_fragments/homepage-hello-world/ts/app/hello_world.ts,
25-
../docs/_fragments/homepage-hello-world/ts/app/main.ts,
26-
../docs/_fragments/homepage-hello-world/ts/index.1.html`,
27-
null,
28-
`app/hello_world.html,
29-
app/hello_world.ts,
30-
app/main.ts,
31-
index.html`)
32-
br
33-
div
34-
h3.text-headline Structuring Apps With Components
35-
p.text-body Groups of coordinated components divide the responsibilities of our application. This ToDo list app has a separate component for the form, the list, and the core app logic. Where the previous example component referenced templates in separate files, this one shows using inline templates.
36-
p.text-body Defining types as we do here in Todo.ts communicates our intention to other developers, helps us find bugs in our code, and lets IDEs do more work for us in refactoring, code navigation, and code completion.
37-
p(style='text-align:right')
38-
md-button.md-primary(href='/resources/live-examples/homepage-todo/ts/plnkr.html' target='_blank')
39-
span.icon-open-in-new
40-
| Try in Plunker
41-
+makeTabs(`
42-
../docs/_fragments/homepage-todo/ts/app/todo_app.ts,
43-
../docs/_fragments/homepage-todo/ts/app/todo_form.ts,
44-
../docs/_fragments/homepage-todo/ts/app/todo_list.ts,
45-
../docs/_fragments/homepage-todo/ts/app/todo.ts,
46-
../docs/_fragments/homepage-todo/ts/app/main.ts,
47-
../docs/_fragments/homepage-todo/ts/index.1.html`,
48-
null,
49-
`app/todo_app.ts,
50-
app/todo_form.ts,
51-
app/todo_list.ts,
52-
app/todo.ts,
53-
app/main.ts,
54-
index.html`)
55-
br
56-
div
57-
h3.text-headline Advanced Component Communication
58-
p.text-body This demo shows an efficient implementation of tabs/panes. Each pane is only instantiated while it is visible. Panes which are not visible are released and do not have associated memory, DOM and change detection cost.
59-
p.text-body The demo also showcases dependency injection and the ability of one component to query for other components. Such queries automatically update even as detail panes are added. This allows the tabs component to work with <code>ngFor</code> without any special knowledge of it.
60-
p(style='text-align:right')
61-
md-button.md-primary(href='/resources/live-examples/homepage-tabs/ts/plnkr.html' target='_blank')
62-
span.icon-open-in-new
63-
| Try in Plunker
64-
+makeTabs(`
65-
../docs/_fragments/homepage-tabs/ts/app/di_demo.ts,
66-
../docs/_fragments/homepage-tabs/ts/app/ui_tabs.ts,
67-
../docs/_fragments/homepage-tabs/ts/app/main.ts,
68-
../docs/_fragments/homepage-tabs/ts/index.1.html`,
69-
null,
70-
`app/di_demo.ts,
71-
app/ui_tabs.ts,
72-
app/main.ts,
73-
index.html`)
3+
div(class="home-rows")
4+
// Group 1
5+
div(layout="row" layout-xs="column" class="home-row")
6+
div(class="promo-img-container promo-1")
7+
div
8+
img(src="resources/images/home/responsive-framework.svg")
9+
div(class="text-container")
10+
div(class="text-block promo-1-desc l-pad-top-2")
11+
h3(class="text-headline") Develop Across All Platforms
12+
p(class="text-body").
13+
Learn one way to build applications with Angular and reuse your code and abilities to build apps for any deployment target. For web, mobile web, native mobile and native desktop.
14+
15+
// Group 2
16+
div(layout="row" layout-xs="column" class="home-row")
17+
div(class="text-container")
18+
div(class="text-block")
19+
h3(class="text-headline") Speed & Performance
20+
p(class="text-body").
21+
Achieve the maximum speed possible on the Web Platform today, and take it further, via Web Workers and server-side rendering.
22+
br
23+
p(class="text-body").
24+
Angular puts you in control over scalability. Meet huge data requirements by building data models on RxJS, Immutable.js or another push-model.
25+
div(class="promo-img-container promo-2")
26+
div
27+
img(src="resources/images/home/speed-performance.svg")
28+
29+
// Group 3
30+
div(layout="row" layout-xs="column" class="home-row")
31+
div(class="promo-img-container promo-3")
32+
div
33+
img(src="resources/images/home/joyful-development.png")
34+
div(class="text-container")
35+
div(class="text-block promo-3-desc")
36+
h3(class="text-headline") Incredible Tooling
37+
p(class="text-body").
38+
Build features quickly with simple, declarative templates. Extend the template language with your own components and use a wide array of existing components. Get immediate Angular-specific help and feedback with nearly every IDE and editor. All this comes together so you can focus on building amazing apps rather than trying to make the code work.
39+
40+
// Group 4
41+
div(layout="row" layout-xs="column" class="home-row")
42+
div(class="text-container")
43+
div(class="text-block l-pad-top-2")
44+
h3(class="text-headline") Loved by Millions
45+
p(class="text-body").
46+
Supports you from your first scrappy launch all the way through global deployment -- Angular brings you the scaling infrastructure and techniques that support Google's largest applications.
47+
div(class="promo-img-container promo-4")
48+
div
49+
img(src="resources/images/home/loved-by-millions.png")
50+
51+
.cta-bar
52+
a(href="/docs/ts/latest/quickstart.html" class="button button-large button-shield md-raised " + "md-primary" md-button) Get Started
53+

public/resources/css/layout/_layout.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,4 +270,4 @@ button.verbose.on {display: none}
270270
font-size: $unit * 2;
271271
margin-bottom: $unit;
272272
margin-top: $unit * 4;
273-
}
273+
}

public/resources/css/main.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
@import 'module/style-guide';
5252
@import 'module/_press-kit';
5353
@import 'module/resources';
54-
54+
@import 'module/home-promos';
5555

5656
/*
5757
* PRINT STYLES

public/resources/css/module/_banner.scss

Lines changed: 74 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,80 @@
44
* Addtional announcements that generally follow a hero
55
*/
66

7+
.banner-floaty {
8+
width: 920px;
9+
height: 112px;
10+
background-color: rgba(255, 255, 255, 1) !important;
11+
-moz-box-shadow: 0px 2px 12px 0px rgba(0,0,0,0.5);
12+
-webkit-box-shadow: 0px 2px 12px 0px rgba(0,0,0,0.5);
13+
box-shadow: 0px 2px 12px 0px rgba(0,0,0,0.5);
14+
position: absolute;
15+
margin-top: -50px;
16+
margin-left: auto;
17+
margin-right: auto;
18+
left: 0;
19+
right: 0;
20+
z-index: 1;
21+
display: table;
22+
padding: 0 !important;
23+
24+
@media handheld and (max-width: $phone-breakpoint),
25+
screen and (max-device-width: $phone-breakpoint),
26+
screen and (max-width: $tablet-breakpoint) {
27+
padding: 0;
28+
}
29+
30+
@media(max-width: 959px) {
31+
width: 100%;
32+
height: 56px;
33+
padding: 16px 0 !important;
34+
}
35+
36+
.banner-ng-annoucement {
37+
display: flex;
38+
justify-content: space-around;
39+
align-content: space-around;
40+
align-items: center;
41+
height: 100%;
42+
43+
@media(max-width: 959px) {
44+
flex-direction: column;
45+
justify-content: space-between;
46+
align-content: space-between;
47+
48+
.banner-text {
49+
padding: 16px 0;
50+
margin: 0 16px;
51+
}
52+
}
53+
54+
.banner-text {
55+
font-size: 16px;
56+
color: #607D8B;
57+
}
58+
59+
.banner-button {
60+
a {
61+
color: #607D8B;
62+
background-color: #ECEFF1;
63+
padding: 0;
64+
line-height: 36px;
65+
padding-left: 20px;
66+
padding-right: 20px;
67+
}
68+
}
69+
70+
@media handheld and (max-width: $phone-breakpoint),
71+
screen and (max-device-width: $phone-breakpoint),
72+
screen and (max-width: $tablet-breakpoint) {
73+
background: none;
74+
padding-left: 0px;
75+
margin: 0px 0px $unit 0px;
76+
text-align: center;
77+
}
78+
}
79+
}
80+
781
.banner {
882
background: $mist;
983
padding: ($unit * 2) ($unit * 6);
@@ -25,7 +99,6 @@
2599
screen and (max-width: $tablet-breakpoint) {
26100
display: block;
27101
}
28-
padding: 0;
29102
}
30103

31104
.ng-conf-logo {
@@ -38,20 +111,6 @@
38111
padding: $unit 0 $unit 108px;
39112
}
40113

41-
.banner-ng-annoucement {
42-
display: inline-block;
43-
text-align: left;
44-
45-
@media handheld and (max-width: $phone-breakpoint),
46-
screen and (max-device-width: $phone-breakpoint),
47-
screen and (max-width: $tablet-breakpoint) {
48-
background: none;
49-
padding-left: 0px;
50-
margin: 0px 0px $unit 0px;
51-
text-align: center;
52-
}
53-
}
54-
55114
h3 {
56115
opacity: .87;
57116
line-height: 34px;

public/resources/css/module/_footer.scss

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@
3939
}
4040

4141
h3 {
42+
font-size: 20px;
43+
4244
@media handheld and (max-width: $phone-breakpoint),
4345
screen and (max-device-width: $phone-breakpoint),
4446
screen and (max-width: $tablet-breakpoint) {

public/resources/css/module/_hero.scss

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,13 @@ $hero-padding: ($unit * 10) ($unit * 6) ($unit * 7);
55
padding: $hero-padding;
66
height: $unit * 10;
77

8+
.hero-cta {
9+
a {
10+
padding-left: 48px;
11+
padding-right: 48px;
12+
}
13+
}
14+
815
.hero-title-with-badges {
916
margin-bottom: $unit;
1017
}
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
// TODO: (ericjim) is the best place to put this?
2+
.home-rows {
3+
margin-top: 112px;
4+
}
5+
6+
.home-row {
7+
max-width: 920px;
8+
margin: 0 0 60px 0;
9+
margin-left: auto;
10+
margin-right: auto;
11+
12+
h3.text-headline {
13+
font-size: 28px;
14+
margin-top: 10px;
15+
color: #37474F;
16+
}
17+
18+
.promo-image-container, .text-container {
19+
max-width: 50%;
20+
}
21+
22+
// NOTE (ericjim): remove if graphic changes.
23+
.promo-3 {
24+
margin-top: 15px;
25+
26+
@media(max-width: 599px) {
27+
margin-top: 0;
28+
}
29+
}
30+
31+
// -- Utility margins for promos
32+
.promo-1-desc, .promo-3-desc {
33+
padding-left: 5px;
34+
}
35+
36+
// -- Reset margins for the utility margins
37+
@media(max-width: 599px) {
38+
.promo-1, .promo-2, .promo-3, .promo-4 {
39+
margin: 0;
40+
}
41+
}
42+
43+
.text-block {
44+
padding-right: 15%;
45+
46+
@media(max-width: 599px) {
47+
padding: 0;
48+
}
49+
}
50+
51+
@media(max-width: 599px) {
52+
.promo-image-container, .text-container {
53+
max-width: 100%;
54+
}
55+
56+
&:nth-child(even) {
57+
flex-direction: column-reverse;
58+
}
59+
}
60+
61+
.promo-img-container {
62+
63+
@media (max-width: 375px) {
64+
text-align: initial;
65+
}
66+
67+
p {
68+
margin: 0 20px;
69+
}
70+
71+
img {
72+
max-width: 90%;
73+
74+
75+
@media (max-width: 599px) {
76+
max-width: 100%;
77+
float: initial !important;
78+
}
79+
}
80+
}
81+
}
Loading
Loading
Loading

0 commit comments

Comments
 (0)