site_name: Groggy Documentation
site_description: High-performance graph analytics library for Python with a Rust core
site_author: Groggy Contributors
site_url: https://rollingstorms.github.io/groggy/

repo_name: rollingstorms/groggy
repo_url: https://github.com/rollingstorms/groggy
edit_uri: edit/main/docs/

theme:
  name: material
  palette:
    # Light mode
    - media: "(prefers-color-scheme: light)"
      scheme: default
      primary: indigo
      accent: indigo
      toggle:
        icon: material/brightness-7
        name: Switch to dark mode
    # Dark mode
    - media: "(prefers-color-scheme: dark)"
      scheme: slate
      primary: indigo
      accent: indigo
      toggle:
        icon: material/brightness-4
        name: Switch to light mode
  features:
    - navigation.instant
    - navigation.tracking
    - navigation.tabs
    - navigation.sections
    - navigation.expand
    - navigation.top
    - search.suggest
    - search.highlight
    - content.code.copy
    - content.code.annotate

plugins:
  - search
  - mkdocstrings:
      handlers:
        python:
          options:
            docstring_style: google
            show_source: true
            show_root_heading: true
            show_root_full_path: false
            heading_level: 2

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

nav:
  - Home: index.md
  - Getting Started:
      - About Groggy: about.md
      - Installation: install.md
      - Quickstart: quickstart.md
  - Concepts:
      - Overview: concepts/overview.md
      - Origins & Design: concepts/origins.md
      - Architecture: concepts/architecture.md
      - Connected Views: concepts/connected-views.md
      - Trait-Backed Delegation: concepts/trait-delegation.md
  - User Guide:
      - Graph Core: guide/graph-core.md
      - Subgraphs: guide/subgraphs.md
      - Accessors: guide/accessors.md
      - SubgraphArrays: guide/subgraph-arrays.md
      - Tables: guide/tables.md
      - Arrays: guide/arrays.md
      - Matrices: guide/matrices.md
      - Builder DSL: guide/builder.md
      - Algorithms: guide/algorithms.md
      - Neural Networks: guide/neural.md
      - Integration: guide/integration.md
      - Performance: guide/performance.md
  - Algorithms:
      - Overview: guide/algorithms.md
      - Centrality:
          - PageRank: guide/algorithms.md
          - Betweenness: guide/algorithms.md
          - Closeness: guide/algorithms.md
      - Community Detection:
          - Label Propagation: guide/algorithms.md
          - Louvain: guide/algorithms.md
          - Leiden: guide/algorithms.md
          - Connected Components: guide/algorithms.md
      - Pathfinding:
          - BFS: guide/algorithms.md
          - DFS: guide/algorithms.md
          - Dijkstra: guide/algorithms.md
          - A*: guide/algorithms.md
  - Builder DSL:
      - Getting Started: builder/index.md
      - Batch Executor: guide/builder.md
      - Tutorials:
          - Hello World: builder/tutorials/01_hello_world.md
          - PageRank: builder/tutorials/02_pagerank.md
          - LPA: builder/tutorials/03_lpa.md
          - Custom Metrics: builder/tutorials/04_custom_metrics.md
      - API Reference:
          - Core Ops: builder/api/core.md
          - Graph Ops: builder/api/graph.md
          - Attr Ops: builder/api/attr.md
          - Iteration: builder/api/iter.md
          - VarHandle: builder/api/varhandle.md
  - API Reference:
      - Graph Objects:
          - Graph: api/graph.md
          - Subgraph: api/subgraph.md
          - SubgraphArray: api/subgrapharray.md
      - Algorithms: api/algorithms.md
      - Builder: api/builder.md
      - Accessors:
          - NodesAccessor: api/nodesaccessor.md
          - EdgesAccessor: api/edgesaccessor.md
      - Tables:
          - GraphTable: api/graphtable.md
          - NodesTable: api/nodestable.md
          - EdgesTable: api/edgestable.md
          - BaseTable: api/basetable.md
      - Arrays:
          - NumArray: api/numarray.md
          - NodesArray: api/nodesarray.md
          - EdgesArray: api/edgesarray.md
      - Matrices:
          - GraphMatrix: api/graphmatrix.md
  - Appendices:
      - Overview: appendices/index.md
      - Glossary: appendices/glossary.md
      - Design Decisions: appendices/design-decisions.md
      - Performance Cookbook: appendices/performance-cookbook.md

extra:
  social:
    - icon: fontawesome/brands/github
      link: https://github.com/rollingstorms/groggy
