Skip to content

Commit d9673c1

Browse files
committed
DOCS-3806: Update front page
1 parent 12f15e4 commit d9673c1

6 files changed

Lines changed: 200 additions & 145 deletions

File tree

assets/js/index.js

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,3 +83,46 @@ if(main && scrollBtn) {
8383
});
8484
observer.observe(main);
8585
}
86+
87+
if (document.querySelector('.three-cards')) {
88+
const threeCards = document.querySelector('.three-cards');
89+
if (threeCards) {
90+
const hoverCards = threeCards.querySelectorAll('.hover-card');
91+
hoverCards.forEach(card => {
92+
card.addEventListener('mouseenter', () => {
93+
let elem = document.getElementById(card.classList[card.classList.length - 1]);
94+
elem.style.display = 'inline-block';
95+
});
96+
card.addEventListener('mouseleave', () => {
97+
let elem = document.getElementById(card.classList[card.classList.length - 1]);
98+
elem.style.display = 'none';
99+
});
100+
});
101+
}
102+
}
103+
104+
if (document.querySelector('.hoveraction')) {
105+
const threeCards = document.querySelector('.hoveraction');
106+
if (threeCards) {
107+
const hoverCards = threeCards.querySelectorAll('.howtoexpand');
108+
let highlights = [];
109+
hoverCards.forEach(c => highlights.push(c.classList[c.classList.length - 1]));
110+
hoverCards.forEach(card => {
111+
card.addEventListener('mouseenter', () => {
112+
let hoverElem = card.classList[card.classList.length - 1];
113+
highlights.forEach(h => {
114+
if (h !== hoverElem) {
115+
let elem = document.getElementById(h);
116+
elem.style.display = 'none';
117+
}
118+
});
119+
});
120+
card.addEventListener('mouseleave', () => {
121+
highlights.forEach(h => {
122+
let elem = document.getElementById(h);
123+
elem.style.display = 'inline-block';
124+
});
125+
});
126+
});
127+
}
128+
}

assets/scss/_styles_project.scss

Lines changed: 36 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ h7, .h7 {
232232
a, a:hover {
233233
color: #0000EA;
234234
h1, h2, h3, h4, h5, h6, h7, p {
235-
color: black;
235+
color: #4E4F52;
236236
}
237237
}
238238

@@ -1150,7 +1150,7 @@ td > ul, td > ol {
11501150

11511151
.horizontalheaders * .nav-tabs .nav-link.active, .horizontalheaders * .nav-tabs .nav-link.active:hover {
11521152
border-top: unset;
1153-
border-bottom: 1px solid white;
1153+
border-bottom: 1px solid #f7f7f8;
11541154
}
11551155

11561156
.nav-tabs .nav-link, .nav-tabs .nav-link:hover {
@@ -1163,7 +1163,7 @@ td > ul, td > ol {
11631163
}
11641164

11651165
.horizontalheaders .nav-tabs .nav-link, .horizontalheaders .nav-tabs .nav-link:hover {
1166-
padding: 0.5rem 1.5rem;
1166+
padding: 0.5rem 1rem;
11671167
margin-right: 0;
11681168
}
11691169

@@ -1289,11 +1289,6 @@ td > ul, td > ol {
12891289
animation: linear 2s wiggle 2s 2;
12901290
}
12911291

1292-
@media (min-width: 992px) {
1293-
#scrollButton {
1294-
margin-right: 10%;
1295-
}
1296-
}
12971292

12981293
#chatButtonContent {
12991294
display: flex;
@@ -2504,6 +2499,13 @@ h3.body-header[style] {
25042499
}
25052500
}
25062501

2502+
.gray-container {
2503+
margin-top: 3rem;
2504+
background-color: #f7f7f8;
2505+
border-radius: 4px;
2506+
padding: 2rem;
2507+
}
2508+
25072509
// CTA buttons START
25082510

25092511
.front-card-container > .hover-card.primary, .front-card-container > .cta.secondary {
@@ -2627,17 +2629,22 @@ hr {
26272629
.table.horizontalheaders > ul.nav-tabs > li.nav-item > a.nav-link.active {
26282630
background-color: #d7d7d9;
26292631
color: 1px solid #d7d7d9;
2630-
border-bottom: 1px solid #d7d7d9;
2631-
border-top: 1px solid #d7d7d9;
2632+
border-bottom: 1px solid #f7f7f8;
2633+
border-top: 1px solid #f7f7f8;
2634+
}
2635+
2636+
.table.horizontalheaders > ul.nav-tabs > li.nav-item > a.nav-link.active:first {
2637+
border-top: 1px solid #000000;
26322638
}
26332639

26342640
.table.horizontalheaders > ul.nav-tabs > li.nav-item > a.nav-link:hover {
26352641
border: unset;
26362642
background-color: #d7d7d9;
2637-
border-top: 1px solid #d7d7d9;
2638-
border-bottom: 1px solid #d7d7d9;
2643+
border-top: 1px solid #f7f7f8;
2644+
border-bottom: 1px solid #f7f7f8;
26392645
}
26402646

2647+
26412648
// top-level tabs nav items END
26422649

26432650
// Tabs inside tabs START
@@ -3152,40 +3159,31 @@ li.active-path.tutorial-heading > a {
31523159

31533160
// Platform landing pages START
31543161

3155-
.hoverable-fleet:hover ~ .img-overlay-wrap > #fleet-platform-team,
3156-
.hoverable-fleet:hover ~ .img-overlay-wrap > #fleet-platform-monitor,
3157-
.hoverable-team:hover ~ .img-overlay-wrap > #fleet-platform-management,
3158-
.hoverable-team:hover ~ .img-overlay-wrap > #fleet-platform-monitor,
3159-
.hoverable-monitor:hover ~ .img-overlay-wrap > #fleet-platform-management,
3160-
.hoverable-monitor:hover ~ .img-overlay-wrap > #fleet-platform-team {
3161-
display: none !important;
3162+
.three-cards {
3163+
display: flex;
3164+
flex-direction: row;
3165+
flex-wrap: wrap;
3166+
justify-content: center;
3167+
gap: 1rem;
31623168
}
31633169

3164-
.hoverable-connect:hover ~ .img-overlay-wrap > #build-platform-apps,
3165-
.hoverable-connect:hover ~ .img-overlay-wrap > #build-platform-motion,
3166-
.hoverable-apps:hover ~ .img-overlay-wrap > #build-platform-connect,
3167-
.hoverable-apps:hover ~ .img-overlay-wrap > #build-platform-motion,
3168-
.hoverable-motion:hover ~ .img-overlay-wrap > #build-platform-connect,
3169-
.hoverable-motion:hover ~ .img-overlay-wrap > #build-platform-apps {
3170-
display: none !important;
3170+
.three-cards > .col {
3171+
flex: 1;
3172+
max-width: 300px;
3173+
margin: 0 !important;
31713174
}
31723175

3173-
.hoverable-ai:hover ~ .img-overlay-wrap > #data-platform-capture,
3174-
.hoverable-ai:hover ~ .img-overlay-wrap > #data-platform-work,
3175-
.hoverable-work:hover ~ .img-overlay-wrap > #data-platform-capture,
3176-
.hoverable-work:hover ~ .img-overlay-wrap > #data-platform-ai,
3177-
.hoverable-capture:hover ~ .img-overlay-wrap > #data-platform-work,
3178-
.hoverable-capture:hover ~ .img-overlay-wrap > #data-platform-ai {
3179-
display: none !important;
3176+
.three-cards .hover-card a div > div {
3177+
font-family: "Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
3178+
font-weight: normal;
3179+
font-size: 1.25rem !important;
31803180
}
31813181

3182-
.hoverable-build:hover ~ .img-overlay-wrap > #build-platform,
3183-
.hoverable-data:hover ~ .img-overlay-wrap > #data-platform,
3184-
.hoverable-fleet:hover ~ .img-overlay-wrap > #fleet-platform {
3185-
display: inline-block !important;
3182+
.imgcontcenter {
3183+
display: flex;
3184+
justify-content: center;
31863185
}
31873186

3188-
31893187
.img-overlay-wrap {
31903188
position: relative;
31913189
display: inline-block;
@@ -3209,20 +3207,6 @@ li.active-path.tutorial-heading > a {
32093207
display: none;
32103208
}
32113209

3212-
.upside-down {
3213-
display: flex;
3214-
flex-direction: column-reverse;
3215-
align-self: first baseline;
3216-
}
3217-
3218-
.upside-down.max-page {
3219-
justify-self: center;
3220-
}
3221-
3222-
.upside-down > img {
3223-
margin-bottom: 2.5rem;
3224-
}
3225-
32263210
.col-12.col-md-12.col-xl-12.pl-md-12 {
32273211
display: flex;
32283212
flex-direction: column;
@@ -3232,13 +3216,6 @@ li.active-path.tutorial-heading > a {
32323216
align-self: flex-end;
32333217
}
32343218

3235-
.upside-down > .col.hover-card {
3236-
min-width: unset;
3237-
max-width: unset;
3238-
max-height: fit-content;
3239-
flex-grow: unset !important;
3240-
}
3241-
32423219
.col-12.col-md-12.col-xl-12.pl-md-12 > .td-content {
32433220
display: flex;
32443221
justify-content: center;

docs/_index.md

Lines changed: 52 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -27,32 +27,70 @@ aliases:
2727
- "/platform/"
2828
---
2929

30+
<div class="max-page">
31+
<div class="hero-container">
32+
<div class="hero-text">
33+
<h1>Viam Documentation</h1>
34+
<p>
35+
Viam integrates with hardware and software on <b>any device</b> in the physical world. Once you <a href="/operate/get-started/setup/">set up your machines</a>, you can use Viam SDKs to program your devices and connected hardware. Everything is managed in the cloud and you can add use machine learning, data management, and much more for your projects.
36+
</p>
37+
<div class="cards max-page">
38+
<div class="front-card-container">
39+
<div class="hover-card primary">
40+
<a href="tools/tutorials/" class="noanchor">
41+
<div>
42+
<p>Platform overview</p>
43+
</div>
44+
</a>
45+
</div>
46+
<div class="cta secondary">
47+
<a href="tools/cli/" class="noanchor"><div>
48+
<p>Project Tutorials →</p></div>
49+
</a>
50+
</div>
51+
</div>
52+
</div>
53+
</div>
54+
<img src=../viam.svg alt="Robot illustration" class="hero">
55+
</div>
56+
</div>
57+
<br>
58+
3059
<!-- Need to use upside down logic because using Subsequent-sibling combinator -->
31-
<div class="upside-down max-page">
60+
<div class="max-page gray-container">
61+
<h2>The Viam platform</h2>
62+
<p> Viam allows you to control and program any sensor, actuator or other hardware that is connected to a device. The Viam platform offers builtin capabilities to capture data from devices to the cloud, to build and deploy machine learning models, to alert on problems, and much more. With the connection to the cloud, you can configure, control, and manage your devices from anywhere.</p>
63+
<br>
64+
<div class="imgcontcenter">
65+
<div class="img-overlay-wrap aligncenter">
66+
<img src="platform/platform-all.svg" alt="Platform diagram" id="fleet-platform-all" class="aligncenter overview" style="width:800px;height:auto" >
67+
<img src="platform/platform-build-all.svg" alt="Platform diagram with connect elements highlighted" class="aligncenter overlay-platform" id="build-platform" style="width:800px;height:auto" loading="lazy" >
68+
<img src="platform/platform-data-all.svg" alt="Platform diagram with apps element highlighted" class="aligncenter overlay-platform" id="data-platform" style="width:800px;height:auto" loading="lazy" >
69+
<img src="platform/platform-fleet-all.svg" alt="Platform diagram with motion elements highlighted" class="aligncenter overlay-platform" id="fleet-platform" style="width:800px;height:auto" loading="lazy" >
70+
</div>
71+
</div>
3272

33-
<div class="col hover-card hoverable-fleet">
34-
<a href="manage/">
35-
<div><div>Deploy, manage, and troubleshoot</div><p>Viam’s fleet management tooling allows you to remotely deploy and manage software on any fleet of devices. You can monitor all connected devices and troubleshoot any issues - from anywhere.</p></div>
73+
<br>
74+
75+
<div class="three-cards hoveraction">
76+
77+
<div class="col hover-card build-platform">
78+
<a href="operate/">
79+
<div><div>Build & integrate</div><p>To get started, install Viam on any device and integrate your hardware. Then you can control your device and any attached physical hardware securely from anywhere in the world.</p></div>
3680
</a>
3781
</div>
3882

39-
<div class="col hover-card hoverable-data">
83+
<div class="col hover-card data-platform">
4084
<a href="data-ai/">
4185
<div><div>Work with Data and AI</div><p>Viam's data and AI capabilities enable you to capture and sync or upload data, build a dataset, train and deploy ML models, and run inference with computer vision. Then, you can act or alert on inferences.</p></div>
4286
</a>
4387
</div>
4488

45-
<div class="col hover-card hoverable-build">
46-
<a href="operate/">
47-
<div><div>Build & integrate</div><p>To get started, install Viam on any device and integrate your hardware. Then you can control your device and any attached physical hardware securely from anywhere in the world.</p></div>
89+
<div class="col hover-card fleet-platform">
90+
<a href="manage/">
91+
<div><div>Deploy, manage, and troubleshoot</div><p>Viam’s fleet management tooling allows you to remotely deploy and manage software on any fleet of devices. You can monitor all connected devices and troubleshoot any issues - from anywhere.</p></div>
4892
</a>
4993
</div>
5094

51-
<div class="img-overlay-wrap aligncenter">
52-
<img src="platform/platform-all.svg" alt="Platform diagram" id="fleet-platform-all" class="aligncenter overview" style="width:800px;height:auto" >
53-
<img src="platform/platform-build-all.svg" alt="Platform diagram with connect elements highlighted" class="aligncenter overlay-platform" id="build-platform" style="width:800px;height:auto" loading="lazy" >
54-
<img src="platform/platform-data-all.svg" alt="Platform diagram with apps element highlighted" class="aligncenter overlay-platform" id="data-platform" style="width:800px;height:auto" loading="lazy" >
55-
<img src="platform/platform-fleet-all.svg" alt="Platform diagram with motion elements highlighted" class="aligncenter overlay-platform" id="fleet-platform" style="width:800px;height:auto" loading="lazy" >
5695
</div>
57-
5896
</div>

docs/data-ai/_index.md

Lines changed: 21 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -16,22 +16,24 @@ Viam's data and AI capabilities enable you to capture and sync or upload data, b
1616
Then, you can act or alert on inferences.
1717
You can also monitor your machines through teleop, power your application logic, or analyze historical data trends.
1818

19-
<!-- Need to use upside down logic because using Subsequent-sibling combinator -->
20-
<div class="upside-down">
19+
<div class="img-overlay-wrap aligncenter">
20+
<img src="../platform/platform-all.svg" alt="Platform diagram" id="fleet-platform-all" class="aligncenter overview" style="width:800px;height:auto">
21+
<img src="../platform/platform-data-capture.svg" alt="Platform diagram with data capture elements highlighted" class="aligncenter overlay" id="data-platform-capture" style="width:800px;height:auto" loading="lazy" >
22+
<img src="../platform/platform-data-work.svg" alt="Platform diagram with data usage elements highlighted" class="aligncenter overlay" id="data-platform-work" style="width:800px;height:auto" loading="lazy" >
23+
<img src="../platform/platform-data-ai.svg" alt="Platform diagram with AI elements highlighted" class="aligncenter overlay" id="data-platform-ai" style="width:800px;height:auto" loading="lazy" >
24+
</div>
25+
26+
<div class="hoveraction">
2127

22-
{{< how-to-expand "Leverage AI" "8" "INTERMEDIATE" "" "hoverable-ai" >}}
28+
{{< how-to-expand "Capture data" "3" "BEGINNER-FRIENDLY" "" "data-platform-capture" >}}
2329
{{< cards >}}
24-
{{% card link="/data-ai/ai/create-dataset/" noimage="true" %}}
25-
{{% card link="/data-ai/ai/train-tflite/" noimage="true" %}}
26-
{{% card link="/data-ai/ai/train/" noimage="true" %}}
27-
{{% card link="/data-ai/ai/deploy/" noimage="true" %}}
28-
{{% card link="/data-ai/ai/run-inference/" noimage="true" %}}
29-
{{% card link="/data-ai/ai/alert/" noimage="true" %}}
30-
{{% card link="/data-ai/ai/act/" noimage="true" %}}
30+
{{% card link="/data-ai/capture-data/capture-sync/" noimage="true" %}}
31+
{{% card link="/data-ai/capture-data/filter-before-sync/" noimage="true" %}}
32+
{{% card link="/data-ai/capture-data/conditional-sync/" noimage="true" %}}
3133
{{< /cards >}}
3234
{{< /how-to-expand >}}
3335

34-
{{< how-to-expand "Work with data" "4" "BEGINNER-FRIENDLY" "" "hoverable-work" >}}
36+
{{< how-to-expand "Work with data" "4" "BEGINNER-FRIENDLY" "" "data-platform-work" >}}
3537
{{< cards >}}
3638
{{% card link="/data-ai/data/query/" noimage="true" %}}
3739
{{% card link="/data-ai/data/visualize/" noimage="true" %}}
@@ -40,19 +42,16 @@ You can also monitor your machines through teleop, power your application logic,
4042
{{< /cards >}}
4143
{{< /how-to-expand >}}
4244

43-
{{< how-to-expand "Capture data" "3" "BEGINNER-FRIENDLY" "" "hoverable-capture" >}}
45+
{{< how-to-expand "Leverage AI" "8" "INTERMEDIATE" "" "data-platform-ai" >}}
4446
{{< cards >}}
45-
{{% card link="/data-ai/capture-data/capture-sync/" noimage="true" %}}
46-
{{% card link="/data-ai/capture-data/filter-before-sync/" noimage="true" %}}
47-
{{% card link="/data-ai/capture-data/conditional-sync/" noimage="true" %}}
47+
{{% card link="/data-ai/ai/create-dataset/" noimage="true" %}}
48+
{{% card link="/data-ai/ai/train-tflite/" noimage="true" %}}
49+
{{% card link="/data-ai/ai/train/" noimage="true" %}}
50+
{{% card link="/data-ai/ai/deploy/" noimage="true" %}}
51+
{{% card link="/data-ai/ai/run-inference/" noimage="true" %}}
52+
{{% card link="/data-ai/ai/alert/" noimage="true" %}}
53+
{{% card link="/data-ai/ai/act/" noimage="true" %}}
4854
{{< /cards >}}
4955
{{< /how-to-expand >}}
5056

51-
<div class="img-overlay-wrap aligncenter">
52-
<img src="../platform/platform-all.svg" alt="Platform diagram" id="fleet-platform-all" class="aligncenter overview" style="width:800px;height:auto">
53-
<img src="../platform/platform-data-capture.svg" alt="Platform diagram with data capture elements highlighted" class="aligncenter overlay" id="data-platform-capture" style="width:800px;height:auto" loading="lazy" >
54-
<img src="../platform/platform-data-work.svg" alt="Platform diagram with data usage elements highlighted" class="aligncenter overlay" id="data-platform-work" style="width:800px;height:auto" loading="lazy" >
55-
<img src="../platform/platform-data-ai.svg" alt="Platform diagram with AI elements highlighted" class="aligncenter overlay" id="data-platform-ai" style="width:800px;height:auto" loading="lazy" >
56-
</div>
57-
5857
</div>

0 commit comments

Comments
 (0)