From e77c81137265d4326dd8c6dda2febc7beca479a8 Mon Sep 17 00:00:00 2001 From: Sarah Fowler Date: Wed, 25 Sep 2019 13:32:06 -0400 Subject: [PATCH] [LIGO-94] redesign Features section --- gitlab-pages/website/pages/en/index.js | 45 ++++++++------ gitlab-pages/website/static/css/custom.css | 57 +++++++++++++++++- .../website/static/img/easy-integration.svg | 18 ++++++ .../website/static/img/strong-type-system.svg | 16 +++++ .../website/static/img/syntax-agnostic.svg | 25 ++++++++ gitlab-pages/website/static/img/user.png | Bin 10929 -> 0 bytes 6 files changed, 141 insertions(+), 20 deletions(-) create mode 100644 gitlab-pages/website/static/img/easy-integration.svg create mode 100644 gitlab-pages/website/static/img/strong-type-system.svg create mode 100644 gitlab-pages/website/static/img/syntax-agnostic.svg delete mode 100644 gitlab-pages/website/static/img/user.png diff --git a/gitlab-pages/website/pages/en/index.js b/gitlab-pages/website/pages/en/index.js index c962109df..ee6c4cb0a 100644 --- a/gitlab-pages/website/pages/en/index.js +++ b/gitlab-pages/website/pages/en/index.js @@ -259,33 +259,42 @@ class Index extends React.Component { ); + const FeatureCard = props => ( +
+ +
+

{props.title}

+

{props.content}

+
+
+ ); + const Features = () => (
-

Features

- +

Features

+ +
{[ - { - content: - "Write in PascaLIGO (pascal-like syntax) or CameLIGO (caml-like syntax). If you know OCaml, you can also add your own syntax.", - image: `${baseUrl}img/edit.svg`, - imageAlign: "top", - title: "Syntax Agnostic" - }, { content: "Write types, then code, and benefit from the safety coming from type systems.", - image: `${baseUrl}img/lightning.svg`, - imageAlign: "top", + image: `${baseUrl}img/strong-type-system.svg`, title: "Strong Type System" }, + { + content: + "Write in PascaLIGO (pascal-like syntax) or CameLIGO (caml-like syntax). If you know OCaml, you can also add your own syntax.", + image: `${baseUrl}img/syntax-agnostic.svg`, + title: "Syntax Agnostic" + }, + { content: "With Granary, you can use LIGO as a lib from NodeJS.", - image: `${baseUrl}img/puzzle.svg`, - imageAlign: "top", + image: `${baseUrl}img/easy-integration.svg`, title: "Easy Integration" } - ]} - + ].map(FeatureCard)} +
); @@ -339,7 +348,7 @@ class Index extends React.Component { return (
-

Partners

+

Partners

{showcase}
{/*
@@ -372,8 +381,8 @@ class Index extends React.Component { return (
-

Team

-
{showcase}
+

Team

+
{showcase}
{/*
More {siteConfig.title} Users diff --git a/gitlab-pages/website/static/css/custom.css b/gitlab-pages/website/static/css/custom.css index 35509042f..8d0954962 100644 --- a/gitlab-pages/website/static/css/custom.css +++ b/gitlab-pages/website/static/css/custom.css @@ -462,7 +462,7 @@ body flex-direction: column; align-items: center; justify-content: center; - max-width: fit-content; + max-width: 20%; color: var(--color-primary-text); padding: 0 var(--padding-level-1); } @@ -474,18 +474,71 @@ body .profileImage { max-height: 195px; max-width: 195px; + width: 100%; border: var(--color-gray); } .profileImage:hover { box-shadow: 12px 12px 0px var(--color-primary-brand); } -.team-container { +.flex-inline-container { display: flex; flex-direction: row; justify-content: space-around; padding: var(--padding-level-1); flex-wrap: wrap; + align-items: flex-start; +} + +/** Feature Cards **/ +.card { + display: flex; + flex-direction: column; + padding: 2rem; + align-items: center; + justify-content: flex-start; + max-width: 30%; + height: auto; + background-color: var(--color-light-gray); +} + +.card:hover { + background-color: var(--color-light-blue); +} + +.card-text { + text-align: center; +} + +@media (min-width: 560px) and (max-width: 768px) { + /** Special rules to reorient feature cards at only one screen size**/ + .card { + flex-direction: row; + width: 100%; + max-width: 100%; + justify-content: left; + margin: var(--padding-level-1) 0; + } + .card-text { + text-align: left; + } +} + +@media (max-width: 768px) { + .profileContainer { + max-width: 30%; + } +} + +@media (max-width: 560px) { + .card { + max-width: 100%; + margin: var(--padding-level-1) 0; + } + .profileContainer { + max-width: 100%; + width: 100%; + } } @media only screen and (min-device-width: 360px) and (max-device-width: 736px) { diff --git a/gitlab-pages/website/static/img/easy-integration.svg b/gitlab-pages/website/static/img/easy-integration.svg new file mode 100644 index 000000000..de1284626 --- /dev/null +++ b/gitlab-pages/website/static/img/easy-integration.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/gitlab-pages/website/static/img/strong-type-system.svg b/gitlab-pages/website/static/img/strong-type-system.svg new file mode 100644 index 000000000..997b516a9 --- /dev/null +++ b/gitlab-pages/website/static/img/strong-type-system.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/gitlab-pages/website/static/img/syntax-agnostic.svg b/gitlab-pages/website/static/img/syntax-agnostic.svg new file mode 100644 index 000000000..5cc55d5ae --- /dev/null +++ b/gitlab-pages/website/static/img/syntax-agnostic.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gitlab-pages/website/static/img/user.png b/gitlab-pages/website/static/img/user.png deleted file mode 100644 index 1079d42d758029429d1bc1de92fe42762943237c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10929 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 z zX^0Tab>j?hx3P_q?r-c4@dRBAtc}7Mezbm%0N(Wbr5=a?X9|cZwAs7V&rNh6D+^`>Ek#P*0@r^~V<}oJ)=>bN+79Wax?nIbvaWK$H62 zz04PTX&=ev`C)0uQR4(Sf8u5Emksig4(zkxf5!=i-Jb&Oizh{35(G)M0c|MKZE{V1 zb$cP0ngJk+!{*6)6Z11d|3FYoZV%t^7mBP@JfLD MdS<#c+Rm^4FSnMZ6aWAK