blob: d05c37f3ba3877bc2935bf4c56f4d6f10496296f [file] [view]
# Apache Paimon Documentation
This directory contains the source for the Apache Paimon documentation site, built with [Docusaurus 3](https://docusaurus.io/).
## Prerequisites
- Node.js >= 18
- Yarn (`npm install -g yarn`)
## Quick Start
```bash
# Install dependencies
yarn install
# Start development server (with hot reload)
yarn start
```
The site will be available at http://localhost:3000/docs/master/.
## Build
```bash
# Production build
yarn build
# Preview the production build locally
yarn serve
```
## Project Structure
```
docs/
├── docs/ # Markdown/MDX content files
├── generated/ # Auto-generated config tables (from paimon-docs module)
├── src/
│ ├── components/ # Custom React components (Stable, Unstable, ConfigTable, etc.)
│ ├── css/ # Custom styles
│ └── plugins/ # Remark plugins (variable interpolation)
├── static/ # Static assets (images, logos, OpenAPI spec)
├── scripts/ # Migration utilities
├── docusaurus.config.js
├── sidebars.js
└── package.json
```
## Regenerating Config Tables
The 28 HTML config tables in `generated/` are produced by the `paimon-docs` Maven module. To regenerate:
```bash
cd .. && mvn -pl paimon-docs -am package -DskipTests
```
## Adding a New Page
1. Create a `.md` (or `.mdx` if you need React components like Tabs) file under `docs/`
2. Add frontmatter:
```yaml
---
title: "Page Title"
sidebar_position: 5
---
```
3. The page will automatically appear in the sidebar based on `sidebar_position`
## Using Tabs
```mdx
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
<Tabs groupId="engine">
<TabItem value="flink" label="Flink">
Flink content here.
</TabItem>
<TabItem value="spark" label="Spark">
Spark content here.
</TabItem>
</Tabs>
```
## Version Variables
Use `@@VERSION@@` in markdown and it will be replaced with the current version (`1.5-SNAPSHOT`) at build time. Other available tokens:
- `@@VERSION@@` Paimon version
- `@@FLINK_VERSION@@` Flink version
- `@@BRANCH@@` Git branch
- `@@GITHUB_REPO@@` GitHub repo URL