# 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