diff --git a/src/components/Badge.js b/src/components/Badge.js new file mode 100644 index 00000000..d9759f53 --- /dev/null +++ b/src/components/Badge.js @@ -0,0 +1,5 @@ +import React from 'react'; + +export default function Bagdge({tag, key}) { + return (
{tag}
); +} diff --git a/src/components/Home.js b/src/components/Home.js index d8bcad4f..ce03fb16 100644 --- a/src/components/Home.js +++ b/src/components/Home.js @@ -1,13 +1,14 @@ import React from 'react' import Footer from 'components/Footer' - +import Badge from './Badge.js'; import lessons from 'mdRoutes' function Home() { return (
+ vis-logo

Vis Academy

Tutorials and classes prepared by the Uber visualization team

@@ -18,7 +19,9 @@ function Home() { {d.name}

{d.name}

{d.desc}

- {'GET STARTED!'} +
+ {(d.badges || []).map((d, i) => Badge({tag: d, key: i}))} +
))} @@ -31,3 +34,5 @@ function Home() { } export default Home + +// {'GET STARTED!'} \ No newline at end of file diff --git a/src/mdRoutes.js b/src/mdRoutes.js index 98b47515..3714c5dc 100644 --- a/src/mdRoutes.js +++ b/src/mdRoutes.js @@ -76,7 +76,8 @@ export default [{ }, { name: 'Building a Geospatial App', desc: 'Learn how to create maps, layer data on top of them and draw charts with the Uber vis libraries.', - image: 'images/geospatial-app/geospatial-app.png', + image: 'images/geospatial-app/geospatial-app.png', + badges: ['react-vis', 'react-map-gl', 'deck.gl'], path: '/building-a-geospatial-app', data: [ { @@ -141,8 +142,9 @@ export default [{ ] }, { name: 'Building a Graph Vis', - desc: 'Learn how to create a graph visualization with d3-force layout.', - image: 'images/graph-vis/cover.png', + desc: 'Learn how to create a graph visualization in webGL, with d3-force layout.', + image: 'images/graph-vis/cover.png', + badges: ['deck.gl'], path: '/graph-vis', data: [ { @@ -169,7 +171,8 @@ export default [{ }, { name: 'Custom Layers', desc: 'Advanced topic: learn how to create your own deck.gl layers.', - image: 'images/custom-layers/cover.png', + image: 'images/custom-layers/cover.png', + badges: ['deck.gl'], path: '/custom-layers', data: [ { diff --git a/src/styles/_index.scss b/src/styles/_index.scss index 682594bb..b6161ba4 100644 --- a/src/styles/_index.scss +++ b/src/styles/_index.scss @@ -1,47 +1,67 @@ @import "~react-vis/dist/main.scss"; @import "./_variables.scss"; -.Home { - background-color: #E5E5E4; - +.title { + height: 300px; + width: 100%; + margin: 6em auto 1em; + max-width: 72rem; + img { + position: absolute; + z-index: -1; + } + h1, p { + margin-left: 213px; + } h1 { - font-size: 6em; - font-weight: 400; + font-size: 2em; + font-weight: 600; } p { - font-size: 1.6em; - line-height: 1.5; + font-size: 4em; + font-weight: 400; } +} - h3 { - font-size: 1.8em; - } +.badges { + position: absolute; + right: 1rem; + bottom: 1rem; } -.title { - width: 100%; - text-align: center; - * { - margin: 1em auto; - max-width: 600px; - } - p { - font-size: 3em; +.badge { + border: 1px solid #979797; + border-radius: 4px; + display: inline-block; + font-size: calc(5em / 9); + padding: 0 5px; + margin: 0 5px 0 0; + line-height: 2em; + text-transform: uppercase; + transition: color 0.5s, border-color 0.5s, background 0.5s; + &:hover { + background: white; + color: $primary !important; } } .lesson-card { background-color: white; color: #494949; - + font-size: 1.5em; width: 20rem; max-width: 80vw; height: 30rem; margin: 2rem; padding: 1.5rem 1rem 1rem; + position: relative; box-shadow: 0 0 5px rgba(black, 0.2); transition: background-color 250ms, box-shadow 0.3s, color 250ms, transform 250ms; + h3 { + font-size: 1.2em; + } + .btn { transition: color 250ms ease-in; padding: 0.5rem 2rem; @@ -61,6 +81,10 @@ .btn { color: white; } + .badge { + color: white; + border-color: white; + } } } @@ -176,14 +200,27 @@ ul.insert { @media screen and (max-width: $mobile) { .Home { - h1 { - font-size: 3em; - } .title { + margin: 2rem auto; + h1 { + margin: 1rem 1rem 1rem 2rem ; + } + img { + height: 100px; + } p { - margin: 1em auto; + margin: 1rem 1rem 1rem 2rem ; + font-size: 1em; max-width: 80%; } + height: 100px; + } + .lesson-card { + margin: 1rem 2rem; + max-width: none; + img { + width: 50%; + } } } } diff --git a/static/images/vis-logo.png b/static/images/vis-logo.png new file mode 100644 index 00000000..e969482f Binary files /dev/null and b/static/images/vis-logo.png differ