Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 1 addition & 5 deletions es/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -203,11 +203,7 @@ export const ContentSwitcher = () => {

{showGoal && (
<>
{CONTENT_MODE === 'stacked' && (
<div className="flex flex-col items-center lg:flex-row lg:justify-between lg:items-center mt-8 gap-4">
<h2 className="text-2xl font-semibold text-gray-900 dark:text-zinc-50">Explore by goal</h2>
</div>
)}

<div className="mt-6 grid md:grid-cols-3 gap-x-6 gap-y-4">
<HeroCard
title="Get started"
Expand Down
Binary file added images/highlight-darkmode.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/highlight-lightmode.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
71 changes: 48 additions & 23 deletions index.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
---
mode: "custom"
max-toc-depth: 3
slug: home
sidebarTitle: "Home"
---

Expand Down Expand Up @@ -46,7 +45,7 @@ export const ButtonGroup = ({options = [], selected, onClick, fillWidth = false,
export const HeroCard = ({ filename, darkFilename: darkFilenameProp, title, description, href, links, icon }) => {
const darkFilename = darkFilenameProp || (filename ? filename.replace('-light.', '-dark.') : null);

const cardClassName = "block p-4 rounded-lg no-underline bg-[#f9f9f9] dark:bg-[#1b1b18] border border-[#e5e7eb] dark:border-[#3c3c3c]";
const cardClassName = "ch-hero-card block p-4 rounded-lg no-underline bg-[#f9f9f9] border border-[#e5e7eb]";

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hero cards missing dark styling

Medium Severity

HeroCard now uses ch-hero-card with light-only bg-[#f9f9f9] and border classes, but no stylesheet defines ch-hero-card. The previous dark:bg and dark:border utilities were removed, so hero cards keep a light appearance when the site is in dark mode.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 9f059b6. Configure here.


const content = (
<>
Expand Down Expand Up @@ -85,28 +84,34 @@ export const HeroCard = ({ filename, darkFilename: darkFilenameProp, title, desc
)}
<h3 className="text-[#111827] dark:text-white" style={{
marginTop: icon ? '0' : '20px',
fontSize: '20px',
fontSize: '18px',
fontWeight: '600',
lineHeight: '1.3'
}}>
{title}
</h3>
<span className="block text-[#6b7280] dark:text-[#a1a1aa]" style={{
marginTop: '16px',
<span className="text-[#6b7280] dark:text-[#a1a1aa]" style={{
display: '-webkit-box',
WebkitLineClamp: 2,
WebkitBoxOrient: 'vertical',
overflow: 'hidden',
marginTop: '8px',
fontSize: '14px',
fontWeight: '400',
minHeight: '3rem'
lineHeight: '1.5',
height: '42px'
}}>{description}</span>
{links && links.length > 0 && (
<ul style={{ marginTop: '24px', listStyle: 'none', padding: 0 }}>
{links.map((link, index) => (
<li key={index} style={{ marginTop: index > 0 ? '12px' : '0' }}>
<li key={index} style={{ marginTop: index > 0 ? '8px' : '0' }}>
<a href={link.href} className="goal-card-link flex items-center justify-between text-[#374151] dark:text-[#FCFF74]" style={{
fontSize: '14px',
fontWeight: '500',
textDecoration: 'none'
textDecoration: 'none',
gap: '4px'
}}>
<span>{link.label}</span>
<span style={{ overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap', minWidth: 0 }}>{link.label}</span>
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" style={{ flexShrink: 0 }}>
<path d="M5 12h14M12 5l7 7-7 7"/>
</svg>
Expand All @@ -126,6 +131,14 @@ export const HeroCard = ({ filename, darkFilename: darkFilenameProp, title, desc
};


export const HighlightedClickHouse = () => (
<span className="relative inline-block px-8 py-3" style={{marginLeft: '-16px'}}>
<img src="/images/highlight-lightmode.png" className="block dark:hidden absolute inset-0 w-full h-full object-fill pointer-events-none select-none" alt="" aria-hidden="true" style={{left: '10px'}} />
<img src="/images/highlight-darkmode.png" className="hidden dark:block absolute inset-0 w-full h-full object-fill pointer-events-none select-none" alt="" aria-hidden="true" style={{left: '10px'}} />
<span className="relative z-10 text-white dark:text-[#1c1c1c]">ClickHouse</span>
</span>
);

export const McpLink = () => {
const handleClick = (e) => {
e.preventDefault();
Expand Down Expand Up @@ -236,17 +249,12 @@ export const ContentSwitcher = () => {

{showGoal && (
<>
{CONTENT_MODE === 'stacked' && (
<div className="flex flex-col items-center lg:flex-row lg:justify-between lg:items-center mt-8 gap-4">
<h2 className="text-2xl font-semibold text-gray-900 dark:text-zinc-50">Explore by goal</h2>
</div>
)}
<div className="mt-6 grid md:grid-cols-3 gap-x-6 gap-y-4">
<div className="grid md:grid-cols-2 lg:grid-cols-4 gap-x-6 gap-y-4" style={{ marginTop: '96px' }}>
<HeroCard
title="Get started"
description="I am new here, I want to get started or explore ClickHouse product docs"
icon={
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="currentColor" viewBox="0 0 256 256" className="text-gray-700 dark:text-[#FAFF69]">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 256 256" className="text-gray-700 dark:text-[#FAFF69]">
<path d="M215.79,118.17a8,8,0,0,0-5-5.66L153.18,90.9l14.66-73.33a8,8,0,0,0-13.69-7l-112,120a8,8,0,0,0,3,13l57.63,21.61L88.16,238.43a8,8,0,0,0,13.69,7l112-120A8,8,0,0,0,215.79,118.17ZM109.37,214l10.47-52.38a8,8,0,0,0-5-9.06L62,132.71l84.62-90.66L136.16,94.43a8,8,0,0,0,5,9.06l52.8,19.8Z"></path>
</svg>
}
Expand All @@ -265,7 +273,7 @@ export const ContentSwitcher = () => {
title="Guides"
description="I want to learn how to apply ClickHouse features, or explore advanced topics"
icon={
<svg width="32" height="32" viewBox="0 0 23 26" fill="currentColor" xmlns="http://www.w3.org/2000/svg" className="text-gray-700 dark:text-[#FAFF69]">
<svg width="24" height="24" viewBox="0 0 23 26" fill="currentColor" xmlns="http://www.w3.org/2000/svg" className="text-gray-700 dark:text-[#FAFF69]">
<path d="M10.5468 0.000410874L10.9455 0.0348784L11.0594 0.0463676H11.1391L11.1619 0.0578567L11.3442 0.0808351C12.6542 0.241684 13.9187 0.655294 15.0693 1.32167L15.411 1.52847C16.8188 2.40717 17.9913 3.62092 18.8255 5.0632C19.6597 6.50549 20.1302 8.13224 20.1956 9.80068V9.97301L22.8385 15.0972C22.998 15.4534 23.0207 15.8555 22.9296 16.2346L22.8727 16.4184C22.7092 16.8547 22.3875 17.212 21.9727 17.418L19.2842 18.6588V22.3354C19.2842 22.749 19.1361 23.1511 18.8741 23.4728L18.7602 23.5992C18.4185 23.9439 17.9628 24.1277 17.5071 24.1277H11.9479C11.7213 24.1277 11.504 24.0369 11.3438 23.8753C11.1836 23.7137 11.0936 23.4945 11.0936 23.266C11.0936 23.0375 11.1836 22.8183 11.3438 22.6567C11.504 22.4951 11.7213 22.4043 11.9479 22.4043H17.5071C17.5161 22.4043 17.525 22.4025 17.5333 22.3991C17.5416 22.3956 17.5491 22.3905 17.5555 22.3841C17.5618 22.3777 17.5668 22.3701 17.5703 22.3617C17.5737 22.3534 17.5755 22.3444 17.5755 22.3354V18.1073C17.5755 17.7627 17.7691 17.464 18.0767 17.3261L21.2322 15.867C21.255 15.867 21.2664 15.844 21.2664 15.821C21.2664 15.821 21.2664 15.798 21.2892 15.821L18.5893 10.5934C18.5289 10.4723 18.4977 10.3384 18.4982 10.2028C18.4985 8.26916 17.8435 6.39351 16.6417 4.88686C15.44 3.38021 13.7638 2.33308 11.891 1.9191L11.8796 3.87226C12.4908 4.07696 13.0099 4.49442 13.3437 5.04989C13.6776 5.60537 13.8045 6.26257 13.7017 6.90381C13.5989 7.54504 13.2731 8.12843 12.7827 8.54949C12.2923 8.97055 11.6693 9.20179 11.0252 9.20179C10.3811 9.20179 9.75813 8.97055 9.26771 8.54949C8.77729 8.12843 8.45151 7.54504 8.34872 6.90381C8.24592 6.26257 8.37282 5.60537 8.70668 5.04989C9.04055 4.49442 9.55958 4.07696 10.1708 3.87226V1.72379H10.1139C8.92912 1.72379 7.74437 1.97655 6.66215 2.45909L6.34318 2.61994C4.36348 3.61458 2.85289 5.3569 2.13962 7.46837H4.54328C4.80529 7.46837 5.04452 7.58327 5.2154 7.77858L8.18865 11.3862C8.59946 11.2227 9.04377 11.1633 9.48264 11.2132C9.9215 11.2632 10.3415 11.421 10.7058 11.6728C11.0702 11.9245 11.3677 12.2626 11.5723 12.6573C11.777 13.052 11.8825 13.4914 11.8796 13.9368C11.8731 14.3547 11.7712 14.7655 11.582 15.1373C11.3927 15.5092 11.1211 15.8321 10.7882 16.081C10.4553 16.33 10.0701 16.4983 9.66231 16.573C9.25455 16.6476 8.83522 16.6266 8.43681 16.5116C8.03839 16.3965 7.67159 16.1905 7.36482 15.9094C7.05805 15.6284 6.81954 15.2799 6.66777 14.891C6.51601 14.5021 6.45505 14.0831 6.48964 13.6666C6.52422 13.2501 6.65341 12.8472 6.8672 12.4891L4.13318 9.19175H1.76369C1.58869 10.6683 1.80182 12.1653 2.38167 13.5326C2.96152 14.8998 3.88771 16.0892 5.0673 16.9814C5.31792 17.1652 5.44323 17.464 5.40906 17.7742L4.47493 25.2421C4.44623 25.4691 4.32929 25.6754 4.14983 25.8154C3.97038 25.9555 3.74311 26.0179 3.51802 25.9889C3.29294 25.96 3.08847 25.842 2.94961 25.661C2.81074 25.4801 2.74885 25.2508 2.77756 25.0238L3.64333 18.0384L3.42689 17.8546C2.43295 16.9732 1.62017 15.9036 1.03461 14.7066L0.875129 14.3389C0.0261547 12.4177 -0.2126 10.2786 0.191623 8.21517V8.33006V8.16921C0.670038 5.78467 1.9776 3.65103 3.87844 2.15317C5.77929 0.6553 8.1483 -0.10819 10.5581 0.000410874H10.5468ZM9.17974 12.9257C8.91537 12.9257 8.66184 13.0316 8.47491 13.2202C8.28797 13.4087 8.18295 13.6644 8.18295 13.931C8.18295 14.1977 8.28797 14.4534 8.47491 14.6419C8.66184 14.8304 8.91537 14.9363 9.17974 14.9363C9.4441 14.9363 9.69763 14.8304 9.88457 14.6419C10.0715 14.4534 10.1765 14.1977 10.1765 13.931C10.1765 13.6644 10.0715 13.4087 9.88457 13.2202C9.69763 13.0316 9.4441 12.9257 9.17974 12.9257ZM11.0252 5.45777C10.7608 5.45777 10.5073 5.56368 10.3204 5.75221C10.1334 5.94075 10.0284 6.19645 10.0284 6.46307C10.0284 6.72969 10.1334 6.9854 10.3204 7.17393C10.5073 7.36246 10.7608 7.46837 11.0252 7.46837C11.2896 7.46837 11.5431 7.36246 11.73 7.17393C11.917 6.9854 12.022 6.72969 12.022 6.46307C12.022 6.19645 11.917 5.94075 11.73 5.75221C11.5431 5.56368 11.2896 5.45777 11.0252 5.45777Z"/>
</svg>
}
Expand All @@ -280,7 +288,7 @@ export const ContentSwitcher = () => {
title="Reference"
description="I know what I want to do - I just need the details"
icon={
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="currentColor" viewBox="0 0 256 256" className="text-gray-700 dark:text-[#FAFF69]">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 256 256" className="text-gray-700 dark:text-[#FAFF69]">
<path d="M128,80a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Zm88-29.84q.06-2.16,0-4.32l14.92-18.64a8,8,0,0,0,1.48-7.06,107.21,107.21,0,0,0-10.88-26.25,8,8,0,0,0-6-3.93l-23.72-2.64q-1.48-1.56-3-3L186,40.54a8,8,0,0,0-3.94-6,107.71,107.71,0,0,0-26.25-10.87,8,8,0,0,0-7.06,1.49L130.16,40Q128,40,125.84,40L107.2,25.11a8,8,0,0,0-7.06-1.48A107.6,107.6,0,0,0,73.89,34.51a8,8,0,0,0-3.93,6L67.32,64.27q-1.56,1.49-3,3L40.54,70a8,8,0,0,0-6,3.94,107.71,107.71,0,0,0-10.87,26.25,8,8,0,0,0,1.49,7.06L40,125.84Q40,128,40,130.16L25.11,148.8a8,8,0,0,0-1.48,7.06,107.21,107.21,0,0,0,10.88,26.25,8,8,0,0,0,6,3.93l23.72,2.64q1.49,1.56,3,3L70,215.46a8,8,0,0,0,3.94,6,107.71,107.71,0,0,0,26.25,10.87,8,8,0,0,0,7.06-1.49L125.84,216q2.16.06,4.32,0l18.64,14.92a8,8,0,0,0,7.06,1.48,107.21,107.21,0,0,0,26.25-10.88,8,8,0,0,0,3.93-6l2.64-23.72q1.56-1.48,3-3L215.46,186a8,8,0,0,0,6-3.94,107.71,107.71,0,0,0,10.87-26.25,8,8,0,0,0-1.49-7.06Zm-16.1-6.5a73.93,73.93,0,0,1,0,8.68,8,8,0,0,0,1.74,5.48l14.19,17.73a91.57,91.57,0,0,1-6.23,15L187,173.11a8,8,0,0,0-5.1,2.64,74.11,74.11,0,0,1-6.14,6.14,8,8,0,0,0-2.64,5.1l-2.51,22.58a91.32,91.32,0,0,1-15,6.23l-17.74-14.19a8,8,0,0,0-5-1.75h-.48a73.93,73.93,0,0,1-8.68,0,8,8,0,0,0-5.48,1.74L100.45,215.8a91.57,91.57,0,0,1-15-6.23L82.89,187a8,8,0,0,0-2.64-5.1,74.11,74.11,0,0,1-6.14-6.14,8,8,0,0,0-5.1-2.64L46.43,170.6a91.32,91.32,0,0,1-6.23-15l14.19-17.74a8,8,0,0,0,1.74-5.48,73.93,73.93,0,0,1,0-8.68,8,8,0,0,0-1.74-5.48L40.2,100.45a91.57,91.57,0,0,1,6.23-15L69,82.89a8,8,0,0,0,5.1-2.64,74.11,74.11,0,0,1,6.14-6.14A8,8,0,0,0,82.89,69L85.4,46.43a91.32,91.32,0,0,1,15-6.23l17.74,14.19a8,8,0,0,0,5.48,1.74,73.93,73.93,0,0,1,8.68,0,8,8,0,0,0,5.48-1.74L155.55,40.2a91.57,91.57,0,0,1,15,6.23L173.11,69a8,8,0,0,0,2.64,5.1,74.11,74.11,0,0,1,6.14,6.14,8,8,0,0,0,5.1,2.64l22.58,2.51a91.32,91.32,0,0,1,6.23,15l-14.19,17.74A8,8,0,0,0,199.87,123.66Z"></path>
</svg>
}
Expand All @@ -295,6 +303,23 @@ export const ContentSwitcher = () => {
{ label: "Data types", href: "/reference/data-types/int-uint" }
]}
/>
<HeroCard
title="Our solutions"
description="Ingest logs, metrics, and traces to monitor systems and power observability dashboards."

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wrong solutions card description

Medium Severity

The new “Our solutions” HeroCard uses a description about ingesting logs, metrics, and traces for observability dashboards, while its links point to product pages such as chDB, ClickHouse Cloud, and Managed Postgres—not an observability-only topic.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 9f059b6. Configure here.

icon={
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 256 256" className="text-gray-700 dark:text-[#FAFF69]">
<path d="M104,40H56A16,16,0,0,0,40,56v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V56A16,16,0,0,0,104,40Zm0,64H56V56h48v48Zm96-64H152a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V56A16,16,0,0,0,200,40Zm0,64H152V56h48v48ZM104,136H56a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V152A16,16,0,0,0,104,136Zm0,64H56V152h48v48Zm96-64H152a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V152A16,16,0,0,0,200,136Zm0,64H152V152h48v48Z"/>
</svg>
}
links={[
{ label: "chDB", href: "/products/chdb" },
{ label: "ClickHouse Cloud", href: "/products/cloud" },
{ label: "ClickStack", href: "/clickstack" },
{ label: "Langfuse", href: "https://langfuse.com/docs" },
{ label: "Managed Postgres", href: "/products/managed-postgres" },
{ label: "Kubernetes operator", href: "/products/kubernetes-operator" },
]}
/>
</div>
</>
)}
Expand Down Expand Up @@ -417,13 +442,13 @@ export const ContentSwitcher = () => {
/>
</div>

<div className="relative z-10 px-0 py-16 lg:py-12 lg:pb-24 max-w-6xl mx-auto">
<h1 className="block text-[34px] font-medium text-center text-gray-900 dark:text-zinc-50 tracking-tight">
Start building with <span className="tilted tilted-yellow"><span className="tilted-content">ClickHouse</span></span>
<div className="relative z-10 px-0 py-16 lg:py-12 lg:pb-40 max-w-6xl mx-auto">
<h1 className="block text-[34px] font-semibold text-center text-gray-900 dark:text-zinc-50 tracking-tight">
Start building with <HighlightedClickHouse />
</h1>

<div className="max-w-xl mx-auto px-4 mt-4 text-lg text-center text-gray-500 dark:text-zinc-500">
Documentation for the fastest analytics database
<div className="mx-auto px-4 -mt-5 text-[34px] font-semibold text-center text-gray-900 dark:text-zinc-50 tracking-tight">
Docs for the fastest analytics database
</div>

<div className="flex items-center justify-center gap-3 mx-auto mt-8">
Expand Down
6 changes: 1 addition & 5 deletions ja/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -203,11 +203,7 @@ export const ContentSwitcher = () => {

{showGoal && (
<>
{CONTENT_MODE === 'stacked' && (
<div className="flex flex-col items-center lg:flex-row lg:justify-between lg:items-center mt-8 gap-4">
<h2 className="text-2xl font-semibold text-gray-900 dark:text-zinc-50">Explore by goal</h2>
</div>
)}

<div className="mt-6 grid md:grid-cols-3 gap-x-6 gap-y-4">
<HeroCard
title="Get started"
Expand Down
6 changes: 1 addition & 5 deletions ko/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -203,11 +203,7 @@ export const ContentSwitcher = () => {

{showGoal && (
<>
{CONTENT_MODE === 'stacked' && (
<div className="flex flex-col items-center lg:flex-row lg:justify-between lg:items-center mt-8 gap-4">
<h2 className="text-2xl font-semibold text-gray-900 dark:text-zinc-50">Explore by goal</h2>
</div>
)}

<div className="mt-6 grid md:grid-cols-3 gap-x-6 gap-y-4">
<HeroCard
title="Get started"
Expand Down
6 changes: 1 addition & 5 deletions pt-br/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -203,11 +203,7 @@ export const ContentSwitcher = () => {

{showGoal && (
<>
{CONTENT_MODE === 'stacked' && (
<div className="flex flex-col items-center lg:flex-row lg:justify-between lg:items-center mt-8 gap-4">
<h2 className="text-2xl font-semibold text-gray-900 dark:text-zinc-50">Explore by goal</h2>
</div>
)}

<div className="mt-6 grid md:grid-cols-3 gap-x-6 gap-y-4">
<HeroCard
title="Get started"
Expand Down
6 changes: 1 addition & 5 deletions ru/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -203,11 +203,7 @@ export const ContentSwitcher = () => {

{showGoal && (
<>
{CONTENT_MODE === 'stacked' && (
<div className="flex flex-col items-center lg:flex-row lg:justify-between lg:items-center mt-8 gap-4">
<h2 className="text-2xl font-semibold text-gray-900 dark:text-zinc-50">Explore by goal</h2>
</div>
)}

<div className="mt-6 grid md:grid-cols-3 gap-x-6 gap-y-4">
<HeroCard
title="Get started"
Expand Down
6 changes: 1 addition & 5 deletions zh/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -203,11 +203,7 @@ export const ContentSwitcher = () => {

{showGoal && (
<>
{CONTENT_MODE === 'stacked' && (
<div className="flex flex-col items-center lg:flex-row lg:justify-between lg:items-center mt-8 gap-4">
<h2 className="text-2xl font-semibold text-gray-900 dark:text-zinc-50">Explore by goal</h2>
</div>
)}

<div className="mt-6 grid md:grid-cols-3 gap-x-6 gap-y-4">
<HeroCard
title="Get started"
Expand Down