diff --git a/docs/index.mdx b/docs/index.mdx index 353c8014..8924cb93 100644 --- a/docs/index.mdx +++ b/docs/index.mdx @@ -5,38 +5,10 @@ tags: - Enterprise Premium displayed_sidebar: docsEnglish image: img/scalardb-social-card-preview.png +hide_table_of_contents: true +title: "" --- -# ScalarDB +import CategoryGrid from '/src/components/Cards/3.15'; -import { CardRowAbout, CardRowQuickstart, CardRowDevelop, CardRowDeploy, CardRowMigrate, CardRowManage, CardRowReference } from '/src/components/Cards/3.15'; - -ScalarDB is a cross-database HTAP engine. It achieves ACID transactions and real-time analytics across diverse databases to simplify the complexity of managing multiple databases. - -**About ScalarDB** - - - -**Quickstart** - - - -**Develop** - - - -**Deploy** - - - -**Migrate** - - - -**Manage** - - - -**Troubleshoot & Reference** - - + 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 973df30a..31a0f4cf 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 @@ -5,38 +5,10 @@ tags: - Enterprise Premium displayed_sidebar: docsJapanese image: img/scalardb-social-card-preview.png +hide_table_of_contents: true +title: "" --- -# ScalarDB +import CategoryGrid from '/src/components/Cards/ja-jp/3.15'; -import { CardRowAbout, CardRowQuickstart, CardRowDevelop, CardRowDeploy, CardRowMigrate, CardRowManage, CardRowReference } from '/src/components/Cards/ja-jp/3.15'; - -ScalarDB は、さまざまなデータベース向けのハイブリッドトランザクション/分析処理 (HTAP) エンジンです。データベース上でミドルウェアとして実行され、ACID トランザクションとリアルタイム分析を実現することでさまざまなデータベースを仮想的に統合し、複数のデータベースまたは単一のデータベースの複数のインスタンスの管理の複雑さを簡素化します。 - -**ScalarDB について** - - - -**はじめる** - - - -**開発** - - - -**デプロイ** - - - -**移行** - - - -**管理** - - - -**トラブルシューティングと参照** - - + diff --git a/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/version-3.13/index.mdx b/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/version-3.13/index.mdx index 0bb2539d..38cfe88e 100644 --- a/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/version-3.13/index.mdx +++ b/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/version-3.13/index.mdx @@ -5,38 +5,10 @@ tags: - Enterprise Premium displayed_sidebar: docsJapanese image: img/scalardb-social-card-preview.png +hide_table_of_contents: true +title: "" --- -# ScalarDB +import CategoryGrid from '/src/components/Cards/ja-jp/3.13'; -import { CardRowAbout, CardRowQuickstart, CardRowDevelop, CardRowDeploy, CardRowMigrate, CardRowManage, CardRowReference } from '/src/components/Cards/ja-jp/3.14'; - -ScalarDB は、さまざまなデータベース向けのハイブリッドトランザクション/分析処理 (HTAP) エンジンです。データベース上でミドルウェアとして実行され、ACID トランザクションとリアルタイム分析を実現することでさまざまなデータベースを仮想的に統合し、複数のデータベースまたは単一のデータベースの複数のインスタンスの管理の複雑さを簡素化します。 - -**ScalarDB について** - - - -**はじめる** - - - -**開発** - - - -**デプロイ** - - - -**移行** - - - -**管理** - - - -**トラブルシューティングと参照** - - + diff --git a/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/version-3.14/index.mdx b/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/version-3.14/index.mdx index 0bb2539d..df49aa69 100644 --- a/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/version-3.14/index.mdx +++ b/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/version-3.14/index.mdx @@ -5,38 +5,10 @@ tags: - Enterprise Premium displayed_sidebar: docsJapanese image: img/scalardb-social-card-preview.png +hide_table_of_contents: true +title: "" --- -# ScalarDB +import CategoryGrid from '/src/components/Cards/ja-jp/3.14'; -import { CardRowAbout, CardRowQuickstart, CardRowDevelop, CardRowDeploy, CardRowMigrate, CardRowManage, CardRowReference } from '/src/components/Cards/ja-jp/3.14'; - -ScalarDB は、さまざまなデータベース向けのハイブリッドトランザクション/分析処理 (HTAP) エンジンです。データベース上でミドルウェアとして実行され、ACID トランザクションとリアルタイム分析を実現することでさまざまなデータベースを仮想的に統合し、複数のデータベースまたは単一のデータベースの複数のインスタンスの管理の複雑さを簡素化します。 - -**ScalarDB について** - - - -**はじめる** - - - -**開発** - - - -**デプロイ** - - - -**移行** - - - -**管理** - - - -**トラブルシューティングと参照** - - + diff --git a/package-lock.json b/package-lock.json index ef58dcd8..b215e539 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", @@ -16555,6 +16556,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 a233b381..54446a62 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.13.tsx b/src/components/Cards/3.13.tsx index b271251c..c50dc97d 100644 --- a/src/components/Cards/3.13.tsx +++ b/src/components/Cards/3.13.tsx @@ -11,298 +11,244 @@ 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 new_content = [ { - // name: '', - // image: '.png', - url: { - page: 'overview', - }, - description: ( - - Overview - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'requirements', - }, - description: ( - - Requirements - - ), - }, -] - -const CardsQuickstart = [ - { - // name: '', - // image: '.png', - url: { - page: 'getting-started-with-scalardb', - }, - description: ( - - Getting started with ScalarDB - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalardb-cluster/getting-started-with-scalardb-cluster', - }, - description: ( - - Getting started with ScalarDB Cluster - - ), - }, -] - -const CardsDevelop = [ - { - // name: '', - // image: '.png', - url: { - page: 'add-scalardb-to-your-build', - }, - description: ( - - Add ScalarDB to your build - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'schema-loader', - }, - description: ( - - ScalarDB Schema Loader - - ), - }, -] + name: 'New content', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['api-guide#group-commit-for-the-coordinator-table'], + labels: ['Group commit for the Coordinator table'] + }, + { + cell: 1, // Second cell + links: ['run-non-transactional-storage-operations-through-library#configure-scalardb-to-run-non-transactional-storage-operations'], + labels: ['Configure ScalarDB to run non-transactional storage operations'] + }, + { + cell: 2, // Third cell + links: ['scalardb-cluster/run-non-transactional-storage-operations-through-sql-interface/#configure-scalardb-cluster-to-run-non-transactional-storage-operations'], + labels: ['Configure ScalarDB Cluster to run non-transactional storage operations'] + } + ] + } +]; -const CardsDeploy = [ +const categories = [ { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/ProductionChecklistForScalarDBCluster', - }, - description: ( - - See the ScalarDB Cluster production checklist - - ), + name: 'About ScalarDB', + 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: ['ScalarDB Overview'] + }, + { + cell: 1, // Second cell + links: ['design'], + labels: ['Design'] + }, + { + cell: 2, // Third cell + links: ['requirements'], + labels: ['Requirements'] + } + ] }, { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/ManualDeploymentGuideScalarDBClusterOnEKS', - }, - description: ( - - Deploy ScalarDB Cluster on Amazon EKS - - ), + 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-with-scalardb'], + labels: ['Getting Started with ScalarDB'] + }, + { + cell: 2, // Third cell + links: ['scalardb-cluster/getting-started-with-scalardb-cluster'], + labels: ['Getting Started with ScalarDB Cluster'] + } + ] }, -] - -const CardsMigrate = [ { - // name: '', - // image: '.png', - url: { - page: 'schema-loader-import', - }, - description: ( - - Import Existing Tables by Using ScalarDB Schema Loader - - ), + 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: ['develop-run-transactions-overview'], + labels: ['Run Transactions'] + }, + { + cell: 2, // Third cell + links: ['develop-run-non-transactional-operations-overview'], + labels: ['Run Non-Transactional Storage Operations'] + } + ] }, { - // name: '', - // image: '.png', - url: { - page: 'scalardb-sql/migration-guide', - }, - description: ( - - Migrate Your Applications and Databases - - ), + 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: ['scalardb-cluster/setup-scalardb-cluster-on-kubernetes-by-using-helm-chart'], + labels: ['Deploy ScalarDB Cluster Locally'] + }, + { + cell: 2, // Third cell + links: ['scalar-kubernetes/ManualDeploymentGuideScalarDBClusterOnEKS'], + labels: ['Deploy ScalarDB Cluster on Amazon EKS'] + } + ] }, -] - -const CardsManage = [ { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/K8sMonitorGuide', - }, - description: ( - - Monitor ScalarDB in a Kubernetes cluster - - ), + name: 'Migrate', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['migrate-overview'], + labels: ['Migrate Overview'] + }, + { + cell: 1, // Second cell + links: ['scalardb-sql/migration-guide'], + labels: ['Import Tables by Using Schema Loader'] + }, + { + cell: 2, // Third cell + links: ['scalardb-sql/migration-guide'], + labels: ['Migrate Applications and Databases'] + } + ] }, { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/BackupNoSQL', - }, - description: ( - - Back up a NoSQL database in a Kubernetes environment - - ), - }, -] - -const CardsReference = [ - { - // name: '', - // image: '.png', - url: { - page: 'scalardb-core-status-codes', - }, - description: ( - - ScalarDB Core Error Codes - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalar-licensing', - }, - description: ( - - How to Configure a Product License Key - - ), - }, + 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/HowToScaleScalarDB'], + labels: ['Scale ScalarDB'] + }, + { + cell: 2, // Third cell + links: ['scalar-kubernetes/HowToUpgradeScalarDB'], + labels: ['Upgrade ScalarDB'] + } + ] + } ]; -interface Props { - // name: string; - // image: string; - url: { - page?: string; - }; - description: JSX.Element; -} - -function Card({ /* name, image,*/ url, description }: Props) { +const CategoryGrid = () => { return ( -
-
-
- {/* - } - */} +
+ {/* Hero section */} +
+
+

ScalarDB

+

ScalarDB is a universal hybrid transaction/analytical processing (HTAP) engine for diverse databases. It runs as middleware on databases and virtually unifies diverse databases by achieving ACID transactions and real-time analytics across them to simplify the complexity of managing multiple databases or multiple instances of a single database.

+ {/* +

As a versatile solution, ScalarDB supports a range of databases, including:

+ +
    +
  • Relational databases that support JDBC, such as MariaDB, Microsoft SQL Server, MySQL, Oracle Database, PostgreSQL, SQLite, and their compatible databases, like Amazon Aurora and YugabyteDB.
  • +
  • NoSQL databases like Amazon DynamoDB, Apache Cassandra, and Azure Cosmos DB.
  • +
+
*/} +
+
+
- -
- {/*

{name}

*/} -

{description}

-
- - {/*
-
- - Read more - -
-
*/}
-
- ); -} -export function CardRowAbout(): JSX.Element { - return ( -
- {CardsAbout.map((special) => ( - - ))} -
- ); -} - -export function CardRowQuickstart(): JSX.Element { - return ( -
- {CardsQuickstart.map((special) => ( - - ))} -
- ); -} - -export function CardRowDevelop(): JSX.Element { - return ( -
- {CardsDevelop.map((special) => ( - - ))} -
- ); -} - -export function CardRowDeploy(): JSX.Element { - return ( -
- {CardsDeploy.map((special) => ( - - ))} -
- ); -} - -export function CardRowMigrate(): JSX.Element { - return ( -
- {CardsMigrate.map((special) => ( - - ))} -
- ); -} - -export function CardRowManage(): JSX.Element { - return ( -
- {CardsManage.map((special) => ( - - ))} + {/* New content table */} +
+ {new_content.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 CardRowReference(): JSX.Element { - return ( -
- {CardsReference.map((special) => ( - - ))} -
- ); -} +export default CategoryGrid; diff --git a/src/components/Cards/3.14.tsx b/src/components/Cards/3.14.tsx index 59e5ba9d..be2d15b2 100644 --- a/src/components/Cards/3.14.tsx +++ b/src/components/Cards/3.14.tsx @@ -11,335 +11,244 @@ 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: 'requirements', - }, - description: ( - - Requirements - - ), - }, -] - -const CardsQuickstart = [ - { - // name: '', - // image: '.png', - url: { - page: 'getting-started-with-scalardb', - }, - description: ( - - Getting started with ScalarDB - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalardb-cluster/getting-started-with-scalardb-cluster', - }, - description: ( - - Getting started with ScalarDB Cluster - - ), - }, -] - -const CardsSamples = [ - { - // name: '', - // image: '.png', - url: { - page: 'scalardb-samples/multi-storage-transaction-sample', - }, - description: ( - - Run a sample application with multi-storage transaction support - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalardb-samples/microservice-transaction-sample', - }, - description: ( - - Run a sample application that supports microservice transactions - - ), - }, -] - -const CardsDevelop = [ - { - // name: '', - // image: '.png', - url: { - page: 'add-scalardb-to-your-build', - }, - description: ( - - Add ScalarDB to your build - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'schema-loader', - }, - description: ( - - ScalarDB Schema Loader - - ), - }, -] - -const CardsDeploy = [ - { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/ProductionChecklistForScalarDBCluster', - }, - description: ( - - See the ScalarDB Cluster production checklist - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/ManualDeploymentGuideScalarDBClusterOnEKS', - }, - description: ( - - Deploy ScalarDB Cluster on Amazon EKS - - ), - }, -] - -const CardsMigrate = [ - { - // name: '', - // image: '.png', - url: { - page: 'schema-loader-import', - }, - description: ( - - Import Existing Tables by Using ScalarDB Schema Loader - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalardb-sql/migration-guide', - }, - description: ( - - Migrate Your Applications and Databases - - ), - }, -] - -const CardsManage = [ - { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/K8sMonitorGuide', - }, - description: ( - - Monitor ScalarDB in a Kubernetes cluster - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/BackupNoSQL', - }, - description: ( - - Back up a NoSQL database in a Kubernetes environment - - ), - }, -] - -const CardsReference = [ - { - // name: '', - // image: '.png', - url: { - page: 'scalardb-core-status-codes', - }, - description: ( - - ScalarDB Core Error Codes - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalar-licensing', - }, - description: ( - - How to Configure a Product License Key - - ), - }, +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 new_content = [ + { + name: 'New content', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['scalardb-cluster/encrypt-data-at-rest'], + labels: ['Encrypt Data at Rest'] + }, + { + cell: 1, // Second cell + links: ['scalardb-cluster/run-non-transactional-storage-operations-through-scalardb-cluster'], + labels: ['Run Non-Transactional Storage Operations Through ScalarDB Cluster'] + }, + { + cell: 2, // Third cell + links: ['scalardb-samples/scalardb-analytics-spark-sample'], + labels: ['Getting Started with ScalarDB Analytics'] + } + ] + } ]; -interface Props { - // name: string; - // image: string; - url: { - page?: string; - }; - description: JSX.Element; -} +const categories = [ + { + name: 'About ScalarDB', + 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: ['ScalarDB Overview'] + }, + { + cell: 1, // Second cell + links: ['design'], + labels: ['Design'] + }, + { + cell: 2, // Third cell + links: ['requirements'], + labels: ['Requirements'] + } + ] + }, + { + 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-with-scalardb'], + labels: ['Getting Started with ScalarDB'] + }, + { + cell: 2, // Third cell + links: ['scalardb-cluster/getting-started-with-scalardb-cluster'], + labels: ['Getting Started with ScalarDB Cluster'] + } + ] + }, + { + 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: ['develop-run-transactions-overview'], + labels: ['Run Transactions'] + }, + { + cell: 2, // Third cell + links: ['develop-run-non-transactional-operations-overview'], + labels: ['Run Non-Transactional Storage Operations'] + } + ] + }, + { + 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: ['scalardb-cluster/setup-scalardb-cluster-on-kubernetes-by-using-helm-chart'], + labels: ['Deploy ScalarDB Cluster Locally'] + }, + { + cell: 2, // Third cell + links: ['scalar-kubernetes/ManualDeploymentGuideScalarDBClusterOnEKS'], + labels: ['Deploy ScalarDB Cluster on Amazon EKS'] + } + ] + }, + { + name: 'Migrate', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['migrate-overview'], + labels: ['Migrate Overview'] + }, + { + cell: 1, // Second cell + links: ['scalardb-sql/migration-guide'], + labels: ['Import Tables by Using Schema Loader'] + }, + { + cell: 2, // Third cell + links: ['scalardb-sql/migration-guide'], + labels: ['Migrate Applications and Databases'] + } + ] + }, + { + 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/HowToScaleScalarDB'], + labels: ['Scale ScalarDB'] + }, + { + cell: 2, // Third cell + links: ['scalar-kubernetes/HowToUpgradeScalarDB'], + labels: ['Upgrade ScalarDB'] + } + ] + } +]; -function Card({ /* name, image,*/ url, description }: Props) { +const CategoryGrid = () => { return ( -
-
-
- {/* - } - */} +
+ {/* Hero section */} +
+
+

ScalarDB

+

ScalarDB is a universal hybrid transaction/analytical processing (HTAP) engine for diverse databases. It runs as middleware on databases and virtually unifies diverse databases by achieving ACID transactions and real-time analytics across them to simplify the complexity of managing multiple databases or multiple instances of a single database.

+ {/* +

As a versatile solution, ScalarDB supports a range of databases, including:

+ +
    +
  • Relational databases that support JDBC, such as MariaDB, Microsoft SQL Server, MySQL, Oracle Database, PostgreSQL, SQLite, and their compatible databases, like Amazon Aurora and YugabyteDB.
  • +
  • NoSQL databases like Amazon DynamoDB, Apache Cassandra, and Azure Cosmos DB.
  • +
+
*/} +
+
+
- -
- {/*

{name}

*/} -

{description}

-
- - {/*
-
- - Read more - -
-
*/}
-
- ); -} - -export function CardRowAbout(): JSX.Element { - return ( -
- {CardsAbout.map((special) => ( - - ))} -
- ); -} - -export function CardRowQuickstart(): JSX.Element { - return ( -
- {CardsQuickstart.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 CardRowMigrate(): JSX.Element { - return ( -
- {CardsMigrate.map((special) => ( - - ))} -
- ); -} - -export function CardRowManage(): JSX.Element { - return ( -
- {CardsManage.map((special) => ( - - ))} + {/* New content table */} +
+ {new_content.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 CardRowReference(): JSX.Element { - return ( -
- {CardsReference.map((special) => ( - - ))} -
- ); -} +export default CategoryGrid; diff --git a/src/components/Cards/3.15.tsx b/src/components/Cards/3.15.tsx index 59e5ba9d..4ae4f883 100644 --- a/src/components/Cards/3.15.tsx +++ b/src/components/Cards/3.15.tsx @@ -11,335 +11,244 @@ 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: 'requirements', - }, - description: ( - - Requirements - - ), - }, -] - -const CardsQuickstart = [ - { - // name: '', - // image: '.png', - url: { - page: 'getting-started-with-scalardb', - }, - description: ( - - Getting started with ScalarDB - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalardb-cluster/getting-started-with-scalardb-cluster', - }, - description: ( - - Getting started with ScalarDB Cluster - - ), - }, -] - -const CardsSamples = [ - { - // name: '', - // image: '.png', - url: { - page: 'scalardb-samples/multi-storage-transaction-sample', - }, - description: ( - - Run a sample application with multi-storage transaction support - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalardb-samples/microservice-transaction-sample', - }, - description: ( - - Run a sample application that supports microservice transactions - - ), - }, -] - -const CardsDevelop = [ - { - // name: '', - // image: '.png', - url: { - page: 'add-scalardb-to-your-build', - }, - description: ( - - Add ScalarDB to your build - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'schema-loader', - }, - description: ( - - ScalarDB Schema Loader - - ), - }, -] - -const CardsDeploy = [ - { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/ProductionChecklistForScalarDBCluster', - }, - description: ( - - See the ScalarDB Cluster production checklist - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/ManualDeploymentGuideScalarDBClusterOnEKS', - }, - description: ( - - Deploy ScalarDB Cluster on Amazon EKS - - ), - }, -] - -const CardsMigrate = [ - { - // name: '', - // image: '.png', - url: { - page: 'schema-loader-import', - }, - description: ( - - Import Existing Tables by Using ScalarDB Schema Loader - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalardb-sql/migration-guide', - }, - description: ( - - Migrate Your Applications and Databases - - ), - }, -] - -const CardsManage = [ - { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/K8sMonitorGuide', - }, - description: ( - - Monitor ScalarDB in a Kubernetes cluster - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/BackupNoSQL', - }, - description: ( - - Back up a NoSQL database in a Kubernetes environment - - ), - }, -] - -const CardsReference = [ - { - // name: '', - // image: '.png', - url: { - page: 'scalardb-core-status-codes', - }, - description: ( - - ScalarDB Core Error Codes - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalar-licensing', - }, - description: ( - - How to Configure a Product License Key - - ), - }, +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 new_content = [ + { + name: 'New content', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['features'], + labels: ['ScalarDB Features'] + }, + { + cell: 1, // Second cell + links: ['scalardb-cluster/getting-started-with-vector-search'], + labels: ['Getting Started with ScalarDB Cluster for Vector Search'] + }, + { + cell: 2, // Third cell + links: ['scalardb-cluster/authorize-with-abac'], + labels: ['Control User Access in a Fine-Grained Manner'] + } + ] + } ]; -interface Props { - // name: string; - // image: string; - url: { - page?: string; - }; - description: JSX.Element; -} +const categories = [ + { + name: 'About ScalarDB', + 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: ['ScalarDB Overview'] + }, + { + cell: 1, // Second cell + links: ['design'], + labels: ['Design'] + }, + { + cell: 2, // Third cell + links: ['requirements'], + labels: ['Requirements'] + } + ] + }, + { + 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-with-scalardb'], + labels: ['Getting Started with ScalarDB'] + }, + { + cell: 2, // Third cell + links: ['scalardb-cluster/getting-started-with-scalardb-cluster'], + labels: ['Getting Started with ScalarDB Cluster'] + } + ] + }, + { + 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: ['develop-run-transactions-overview'], + labels: ['Run Transactions'] + }, + { + cell: 2, // Third cell + links: ['develop-run-non-transactional-operations-overview'], + labels: ['Run Non-Transactional Storage Operations'] + } + ] + }, + { + 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: ['scalardb-cluster/setup-scalardb-cluster-on-kubernetes-by-using-helm-chart'], + labels: ['Deploy ScalarDB Cluster Locally'] + }, + { + cell: 2, // Third cell + links: ['scalar-kubernetes/ManualDeploymentGuideScalarDBClusterOnEKS'], + labels: ['Deploy ScalarDB Cluster on Amazon EKS'] + } + ] + }, + { + name: 'Migrate', + categoryLinks: [ + // To add a link, use the format ['link1', 'link2'] + // To add a label, use the format ['label1', 'label2'] + { + cell: 0, // First cell + links: ['migrate-overview'], + labels: ['Migrate Overview'] + }, + { + cell: 1, // Second cell + links: ['scalardb-sql/migration-guide'], + labels: ['Import Tables by Using Schema Loader'] + }, + { + cell: 2, // Third cell + links: ['scalardb-sql/migration-guide'], + labels: ['Migrate Applications and Databases'] + } + ] + }, + { + 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/HowToScaleScalarDB'], + labels: ['Scale ScalarDB'] + }, + { + cell: 2, // Third cell + links: ['scalar-kubernetes/HowToUpgradeScalarDB'], + labels: ['Upgrade ScalarDB'] + } + ] + } +]; -function Card({ /* name, image,*/ url, description }: Props) { +const CategoryGrid = () => { return ( -
-
-
- {/* - } - */} +
+ {/* Hero section */} +
+
+

ScalarDB

+

ScalarDB is a universal hybrid transaction/analytical processing (HTAP) engine for diverse databases. It runs as middleware on databases and virtually unifies diverse databases by achieving ACID transactions and real-time analytics across them to simplify the complexity of managing multiple databases or multiple instances of a single database.

+ {/* +

As a versatile solution, ScalarDB supports a range of databases, including:

+ +
    +
  • Relational databases that support JDBC, such as MariaDB, Microsoft SQL Server, MySQL, Oracle Database, PostgreSQL, SQLite, and their compatible databases, like Amazon Aurora and YugabyteDB.
  • +
  • NoSQL databases like Amazon DynamoDB, Apache Cassandra, and Azure Cosmos DB.
  • +
+
*/} +
+
+
- -
- {/*

{name}

*/} -

{description}

-
- - {/*
-
- - Read more - -
-
*/}
-
- ); -} - -export function CardRowAbout(): JSX.Element { - return ( -
- {CardsAbout.map((special) => ( - - ))} -
- ); -} - -export function CardRowQuickstart(): JSX.Element { - return ( -
- {CardsQuickstart.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 CardRowMigrate(): JSX.Element { - return ( -
- {CardsMigrate.map((special) => ( - - ))} -
- ); -} - -export function CardRowManage(): JSX.Element { - return ( -
- {CardsManage.map((special) => ( - - ))} + {/* New content table */} +
+ {new_content.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 CardRowReference(): JSX.Element { - return ( -
- {CardsReference.map((special) => ( - - ))} -
- ); -} +export default CategoryGrid; diff --git a/src/components/Cards/ja-jp/3.13.tsx b/src/components/Cards/ja-jp/3.13.tsx index b7ff227f..7cb7bf2c 100644 --- a/src/components/Cards/ja-jp/3.13.tsx +++ b/src/components/Cards/ja-jp/3.13.tsx @@ -11,298 +11,244 @@ 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 new_content = [ { - // name: '', - // image: '.png', - url: { - page: 'overview', - }, - description: ( - - 概要 - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'requirements', - }, - description: ( - - 要件 - - ), - }, -] - -const CardsQuickstart = [ - { - // name: '', - // image: '.png', - url: { - page: 'getting-started-with-scalardb', - }, - description: ( - - ScalarDB をはじめよう - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalardb-cluster/getting-started-with-scalardb-cluster', - }, - description: ( - - ScalarDB Cluster をはじめよう - - ), - }, -] - -const CardsDevelop = [ - { - // name: '', - // image: '.png', - url: { - page: 'add-scalardb-to-your-build', - }, - description: ( - - ビルドに ScalarDB を追加する - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'schema-loader', - }, - description: ( - - ScalarDB Schema Loader - - ), - }, -] + 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: ['api-guide#coordinator-テーブルのグループコミット'], + labels: ['Coordinator テーブルのグループコミット'] + }, + { + cell: 1, // Second cell + links: ['run-non-transactional-storage-operations-through-library#configure-scalardb-to-run-non-transactional-storage-operations'], + labels: ['非トランザクショナルストレージ操作を実行するための ScalarDB の設定'] + }, + { + cell: 2, // Third cell + links: ['scalardb-cluster/run-non-transactional-storage-operations-through-sql-interface/#configure-scalardb-cluster-to-run-non-transactional-storage-operations'], + labels: ['非トランザクショナルストレージ操作を実行するための ScalarDB Cluster の設定'] + } + ] + } +]; -const CardsDeploy = [ +const categories = [ { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/ProductionChecklistForScalarDBCluster', - }, - description: ( - - ScalarDB Cluster の運用チェックリストを参照する - - ), + name: 'ScalarDB について', + 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: ['ScalarDB の概要'] + }, + { + cell: 1, // Second cell + links: ['design'], + labels: ['デザイン'] + }, + { + cell: 2, // Third cell + links: ['requirements'], + labels: ['要件'] + } + ] }, { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/ManualDeploymentGuideScalarDBClusterOnEKS', - }, - description: ( - - Amazon EKS に ScalarDB Cluster をデプロイする - - ), + 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-with-scalardb'], + labels: ['ScalarDB をはじめよう'] + }, + { + cell: 2, // Third cell + links: ['scalardb-cluster/getting-started-with-scalardb-cluster'], + labels: ['ScalarDB Cluster をはじめよう'] + } + ] }, -] - -const CardsMigrate = [ { - // name: '', - // image: '.png', - url: { - page: 'schema-loader-import', - }, - description: ( - - ScalarDB Schema Loader を使用して既存のテーブルをインポートする - - ), + 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: ['develop-run-transactions-overview'], + labels: ['トランザクションの実行の概要'] + }, + { + cell: 2, // Third cell + links: ['develop-run-non-transactional-operations-overview'], + labels: ['非トランザクションストレージ操作を実行'] + } + ] }, { - // name: '', - // image: '.png', - url: { - page: 'scalardb-sql/migration-guide', - }, - 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: ['deploy-overview'], + labels: ['デプロイの概要'] + }, + { + cell: 1, // Second cell + links: ['scalardb-cluster/setup-scalardb-cluster-on-kubernetes-by-using-helm-chart'], + labels: ['ScalarDB Cluster をローカルにデプロイする方法'] + }, + { + cell: 2, // Third cell + links: ['scalar-kubernetes/ManualDeploymentGuideScalarDBClusterOnEKS'], + labels: ['Amazon Elastic Kubernetes Service (EKS) に ScalarDB Cluster をデプロイする'] + } + ] }, -] - -const CardsManage = [ { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/K8sMonitorGuide', - }, - description: ( - - Kubernetes クラスター上の Scalar 製品の監視 - - ), + 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: ['migrate-overview'], + labels: ['移行の概要'] + }, + { + cell: 1, // Second cell + links: ['scalardb-sql/migration-guide'], + labels: ['アプリケーションとデータベースを ScalarDB ベースの環境に移行する方法'] + }, + { + cell: 2, // Third cell + links: ['scalardb-sql/migration-guide'], + labels: ['アプリケーションとデータベースを ScalarDB ベースの環境に移行する方法'] + } + ] }, { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/BackupNoSQL', - }, - description: ( - - Kubernetes 環境で NoSQL データベースをバックアップする - - ), - }, -] - -const CardsReference = [ - { - // name: '', - // image: '.png', - url: { - page: 'scalardb-core-status-codes', - }, - description: ( - - ScalarDB Core エラーコード - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalar-licensing', - }, - 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/HowToScaleScalarDB'], + labels: ['ScalarDB をスケーリングする方法'] + }, + { + cell: 2, // Third cell + links: ['scalar-kubernetes/HowToUpgradeScalarDB'], + labels: ['ScalarDB のアップグレード方法'] + } + ] + } ]; -interface Props { - // name: string; - // image: string; - url: { - page?: string; - }; - description: JSX.Element; -} - -function Card({ /* name, image,*/ url, description }: Props) { +const CategoryGrid = () => { return ( -
-
-
- {/* - } - */} +
+ {/* Hero section */} +
+
+

ScalarDB

+

ScalarDB は、さまざまなデータベースに対応したユニバーサルなハイブリッドトランザクション/分析処理 (HTAP) エンジンです。データベース上でミドルウェアとして動作し、ACID トランザクションとリアルタイム分析を実現することで、複数のデータベースや複数インスタンスの管理の複雑さを簡素化し、仮想的に統合します。

+ {/* +

多用途なソリューションとして、ScalarDB は以下のような幅広いデータベースをサポートしています:

+ +
    +
  • MariaDB、Microsoft SQL Server、MySQL、Oracle Database、PostgreSQL、SQLite などの JDBC をサポートするリレーショナルデータベース、および Amazon Aurora や YugabyteDB のようなそれらに互換性のあるデータベース。
  • +
  • Amazon DynamoDB、Apache Cassandra、Azure Cosmos DB などの NoSQL データベース。
  • +
+
*/} +
+
+
- -
- {/*

{name}

*/} -

{description}

-
- - {/*
-
- - Read more - -
-
*/}
-
- ); -} -export function CardRowAbout(): JSX.Element { - return ( -
- {CardsAbout.map((special) => ( - - ))} -
- ); -} - -export function CardRowQuickstart(): JSX.Element { - return ( -
- {CardsQuickstart.map((special) => ( - - ))} -
- ); -} - -export function CardRowDevelop(): JSX.Element { - return ( -
- {CardsDevelop.map((special) => ( - - ))} -
- ); -} - -export function CardRowDeploy(): JSX.Element { - return ( -
- {CardsDeploy.map((special) => ( - - ))} -
- ); -} - -export function CardRowMigrate(): JSX.Element { - return ( -
- {CardsMigrate.map((special) => ( - - ))} -
- ); -} - -export function CardRowManage(): JSX.Element { - return ( -
- {CardsManage.map((special) => ( - - ))} + {/* New content table */} +
+ {new_content.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 CardRowReference(): JSX.Element { - return ( -
- {CardsReference.map((special) => ( - - ))} -
- ); -} +export default CategoryGrid; diff --git a/src/components/Cards/ja-jp/3.14.tsx b/src/components/Cards/ja-jp/3.14.tsx index b7ff227f..22ac1895 100644 --- a/src/components/Cards/ja-jp/3.14.tsx +++ b/src/components/Cards/ja-jp/3.14.tsx @@ -11,298 +11,244 @@ 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 new_content = [ { - // name: '', - // image: '.png', - url: { - page: 'overview', - }, - description: ( - - 概要 - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'requirements', - }, - description: ( - - 要件 - - ), - }, -] - -const CardsQuickstart = [ - { - // name: '', - // image: '.png', - url: { - page: 'getting-started-with-scalardb', - }, - description: ( - - ScalarDB をはじめよう - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalardb-cluster/getting-started-with-scalardb-cluster', - }, - description: ( - - ScalarDB Cluster をはじめよう - - ), - }, -] - -const CardsDevelop = [ - { - // name: '', - // image: '.png', - url: { - page: 'add-scalardb-to-your-build', - }, - description: ( - - ビルドに ScalarDB を追加する - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'schema-loader', - }, - description: ( - - ScalarDB Schema Loader - - ), - }, -] + 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: ['scalardb-cluster/encrypt-data-at-rest'], + labels: ['保存データの暗号化'] + }, + { + cell: 1, // Second cell + links: ['scalardb-cluster/run-non-transactional-storage-operations-through-scalardb-cluster'], + labels: ['ScalarDB Cluster を通じて非トランザクションストレージ操作を実行する'] + }, + { + cell: 2, // Third cell + links: ['scalardb-samples/scalardb-analytics-spark-sample'], + labels: ['ScalarDB Analytics をはじめよう'] + } + ] + } +]; -const CardsDeploy = [ +const categories = [ { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/ProductionChecklistForScalarDBCluster', - }, - description: ( - - ScalarDB Cluster の運用チェックリストを参照する - - ), + name: 'ScalarDB について', + 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: ['ScalarDB の概要'] + }, + { + cell: 1, // Second cell + links: ['design'], + labels: ['デザイン'] + }, + { + cell: 2, // Third cell + links: ['requirements'], + labels: ['要件'] + } + ] }, { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/ManualDeploymentGuideScalarDBClusterOnEKS', - }, - description: ( - - Amazon EKS に ScalarDB Cluster をデプロイする - - ), + 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-with-scalardb'], + labels: ['ScalarDB をはじめよう'] + }, + { + cell: 2, // Third cell + links: ['scalardb-cluster/getting-started-with-scalardb-cluster'], + labels: ['ScalarDB Cluster をはじめよう'] + } + ] }, -] - -const CardsMigrate = [ { - // name: '', - // image: '.png', - url: { - page: 'schema-loader-import', - }, - description: ( - - ScalarDB Schema Loader を使用して既存のテーブルをインポートする - - ), + 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: ['develop-run-transactions-overview'], + labels: ['トランザクションの実行の概要'] + }, + { + cell: 2, // Third cell + links: ['develop-run-non-transactional-operations-overview'], + labels: ['非トランザクションストレージ操作を実行'] + } + ] }, { - // name: '', - // image: '.png', - url: { - page: 'scalardb-sql/migration-guide', - }, - 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: ['deploy-overview'], + labels: ['デプロイの概要'] + }, + { + cell: 1, // Second cell + links: ['scalardb-cluster/setup-scalardb-cluster-on-kubernetes-by-using-helm-chart'], + labels: ['ScalarDB Cluster をローカルにデプロイする方法'] + }, + { + cell: 2, // Third cell + links: ['scalar-kubernetes/ManualDeploymentGuideScalarDBClusterOnEKS'], + labels: ['Amazon Elastic Kubernetes Service (EKS) に ScalarDB Cluster をデプロイする'] + } + ] }, -] - -const CardsManage = [ { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/K8sMonitorGuide', - }, - description: ( - - Kubernetes クラスター上の Scalar 製品の監視 - - ), + 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: ['migrate-overview'], + labels: ['移行の概要'] + }, + { + cell: 1, // Second cell + links: ['scalardb-sql/migration-guide'], + labels: ['アプリケーションとデータベースを ScalarDB ベースの環境に移行する方法'] + }, + { + cell: 2, // Third cell + links: ['scalardb-sql/migration-guide'], + labels: ['アプリケーションとデータベースを ScalarDB ベースの環境に移行する方法'] + } + ] }, { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/BackupNoSQL', - }, - description: ( - - Kubernetes 環境で NoSQL データベースをバックアップする - - ), - }, -] - -const CardsReference = [ - { - // name: '', - // image: '.png', - url: { - page: 'scalardb-core-status-codes', - }, - description: ( - - ScalarDB Core エラーコード - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalar-licensing', - }, - 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/HowToScaleScalarDB'], + labels: ['ScalarDB をスケーリングする方法'] + }, + { + cell: 2, // Third cell + links: ['scalar-kubernetes/HowToUpgradeScalarDB'], + labels: ['ScalarDB のアップグレード方法'] + } + ] + } ]; -interface Props { - // name: string; - // image: string; - url: { - page?: string; - }; - description: JSX.Element; -} - -function Card({ /* name, image,*/ url, description }: Props) { +const CategoryGrid = () => { return ( -
-
-
- {/* - } - */} +
+ {/* Hero section */} +
+
+

ScalarDB

+

ScalarDB は、さまざまなデータベースに対応したユニバーサルなハイブリッドトランザクション/分析処理 (HTAP) エンジンです。データベース上でミドルウェアとして動作し、ACID トランザクションとリアルタイム分析を実現することで、複数のデータベースや複数インスタンスの管理の複雑さを簡素化し、仮想的に統合します。

+ {/* +

多用途なソリューションとして、ScalarDB は以下のような幅広いデータベースをサポートしています:

+ +
    +
  • MariaDB、Microsoft SQL Server、MySQL、Oracle Database、PostgreSQL、SQLite などの JDBC をサポートするリレーショナルデータベース、および Amazon Aurora や YugabyteDB のようなそれらに互換性のあるデータベース。
  • +
  • Amazon DynamoDB、Apache Cassandra、Azure Cosmos DB などの NoSQL データベース。
  • +
+
*/} +
+
+
- -
- {/*

{name}

*/} -

{description}

-
- - {/*
-
- - Read more - -
-
*/}
-
- ); -} -export function CardRowAbout(): JSX.Element { - return ( -
- {CardsAbout.map((special) => ( - - ))} -
- ); -} - -export function CardRowQuickstart(): JSX.Element { - return ( -
- {CardsQuickstart.map((special) => ( - - ))} -
- ); -} - -export function CardRowDevelop(): JSX.Element { - return ( -
- {CardsDevelop.map((special) => ( - - ))} -
- ); -} - -export function CardRowDeploy(): JSX.Element { - return ( -
- {CardsDeploy.map((special) => ( - - ))} -
- ); -} - -export function CardRowMigrate(): JSX.Element { - return ( -
- {CardsMigrate.map((special) => ( - - ))} -
- ); -} - -export function CardRowManage(): JSX.Element { - return ( -
- {CardsManage.map((special) => ( - - ))} + {/* New content table */} +
+ {new_content.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 CardRowReference(): JSX.Element { - return ( -
- {CardsReference.map((special) => ( - - ))} -
- ); -} +export default CategoryGrid; diff --git a/src/components/Cards/ja-jp/3.15.tsx b/src/components/Cards/ja-jp/3.15.tsx index b7ff227f..8c1410ca 100644 --- a/src/components/Cards/ja-jp/3.15.tsx +++ b/src/components/Cards/ja-jp/3.15.tsx @@ -11,298 +11,244 @@ 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 new_content = [ { - // name: '', - // image: '.png', - url: { - page: 'overview', - }, - description: ( - - 概要 - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'requirements', - }, - description: ( - - 要件 - - ), - }, -] - -const CardsQuickstart = [ - { - // name: '', - // image: '.png', - url: { - page: 'getting-started-with-scalardb', - }, - description: ( - - ScalarDB をはじめよう - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalardb-cluster/getting-started-with-scalardb-cluster', - }, - description: ( - - ScalarDB Cluster をはじめよう - - ), - }, -] - -const CardsDevelop = [ - { - // name: '', - // image: '.png', - url: { - page: 'add-scalardb-to-your-build', - }, - description: ( - - ビルドに ScalarDB を追加する - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'schema-loader', - }, - description: ( - - ScalarDB Schema Loader - - ), - }, -] + 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: ['features'], + labels: ['ScalarDB の機能'] + }, + { + cell: 1, // Second cell + links: ['scalardb-cluster/getting-started-with-vector-search'], + labels: ['ScalarDB Cluster でベクトル検索をはじめよう'] + }, + { + cell: 2, // Third cell + links: ['scalardb-cluster/authorize-with-abac'], + labels: ['ユーザーアクセスをきめ細かく制御する'] + } + ] + } +]; -const CardsDeploy = [ +const categories = [ { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/ProductionChecklistForScalarDBCluster', - }, - description: ( - - ScalarDB Cluster の運用チェックリストを参照する - - ), + name: 'ScalarDB について', + 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: ['ScalarDB の概要'] + }, + { + cell: 1, // Second cell + links: ['design'], + labels: ['デザイン'] + }, + { + cell: 2, // Third cell + links: ['requirements'], + labels: ['要件'] + } + ] }, { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/ManualDeploymentGuideScalarDBClusterOnEKS', - }, - description: ( - - Amazon EKS に ScalarDB Cluster をデプロイする - - ), + 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-with-scalardb'], + labels: ['ScalarDB をはじめよう'] + }, + { + cell: 2, // Third cell + links: ['scalardb-cluster/getting-started-with-scalardb-cluster'], + labels: ['ScalarDB Cluster をはじめよう'] + } + ] }, -] - -const CardsMigrate = [ { - // name: '', - // image: '.png', - url: { - page: 'schema-loader-import', - }, - description: ( - - ScalarDB Schema Loader を使用して既存のテーブルをインポートする - - ), + 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: ['develop-run-transactions-overview'], + labels: ['トランザクションの実行の概要'] + }, + { + cell: 2, // Third cell + links: ['develop-run-non-transactional-operations-overview'], + labels: ['非トランザクションストレージ操作を実行'] + } + ] }, { - // name: '', - // image: '.png', - url: { - page: 'scalardb-sql/migration-guide', - }, - 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: ['deploy-overview'], + labels: ['デプロイの概要'] + }, + { + cell: 1, // Second cell + links: ['scalardb-cluster/setup-scalardb-cluster-on-kubernetes-by-using-helm-chart'], + labels: ['ScalarDB Cluster をローカルにデプロイする方法'] + }, + { + cell: 2, // Third cell + links: ['scalar-kubernetes/ManualDeploymentGuideScalarDBClusterOnEKS'], + labels: ['Amazon Elastic Kubernetes Service (EKS) に ScalarDB Cluster をデプロイする'] + } + ] }, -] - -const CardsManage = [ { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/K8sMonitorGuide', - }, - description: ( - - Kubernetes クラスター上の Scalar 製品の監視 - - ), + 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: ['migrate-overview'], + labels: ['移行の概要'] + }, + { + cell: 1, // Second cell + links: ['scalardb-sql/migration-guide'], + labels: ['アプリケーションとデータベースを ScalarDB ベースの環境に移行する方法'] + }, + { + cell: 2, // Third cell + links: ['scalardb-sql/migration-guide'], + labels: ['アプリケーションとデータベースを ScalarDB ベースの環境に移行する方法'] + } + ] }, { - // name: '', - // image: '.png', - url: { - page: 'scalar-kubernetes/BackupNoSQL', - }, - description: ( - - Kubernetes 環境で NoSQL データベースをバックアップする - - ), - }, -] - -const CardsReference = [ - { - // name: '', - // image: '.png', - url: { - page: 'scalardb-core-status-codes', - }, - description: ( - - ScalarDB Core エラーコード - - ), - }, - { - // name: '', - // image: '.png', - url: { - page: 'scalar-licensing', - }, - 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/HowToScaleScalarDB'], + labels: ['ScalarDB をスケーリングする方法'] + }, + { + cell: 2, // Third cell + links: ['scalar-kubernetes/HowToUpgradeScalarDB'], + labels: ['ScalarDB のアップグレード方法'] + } + ] + } ]; -interface Props { - // name: string; - // image: string; - url: { - page?: string; - }; - description: JSX.Element; -} - -function Card({ /* name, image,*/ url, description }: Props) { +const CategoryGrid = () => { return ( -
-
-
- {/* - } - */} +
+ {/* Hero section */} +
+
+

ScalarDB

+

ScalarDB は、さまざまなデータベースに対応したユニバーサルなハイブリッドトランザクション/分析処理 (HTAP) エンジンです。データベース上でミドルウェアとして動作し、ACID トランザクションとリアルタイム分析を実現することで、複数のデータベースや複数インスタンスの管理の複雑さを簡素化し、仮想的に統合します。

+ {/* +

多用途なソリューションとして、ScalarDB は以下のような幅広いデータベースをサポートしています:

+ +
    +
  • MariaDB、Microsoft SQL Server、MySQL、Oracle Database、PostgreSQL、SQLite などの JDBC をサポートするリレーショナルデータベース、および Amazon Aurora や YugabyteDB のようなそれらに互換性のあるデータベース。
  • +
  • Amazon DynamoDB、Apache Cassandra、Azure Cosmos DB などの NoSQL データベース。
  • +
+
*/} +
+
+
- -
- {/*

{name}

*/} -

{description}

-
- - {/*
-
- - Read more - -
-
*/}
-
- ); -} -export function CardRowAbout(): JSX.Element { - return ( -
- {CardsAbout.map((special) => ( - - ))} -
- ); -} - -export function CardRowQuickstart(): JSX.Element { - return ( -
- {CardsQuickstart.map((special) => ( - - ))} -
- ); -} - -export function CardRowDevelop(): JSX.Element { - return ( -
- {CardsDevelop.map((special) => ( - - ))} -
- ); -} - -export function CardRowDeploy(): JSX.Element { - return ( -
- {CardsDeploy.map((special) => ( - - ))} -
- ); -} - -export function CardRowMigrate(): JSX.Element { - return ( -
- {CardsMigrate.map((special) => ( - - ))} -
- ); -} - -export function CardRowManage(): JSX.Element { - return ( -
- {CardsManage.map((special) => ( - - ))} + {/* New content table */} +
+ {new_content.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 CardRowReference(): JSX.Element { - return ( -
- {CardsReference.map((special) => ( - - ))} -
- ); -} +export default CategoryGrid; diff --git a/src/css/custom.css b/src/css/custom.css index e58dd406..8bacb5ed 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,236 @@ 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; +} + +.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, .new-content-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%; + } +} + +.new-content-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/versioned_docs/version-3.13/index.mdx b/versioned_docs/version-3.13/index.mdx index c3b0c9ee..4ca35e77 100644 --- a/versioned_docs/version-3.13/index.mdx +++ b/versioned_docs/version-3.13/index.mdx @@ -5,38 +5,10 @@ tags: - Enterprise Premium displayed_sidebar: docsEnglish image: img/scalardb-social-card-preview.png +hide_table_of_contents: true +title: "" --- -# ScalarDB +import CategoryGrid from '/src/components/Cards/3.13'; -import { CardRowAbout, CardRowQuickstart, CardRowDevelop, CardRowDeploy, CardRowMigrate, CardRowManage, CardRowReference } from '/src/components/Cards/3.13'; - -ScalarDB is a cross-database HTAP engine. It achieves ACID transactions and real-time analytics across diverse databases to simplify the complexity of managing multiple databases. - -**About ScalarDB** - - - -**Quickstart** - - - -**Develop** - - - -**Deploy** - - - -**Migrate** - - - -**Manage** - - - -**Troubleshoot & Reference** - - + diff --git a/versioned_docs/version-3.14/index.mdx b/versioned_docs/version-3.14/index.mdx index 4a5d99db..72fdeab5 100644 --- a/versioned_docs/version-3.14/index.mdx +++ b/versioned_docs/version-3.14/index.mdx @@ -5,38 +5,10 @@ tags: - Enterprise Premium displayed_sidebar: docsEnglish image: img/scalardb-social-card-preview.png +hide_table_of_contents: true +title: "" --- -# ScalarDB +import CategoryGrid from '/src/components/Cards/3.14'; -import { CardRowAbout, CardRowQuickstart, CardRowDevelop, CardRowDeploy, CardRowMigrate, CardRowManage, CardRowReference } from '/src/components/Cards/3.14'; - -ScalarDB is a cross-database HTAP engine. It achieves ACID transactions and real-time analytics across diverse databases to simplify the complexity of managing multiple databases. - -**About ScalarDB** - - - -**Quickstart** - - - -**Develop** - - - -**Deploy** - - - -**Migrate** - - - -**Manage** - - - -**Troubleshoot & Reference** - - +