# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

site_name: Apache Paimon Rust
site_description: The Rust implementation of Apache Paimon
site_url: https://apache.github.io/paimon-rust/
repo_url: https://github.com/apache/paimon-rust
repo_name: apache/paimon-rust

docs_dir: src

theme:
  name: material
  palette:
    - scheme: default
      primary: indigo
      accent: indigo
      toggle:
        icon: material/brightness-7
        name: Switch to dark mode
    - scheme: slate
      primary: indigo
      accent: indigo
      toggle:
        icon: material/brightness-4
        name: Switch to light mode
  features:
    - navigation.sections
    - navigation.expand
    - navigation.top
    - search.suggest
    - content.code.copy

nav:
  - Home: index.md
  - Getting Started: getting-started.md
  - SQL Integration: sql.md
  - Go Integration: go-binding.md
  - Architecture: architecture.md
  - Contributing: contributing.md
  - Releases:
    - Releases: releases.md
    - Creating a Release: release/creating-a-release.md
    - Verifying a Release Candidate: release/verifying-a-release-candidate.md

markdown_extensions:
  - admonition
  - pymdownx.details
  - pymdownx.superfences
  - pymdownx.highlight:
      anchor_linenums: true
  - pymdownx.inlinehilite
  - pymdownx.tabbed:
      alternate_style: true
  - toc:
      permalink: true
