# Oxibase Documentation Website

This directory contains the GitHub Pages website for Oxibase, hosted at [oxibase.io](https://oxibase.io). It includes comprehensive documentation migrated from the project's GitHub Wiki.

## Local Development

To run the website locally:

1. Install Jekyll and Bundler:
   ```
   gem install jekyll bundler
   ```

2. Navigate to the `docs` directory:
   ```
   cd docs
   ```

3. Install dependencies:
   ```
   bundle install
   ```

4. Start the local server:
   ```
   bundle exec jekyll serve
   ```

5. Open your browser to `http://localhost:4000`

## Site Structure

- `_config.yml` - Jekyll configuration
- `index.html` - Homepage
- `assets/` - CSS, JavaScript, and images
- `_layouts/` - Page layouts
- `_includes/` - Reusable components
- `_docs/` - Documentation pages organized by category:
  - `architecture/` - Design and implementation of Oxibase components
  - `data-types/` - Information about supported data types
  - `functions/` - SQL function reference
  - `getting-started/` - Installation and quick start guides
  - `performance/` - Performance optimization techniques
  - `sql-commands/` - SQL command reference
  - `sql-features/` - Detailed information about SQL features

## Deployment

The site is automatically deployed when changes are pushed to the main branch.

## Migration from Wiki

Most of the content in this documentation was migrated from the project's GitHub Wiki using the `migrate_wiki.sh` script in the repository root. If you need to migrate additional wiki content, you can modify and run this script.

## Adding Documentation

1. Create a new Markdown file in the appropriate category folder in `_docs/`
2. Add front matter to the file:
   ```yaml
   ---
   title: Title of the Document
   category: Category Name
   order: 1 (or appropriate number)
   ---
   ```
3. Add your content using Markdown

## Style Guidelines

- Use ATX-style headers (`# Header` not `Header\n===`)
- Use backticks for code snippets and triple backticks for code blocks
- Add language identifiers to code blocks when possible (```go, ```sql, etc.)
- Use relative links for internal documentation references
- Use meaningful image alt text

## Theme Customization

The website uses a custom theme based on Jekyll's minimal theme with support for:

- Light and dark mode (automatically detects system preference with manual toggle)
- Responsive design for all device sizes
- Encode Sans font
- Oxibase brand colors