diff --git a/docs/index.mdx b/docs/index.mdx index 9950e5bb..77649246 100644 --- a/docs/index.mdx +++ b/docs/index.mdx @@ -1,38 +1,10 @@ --- displayed_sidebar: docsEnglish image: img/scalardl-social-card-preview.png +hide_table_of_contents: true +title: "" --- -# ScalarDL +import CategoryGrid from '/src/components/Cards/3.11'; -import { CardRowAbout, CardRowGettingStarted, CardRowSamples, CardRowDevelop, CardRowDeploy, CardRowManage, CardRowReference } from '/src/components/Cards/3.11'; - -ScalarDL is scalable and practical Byzantine fault detection middleware for transactional database systems that achieves correctness, scalability, and database agnosticism. - -**About ScalarDL** - - - -**Getting started** - - - -**Samples** - - - -**Develop** - - - -**Deploy** - - - -**Manage** - - - -**Reference** - - + diff --git a/docusaurus.config.js b/docusaurus.config.js index 0273ca8c..13c33ec5 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -436,7 +436,7 @@ const config = { isCloseable: false, }, zoom: { - selector: '.markdown :not(em) > img', + selector: '.markdown :not(em) > img:not(.youtube-embed img)', background: { light: 'rgb(255, 255, 255)', dark: 'rgb(50, 50, 50)' diff --git a/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/index.mdx b/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/index.mdx index c28065ff..408eb68b 100644 --- a/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/index.mdx +++ b/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/index.mdx @@ -1,38 +1,10 @@ --- displayed_sidebar: docsJapanese image: img/scalardl-social-card-preview.png +hide_table_of_contents: true +title: "" --- -# ScalarDL +import CategoryGrid from '/src/components/Cards/ja-jp/3.11'; -import { CardRowAbout, CardRowGettingStarted, CardRowSamples, CardRowDevelop, CardRowDeploy, CardRowManage, CardRowReference } from '/src/components/Cards/ja-jp/3.11'; - -ScalarDL は、正確性、スケーラビリティ、およびデータベース不可知性を実現する、トランザクショナルデータベースシステム用のスケーラブルで実用的なビザンチン故障検出ミドルウェアです。 - -**ScalarDL について** - - - -**はじめよう** - - - -**サンプル** - - - -**開発** - - - -**デプロイ** - - - -**運用** - - - -**詳細** - - + diff --git a/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/version-3.10/index.mdx b/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/version-3.10/index.mdx index b4454f8c..1b15d579 100644 --- a/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/version-3.10/index.mdx +++ b/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/version-3.10/index.mdx @@ -1,51 +1,10 @@ --- displayed_sidebar: docsJapanese image: img/scalardl-social-card-preview.png +hide_table_of_contents: true +title: "" --- -# ScalarDL +import CategoryGrid from '/src/components/Cards/ja-jp/3.10'; -import { CardRowAbout, CardRowGettingStarted, CardRowSamples, CardRowDevelop, CardRowDeploy, CardRowManage, CardRowReference } from '/src/components/Cards/ja-jp/3.10'; - -ScalarDL は、正確性、スケーラビリティ、およびデータベース不可知性を実現する、トランザクショナルデータベースシステム用のスケーラブルで実用的なビザンチン故障検出ミドルウェアです。 - -**ScalarDL について** - - - -**はじめよう** - - - -**サンプル** - - - -**開発** - - - -**デプロイ** - - - -**運用** - - - -**詳細** - - - -{/* Saving the following in case we decide to change the layout in the future to a more table grid-like style. */} -{/* -| Category | Documentation | -|:------------------- |:--------------------- | -| **About ScalarDL** | XXX | -| **Getting started** | XXX | -| **Samples** | XXX | -| **Develop** | XXX | -| **Deploy** | XXX | -| **Manage** | XXX | -| **Reference** | XXX | -*/} + diff --git a/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/version-3.9/index.mdx b/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/version-3.9/index.mdx index b8efc601..31b61a49 100644 --- a/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/version-3.9/index.mdx +++ b/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/version-3.9/index.mdx @@ -1,51 +1,10 @@ --- displayed_sidebar: docsJapanese image: img/scalardl-social-card-preview.png +hide_table_of_contents: true +title: "" --- -# ScalarDL +import CategoryGrid from '/src/components/Cards/ja-jp/3.9'; -import { CardRowAbout, CardRowGettingStarted, CardRowSamples, CardRowDevelop, CardRowDeploy, CardRowManage, CardRowReference } from '/src/components/Cards/ja-jp/3.9'; - -ScalarDL は、正確性、スケーラビリティ、およびデータベース不可知性を実現する、トランザクショナルデータベースシステム用のスケーラブルで実用的なビザンチン故障検出ミドルウェアです。 - -**ScalarDL について** - - - -**はじめよう** - - - -**サンプル** - - - -**開発** - - - -**デプロイ** - - - -**運用** - - - -**詳細** - - - -{/* Saving the following in case we decide to change the layout in the future to a more table grid-like style. */} -{/* -| Category | Documentation | -|:------------------- |:--------------------- | -| **About ScalarDL** | XXX | -| **Getting started** | XXX | -| **Samples** | XXX | -| **Develop** | XXX | -| **Deploy** | XXX | -| **Manage** | XXX | -| **Reference** | XXX | -*/} + diff --git a/package-lock.json b/package-lock.json index a5d6f311..8844b6ef 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,7 +31,8 @@ "prism-react-renderer": "^2.3.0", "react": "^18.0.0", "react-cookie-consent": "9.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-lite-youtube-embed": "^2.4.0" }, "devDependencies": { "@docusaurus/module-type-aliases": "^3.7.0", @@ -16879,6 +16880,16 @@ "react": "^18.0.0 || ^19.0.0" } }, + "node_modules/react-lite-youtube-embed": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/react-lite-youtube-embed/-/react-lite-youtube-embed-2.5.1.tgz", + "integrity": "sha512-qH/0RumywPtzSx5SmWX/cUGvB3mSB7zMx3VrDe1UwyCEQ0SX785xnjRAodEel1pu3A3EhZyzSjwmLpfcaUN6KQ==", + "license": "MIT", + "peerDependencies": { + "react": ">=18.2.0", + "react-dom": ">=18.2.0" + } + }, "node_modules/react-loadable": { "name": "@docusaurus/react-loadable", "version": "6.0.0", diff --git a/package.json b/package.json index bcc7ca24..489f8e80 100644 --- a/package.json +++ b/package.json @@ -37,6 +37,7 @@ "react": "^18.0.0", "react-cookie-consent": "9.0.0", "react-dom": "^18.0.0", + "react-lite-youtube-embed": "^2.4.0", "@typebot.io/react": "0.3.47" }, "devDependencies": { diff --git a/src/components/Cards/3.10.tsx b/src/components/Cards/3.10.tsx index e03cc5e0..559f10a7 100644 --- a/src/components/Cards/3.10.tsx +++ b/src/components/Cards/3.10.tsx @@ -11,297 +11,220 @@ import React from 'react'; import clsx from 'clsx'; import Translate from '@docusaurus/Translate'; import Link from '@docusaurus/Link'; +import LiteYouTubeEmbed from 'react-lite-youtube-embed'; +import 'react-lite-youtube-embed/dist/LiteYouTubeEmbed.css'; +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; +import { faBook } from '@fortawesome/free-solid-svg-icons'; -const CardsAbout = [ +const recentFeatures = [ { - // name: '', - // image: '.png', - url: { - page: 'overview', - }, - description: ( - - Overview - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'implementation', - }, - description: ( - - Implementation - - ), - }, -] - -const CardsGettingStarted = [ - { - // name: '', - // image: '.png', - url: { - page: 'getting-started', - }, - description: ( - - Getting started with ScalarDL Ledger - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'getting-started-auditor', - }, - description: ( - - Getting started with ScalarDL Auditor - - ), - }, -] - -const CardsSamples = [ - { - // name: '', - // image: '.png', - url: { - page: 'installation-with-docker', - }, - description: ( - - Set up ScalarDL locally in Docker - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'applications/simple-bank-account', - }, - description: ( - - Run a bank account application - - ), - }, -] + name: 'Recent features', + categoryLinks: [ + // Links should be to docs about features that have been introduced in this version or the previous version. + // To add a link, use the format ['link1', 'link2']. Links should be relative to the docs directory and not be anchor links. + // To add a label, use the format ['label1', 'label2']. + { + cell: 0, // First cell + links: ['use-generic-contracts'], + labels: ['Use Generic Contracts and Functions'] + }, + { + cell: 1, // Second cell + links: ['how-to-write-applications-with-generic-contracts'], + labels: ['Write a ScalarDL Application with Generic Contracts'] + }, + { + cell: 2, // Third cell + links: ['scalardl-command-reference'], + labels: ['ScalarDL Client Command Reference'] + } + ] + } +]; -const CardsDevelop = [ +const categories = [ { - // name: 'For database engineers', - // image: '.png', - url: { - page: 'use-generic-contracts', - }, - description: ( - - Use Generic Contracts and Functions - - ), + name: 'About ScalarDL', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['overview'], + labels: ['ScalarDL Overview'] + }, + { + cell: 1, // Second cell + links: ['design'], + labels: ['Design'] + }, + { + cell: 2, // Third cell + links: ['requirements'], + labels: ['Requirements'] + } + ] }, { - // name: 'For infrastructure engineers', - // image: '.png', - url: { - page: 'how-to-write-applications', - }, - description: ( - - Write a ScalarDL Application in Java - - ), + name: 'Quickstart', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['quickstart-overview'], + labels: ['Quickstart Overview'] + }, + { + cell: 1, // Second cell + links: ['getting-started'], + labels: ['Getting Started with ScalarDL Ledger'] + }, + { + cell: 2, // Third cell + links: ['getting-started-auditor'], + labels: ['Getting Started with ScalarDL Auditor'] + } + ] }, -] - -const CardsDeploy = [ { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/SetupDatabaseForAWS', - }, - description: ( - - Set up a database for ScalarDL on AWS - - ), + name: 'Develop', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['develop-overview'], + labels: ['Develop Overview'] + }, + { + cell: 1, // Second cell + links: ['how-to-write-applications'], + labels: ['Write a ScalarDL Application in Java'] + }, + { + cell: 2, // Third cell + links: [''], + labels: [''] + } + ] }, { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/ProductionChecklistForScalarDLLedger', - }, - description: ( - - See the ScalarDL Ledger production checklist - - ), + name: 'Deploy', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['deploy-overview'], + labels: ['Deploy Overview'] + }, + { + cell: 1, // Second cell + links: ['helm-charts/getting-started-scalardl-auditor'], + labels: ['Deploy ScalarDL Ledger and Auditor locally by Using Helm Chart'] + }, + { + cell: 2, // Third cell + links: ['scalar-kubernetes/ManualDeploymentGuideScalarDLAuditorOnEKS'], + labels: ['Deploy ScalarDL Ledger and Auditor on Amazon EKS'] + } + ] }, -] - -const CardsManage = [ { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/K8sMonitorGuide', - }, - description: ( - - Monitor ScalarDL in a Kubernetes cluster - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/BackupRestoreGuide', - }, - description: ( - - Back up and restore in a Kubernetes environment - - ), - }, -] - -const CardsReference = [ - { - // name: '', - // image: '.png', - url: { - page: 'compatibility', - }, - description: ( - - Compatibility matrix - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalardl-benchmarks', - }, - description: ( - - Benchmarking tools - - ), - }, + name: 'Manage', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['manage-overview'], + labels: ['Manage Overview'] + }, + { + cell: 1, // Second cell + links: ['scalar-kubernetes/HowToScaleScalarDL'], + labels: ['Scale ScalarDL'] + }, + { + cell: 2, // Third cell + links: ['scalar-kubernetes/HowToUpgradeScalarDL'], + labels: ['Upgrade ScalarDL'] + } + ] + } ]; -interface Props { - // name: string; - // image: string; - url: { - page?: string; - }; - description: JSX.Element; -} - -function Card({ /* name, image,*/ url, description }: Props) { +const CategoryGrid = () => { return ( -
-
-
- {/* - } - */} +
+ {/* Hero section */} +
+
+

ScalarDL

+

ScalarDL is middleware for realizing a tamper-evident database system by detecting arbitrary faults (that is, Byzantine faults), such as data tampering and malicious attacks, in transactional database systems. It achieves such detection in a scalable and practical way like no other with its novel consensus algorithm.

+ {/* +

PLACEHOLDER TEXT

+
*/} +
+ - -
- {/*

{name}

*/} -

{description}

-
- - {/*
-
- - Read more - -
-
*/}
-
- ); -} - -export function CardRowAbout(): JSX.Element { - return ( -
- {CardsAbout.map((special) => ( - - ))} -
- ); -} - -export function CardRowGettingStarted(): JSX.Element { - return ( -
- {CardsGettingStarted.map((special) => ( - - ))} -
- ); -} - -export function CardRowSamples(): JSX.Element { - return ( -
- {CardsSamples.map((special) => ( - - ))} -
- ); -} -export function CardRowDevelop(): JSX.Element { - return ( -
- {CardsDevelop.map((special) => ( - - ))} -
- ); -} - -export function CardRowDeploy(): JSX.Element { - return ( -
- {CardsDeploy.map((special) => ( - - ))} + {/* Recent features table */} +
+ {recentFeatures.map((doc, i) => ( + +
+ {/* +  {doc.name}*/} + {doc.name} +
+ {doc.categoryLinks.map((categoryLinkCell, j) => ( +
+ {categoryLinkCell.links.map((cellLink, k) => ( + cellLink ? ( + + {categoryLinkCell.labels[k]} + + ) : ( + + {categoryLinkCell.labels[k]} + + ) + ))} +
+ ))} +
+ ))} + + {/* Category table */} + {categories.map((cat, i) => ( + +
{cat.name}
+ {cat.categoryLinks.map((categoryLinkCell, j) => ( +
+ {categoryLinkCell.links.map((cellLink, k) => ( + cellLink ? ( + + {categoryLinkCell.labels[k]} + + ) : ( + + {categoryLinkCell.labels[k]} + + ) + ))} +
+ ))} +
+ ))} +
); -} +}; -export function CardRowManage(): JSX.Element { - return ( -
- {CardsManage.map((special) => ( - - ))} -
- ); -} -export function CardRowReference(): JSX.Element { - return ( -
- {CardsReference.map((special) => ( - - ))} -
- ); -} +export default CategoryGrid; diff --git a/src/components/Cards/3.11.tsx b/src/components/Cards/3.11.tsx index e03cc5e0..a79af037 100644 --- a/src/components/Cards/3.11.tsx +++ b/src/components/Cards/3.11.tsx @@ -11,297 +11,220 @@ import React from 'react'; import clsx from 'clsx'; import Translate from '@docusaurus/Translate'; import Link from '@docusaurus/Link'; +import LiteYouTubeEmbed from 'react-lite-youtube-embed'; +import 'react-lite-youtube-embed/dist/LiteYouTubeEmbed.css'; +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; +import { faBook } from '@fortawesome/free-solid-svg-icons'; -const CardsAbout = [ +const recentFeatures = [ { - // name: '', - // image: '.png', - url: { - page: 'overview', - }, - description: ( - - Overview - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'implementation', - }, - description: ( - - Implementation - - ), - }, -] - -const CardsGettingStarted = [ - { - // name: '', - // image: '.png', - url: { - page: 'getting-started', - }, - description: ( - - Getting started with ScalarDL Ledger - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'getting-started-auditor', - }, - description: ( - - Getting started with ScalarDL Auditor - - ), - }, -] - -const CardsSamples = [ - { - // name: '', - // image: '.png', - url: { - page: 'installation-with-docker', - }, - description: ( - - Set up ScalarDL locally in Docker - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'applications/simple-bank-account', - }, - description: ( - - Run a bank account application - - ), - }, -] + name: 'Recent features', + categoryLinks: [ + // Links should be to docs about features that have been introduced in this version or the previous version. + // To add a link, use the format ['link1', 'link2']. Links should be relative to the docs directory and not be anchor links. + // To add a label, use the format ['label1', 'label2']. + { + cell: 0, // First cell + links: ['use-table-oriented-generic-contracts'], + labels: ['Use Table-Oriented Generic Contracts'] + }, + { + cell: 1, // Second cell + links: ['use-generic-contracts'], + labels: ['Use Generic Contracts and Functions'] + }, + { + cell: 2, // Third cell + links: ['how-to-write-applications-with-generic-contracts'], + labels: ['Write a ScalarDL Application with Generic Contracts'] + } + ] + } +]; -const CardsDevelop = [ +const categories = [ { - // name: 'For database engineers', - // image: '.png', - url: { - page: 'use-generic-contracts', - }, - description: ( - - Use Generic Contracts and Functions - - ), + name: 'About ScalarDL', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['overview'], + labels: ['ScalarDL Overview'] + }, + { + cell: 1, // Second cell + links: ['design'], + labels: ['Design'] + }, + { + cell: 2, // Third cell + links: ['requirements'], + labels: ['Requirements'] + } + ] }, { - // name: 'For infrastructure engineers', - // image: '.png', - url: { - page: 'how-to-write-applications', - }, - description: ( - - Write a ScalarDL Application in Java - - ), + name: 'Quickstart', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['quickstart-overview'], + labels: ['Quickstart Overview'] + }, + { + cell: 1, // Second cell + links: ['getting-started'], + labels: ['Getting Started with ScalarDL Ledger'] + }, + { + cell: 2, // Third cell + links: ['getting-started-auditor'], + labels: ['Getting Started with ScalarDL Auditor'] + } + ] }, -] - -const CardsDeploy = [ { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/SetupDatabaseForAWS', - }, - description: ( - - Set up a database for ScalarDL on AWS - - ), + name: 'Develop', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['develop-overview'], + labels: ['Develop Overview'] + }, + { + cell: 1, // Second cell + links: ['use-generic-contracts'], + labels: ['Use Generic Contracts and Functions'] + }, + { + cell: 2, // Third cell + links: ['how-to-write-applications'], + labels: ['Write a ScalarDL Application in Java'] + } + ] }, { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/ProductionChecklistForScalarDLLedger', - }, - description: ( - - See the ScalarDL Ledger production checklist - - ), + name: 'Deploy', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['deploy-overview'], + labels: ['Deploy Overview'] + }, + { + cell: 1, // Second cell + links: ['helm-charts/getting-started-scalardl-auditor'], + labels: ['Deploy ScalarDL Ledger and Auditor Locally by Using Helm Chart'] + }, + { + cell: 2, // Third cell + links: ['scalar-kubernetes/ManualDeploymentGuideScalarDLAuditorOnEKS'], + labels: ['Deploy ScalarDL Ledger and Auditor on Amazon EKS'] + } + ] }, -] - -const CardsManage = [ { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/K8sMonitorGuide', - }, - description: ( - - Monitor ScalarDL in a Kubernetes cluster - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/BackupRestoreGuide', - }, - description: ( - - Back up and restore in a Kubernetes environment - - ), - }, -] - -const CardsReference = [ - { - // name: '', - // image: '.png', - url: { - page: 'compatibility', - }, - description: ( - - Compatibility matrix - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalardl-benchmarks', - }, - description: ( - - Benchmarking tools - - ), - }, + name: 'Manage', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['manage-overview'], + labels: ['Manage Overview'] + }, + { + cell: 1, // Second cell + links: ['scalar-kubernetes/HowToScaleScalarDL'], + labels: ['Scale ScalarDL'] + }, + { + cell: 2, // Third cell + links: ['scalar-kubernetes/HowToUpgradeScalarDL'], + labels: ['Upgrade ScalarDL'] + } + ] + } ]; -interface Props { - // name: string; - // image: string; - url: { - page?: string; - }; - description: JSX.Element; -} - -function Card({ /* name, image,*/ url, description }: Props) { +const CategoryGrid = () => { return ( -
-
-
- {/* - } - */} +
+ {/* Hero section */} +
+
+

ScalarDL

+

ScalarDL is middleware for realizing a tamper-evident database system by detecting arbitrary faults (that is, Byzantine faults), such as data tampering and malicious attacks, in transactional database systems. It achieves such detection in a scalable and practical way like no other with its novel consensus algorithm.

+ {/* +

PLACEHOLDER TEXT

+
*/} +
+ - -
- {/*

{name}

*/} -

{description}

-
- - {/*
-
- - Read more - -
-
*/}
-
- ); -} - -export function CardRowAbout(): JSX.Element { - return ( -
- {CardsAbout.map((special) => ( - - ))} -
- ); -} - -export function CardRowGettingStarted(): JSX.Element { - return ( -
- {CardsGettingStarted.map((special) => ( - - ))} -
- ); -} - -export function CardRowSamples(): JSX.Element { - return ( -
- {CardsSamples.map((special) => ( - - ))} -
- ); -} -export function CardRowDevelop(): JSX.Element { - return ( -
- {CardsDevelop.map((special) => ( - - ))} -
- ); -} - -export function CardRowDeploy(): JSX.Element { - return ( -
- {CardsDeploy.map((special) => ( - - ))} + {/* Recent features table */} +
+ {recentFeatures.map((doc, i) => ( + +
+ {/* +  {doc.name}*/} + {doc.name} +
+ {doc.categoryLinks.map((categoryLinkCell, j) => ( +
+ {categoryLinkCell.links.map((cellLink, k) => ( + cellLink ? ( + + {categoryLinkCell.labels[k]} + + ) : ( + + {categoryLinkCell.labels[k]} + + ) + ))} +
+ ))} +
+ ))} + + {/* Category table */} + {categories.map((cat, i) => ( + +
{cat.name}
+ {cat.categoryLinks.map((categoryLinkCell, j) => ( +
+ {categoryLinkCell.links.map((cellLink, k) => ( + cellLink ? ( + + {categoryLinkCell.labels[k]} + + ) : ( + + {categoryLinkCell.labels[k]} + + ) + ))} +
+ ))} +
+ ))} +
); -} +}; -export function CardRowManage(): JSX.Element { - return ( -
- {CardsManage.map((special) => ( - - ))} -
- ); -} -export function CardRowReference(): JSX.Element { - return ( -
- {CardsReference.map((special) => ( - - ))} -
- ); -} +export default CategoryGrid; diff --git a/src/components/Cards/3.9.tsx b/src/components/Cards/3.9.tsx index 6f741d1c..ad84c60c 100644 --- a/src/components/Cards/3.9.tsx +++ b/src/components/Cards/3.9.tsx @@ -11,297 +11,220 @@ import React from 'react'; import clsx from 'clsx'; import Translate from '@docusaurus/Translate'; import Link from '@docusaurus/Link'; +import LiteYouTubeEmbed from 'react-lite-youtube-embed'; +import 'react-lite-youtube-embed/dist/LiteYouTubeEmbed.css'; +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; +import { faBook } from '@fortawesome/free-solid-svg-icons'; -const CardsAbout = [ +const recentFeatures = [ { - // name: '', - // image: '.png', - url: { - page: 'overview', - }, - description: ( - - Overview - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'implementation', - }, - description: ( - - Implementation - - ), - }, -] - -const CardsGettingStarted = [ - { - // name: '', - // image: '.png', - url: { - page: 'getting-started', - }, - description: ( - - Getting started with ScalarDL Ledger - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'getting-started-auditor', - }, - description: ( - - Getting started with ScalarDL Auditor - - ), - }, -] - -const CardsSamples = [ - { - // name: '', - // image: '.png', - url: { - page: 'installation-with-docker', - }, - description: ( - - Set up ScalarDL locally in Docker - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'applications/simple-bank-account', - }, - description: ( - - Run a bank account application - - ), - }, -] + name: 'Recent features', + categoryLinks: [ + // Links should be to docs about features that have been introduced in this version or the previous version. + // To add a link, use the format ['link1', 'link2']. Links should be relative to the docs directory and not be anchor links. + // To add a label, use the format ['label1', 'label2']. + { + cell: 0, // First cell + links: ['scalardl-command-reference'], + labels: ['ScalarDL Client Command Reference'] + }, + { + cell: 1, // Second cell + links: ['scalar-licensing'], + labels: ['Configure a Product License Key'] + }, + { + cell: 2, // Third cell + links: ['scalar-kubernetes/AwsMarketplaceGuide?products=scalardl-ledger'], + labels: ['Install ScalarDL through AWS Marketplace'] + } + ] + } +]; -const CardsDevelop = [ +const categories = [ { - // name: 'For database engineers', - // image: '.png', - url: { - page: 'schema-loader', - }, - description: ( - - Load a database schema - - ), + name: 'About ScalarDL', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['overview'], + labels: ['ScalarDL Overview'] + }, + { + cell: 1, // Second cell + links: ['design'], + labels: ['Design'] + }, + { + cell: 2, // Third cell + links: ['requirements'], + labels: ['Requirements'] + } + ] }, { - // name: 'For infrastructure engineers', - // image: '.png', - url: { - page: 'ca/caclient-getting-started', - }, - description: ( - - Get a certificate for the network - - ), + name: 'Quickstart', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['quickstart-overview'], + labels: ['Quickstart Overview'] + }, + { + cell: 1, // Second cell + links: ['getting-started'], + labels: ['Getting Started with ScalarDL Ledger'] + }, + { + cell: 2, // Third cell + links: ['getting-started-auditor'], + labels: ['Getting Started with ScalarDL Auditor'] + } + ] }, -] - -const CardsDeploy = [ { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/SetupDatabaseForAWS', - }, - description: ( - - Set up a database for ScalarDL on AWS - - ), + name: 'Develop', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['develop-overview'], + labels: ['Develop Overview'] + }, + { + cell: 1, // Second cell + links: ['how-to-write-contract'], + labels: ['Write a Contract'] + }, + { + cell: 2, // Third cell + links: ['how-to-write-applications'], + labels: ['Write a ScalarDL Application in Java'] + } + ] }, { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/ProductionChecklistForScalarDLLedger', - }, - description: ( - - See the ScalarDL Ledger production checklist - - ), + name: 'Deploy', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['deploy-overview'], + labels: ['Deploy Overview'] + }, + { + cell: 1, // Second cell + links: ['helm-charts/getting-started-scalardl-auditor'], + labels: ['Deploy ScalarDL Ledger and Auditor locally by Using Helm Charts'] + }, + { + cell: 2, // Third cell + links: ['scalar-kubernetes/ManualDeploymentGuideScalarDLAuditorOnEKS'], + labels: ['Deploy ScalarDL Ledger and Auditor on Amazon EKS'] + } + ] }, -] - -const CardsManage = [ { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/K8sMonitorGuide', - }, - description: ( - - Monitor ScalarDL in a Kubernetes cluster - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/BackupRestoreGuide', - }, - description: ( - - Back up and restore in a Kubernetes environment - - ), - }, -] - -const CardsReference = [ - { - // name: '', - // image: '.png', - url: { - page: 'compatibility', - }, - description: ( - - Compatibility matrix - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalardl-benchmarks', - }, - description: ( - - Benchmarking tools - - ), - }, + name: 'Manage', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['manage-overview'], + labels: ['Manage Overview'] + }, + { + cell: 1, // Second cell + links: ['scalar-kubernetes/HowToScaleScalarDL'], + labels: ['Scale ScalarDL'] + }, + { + cell: 2, // Third cell + links: ['scalar-kubernetes/HowToUpgradeScalarDL'], + labels: ['Upgrade ScalarDL'] + } + ] + } ]; -interface Props { - // name: string; - // image: string; - url: { - page?: string; - }; - description: JSX.Element; -} - -function Card({ /* name, image,*/ url, description }: Props) { +const CategoryGrid = () => { return ( -
-
-
- {/* - } - */} +
+ {/* Hero section */} +
+
+

ScalarDL

+

ScalarDL is middleware for realizing a tamper-evident database system by detecting arbitrary faults (that is, Byzantine faults), such as data tampering and malicious attacks, in transactional database systems. It achieves such detection in a scalable and practical way like no other with its novel consensus algorithm.

+ {/* +

PLACEHOLDER TEXT

+
*/} +
+ - -
- {/*

{name}

*/} -

{description}

-
- - {/*
-
- - Read more - -
-
*/}
-
- ); -} - -export function CardRowAbout(): JSX.Element { - return ( -
- {CardsAbout.map((special) => ( - - ))} -
- ); -} - -export function CardRowGettingStarted(): JSX.Element { - return ( -
- {CardsGettingStarted.map((special) => ( - - ))} -
- ); -} - -export function CardRowSamples(): JSX.Element { - return ( -
- {CardsSamples.map((special) => ( - - ))} -
- ); -} -export function CardRowDevelop(): JSX.Element { - return ( -
- {CardsDevelop.map((special) => ( - - ))} -
- ); -} - -export function CardRowDeploy(): JSX.Element { - return ( -
- {CardsDeploy.map((special) => ( - - ))} + {/* Recent features table */} +
+ {recentFeatures.map((doc, i) => ( + +
+ {/* +  {doc.name}*/} + {doc.name} +
+ {doc.categoryLinks.map((categoryLinkCell, j) => ( +
+ {categoryLinkCell.links.map((cellLink, k) => ( + cellLink ? ( + + {categoryLinkCell.labels[k]} + + ) : ( + + {categoryLinkCell.labels[k]} + + ) + ))} +
+ ))} +
+ ))} + + {/* Category table */} + {categories.map((cat, i) => ( + +
{cat.name}
+ {cat.categoryLinks.map((categoryLinkCell, j) => ( +
+ {categoryLinkCell.links.map((cellLink, k) => ( + cellLink ? ( + + {categoryLinkCell.labels[k]} + + ) : ( + + {categoryLinkCell.labels[k]} + + ) + ))} +
+ ))} +
+ ))} +
); -} +}; -export function CardRowManage(): JSX.Element { - return ( -
- {CardsManage.map((special) => ( - - ))} -
- ); -} -export function CardRowReference(): JSX.Element { - return ( -
- {CardsReference.map((special) => ( - - ))} -
- ); -} +export default CategoryGrid; diff --git a/src/components/Cards/index.tsx b/src/components/Cards/index.tsx deleted file mode 100644 index d5123967..00000000 --- a/src/components/Cards/index.tsx +++ /dev/null @@ -1,307 +0,0 @@ -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -/* eslint-disable global-require */ - -import React from 'react'; -import clsx from 'clsx'; -import Translate from '@docusaurus/Translate'; -import Link from '@docusaurus/Link'; - -const CardsAbout = [ - { - // name: '', - // image: '.png', - url: { - page: 'overview/', - }, - description: ( - - Overview - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'implementation/', - }, - description: ( - - Implementation - - ), - }, -] - -const CardsGettingStarted = [ - { - // name: '', - // image: '.png', - url: { - page: 'getting-started/', - }, - description: ( - - Getting started with ScalarDL Ledger - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'getting-started-auditor/', - }, - description: ( - - Getting started with ScalarDL Auditor - - ), - }, -] - -const CardsSamples = [ - { - // name: '', - // image: '.png', - url: { - page: 'installation-with-docker/', - }, - description: ( - - Set up ScalarDL locally in Docker - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'applications/simple-bank-account/', - }, - description: ( - - Create a bank account application - - ), - }, -] - -const CardsDevelop = [ - { - // name: 'For database engineers', - // image: '.png', - url: { - page: 'schema-loader/', - }, - description: ( - - Load a database schema - - ), - }, - { - // name: 'For infrastructure engineers', - // image: '.png', - url: { - page: 'ca/caclient-getting-started/', - }, - description: ( - - Get a certificate for the network - - ), - }, -] - -const CardsDeploy = [ - { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/SetupDatabaseForAWS/', - }, - description: ( - - Set up a database for ScalarDL on AWS - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/ProductionChecklistForScalarDLLedger/', - }, - description: ( - - See the ScalarDL Ledger production checklist - - ), - }, -] - -const CardsManage = [ - { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/K8sMonitorGuide/', - }, - description: ( - - Monitor ScalarDL in a Kubernetes cluster - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/BackupRestoreGuide/', - }, - description: ( - - Back up and restore in a Kubernetes environment - - ), - }, -] - -const CardsReference = [ - { - // name: '', - // image: '.png', - url: { - page: 'compatibility/', - }, - description: ( - - Compatibility matrix - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalardl-benchmarks/', - }, - description: ( - - Benchmarking tools - - ), - }, -]; - -interface Props { - // name: string; - // image: string; - url: { - page?: string; - }; - description: JSX.Element; -} - -function Card({ /* name, image,*/ url, description }: Props) { - return ( -
-
-
- {/* - } - */} -
- -
- {/*

{name}

*/} -

{description}

-
- - {/*
-
- - Read more - -
-
*/} -
-
- ); -} - -export function CardRowAbout(): JSX.Element { - return ( -
- {CardsAbout.map((special) => ( - - ))} -
- ); -} - -export function CardRowGettingStarted(): JSX.Element { - return ( -
- {CardsGettingStarted.map((special) => ( - - ))} -
- ); -} - -export function CardRowSamples(): JSX.Element { - return ( -
- {CardsSamples.map((special) => ( - - ))} -
- ); -} - -export function CardRowDevelop(): JSX.Element { - return ( -
- {CardsDevelop.map((special) => ( - - ))} -
- ); -} - -export function CardRowDeploy(): JSX.Element { - return ( -
- {CardsDeploy.map((special) => ( - - ))} -
- ); -} - -export function CardRowManage(): JSX.Element { - return ( -
- {CardsManage.map((special) => ( - - ))} -
- ); -} -export function CardRowReference(): JSX.Element { - return ( -
- {CardsReference.map((special) => ( - - ))} -
- ); -} diff --git a/src/components/Cards/ja-jp/3.10.tsx b/src/components/Cards/ja-jp/3.10.tsx index e8b2b25d..400a01eb 100644 --- a/src/components/Cards/ja-jp/3.10.tsx +++ b/src/components/Cards/ja-jp/3.10.tsx @@ -11,297 +11,220 @@ import React from 'react'; import clsx from 'clsx'; import Translate from '@docusaurus/Translate'; import Link from '@docusaurus/Link'; +import LiteYouTubeEmbed from 'react-lite-youtube-embed'; +import 'react-lite-youtube-embed/dist/LiteYouTubeEmbed.css'; +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; +import { faBook } from '@fortawesome/free-solid-svg-icons'; -const CardsAbout = [ +const recentFeatures = [ { - // name: '', - // image: '.png', - url: { - page: 'overview', - }, - description: ( - - 概要 - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'requirements', - }, - description: ( - - 要件 - - ), - }, -] - -const CardsGettingStarted = [ - { - // name: '', - // image: '.png', - url: { - page: 'getting-started', - }, - description: ( - - ScalarDL Ledger をはじめよう - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'getting-started-auditor', - }, - description: ( - - ScalarDL Auditor をはじめよう - - ), - }, -] - -const CardsSamples = [ - { - // name: '', - // image: '.png', - url: { - page: 'installation-with-docker', - }, - description: ( - - ローカル環境に ScalarDL をインストールする - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'applications/simple-bank-account', - }, - description: ( - - 銀行口座申請を実行する - - ), - }, -] + name: '最近の機能', + categoryLinks: [ + // Links should be to docs about features that have been introduced in this version or the previous version. + // To add a link, use the format ['link1', 'link2']. Links should be relative to the docs directory and not be anchor links. + // To add a label, use the format ['label1', 'label2']. + { + cell: 0, // First cell + links: ['use-generic-contracts'], + labels: ['汎用コントラクトを使用'] + }, + { + cell: 1, // Second cell + links: ['how-to-write-applications-with-generic-contracts'], + labels: ['汎用コントラクトを用いたアプリケーションを作成'] + }, + { + cell: 2, // Third cell + links: ['scalardl-command-reference'], + labels: ['ScalarDL クライアントコマンドリファレンス'] + } + ] + } +]; -const CardsDevelop = [ +const categories = [ { - // name: 'For database engineers', - // image: '.png', - url: { - page: 'use-generic-contracts', - }, - description: ( - - 汎用コントラクトおよびファンクションの使用 - - ), + name: 'ScalarDL について', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['overview'], + labels: ['ScalarDL の概要'] + }, + { + cell: 1, // Second cell + links: ['design'], + labels: ['設計'] + }, + { + cell: 2, // Third cell + links: ['requirements'], + labels: ['要件'] + } + ] }, { - // name: 'For infrastructure engineers', - // image: '.png', - url: { - page: 'how-to-write-applications', - }, - description: ( - - Java で ScalarDL アプリケーションを書く - - ), + name: 'クイックスタート', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['quickstart-overview'], + labels: ['クイックスタートの概要'] + }, + { + cell: 1, // Second cell + links: ['getting-started'], + labels: ['ScalarDL Ledger をはじめよう'] + }, + { + cell: 2, // Third cell + links: [''], + labels: [''] + } + ] }, -] - -const CardsDeploy = [ { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/SetupDatabaseForAWS', - }, - description: ( - - AWS でデータベースをセットアップする - - ), + name: '開発', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['develop-overview'], + labels: ['開発の概要'] + }, + { + cell: 1, // Second cell + links: ['how-to-write-contract'], + labels: ['コントラクトを作成'] + }, + { + cell: 2, // Third cell + links: ['how-to-write-applications'], + labels: ['Java で ScalarDL アプリケーションを書く'] + } + ] }, { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/ProductionChecklistForScalarDLLedger', - }, - description: ( - - ScalarDL Ledger の本番環境チェックリスト - - ), + name: 'デプロイ', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['deploy-overview'], + labels: ['デプロイの概要'] + }, + { + cell: 1, // Second cell + links: ['helm-charts/getting-started-scalardl-auditor'], + labels: ['Helm Charts を使用してローカルに ScalarDL Ledger と Auditor をデプロイする'] + }, + { + cell: 2, // Third cell + links: ['scalar-kubernetes/ManualDeploymentGuideScalarDLAuditorOnEKS'], + labels: ['ScalarDL Ledger と ScalarDL Auditor を Amazon Elastic Kubernetes Service (EKS) にデプロイする'] + } + ] }, -] - -const CardsManage = [ { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/K8sMonitorGuide', - }, - description: ( - - Kubernetes クラスター上の ScalarDLの監視 - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/BackupRestoreGuide', - }, - description: ( - - Kubernetes 環境でデータをバックアップおよび復元する - - ), - }, -] - -const CardsReference = [ - { - // name: '', - // image: '.png', - url: { - page: 'compatibility', - }, - description: ( - - 互換性マトリックス - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalardl-benchmarks', - }, - description: ( - - ベンチマークツール - - ), - }, + name: '管理', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['manage-overview'], + labels: ['管理の概要'] + }, + { + cell: 1, // Second cell + links: ['scalar-kubernetes/HowToScaleScalarDL'], + labels: ['ScalarDL をスケーリングする方法'] + }, + { + cell: 2, // Third cell + links: ['scalar-kubernetes/HowToUpgradeScalarDL'], + labels: ['ScalarDL のアップグレード方法'] + } + ] + } ]; -interface Props { - // name: string; - // image: string; - url: { - page?: string; - }; - description: JSX.Element; -} - -function Card({ /* name, image,*/ url, description }: Props) { +const CategoryGrid = () => { return ( -
-
-
- {/* - } - */} +
+ {/* Hero section */} +
+
+

ScalarDL

+

ScalarDL is middleware for realizing a tamper-evident database system by detecting arbitrary faults (that is, Byzantine faults), such as data tampering and malicious attacks, in transactional database systems. It achieves such detection in a scalable and practical way like no other with its novel consensus algorithm.

+ {/* +

PLACEHOLDER TEXT

+
*/} +
+ - -
- {/*

{name}

*/} -

{description}

-
- - {/*
-
- - Read more - -
-
*/}
-
- ); -} - -export function CardRowAbout(): JSX.Element { - return ( -
- {CardsAbout.map((special) => ( - - ))} -
- ); -} - -export function CardRowGettingStarted(): JSX.Element { - return ( -
- {CardsGettingStarted.map((special) => ( - - ))} -
- ); -} - -export function CardRowSamples(): JSX.Element { - return ( -
- {CardsSamples.map((special) => ( - - ))} -
- ); -} -export function CardRowDevelop(): JSX.Element { - return ( -
- {CardsDevelop.map((special) => ( - - ))} -
- ); -} - -export function CardRowDeploy(): JSX.Element { - return ( -
- {CardsDeploy.map((special) => ( - - ))} + {/* Recent features table */} +
+ {recentFeatures.map((doc, i) => ( + +
+ {/* +  {doc.name}*/} + {doc.name} +
+ {doc.categoryLinks.map((categoryLinkCell, j) => ( +
+ {categoryLinkCell.links.map((cellLink, k) => ( + cellLink ? ( + + {categoryLinkCell.labels[k]} + + ) : ( + + {categoryLinkCell.labels[k]} + + ) + ))} +
+ ))} +
+ ))} + + {/* Category table */} + {categories.map((cat, i) => ( + +
{cat.name}
+ {cat.categoryLinks.map((categoryLinkCell, j) => ( +
+ {categoryLinkCell.links.map((cellLink, k) => ( + cellLink ? ( + + {categoryLinkCell.labels[k]} + + ) : ( + + {categoryLinkCell.labels[k]} + + ) + ))} +
+ ))} +
+ ))} +
); -} +}; -export function CardRowManage(): JSX.Element { - return ( -
- {CardsManage.map((special) => ( - - ))} -
- ); -} -export function CardRowReference(): JSX.Element { - return ( -
- {CardsReference.map((special) => ( - - ))} -
- ); -} +export default CategoryGrid; diff --git a/src/components/Cards/ja-jp/3.11.tsx b/src/components/Cards/ja-jp/3.11.tsx index e8b2b25d..83f5ab55 100644 --- a/src/components/Cards/ja-jp/3.11.tsx +++ b/src/components/Cards/ja-jp/3.11.tsx @@ -11,297 +11,220 @@ import React from 'react'; import clsx from 'clsx'; import Translate from '@docusaurus/Translate'; import Link from '@docusaurus/Link'; +import LiteYouTubeEmbed from 'react-lite-youtube-embed'; +import 'react-lite-youtube-embed/dist/LiteYouTubeEmbed.css'; +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; +import { faBook } from '@fortawesome/free-solid-svg-icons'; -const CardsAbout = [ +const recentFeatures = [ { - // name: '', - // image: '.png', - url: { - page: 'overview', - }, - description: ( - - 概要 - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'requirements', - }, - description: ( - - 要件 - - ), - }, -] - -const CardsGettingStarted = [ - { - // name: '', - // image: '.png', - url: { - page: 'getting-started', - }, - description: ( - - ScalarDL Ledger をはじめよう - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'getting-started-auditor', - }, - description: ( - - ScalarDL Auditor をはじめよう - - ), - }, -] - -const CardsSamples = [ - { - // name: '', - // image: '.png', - url: { - page: 'installation-with-docker', - }, - description: ( - - ローカル環境に ScalarDL をインストールする - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'applications/simple-bank-account', - }, - description: ( - - 銀行口座申請を実行する - - ), - }, -] + name: '最近の機能', + categoryLinks: [ + // Links should be to docs about features that have been introduced in this version or the previous version. + // To add a link, use the format ['link1', 'link2']. Links should be relative to the docs directory and not be anchor links. + // To add a label, use the format ['label1', 'label2']. + { + cell: 0, // First cell + links: ['use-table-oriented-generic-contracts'], + labels: ['テーブル指向汎用コントラクトの使用'] + }, + { + cell: 1, // Second cell + links: ['use-generic-contracts'], + labels: ['汎用コントラクトを使用'] + }, + { + cell: 2, // Third cell + links: ['how-to-write-applications-with-generic-contracts'], + labels: ['汎用コントラクトを用いたアプリケーションを作成'] + } + ] + } +]; -const CardsDevelop = [ +const categories = [ { - // name: 'For database engineers', - // image: '.png', - url: { - page: 'use-generic-contracts', - }, - description: ( - - 汎用コントラクトおよびファンクションの使用 - - ), + name: 'ScalarDL について', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['overview'], + labels: ['ScalarDL の概要'] + }, + { + cell: 1, // Second cell + links: ['design'], + labels: ['設計'] + }, + { + cell: 2, // Third cell + links: ['requirements'], + labels: ['要件'] + } + ] }, { - // name: 'For infrastructure engineers', - // image: '.png', - url: { - page: 'how-to-write-applications', - }, - description: ( - - Java で ScalarDL アプリケーションを書く - - ), + name: 'クイックスタート', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['quickstart-overview'], + labels: ['クイックスタートの概要'] + }, + { + cell: 1, // Second cell + links: ['getting-started'], + labels: ['ScalarDL Ledger をはじめよう'] + }, + { + cell: 2, // Third cell + links: [''], + labels: [''] + } + ] }, -] - -const CardsDeploy = [ { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/SetupDatabaseForAWS', - }, - description: ( - - AWS でデータベースをセットアップする - - ), + name: '開発', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['develop-overview'], + labels: ['開発の概要'] + }, + { + cell: 1, // Second cell + links: ['use-generic-contracts'], + labels: ['汎用コントラクトを使用'] + }, + { + cell: 2, // Third cell + links: ['how-to-write-applications'], + labels: ['Java で ScalarDL アプリケーションを書く'] + } + ] }, { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/ProductionChecklistForScalarDLLedger', - }, - description: ( - - ScalarDL Ledger の本番環境チェックリスト - - ), + name: 'デプロイ', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['deploy-overview'], + labels: ['デプロイの概要'] + }, + { + cell: 1, // Second cell + links: ['helm-charts/getting-started-scalardl-auditor'], + labels: ['Helm Charts を使用してローカルに ScalarDL Ledger と Auditor をデプロイする'] + }, + { + cell: 2, // Third cell + links: ['scalar-kubernetes/ManualDeploymentGuideScalarDLAuditorOnEKS'], + labels: ['ScalarDL Ledger と ScalarDL Auditor を Amazon Elastic Kubernetes Service (EKS) にデプロイする'] + } + ] }, -] - -const CardsManage = [ { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/K8sMonitorGuide', - }, - description: ( - - Kubernetes クラスター上の ScalarDLの監視 - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/BackupRestoreGuide', - }, - description: ( - - Kubernetes 環境でデータをバックアップおよび復元する - - ), - }, -] - -const CardsReference = [ - { - // name: '', - // image: '.png', - url: { - page: 'compatibility', - }, - description: ( - - 互換性マトリックス - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalardl-benchmarks', - }, - description: ( - - ベンチマークツール - - ), - }, + name: '管理', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['manage-overview'], + labels: ['管理の概要'] + }, + { + cell: 1, // Second cell + links: ['scalar-kubernetes/HowToScaleScalarDL'], + labels: ['ScalarDL をスケーリングする方法'] + }, + { + cell: 2, // Third cell + links: ['scalar-kubernetes/HowToUpgradeScalarDL'], + labels: ['ScalarDL のアップグレード方法'] + } + ] + } ]; -interface Props { - // name: string; - // image: string; - url: { - page?: string; - }; - description: JSX.Element; -} - -function Card({ /* name, image,*/ url, description }: Props) { +const CategoryGrid = () => { return ( -
-
-
- {/* - } - */} +
+ {/* Hero section */} +
+
+

ScalarDL

+

ScalarDL is middleware for realizing a tamper-evident database system by detecting arbitrary faults (that is, Byzantine faults), such as data tampering and malicious attacks, in transactional database systems. It achieves such detection in a scalable and practical way like no other with its novel consensus algorithm.

+ {/* +

PLACEHOLDER TEXT

+
*/} +
+ - -
- {/*

{name}

*/} -

{description}

-
- - {/*
-
- - Read more - -
-
*/}
-
- ); -} - -export function CardRowAbout(): JSX.Element { - return ( -
- {CardsAbout.map((special) => ( - - ))} -
- ); -} - -export function CardRowGettingStarted(): JSX.Element { - return ( -
- {CardsGettingStarted.map((special) => ( - - ))} -
- ); -} - -export function CardRowSamples(): JSX.Element { - return ( -
- {CardsSamples.map((special) => ( - - ))} -
- ); -} -export function CardRowDevelop(): JSX.Element { - return ( -
- {CardsDevelop.map((special) => ( - - ))} -
- ); -} - -export function CardRowDeploy(): JSX.Element { - return ( -
- {CardsDeploy.map((special) => ( - - ))} + {/* Recent features table */} +
+ {recentFeatures.map((doc, i) => ( + +
+ {/* +  {doc.name}*/} + {doc.name} +
+ {doc.categoryLinks.map((categoryLinkCell, j) => ( +
+ {categoryLinkCell.links.map((cellLink, k) => ( + cellLink ? ( + + {categoryLinkCell.labels[k]} + + ) : ( + + {categoryLinkCell.labels[k]} + + ) + ))} +
+ ))} +
+ ))} + + {/* Category table */} + {categories.map((cat, i) => ( + +
{cat.name}
+ {cat.categoryLinks.map((categoryLinkCell, j) => ( +
+ {categoryLinkCell.links.map((cellLink, k) => ( + cellLink ? ( + + {categoryLinkCell.labels[k]} + + ) : ( + + {categoryLinkCell.labels[k]} + + ) + ))} +
+ ))} +
+ ))} +
); -} +}; -export function CardRowManage(): JSX.Element { - return ( -
- {CardsManage.map((special) => ( - - ))} -
- ); -} -export function CardRowReference(): JSX.Element { - return ( -
- {CardsReference.map((special) => ( - - ))} -
- ); -} +export default CategoryGrid; diff --git a/src/components/Cards/ja-jp/3.9.tsx b/src/components/Cards/ja-jp/3.9.tsx index b1b96cc0..17cf8d47 100644 --- a/src/components/Cards/ja-jp/3.9.tsx +++ b/src/components/Cards/ja-jp/3.9.tsx @@ -11,297 +11,220 @@ import React from 'react'; import clsx from 'clsx'; import Translate from '@docusaurus/Translate'; import Link from '@docusaurus/Link'; +import LiteYouTubeEmbed from 'react-lite-youtube-embed'; +import 'react-lite-youtube-embed/dist/LiteYouTubeEmbed.css'; +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; +import { faBook } from '@fortawesome/free-solid-svg-icons'; -const CardsAbout = [ +const recentFeatures = [ { - // name: '', - // image: '.png', - url: { - page: 'overview', - }, - description: ( - - 概要 - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'implementation', - }, - description: ( - - 実装 - - ), - }, -] - -const CardsGettingStarted = [ - { - // name: '', - // image: '.png', - url: { - page: 'getting-started', - }, - description: ( - - ScalarDL Ledger をはじめよう - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'getting-started-auditor', - }, - description: ( - - ScalarDL Auditor をはじめよう - - ), - }, -] - -const CardsSamples = [ - { - // name: '', - // image: '.png', - url: { - page: 'installation-with-docker', - }, - description: ( - - ローカル環境に ScalarDL をインストールする - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'applications/simple-bank-account', - }, - description: ( - - 銀行口座申請を実行する - - ), - }, -] + name: '最近の機能', + categoryLinks: [ + // Links should be to docs about features that have been introduced in this version or the previous version. + // To add a link, use the format ['link1', 'link2']. Links should be relative to the docs directory and not be anchor links. + // To add a label, use the format ['label1', 'label2']. + { + cell: 0, // First cell + links: ['scalardl-command-reference'], + labels: ['ScalarDL クライアントコマンドリファレンス'] + }, + { + cell: 1, // Second cell + links: ['scalar-licensing'], + labels: ['製品ライセンスキーの設定'] + }, + { + cell: 2, // Third cell + links: ['scalar-kubernetes/AwsMarketplaceGuide?products=scalardl-ledger'], + labels: ['AWS Marketplace を通じて ScalarDL をインストールする方法'] + } + ] + } +]; -const CardsDevelop = [ +const categories = [ { - // name: 'For database engineers', - // image: '.png', - url: { - page: 'schema-loader', - }, - description: ( - - データベーススキーマをロードする - - ), + name: 'ScalarDL について', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['overview'], + labels: ['ScalarDL の概要'] + }, + { + cell: 1, // Second cell + links: ['design'], + labels: ['設計'] + }, + { + cell: 2, // Third cell + links: ['requirements'], + labels: ['要件'] + } + ] }, { - // name: 'For infrastructure engineers', - // image: '.png', - url: { - page: 'ca/caclient-getting-started', - }, - description: ( - - 証明書を取得する - - ), + name: 'クイックスタート', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['quickstart-overview'], + labels: ['クイックスタートの概要'] + }, + { + cell: 1, // Second cell + links: ['getting-started'], + labels: ['ScalarDL Ledger をはじめよう'] + }, + { + cell: 2, // Third cell + links: [''], + labels: [''] + } + ] }, -] - -const CardsDeploy = [ { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/SetupDatabaseForAWS', - }, - description: ( - - AWS でデータベースをセットアップする - - ), + name: '開発', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['develop-overview'], + labels: ['開発の概要'] + }, + { + cell: 1, // Second cell + links: ['how-to-write-contract'], + labels: ['コントラクトを作成'] + }, + { + cell: 2, // Third cell + links: ['how-to-write-applications'], + labels: ['Java で ScalarDL アプリケーションを書く'] + } + ] }, { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/ProductionChecklistForScalarDLLedger', - }, - description: ( - - ScalarDL Ledger の本番環境チェックリスト - - ), + name: 'デプロイ', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['deploy-overview'], + labels: ['デプロイの概要'] + }, + { + cell: 1, // Second cell + links: ['helm-charts/getting-started-scalardl-auditor'], + labels: ['Helm Charts を使用してローカルに ScalarDL Ledger と Auditor をデプロイする'] + }, + { + cell: 2, // Third cell + links: ['scalar-kubernetes/ManualDeploymentGuideScalarDLAuditorOnEKS'], + labels: ['ScalarDL Ledger と ScalarDL Auditor を Amazon Elastic Kubernetes Service (EKS) にデプロイする'] + } + ] }, -] - -const CardsManage = [ { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/K8sMonitorGuide', - }, - description: ( - - Kubernetes クラスター上の ScalarDLの監視 - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/BackupRestoreGuide', - }, - description: ( - - Kubernetes 環境でデータをバックアップおよび復元する - - ), - }, -] - -const CardsReference = [ - { - // name: '', - // image: '.png', - url: { - page: 'compatibility', - }, - description: ( - - 互換性マトリックス - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalardl-benchmarks', - }, - description: ( - - ベンチマークツール - - ), - }, + name: '管理', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['manage-overview'], + labels: ['管理の概要'] + }, + { + cell: 1, // Second cell + links: ['scalar-kubernetes/HowToScaleScalarDL'], + labels: ['ScalarDL をスケーリングする方法'] + }, + { + cell: 2, // Third cell + links: ['scalar-kubernetes/HowToUpgradeScalarDL'], + labels: ['ScalarDL のアップグレード方法'] + } + ] + } ]; -interface Props { - // name: string; - // image: string; - url: { - page?: string; - }; - description: JSX.Element; -} - -function Card({ /* name, image,*/ url, description }: Props) { +const CategoryGrid = () => { return ( -
-
-
- {/* - } - */} +
+ {/* Hero section */} +
+
+

ScalarDL

+

ScalarDL is middleware for realizing a tamper-evident database system by detecting arbitrary faults (that is, Byzantine faults), such as data tampering and malicious attacks, in transactional database systems. It achieves such detection in a scalable and practical way like no other with its novel consensus algorithm.

+ {/* +

PLACEHOLDER TEXT

+
*/} +
+ - -
- {/*

{name}

*/} -

{description}

-
- - {/*
-
- - Read more - -
-
*/}
-
- ); -} - -export function CardRowAbout(): JSX.Element { - return ( -
- {CardsAbout.map((special) => ( - - ))} -
- ); -} - -export function CardRowGettingStarted(): JSX.Element { - return ( -
- {CardsGettingStarted.map((special) => ( - - ))} -
- ); -} - -export function CardRowSamples(): JSX.Element { - return ( -
- {CardsSamples.map((special) => ( - - ))} -
- ); -} -export function CardRowDevelop(): JSX.Element { - return ( -
- {CardsDevelop.map((special) => ( - - ))} -
- ); -} - -export function CardRowDeploy(): JSX.Element { - return ( -
- {CardsDeploy.map((special) => ( - - ))} + {/* Recent features table */} +
+ {recentFeatures.map((doc, i) => ( + +
+ {/* +  {doc.name}*/} + {doc.name} +
+ {doc.categoryLinks.map((categoryLinkCell, j) => ( +
+ {categoryLinkCell.links.map((cellLink, k) => ( + cellLink ? ( + + {categoryLinkCell.labels[k]} + + ) : ( + + {categoryLinkCell.labels[k]} + + ) + ))} +
+ ))} +
+ ))} + + {/* Category table */} + {categories.map((cat, i) => ( + +
{cat.name}
+ {cat.categoryLinks.map((categoryLinkCell, j) => ( +
+ {categoryLinkCell.links.map((cellLink, k) => ( + cellLink ? ( + + {categoryLinkCell.labels[k]} + + ) : ( + + {categoryLinkCell.labels[k]} + + ) + ))} +
+ ))} +
+ ))} +
); -} +}; -export function CardRowManage(): JSX.Element { - return ( -
- {CardsManage.map((special) => ( - - ))} -
- ); -} -export function CardRowReference(): JSX.Element { - return ( -
- {CardsReference.map((special) => ( - - ))} -
- ); -} +export default CategoryGrid; diff --git a/src/css/custom.css b/src/css/custom.css index d64e2166..465f43b2 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -67,6 +67,19 @@ div[class^='announcementBar'] { /* Home page cards */ +html, body { /* Fix for horizontal scrolling issue */ + overflow-x: hidden; + max-width: 100%; +} + +* { /* Ensure all elements stay within their containers */ + box-sizing: border-box; +} + +table, pre, code, img, iframe { /* Fix for common elements that might cause overflow */ + max-width: 100%; +} + .card { border: 1px solid #ebedf0; } @@ -81,6 +94,241 @@ div[class^='announcementBar'] { text-decoration: none; } +.grid-container { + display: flex; + flex-direction: column; + width: 100%; + max-width: 100vw; + overflow-x: hidden; +} + +.hero-section { + align-items: center; + display: flex; + flex-wrap: wrap; + font-size: 1.1rem; + justify-content: space-between; + position: relative; + z-index: 1; +} + +.hero-text { + color: var(--ifm-font-color-base); + flex: 1; + min-width: 250px; + padding: 0 2rem 0 0; + /* padding-right: 35rem; */ +} + +.hero-text-first-sentence { + font-weight: 600; +} + +.hero-text-additional { + display: none; +} + +/* This style might come in handy in the future. */ +@media (min-width: 1472px) { /* Hides the second paragraph in the hero text if the page is too narrow. This reduces awkward spacing issues, mostly on larger screens. */ + .hero-text-additional { + display: block; + } +} + +.youtube-embed { + align-items: center; + background-color: #f3f2f1; + flex: 1; + justify-content: center; + max-width: 640px; + min-width: 400px; + padding: 1rem; +} + +.youtube-embed a { + display: block; + line-height: 0; +} + +.link { + background-color: #f0f0f0; + border-radius: 5px; + color: var(--ifm-color-primary); + margin: 0 5px; + padding: 10px; + text-decoration: none; +} + +.category-table { + display: grid; + grid-template-columns: 0.5fr 1fr 1fr 1fr; + gap: 0.75rem 0; + margin-top: 2.5rem; + width: 100%; +} + +.category-label { + align-content: center; + color: var(--ifm-font-color-base); + font-weight: 600; + text-align: left; + width: 140px; +} + +.category-cell-multiple-links { + border-top: 1px solid #E3E8EA; + border-bottom: 1px solid #E3E8EA; + background-color: #f3f2f1; + display: flex; + flex-direction: column; + grid-column: span 1; + height: 100%; + justify-content: flex-start; + padding: 0.75rem; +} + +/* Target first cell in each row that follows a category-label. */ +.category-label + .category-cell-multiple-links { + border-left: 1px solid #E3E8EA; +} + +/* Target the third cell in each functional row (within the 4-column grid). */ +.category-cell-multiple-links:nth-child(4n) { + border-right: 1px solid #E3E8EA; +} + +.category-cell-link { + color: var(--ifm-font-color-base); + display: flex; + align-items: center; + padding: 0.75rem 1rem; + text-decoration: none; + height: 100%; + box-sizing: border-box; + + &:last-child { + border-bottom: none; + } + + &:hover { + color: var(--ifm-color-primary); + text-decoration: underline; + } +} + +/* When there's only one link in a cell, make it take full height */ +.category-cell-multiple-links:has(> a.category-cell-link:only-child) { + a.category-cell-link { + flex: 1; + } +} + +/* When there are multiple links, distribute them evenly */ +.category-cell-multiple-links:has(> a.category-cell-link ~ a.category-cell-link) { + a.category-cell-link { + flex-basis: 0; + flex-grow: 1; + } +} + +.category-cell-multiple-links:has(> a[href=""]), +.category-cell-multiple-links:has(> span.category-cell) { /* Ensure empty cell containers don't show effects on hover. */ + pointer-events: none; +} + +.empty-cell { + background-color: #F5F8FA; + height: 100%; + cursor: default; + pointer-events: none; +} + +@media (max-width: 768px) { /* Responsive design for mobile screens. */ + .category-table { + display: flex; + flex-direction: column; + gap: 0; + } + + .category-label { + width: 100%; + padding: 0.75rem 0 0.25rem 0; + border-top: 1px solid var(--ifm-color-emphasis-300); + margin-top: 1.25rem; + } + + .category-cell, .recent-features-cell { + width: 100%; + margin-bottom: 0.5rem; + } + + .category-cell-multiple-links { + border-top: 0; + border-bottom: 0; + padding: 0; + } + + /* Target first cell in each row that follows a category-label. */ + .category-label + .category-cell-multiple-links { + border-left: 0; + } + + /* Target the third cell in each functional row (within the 4-column grid). */ + .category-cell-multiple-links:nth-child(4n) { + border-right: 0; + } + + .youtube-embed { + flex: 1; + margin-top: 1rem; + min-width: 100%; + } +} + +.recent-features-icon { + color: #78C740; + /* Fix for FontAwesome icon FOUC. */ + width: 1em !important; + height: 1em !important; + display: inline-block; + vertical-align: middle; + font-size: inherit; + overflow: visible; +} + +html[data-theme="dark"] .youtube-embed { + background-color: #252526; +} + +html[data-theme="dark"] .category-cell-multiple-links { + background-color: #252526; + border-top: 1px solid #6a6969; + border-bottom: 1px solid #6a6969; + + @media (max-width: 768px) { + border-top: 0; + border-bottom: 0; + } +} + +/* Target first cell in each row that follows a category-label. */ +html[data-theme="dark"] .category-label + .category-cell-multiple-links { + border-left: 1px solid #6a6969; + + @media (max-width: 768px) { + border-left: 0; + } +} + +/* Target the third cell in each functional row (within the 4-column grid). */ +html[data-theme="dark"] .category-cell-multiple-links:nth-child(4n) { + border-right: 1px solid #6a6969; + + @media (max-width: 768px) { + border-right: 0; + } +} + /* GitHub icon */ .header-github-link::before { diff --git a/static/img/home-page-background.avif b/static/img/home-page-background.avif new file mode 100644 index 00000000..a148b7c5 Binary files /dev/null and b/static/img/home-page-background.avif differ diff --git a/static/img/scalardl-presentation-overview.png b/static/img/scalardl-presentation-overview.png new file mode 100644 index 00000000..26387f0a Binary files /dev/null and b/static/img/scalardl-presentation-overview.png differ diff --git a/versioned_docs/version-3.10/index.mdx b/versioned_docs/version-3.10/index.mdx index 4e8054c1..0e9a601b 100644 --- a/versioned_docs/version-3.10/index.mdx +++ b/versioned_docs/version-3.10/index.mdx @@ -1,51 +1,10 @@ --- displayed_sidebar: docsEnglish image: img/scalardl-social-card-preview.png +hide_table_of_contents: true +title: "" --- -# ScalarDL +import CategoryGrid from '/src/components/Cards/3.10'; -import { CardRowAbout, CardRowGettingStarted, CardRowSamples, CardRowDevelop, CardRowDeploy, CardRowManage, CardRowReference } from '/src/components/Cards/3.10'; - -ScalarDL is scalable and practical Byzantine fault detection middleware for transactional database systems that achieves correctness, scalability, and database agnosticism. - -**About ScalarDL** - - - -**Getting started** - - - -**Samples** - - - -**Develop** - - - -**Deploy** - - - -**Manage** - - - -**Reference** - - - -{/* Saving the following in case we decide to change the layout in the future to a more table grid-like style. */} -{/* -| Category | Documentation | -|:------------------- |:--------------------- | -| **About ScalarDL** | XXX | -| **Getting started** | XXX | -| **Samples** | XXX | -| **Develop** | XXX | -| **Deploy** | XXX | -| **Manage** | XXX | -| **Reference** | XXX | -*/} + diff --git a/versioned_docs/version-3.9/index.mdx b/versioned_docs/version-3.9/index.mdx index 6d73d2a5..b4afdcf7 100644 --- a/versioned_docs/version-3.9/index.mdx +++ b/versioned_docs/version-3.9/index.mdx @@ -1,51 +1,10 @@ --- displayed_sidebar: docsEnglish image: img/scalardl-social-card-preview.png +hide_table_of_contents: true +title: "" --- -# ScalarDL +import CategoryGrid from '/src/components/Cards/3.9'; -import { CardRowAbout, CardRowGettingStarted, CardRowSamples, CardRowDevelop, CardRowDeploy, CardRowManage, CardRowReference } from '/src/components/Cards/3.9'; - -ScalarDL is scalable and practical Byzantine fault detection middleware for transactional database systems that achieves correctness, scalability, and database agnosticism. - -**About ScalarDL** - - - -**Getting started** - - - -**Samples** - - - -**Develop** - - - -**Deploy** - - - -**Manage** - - - -**Reference** - - - -{/* Saving the following in case we decide to change the layout in the future to a more table grid-like style. */} -{/* -| Category | Documentation | -|:------------------- |:--------------------- | -| **About ScalarDL** | XXX | -| **Getting started** | XXX | -| **Samples** | XXX | -| **Develop** | XXX | -| **Deploy** | XXX | -| **Manage** | XXX | -| **Reference** | XXX | -*/} +