diff --git a/docusaurus.config.js b/docusaurus.config.js index d572b0216a6..455fd80c51e 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -399,8 +399,9 @@ module.exports = { additionalLanguages: ['csharp', 'powershell', 'java', 'markdown', 'scala', 'bash', 'diff', 'json', `sql`, `sumo`], }, navbar: { + title: 'Docs', logo: { - alt: 'Sumo Logic logo', + alt: 'Sumo Logic', srcDark: 'img/reuse/sumo-logo.svg', src: 'img/reuse/sumo-logo-dark.svg', }, diff --git a/src/components/Feature/index.tsx b/src/components/Feature/index.tsx index aeabdbc824a..31ae4e6f35c 100644 --- a/src/components/Feature/index.tsx +++ b/src/components/Feature/index.tsx @@ -18,8 +18,10 @@ export const Feature = ({ return ( {imgUrl && ( - Our AI-powered log assistant allows you to ask questions in plain English and get accurate log queries without writing code. + Ask questions in plain language to analyze logs, investigate security incidents, and get answers from official documentation. ), link: 'docs/search/mobot', }, @@ -132,21 +132,34 @@ export const features3 = [ message: 'Dojo AI Platform', description: 'Title for Dojo AI platform overview', }), - imageUrl: 'img/icons/operations/human-to-machine.png', + imageUrl: 'img/icons/operations/dojo-ai.png', description: ( - Explore our evolving AI capabilities built to accelerate investigation, automate workflows, and surface insights across your observability and security data. + Explore the multi-agent AI platform that helps security and observability teams detect threats, investigate incidents, and act on their data. ), - link: 'https://www.sumologic.com/solutions/dojo-ai', + link: 'docs/get-started/ai-machine-learning', + }, + { + title: translate({ + id: 'landing.feature.ai-security-investigations.title', + message: 'AI-powered security investigations', + description: 'Title for AI-powered security investigations', + }), + imageUrl: 'img/icons/security/soc-analyst-agent-icon.png', + description: ( + + Investigate Cloud SIEM insights with evidence-backed verdicts, correlated activity, and clear findings for faster threat response. + + ), + link: 'docs/get-started/ai-machine-learning', }, ]; -// After it goes GA: docs/cse/get-started-with-cloud-siem/soc-analyst-agent -// After it goes GA: mcp-server - // Tab 4: Observability export const features4 = [ { diff --git a/src/pages/index.module.css b/src/pages/index.module.css new file mode 100644 index 00000000000..75555519fa6 --- /dev/null +++ b/src/pages/index.module.css @@ -0,0 +1,410 @@ +.hero { + --hero-blue: #000099; + --hero-blue-light: #0045be; + position: relative; + overflow: hidden; + color: #e3e3e3; + background: + linear-gradient(90deg, rgba(1, 4, 47, 0.92) 0%, rgba(1, 4, 47, 0.78) 48%, rgba(0, 0, 56, 0.34) 100%), + url('/img/reuse/landing-hero.jpg') center / cover no-repeat, + linear-gradient(135deg, #05054f 0%, var(--hero-blue) 46%, var(--hero-blue-light) 100%); +} + +.heroContainer { + position: relative; + z-index: 1; + padding-top: 3.25rem; + padding-bottom: 3.25rem; +} + +.heroContent { + max-width: 760px; + margin: 0 auto; + text-align: center; +} + +.heroTitle { + margin: 0 0 0.85rem !important; + color: #e3e3e3; + font-family: 'Lab Grotesque', sans-serif !important; + font-size: clamp(2.25rem, 4vw, 3.25rem) !important; + font-weight: 700 !important; + letter-spacing: normal !important; + line-height: 1.1 !important; +} + +.heroTagline { + margin: 0 0 0.5rem !important; + color: #e3e3e3; + font-family: 'Lab Grotesque', sans-serif !important; + font-size: clamp(1.25rem, 2vw, 1.6rem) !important; + font-weight: 400 !important; + line-height: 1.3 !important; +} + +.heroDescription { + max-width: 720px; + margin: 0 !important; + color: #e3e3e3; + font-family: 'Lab Grotesque', sans-serif !important; + font-size: 1rem !important; + line-height: 1.5 !important; +} + +.heroSearch { + width: min(100%, 760px); + min-width: 0; + margin-top: 1.5rem; +} + +.heroSearch :global(.DocSearch) { + width: 100%; + min-width: 0; +} + +.heroSearch :global(.DocSearch-Button) { + box-sizing: border-box; + width: 100%; + max-width: 100%; + height: 58px; + margin: 0; + padding: 0 1.25rem; + border: 1px solid rgba(255, 255, 255, 0.72); + border-radius: 8px; + background: #fff; + box-shadow: 0 8px 24px rgba(0, 0, 40, 0.2); +} + +.heroSearch :global(.DocSearch-Button-Container) { + flex: 1; +} + +.heroSearch :global(.DocSearch-Button-Placeholder) { + color: #3d4556 !important; + font-family: 'Lab Grotesque', sans-serif; + font-size: 1.05rem; +} + +.heroSearch :global(.DocSearch-Search-Icon) { + color: #2849e2 !important; +} + +.heroSearch :global(.DocSearch-Button-Keys) { + display: none; +} + +:global(html[data-theme='dark']) .heroSearch :global(.DocSearch-Button-Placeholder) { + color: #3d4556 !important; +} + +:global(html[data-theme='dark']) .heroSearch :global(.DocSearch-Search-Icon) { + color: #2849e2 !important; +} + +.heroSearch :global(.DocSearch-Button:hover) { + border-color: #8fa4ff; + box-shadow: 0 10px 28px rgba(0, 0, 40, 0.28); +} + +.heroSearch :global(.DocSearch-Button:focus-visible) { + outline: 3px solid #06bcee; + outline-offset: 3px; +} + +.taskSection { + padding: 2.5rem 0 3rem; + border-bottom: 1px solid var(--ifm-color-emphasis-200); + background: var(--ifm-background-surface-color); +} + +.taskIntro { + gap: 1.5rem; + margin-bottom: 1.5rem; + text-align: center; +} + +.taskTitle { + margin: 0 0 0.35rem !important; + color: var(--ifm-heading-color); + font-family: 'Lab Grotesque', sans-serif !important; + font-size: 1.65rem !important; + font-weight: 700 !important; + line-height: 1.2 !important; +} + +.taskDescription { + margin: 0 !important; + color: var(--ifm-color-emphasis-700); + font-family: 'Lab Grotesque', sans-serif !important; + font-size: 1rem !important; +} + +.heroActions { + gap: 1rem; + margin: 0 !important; +} + +.primaryAction { + min-height: 54px; + padding: 0.75rem 1.75rem !important; + border-radius: 10px !important; + font-family: 'Lab Grotesque', sans-serif !important; + font-size: 1rem !important; + font-weight: 500 !important; + letter-spacing: 0.01em !important; + text-transform: none !important; + color: #e3e3e3 !important; + background: #0466ff !important; + box-shadow: 0 12px 30px rgba(0, 42, 153, 0.34) !important; +} + +.primaryAction:hover { + background: #0055d6 !important; +} + +.primaryAction:active { + background: #0045be !important; +} + +.primaryAction:focus-visible { + outline: 2px solid #06bcee; + outline-offset: 3px; +} + +.quickLinks { + margin-top: 0 !important; +} + +.quickLink { + position: relative; + display: flex; + min-height: 96px; + align-items: center; + justify-content: center; + padding: 1.2rem 1.25rem; + color: var(--ifm-font-color-base); + border: 1px solid #8f959d; + border-radius: 12px; + background: var(--ifm-background-color); + box-shadow: 0 5px 18px rgba(15, 23, 42, 0.06); + transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease; + text-align: center; +} + +.quickLink:hover { + color: var(--ifm-link-color); + border-color: var(--ifm-link-color); + box-shadow: 0 9px 24px rgba(15, 23, 42, 0.11); + text-decoration: none; + transform: translateY(-3px); +} + +.quickLink strong, +.quickLink small { + display: block; + font-family: 'Lab Grotesque', sans-serif; +} + +.quickLink strong { + margin-bottom: 0.28rem; + font-size: 1.05rem; +} + +.quickLink small { + color: var(--ifm-color-emphasis-700); + font-size: 0.8rem; + line-height: 1.35; + white-space: nowrap; +} + +.arrow { + position: absolute; + right: 1.25rem; + font-size: 1.35rem; + transition: transform 160ms ease; +} + +.quickLink:hover .arrow { + transform: translateX(3px); +} + +.quickLink:focus-visible { + outline: 3px solid #2849e2; + outline-offset: 3px; +} + +:global(html[data-theme='dark']) .quickLink { + border-color: #606770; +} + +:global(html[data-theme='dark']) .quickLink:focus-visible { + outline-color: #8fdff5; +} + +.dojoCallout { + display: grid; + width: min(100%, 1120px); + grid-template-columns: 1fr; + align-items: center; + justify-items: center; + gap: 1.5rem; + margin-top: 3.5rem; + padding: 2rem 2.25rem; + border: 1px solid rgba(40, 73, 226, 0.16); + border-radius: 18px; + background: + radial-gradient(circle at 12% 100%, rgba(38, 204, 220, 0.16), transparent 17rem), + linear-gradient(110deg, #f7f8ff, #fff 62%); + box-shadow: 0 16px 44px rgba(0, 0, 80, 0.08); + text-align: center; +} + +.dojoIcon { + width: 104px; + height: 104px; + object-fit: contain; +} + +.dojoEyebrow { + margin: 0 0 0.35rem !important; + color: #005cc8; + font-family: 'Lab Grotesque', sans-serif !important; + font-size: 0.78rem !important; + font-weight: 700 !important; + letter-spacing: 0.1em !important; + text-transform: uppercase; +} + +.dojoTitle { + margin: 0 0 0.45rem !important; + color: #101044; + font-family: 'Lab Grotesque', sans-serif !important; + font-size: clamp(1.5rem, 3vw, 2rem) !important; + font-weight: 700 !important; + line-height: 1.15 !important; +} + +.dojoDescription { + max-width: 640px; + margin: 0 auto !important; + color: #4d4d66; + font-family: 'Lab Grotesque', sans-serif !important; + line-height: 1.5 !important; +} + +.dojoAction { + min-height: 46px; + padding: 0.6rem 1.35rem !important; + border-radius: 8px !important; + color: #e3e3e3 !important; + background: #000099 !important; + font-family: 'Lab Grotesque', sans-serif !important; + font-weight: 700 !important; + text-transform: none !important; + white-space: nowrap; +} + +.dojoAction:hover { + background: #0045be !important; +} + +.dojoAction:focus-visible { + outline: 3px solid #2849e2; + outline-offset: 3px; +} + +:global(html[data-theme='dark']) .dojoCallout { + border-color: rgba(143, 164, 255, 0.42); + background: + radial-gradient(circle at 50% 0%, rgba(38, 204, 220, 0.14), transparent 18rem), + linear-gradient(135deg, #101628, #15153f 68%); + box-shadow: 0 16px 44px rgba(0, 0, 0, 0.28); +} + +:global(html[data-theme='dark']) .dojoEyebrow { + color: #8fdff5; +} + +:global(html[data-theme='dark']) .dojoTitle { + color: #e3e3e3; +} + +:global(html[data-theme='dark']) .dojoDescription { + color: #c9cbd4; +} + +:global(html[data-theme='dark']) .dojoAction:focus-visible { + outline-color: #8fdff5; +} + +@media (max-width: 599px) { + .heroContainer { + padding: 2rem 1.25rem; + } + + .heroContent { + width: 100%; + margin: 0 auto; + } + + .heroTitle { + max-width: 22rem; + font-size: clamp(2rem, 9vw, 2.6rem) !important; + line-height: 1.08 !important; + } + + .heroTagline { + font-size: 1.2rem !important; + } + + .heroDescription { + max-width: 22rem; + font-size: 0.95rem !important; + } + + .heroSearch { + width: 100%; + max-width: 100%; + } + + .heroSearch :global(.DocSearch-Button) { + height: 54px; + padding: 0 1rem; + } + + .heroActions, + .primaryAction { + width: 100%; + } + + .quickLink { + min-height: 82px; + } + + .quickLink small { + white-space: normal; + } + + .dojoCallout { + grid-template-columns: 1fr; + justify-items: center; + padding: 1.75rem 1.25rem; + text-align: center; + } + + .dojoIcon { + width: 88px; + height: 88px; + } + + .dojoAction { + width: 100%; + } +} + +@media (prefers-reduced-motion: reduce) { + .quickLink, + .arrow { + transition: none; + } +} diff --git a/src/pages/index.tsx b/src/pages/index.tsx index e1adcfa0fef..13d3d3c275a 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -1,14 +1,14 @@ import React, { useState } from 'react'; import Layout from '@theme/Layout'; +import SearchBar from '@theme/SearchBar'; import Link from '@docusaurus/Link'; import { Box, Button, Container, Grid, Stack, Tab, Tabs, Typography } from '@mui/material'; import { TabContext, TabPanel } from '@mui/lab'; -import bgImage from '../../static/img/reuse/hero-secondary-background.webp'; -import heroImage from '../../static/img/reuse/hero-secondary-graphic.webp'; -import SumoLogicDocsLogo from '../../static/img/reuse/sumo-logic-docs.svg'; +import MobotIcon from '../../static/img/icons/operations/mobot.png'; import { Feature } from '../components/Feature'; import { features } from '../helper/features'; import ErrorBoundary from '../components/ErrorBoundary'; +import styles from './index.module.css'; export const Home = () => { const [tab, setTab] = useState('0'); @@ -19,181 +19,81 @@ export const Home = () => { description='Sumo Logic documentation for log analytics, cloud monitoring, security, observability, and AI-powered troubleshooting. Get started guides, API references, and release notes.' title='Home' > - {/* H1 hidden, but visible to crawlers */} - - Sumo Logic Documentation - - {/* Header */} - - - {/* Hero */} - + + + + + Sumo Logic Documentation + + + Turn your data into action. + + + Find clear guidance for AI-powered log analytics, observability, and security with Sumo Logic. Search setup instructions, how-to guides, and API references. + + + + + + + + + {/* Task-based entry points */} + - - - - - New to Sumo? - - - Get started quickly with log analytics, AI-powered troubleshooting, observability, and security. - - {[ - { - children: '1. Set up collector and source', - description: 'Set up a Sumo Logic collector and source', - to: '/docs/get-started/quickstart#step-1-get-your-data-into-sumo', - }, - { - children: '2. Explore your data insights', - description: 'Explore your insights', - to: '/docs/get-started/quickstart#step-2-search-and-analyze-your-data', - }, - { - children: '3. Monitor and secure your environment', - description: 'Monitor, troubleshoot, and secure your environment', - to: '/docs/get-started/quickstart#step-3-monitor-and-troubleshoot-your-environment', - }, - ].map(({ children, to, href }) => ( - - - - ))} - - - - + + + New to Sumo? + + + Follow the guided quickstart. + + + + + + {[ + { + label: '1. Set up collector', + description: 'Connect your data sources to Sumo Logic', + to: '/docs/get-started/quickstart/#step-1-get-your-data-into-sumo', + }, + { + label: '2. Explore your data insights', + description: 'Search and analyze your data', + to: '/docs/get-started/quickstart/#step-2-search-and-analyze-your-data', + }, + { + label: '3. Monitor and secure your environment', + description: 'Use apps, dashboards, and security tools', + to: '/docs/get-started/quickstart/#step-3-monitor-and-troubleshoot-your-environment', + }, + ].map(({ description, label, to }) => ( + + + + {label} + {description} + + + + + ))} - + {/* Product Guides */} { ))} + + + + + + Meet Dojo AI + + + Ask questions. Get to evidence faster. + + + Use Mobot to analyze logs in plain language, investigate security incidents, and surface clear, actionable findings. + + + + diff --git a/static/img/homepage/hero-data-wave.webp b/static/img/homepage/hero-data-wave.webp new file mode 100644 index 00000000000..9d8967d25ac Binary files /dev/null and b/static/img/homepage/hero-data-wave.webp differ