diff --git a/docs-site/app/[lang]/docs/layout.tsx b/docs-site/app/[lang]/docs/layout.tsx index cacb4ef..fae838a 100644 --- a/docs-site/app/[lang]/docs/layout.tsx +++ b/docs-site/app/[lang]/docs/layout.tsx @@ -30,6 +30,14 @@ export default async function Layout({ ), }} + githubUrl="https://github.com/teamPaprika/bingsan" + links={[ + { + text: lang === 'ko' ? '홈' : 'Home', + url: `/${lang}`, + active: 'none', + }, + ]} i18n={i18n} > {children} diff --git a/docs-site/app/page.tsx b/docs-site/app/page.tsx index 915fdd8..a3eac27 100644 --- a/docs-site/app/page.tsx +++ b/docs-site/app/page.tsx @@ -1,5 +1,27 @@ -import { redirect } from 'next/navigation'; +'use client'; + +import { useEffect } from 'react'; export default function RootPage() { - redirect('/en'); + useEffect(() => { + // Client-side redirect for when JavaScript is enabled + const basePath = process.env.NEXT_PUBLIC_BASE_PATH || ''; + window.location.href = `${basePath}/en`; + }, []); + + const basePath = process.env.NEXT_PUBLIC_BASE_PATH || ''; + + return ( + <> + {/* Meta refresh for when JavaScript is disabled */} + +
+

Redirecting to documentation...

+

+ If you are not redirected automatically, please{' '} + click here. +

+
+ + ); } diff --git a/docs-site/content/docs/en/api/index.mdx b/docs-site/content/docs/en/api/index.mdx index 748cbaf..d755995 100644 --- a/docs-site/content/docs/en/api/index.mdx +++ b/docs-site/content/docs/en/api/index.mdx @@ -21,7 +21,7 @@ When authentication is enabled, include the bearer token in requests: curl -H "Authorization: Bearer " http://localhost:8181/v1/namespaces ``` -See [Authentication Configuration](/docs/configuration/auth) for details. +See [Authentication Configuration](../configuration/auth) for details. ## Content Type @@ -35,9 +35,9 @@ Content-Type: application/json ### Core Operations -- [Namespaces](/docs/api/namespaces) - Namespace CRUD operations -- [Tables](/docs/api/tables) - Table management and commits -- [Views](/docs/api/views) - View management +- [Namespaces](./namespaces) - Namespace CRUD operations +- [Tables](./tables) - Table management and commits +- [Views](./views) - View management ## Error Responses diff --git a/docs-site/content/docs/en/architecture/index.mdx b/docs-site/content/docs/en/architecture/index.mdx index 6ef906d..ee24cc2 100644 --- a/docs-site/content/docs/en/architecture/index.mdx +++ b/docs-site/content/docs/en/architecture/index.mdx @@ -92,7 +92,7 @@ PostgreSQL row-level locking with configurable timeouts prevents concurrent modi - Automatic retry with exponential backoff - Handles lock conflicts gracefully -See [Distributed Locking](/docs/performance/locking) for configuration details. +See [Distributed Locking](../performance/locking) for configuration details. ### Object Pooling @@ -102,10 +102,10 @@ Memory optimization through buffer reuse: - Reduces GC pressure under high load - Prometheus metrics for pool health -See [Object Pooling](/docs/performance/pooling) for implementation details. +See [Object Pooling](../performance/pooling) for implementation details. ## Sections -- [Request Flow](/docs/architecture/request-flow) - How requests are processed -- [Data Model](/docs/architecture/data-model) - Database schema and metadata storage -- [Scalability](/docs/architecture/scalability) - Scaling strategies and limits +- [Request Flow](./request-flow) - How requests are processed +- [Data Model](./data-model) - Database schema and metadata storage +- [Scalability](./scalability) - Scaling strategies and limits diff --git a/docs-site/content/docs/en/configuration/index.mdx b/docs-site/content/docs/en/configuration/index.mdx index 652bfe8..6a38016 100644 --- a/docs-site/content/docs/en/configuration/index.mdx +++ b/docs-site/content/docs/en/configuration/index.mdx @@ -82,10 +82,10 @@ catalog: ## Configuration Sections -- [Server](/docs/configuration/server) - HTTP server settings -- [Database](/docs/configuration/database) - PostgreSQL connection -- [Storage](/docs/configuration/storage) - S3/GCS/Local storage backends -- [Authentication](/docs/configuration/auth) - OAuth2 and API key authentication +- [Server](./server) - HTTP server settings +- [Database](./database) - PostgreSQL connection +- [Storage](./storage) - S3/GCS/Local storage backends +- [Authentication](./auth) - OAuth2 and API key authentication ## Environment Variables diff --git a/docs-site/content/docs/en/contributing/index.mdx b/docs-site/content/docs/en/contributing/index.mdx index 48fd639..ed9b25e 100644 --- a/docs-site/content/docs/en/contributing/index.mdx +++ b/docs-site/content/docs/en/contributing/index.mdx @@ -73,7 +73,7 @@ bingsan/ ### Code Contributions -- Follow the [code style guide](/docs/contributing/code-style) +- Follow the [code style guide](./code-style) - Write tests for new functionality - Update documentation as needed - Keep commits focused and well-described diff --git a/docs-site/content/docs/en/contributing/pull-requests.mdx b/docs-site/content/docs/en/contributing/pull-requests.mdx index a6fdce1..80e9677 100644 --- a/docs-site/content/docs/en/contributing/pull-requests.mdx +++ b/docs-site/content/docs/en/contributing/pull-requests.mdx @@ -35,7 +35,7 @@ Use descriptive branch names: ### 2. Make Your Changes -- Follow the [Code Style Guide](/docs/contributing/code-style) +- Follow the [Code Style Guide](./code-style) - Write tests for new functionality - Update documentation as needed diff --git a/docs-site/content/docs/en/deployment/index.mdx b/docs-site/content/docs/en/deployment/index.mdx index 4a2f66c..2fbe0ae 100644 --- a/docs-site/content/docs/en/deployment/index.mdx +++ b/docs-site/content/docs/en/deployment/index.mdx @@ -11,12 +11,12 @@ This section covers deploying Bingsan in various environments. ### Development -- [Docker Compose](/docs/deployment/docker) - Quick local setup +- [Docker Compose](./docker) - Quick local setup ### Production -- [Kubernetes](/docs/deployment/kubernetes) - Scalable cloud deployment -- [Docker](/docs/deployment/docker) - Single-node production +- [Kubernetes](./kubernetes) - Scalable cloud deployment +- [Docker](./docker) - Single-node production ## Quick Comparison @@ -54,4 +54,4 @@ Regardless of deployment method, you'll need to configure: 2. **Storage**: S3/GCS credentials and bucket 3. **Auth** (optional): OAuth/API key settings -See [Configuration](/docs/configuration) for all options. +See [Configuration](../configuration) for all options. diff --git a/docs-site/content/docs/en/getting-started/first-steps.mdx b/docs-site/content/docs/en/getting-started/first-steps.mdx index 71eb6bd..a0de1b7 100644 --- a/docs-site/content/docs/en/getting-started/first-steps.mdx +++ b/docs-site/content/docs/en/getting-started/first-steps.mdx @@ -246,6 +246,6 @@ spark.sql("SELECT * FROM bingsan.analytics.user_events LIMIT 10").show() ## Next Steps -- [Explore all API endpoints](/docs/api) -- [Configure authentication](/docs/configuration/auth) -- [Set up monitoring](/docs/configuration/monitoring) +- [Explore all API endpoints](../api) +- [Configure authentication](../configuration/auth) +- [Set up monitoring](../configuration/monitoring) diff --git a/docs-site/content/docs/en/getting-started/index.mdx b/docs-site/content/docs/en/getting-started/index.mdx index 280f61d..04c6e57 100644 --- a/docs-site/content/docs/en/getting-started/index.mdx +++ b/docs-site/content/docs/en/getting-started/index.mdx @@ -17,6 +17,6 @@ Before installing Bingsan, ensure you have the following: ## Sections -- [Quick Start](/docs/getting-started/quick-start) - Get running in 5 minutes -- [Installation](/docs/getting-started/installation) - Detailed installation options -- [First Steps](/docs/getting-started/first-steps) - Create your first namespace and table +- [Quick Start](./quick-start) - Get running in 5 minutes +- [Installation](./installation) - Detailed installation options +- [First Steps](./first-steps) - Create your first namespace and table diff --git a/docs-site/content/docs/en/getting-started/installation.mdx b/docs-site/content/docs/en/getting-started/installation.mdx index 0793b1d..a6a6f25 100644 --- a/docs-site/content/docs/en/getting-started/installation.mdx +++ b/docs-site/content/docs/en/getting-started/installation.mdx @@ -115,7 +115,7 @@ docker run -d \ Deploy to Kubernetes using Helm or raw manifests. -See the [Kubernetes Deployment Guide](/docs/deployment/kubernetes) for detailed instructions. +See the [Kubernetes Deployment Guide](../deployment/kubernetes) for detailed instructions. ## Database Setup @@ -163,4 +163,4 @@ All configuration options can be set via environment variables using the `ICEBER | `ICEBERG_DATABASE_DATABASE` | `database.database` | Database name | | `ICEBERG_AUTH_ENABLED` | `auth.enabled` | Enable authentication | -See the [Configuration Guide](/docs/configuration) for all options. +See the [Configuration Guide](../configuration) for all options. diff --git a/docs-site/content/docs/en/getting-started/quick-start.mdx b/docs-site/content/docs/en/getting-started/quick-start.mdx index ad6f9ec..445d15f 100644 --- a/docs-site/content/docs/en/getting-started/quick-start.mdx +++ b/docs-site/content/docs/en/getting-started/quick-start.mdx @@ -27,7 +27,7 @@ Copy the example configuration file: cp config.example.yaml config.yaml ``` -The default configuration works out of the box for local development. For production, see the [Configuration Guide](/docs/configuration). +The default configuration works out of the box for local development. For production, see the [Configuration Guide](../configuration). ## Step 3: Start with Docker Compose @@ -94,9 +94,9 @@ Response: ## Next Steps -- [Create your first table](/docs/getting-started/first-steps) -- [Learn about all API endpoints](/docs/api) -- [Configure for production](/docs/configuration) +- [Create your first table](./first-steps) +- [Learn about all API endpoints](../api) +- [Configure for production](../configuration) ## Stopping the Services diff --git a/docs-site/content/docs/en/integrations/index.mdx b/docs-site/content/docs/en/integrations/index.mdx index 3ae3eb3..c102385 100644 --- a/docs-site/content/docs/en/integrations/index.mdx +++ b/docs-site/content/docs/en/integrations/index.mdx @@ -9,9 +9,9 @@ Bingsan integrates with all major Iceberg clients through the standard REST Cata ## Supported Clients -- [Apache Spark](/docs/integrations/spark) - Batch and streaming data processing -- [Trino](/docs/integrations/trino) - Distributed SQL query engine -- [PyIceberg](/docs/integrations/pyiceberg) - Python library for Iceberg +- [Apache Spark](./spark) - Batch and streaming data processing +- [Trino](./trino) - Distributed SQL query engine +- [PyIceberg](./pyiceberg) - Python library for Iceberg ## Connection Overview diff --git a/docs-site/content/docs/en/performance/index.mdx b/docs-site/content/docs/en/performance/index.mdx index e475dfc..f7187bb 100644 --- a/docs-site/content/docs/en/performance/index.mdx +++ b/docs-site/content/docs/en/performance/index.mdx @@ -48,8 +48,8 @@ ICEBERG_CATALOG_MAX_LOCK_RETRIES=100 ## Sections -- [Object Pooling](/docs/performance/pooling) - Memory buffer reuse for reduced allocations -- [Distributed Locking](/docs/performance/locking) - PostgreSQL-based locking with retry logic -- [Benchmarking](/docs/performance/benchmarking) - Load testing with Apache Polaris Tools -- [Metrics](/docs/performance/metrics) - Prometheus metrics for monitoring -- [Tuning](/docs/performance/tuning) - Performance tuning guidelines +- [Object Pooling](./pooling) - Memory buffer reuse for reduced allocations +- [Distributed Locking](./locking) - PostgreSQL-based locking with retry logic +- [Benchmarking](./benchmarking) - Load testing with Apache Polaris Tools +- [Metrics](./metrics) - Prometheus metrics for monitoring +- [Tuning](./tuning) - Performance tuning guidelines diff --git a/docs-site/content/docs/ko/api/index.mdx b/docs-site/content/docs/ko/api/index.mdx index dde6342..625cc15 100644 --- a/docs-site/content/docs/ko/api/index.mdx +++ b/docs-site/content/docs/ko/api/index.mdx @@ -21,7 +21,7 @@ http://localhost:8181/v1 curl -H "Authorization: Bearer " http://localhost:8181/v1/namespaces ``` -자세한 내용은 [인증 설정](/docs/configuration/auth)을 참조하세요. +자세한 내용은 [인증 설정](../configuration/auth)을 참조하세요. ## Content Type @@ -35,9 +35,9 @@ Content-Type: application/json ### 핵심 작업 -- [네임스페이스](/docs/api/namespaces) - 네임스페이스 CRUD 작업 -- [테이블](/docs/api/tables) - 테이블 관리 및 커밋 -- [뷰](/docs/api/views) - 뷰 관리 +- [네임스페이스](./namespaces) - 네임스페이스 CRUD 작업 +- [테이블](./tables) - 테이블 관리 및 커밋 +- [뷰](./views) - 뷰 관리 ## 오류 응답 diff --git a/docs-site/content/docs/ko/architecture/index.mdx b/docs-site/content/docs/ko/architecture/index.mdx index 137fd8c..ed2e851 100644 --- a/docs-site/content/docs/ko/architecture/index.mdx +++ b/docs-site/content/docs/ko/architecture/index.mdx @@ -90,10 +90,10 @@ Bingsan은 Apache Iceberg REST Catalog 명세를 구현한 상태 비저장(stat - 지수 백오프를 통한 자동 재시도 - 락 충돌 원활히 처리 -자세한 설정은 [분산 잠금](/docs/performance/locking)을 참조하세요. +자세한 설정은 [분산 잠금](../performance/locking)을 참조하세요. ## 섹션 -- [요청 흐름](/docs/architecture/request-flow) - 요청 처리 방식 -- [데이터 모델](/docs/architecture/data-model) - 데이터베이스 스키마 및 메타데이터 저장 -- [확장성](/docs/architecture/scalability) - 확장 전략 및 한계 +- [요청 흐름](./request-flow) - 요청 처리 방식 +- [데이터 모델](./data-model) - 데이터베이스 스키마 및 메타데이터 저장 +- [확장성](./scalability) - 확장 전략 및 한계 diff --git a/docs-site/content/docs/ko/configuration/index.mdx b/docs-site/content/docs/ko/configuration/index.mdx index b5a60af..bb2d92b 100644 --- a/docs-site/content/docs/ko/configuration/index.mdx +++ b/docs-site/content/docs/ko/configuration/index.mdx @@ -41,10 +41,10 @@ auth: ## 설정 섹션 -- [서버](/docs/configuration/server) - HTTP 서버 설정 -- [데이터베이스](/docs/configuration/database) - PostgreSQL 연결 -- [스토리지](/docs/configuration/storage) - S3/GCS/로컬 스토리지 백엔드 -- [인증](/docs/configuration/auth) - OAuth2 및 API 키 인증 +- [서버](./server) - HTTP 서버 설정 +- [데이터베이스](./database) - PostgreSQL 연결 +- [스토리지](./storage) - S3/GCS/로컬 스토리지 백엔드 +- [인증](./auth) - OAuth2 및 API 키 인증 ## 환경 변수 diff --git a/docs-site/content/docs/ko/contributing/index.mdx b/docs-site/content/docs/ko/contributing/index.mdx index 0a6fc84..556a130 100644 --- a/docs-site/content/docs/ko/contributing/index.mdx +++ b/docs-site/content/docs/ko/contributing/index.mdx @@ -73,7 +73,7 @@ bingsan/ ### 코드 기여 -- [코드 스타일 가이드](/docs/contributing/code-style) 준수 +- [코드 스타일 가이드](./code-style) 준수 - 새 기능에 대한 테스트 작성 - 필요에 따라 문서 업데이트 - 커밋을 집중적이고 잘 설명하도록 유지 diff --git a/docs-site/content/docs/ko/contributing/pull-requests.mdx b/docs-site/content/docs/ko/contributing/pull-requests.mdx index 8063e08..a7fadd1 100644 --- a/docs-site/content/docs/ko/contributing/pull-requests.mdx +++ b/docs-site/content/docs/ko/contributing/pull-requests.mdx @@ -35,7 +35,7 @@ git checkout -b feature/your-feature-name ### 2. 변경사항 작성 -- [코드 스타일 가이드](/docs/contributing/code-style) 준수 +- [코드 스타일 가이드](./code-style) 준수 - 새 기능에 대한 테스트 작성 - 필요시 문서 업데이트 diff --git a/docs-site/content/docs/ko/deployment/index.mdx b/docs-site/content/docs/ko/deployment/index.mdx index 20a5872..8a3482e 100644 --- a/docs-site/content/docs/ko/deployment/index.mdx +++ b/docs-site/content/docs/ko/deployment/index.mdx @@ -11,12 +11,12 @@ description: 다양한 환경에서 Bingsan 배포 ### 개발 환경 -- [Docker Compose](/docs/deployment/docker) - 빠른 로컬 설정 +- [Docker Compose](./docker) - 빠른 로컬 설정 ### 프로덕션 -- [Kubernetes](/docs/deployment/kubernetes) - 확장 가능한 클라우드 배포 -- [Docker](/docs/deployment/docker) - 단일 노드 프로덕션 +- [Kubernetes](./kubernetes) - 확장 가능한 클라우드 배포 +- [Docker](./docker) - 단일 노드 프로덕션 ## 빠른 비교 @@ -54,4 +54,4 @@ description: 다양한 환경에서 Bingsan 배포 2. **스토리지**: S3/GCS 자격 증명 및 버킷 3. **인증** (선택사항): OAuth/API 키 설정 -모든 옵션은 [설정](/docs/configuration)을 참조하세요. +모든 옵션은 [설정](../configuration)을 참조하세요. diff --git a/docs-site/content/docs/ko/getting-started/first-steps.mdx b/docs-site/content/docs/ko/getting-started/first-steps.mdx index 87776ee..2a68f6a 100644 --- a/docs-site/content/docs/ko/getting-started/first-steps.mdx +++ b/docs-site/content/docs/ko/getting-started/first-steps.mdx @@ -246,6 +246,6 @@ spark.sql("SELECT * FROM bingsan.analytics.user_events LIMIT 10").show() ## 다음 단계 -- [모든 API 엔드포인트 살펴보기](/docs/api) -- [인증 설정](/docs/configuration/auth) -- [모니터링 설정](/docs/configuration/monitoring) +- [모든 API 엔드포인트 살펴보기](../api) +- [인증 설정](../configuration/auth) +- [모니터링 설정](../configuration/monitoring) diff --git a/docs-site/content/docs/ko/getting-started/index.mdx b/docs-site/content/docs/ko/getting-started/index.mdx index edf54d5..697c154 100644 --- a/docs-site/content/docs/ko/getting-started/index.mdx +++ b/docs-site/content/docs/ko/getting-started/index.mdx @@ -17,6 +17,6 @@ Bingsan을 설치하기 전에 다음 항목이 준비되어 있는지 확인하 ## 섹션 -- [빠른 시작](/docs/getting-started/quick-start) - 5분 만에 실행하기 -- [설치](/docs/getting-started/installation) - 상세 설치 옵션 -- [첫 번째 단계](/docs/getting-started/first-steps) - 첫 번째 네임스페이스와 테이블 생성하기 +- [빠른 시작](./quick-start) - 5분 만에 실행하기 +- [설치](./installation) - 상세 설치 옵션 +- [첫 번째 단계](./first-steps) - 첫 번째 네임스페이스와 테이블 생성하기 diff --git a/docs-site/content/docs/ko/getting-started/installation.mdx b/docs-site/content/docs/ko/getting-started/installation.mdx index fcfa22d..455fd0d 100644 --- a/docs-site/content/docs/ko/getting-started/installation.mdx +++ b/docs-site/content/docs/ko/getting-started/installation.mdx @@ -115,7 +115,7 @@ docker run -d \ Helm 또는 raw 매니페스트를 사용하여 Kubernetes에 배포합니다. -자세한 내용은 [Kubernetes 배포 가이드](/docs/deployment/kubernetes)를 참조하세요. +자세한 내용은 [Kubernetes 배포 가이드](../deployment/kubernetes)를 참조하세요. ## 데이터베이스 설정 @@ -163,4 +163,4 @@ curl http://localhost:8181/v1/config | `ICEBERG_DATABASE_DATABASE` | `database.database` | 데이터베이스 이름 | | `ICEBERG_AUTH_ENABLED` | `auth.enabled` | 인증 활성화 | -모든 옵션은 [설정 가이드](/docs/configuration)를 참조하세요. +모든 옵션은 [설정 가이드](../configuration)를 참조하세요. diff --git a/docs-site/content/docs/ko/getting-started/quick-start.mdx b/docs-site/content/docs/ko/getting-started/quick-start.mdx index d6eec3c..ab68c07 100644 --- a/docs-site/content/docs/ko/getting-started/quick-start.mdx +++ b/docs-site/content/docs/ko/getting-started/quick-start.mdx @@ -27,7 +27,7 @@ cd bingsan cp config.example.yaml config.yaml ``` -기본 설정은 로컬 개발 환경에서 바로 사용할 수 있습니다. 프로덕션 환경의 경우 [설정 가이드](/docs/configuration)를 참조하세요. +기본 설정은 로컬 개발 환경에서 바로 사용할 수 있습니다. 프로덕션 환경의 경우 [설정 가이드](../configuration)를 참조하세요. ## Step 3: Docker Compose로 시작 @@ -94,9 +94,9 @@ curl http://localhost:8181/v1/namespaces ## 다음 단계 -- [첫 번째 테이블 생성하기](/docs/getting-started/first-steps) -- [모든 API 엔드포인트 알아보기](/docs/api) -- [프로덕션 설정](/docs/configuration) +- [첫 번째 테이블 생성하기](./first-steps) +- [모든 API 엔드포인트 알아보기](../api) +- [프로덕션 설정](../configuration) ## 서비스 중지 diff --git a/docs-site/content/docs/ko/integrations/index.mdx b/docs-site/content/docs/ko/integrations/index.mdx index 410fcb9..1b5c6bd 100644 --- a/docs-site/content/docs/ko/integrations/index.mdx +++ b/docs-site/content/docs/ko/integrations/index.mdx @@ -9,9 +9,9 @@ Bingsan은 표준 REST Catalog API를 통해 모든 주요 Iceberg 클라이언 ## 지원 클라이언트 -- [Apache Spark](/docs/integrations/spark) - 배치 및 스트리밍 데이터 처리 -- [Trino](/docs/integrations/trino) - 분산 SQL 쿼리 엔진 -- [PyIceberg](/docs/integrations/pyiceberg) - Iceberg용 Python 라이브러리 +- [Apache Spark](./spark) - 배치 및 스트리밍 데이터 처리 +- [Trino](./trino) - 분산 SQL 쿼리 엔진 +- [PyIceberg](./pyiceberg) - Iceberg용 Python 라이브러리 ## 연결 개요 diff --git a/docs-site/content/docs/ko/performance/index.mdx b/docs-site/content/docs/ko/performance/index.mdx index a58dc51..8b5dc39 100644 --- a/docs-site/content/docs/ko/performance/index.mdx +++ b/docs-site/content/docs/ko/performance/index.mdx @@ -46,8 +46,8 @@ ICEBERG_CATALOG_MAX_LOCK_RETRIES=100 ## 섹션 -- [오브젝트 풀링](/docs/performance/pooling) - 할당 감소를 위한 메모리 버퍼 재사용 -- [분산 잠금](/docs/performance/locking) - 재시도 로직이 있는 PostgreSQL 기반 잠금 -- [벤치마킹](/docs/performance/benchmarking) - Apache Polaris Tools를 사용한 부하 테스트 -- [메트릭](/docs/performance/metrics) - 모니터링을 위한 Prometheus 메트릭 -- [튜닝](/docs/performance/tuning) - 성능 튜닝 가이드라인 +- [오브젝트 풀링](./pooling) - 할당 감소를 위한 메모리 버퍼 재사용 +- [분산 잠금](./locking) - 재시도 로직이 있는 PostgreSQL 기반 잠금 +- [벤치마킹](./benchmarking) - Apache Polaris Tools를 사용한 부하 테스트 +- [메트릭](./metrics) - 모니터링을 위한 Prometheus 메트릭 +- [튜닝](./tuning) - 성능 튜닝 가이드라인