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
20 changes: 11 additions & 9 deletions src/components/Guides/GetStartedGuides.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import React from "react";
import CardWithIcon from "../Common/CardWithIcon";
import Heading from "@theme/Heading";
import { IconName } from "@site/src/typescript/iconName";
import { useLatestVersion } from "@site/src/hooks/useLatestVersion";

interface GuideItem {
title: string;
Expand All @@ -16,60 +17,61 @@ const GUIDES: GuideItem[] = [
description:
"Learn how to handle documents efficiently: explore data modeling, document structure, and CRUD operations.",
icon: "database",
url: "#",
url: "/studio/database/documents/documents-and-collections/",
},
{
title: "Get started with Querying",
description:
"Master the fundamentals of querying: understand filtering, projections, and advanced query techniques.",
icon: "query",
url: "#",
url: "/client-api/session/querying/how-to-query",
},
{
title: "Get started with Indexing",
description:
"Dive into indexing: learn how to optimize searches, improve performance, and manage indexes effectively.",
icon: "index",
url: "#",
url: "/indexes/what-are-indexes",
},
{
title: "Get started with Attachments",
description:
"Work with attachments: store, manage, and retrieve files associated with your documents seamlessly.",
icon: "attachment",
url: "#",
url: "/document-extensions/attachments/overview",
},
{
title: "Get started with RQL",
description:
"Unlock the full power of Raven Query Language (RQL): write expressive, efficient, and precise queries.",
icon: "rql",
url: "#",
url: "/client-api/session/querying/what-is-rql",
},
{
title: "Get started with Studio",
description:
"Navigate RavenDB Studio: manage your data, analyze performance metrics, and simplify database operations using the visual interface.",
icon: "studio",
url: "#",
url: "/studio/overview",
},
{
title: "Get started with Compare-Exchange",
description:
"Leverage Compare-Exchange to achieve atomic operations across distributed environments and ensure data integrity.",
icon: "cluster-wide-transactions",
url: "#",
url: "/compare-exchange/start",
},
{
title: "Get started with Counters",
description:
"Learn how to use counters: track numeric values, such as statistics or metrics, in your application efficiently.",
icon: "new-counter",
url: "#",
url: "/document-extensions/counters/overview",
},
];

export default function GetStartedGuides() {
const latestVersion = useLatestVersion();
return (
<div className="flex flex-col gap-6 items-start relative w-full mb-8">
<div className="flex flex-col gap-1 items-start w-full">
Expand All @@ -88,7 +90,7 @@ export default function GetStartedGuides() {
title={guide.title}
icon={guide.icon}
description={guide.description}
url={guide.url}
url={latestVersion + guide.url}
/>
))}
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,20 @@ export default function DocumentExtensionsFeaturesGrid() {
url: `/${activeVersion.label}/document-extensions/counters/overview`,
description: "Simple, scalable, and conflict-free numeric counters",
},
{
title: "Remote Attachments",
icon: "remote-attachment",
url: `/${activeVersion.label}/document-extensions/attachments/store-attachments/store-attachments-remote`,
description: "Simple, scalable, and conflict-free numeric counters",
minimumSupportedVersion: "7.2",
},
{
title: "JSON Schema Validation",
icon: "document-schema",
url: `/${activeVersion.label}/documents/schema-validation/schema-validation_overview`,
description: "Simple, scalable, and conflict-free numeric counters",
minimumSupportedVersion: "7.2",
},
];

return (
Expand Down
6 changes: 6 additions & 0 deletions src/hooks/useLatestVersion.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import useDocusaurusContext from "@docusaurus/useDocusaurusContext";

export const useLatestVersion = () => {
const { siteConfig } = useDocusaurusContext();
return siteConfig.customFields.latestVersion;
};