Files
BallisticsDocs/docs
2025-07-04 03:26:03 -07:00
..
2025-07-04 03:26:03 -07:00
2025-07-02 22:40:58 -07:00
2025-07-02 22:40:58 -07:00
2025-07-03 00:11:01 -07:00
fix
2025-07-02 22:44:53 -07:00
2025-07-02 22:40:58 -07:00
2025-07-02 22:40:58 -07:00
2025-07-04 03:26:03 -07:00

EasyBallistics Documentation

This directory contains the complete documentation for EasyBallistics, built with Docusaurus.

🚀 Quick Start

Prerequisites

  • Node.js 18.0 or higher
  • npm or yarn

Installation

cd docs
npm install

Development

Start the development server:

npm start

This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.

Build

Generate static content:

npm run build

This command generates static content into the build directory and can be served using any static contents hosting service.

📚 Documentation Structure

docs/
├── docs/                          # Documentation content
│   ├── intro.md                   # Homepage/Introduction
│   ├── getting-started/           # Installation and quick start
│   ├── core-concepts/             # Fundamental concepts
│   ├── assets/                    # Asset creation guides
│   ├── components/                # Component documentation
│   ├── mathematical/              # Mathematical ballistics
│   ├── networking/                # Multiplayer features
│   ├── performance/               # Optimization guides
│   ├── tutorials/                 # Step-by-step tutorials
│   ├── api/                       # API reference
│   ├── migration/                 # Migration guides
│   ├── troubleshooting.md         # Common issues
│   └── changelog.md               # Version history
├── src/                           # Custom React components
│   └── css/                       # Custom styling
├── static/                        # Static assets
│   └── img/                       # Images and screenshots
├── docusaurus.config.js           # Site configuration
├── sidebars.js                    # Navigation structure
└── package.json                   # Dependencies

🎨 Customization

Styling

Custom CSS is located in src/css/custom.css. This includes:

  • Color scheme customization
  • Component-specific styles
  • Responsive design adjustments

Configuration

Main configuration is in docusaurus.config.js:

  • Site metadata
  • Navigation structure
  • Theme configuration
  • Plugin settings

Components

Custom React components for enhanced documentation:

  • Code examples with syntax highlighting
  • Interactive API documentation
  • Embedded demos and screenshots

📝 Content Guidelines

Writing Style

  • Clear and Concise: Use simple, direct language
  • Code Examples: Include practical, working examples
  • Screenshots: Add visual aids for UI-heavy sections
  • Cross-References: Link to related documentation

File Naming

  • Use kebab-case for file names: getting-started.md
  • Group related content in folders
  • Keep URLs readable and SEO-friendly

Markdown Features

Docusaurus supports enhanced markdown:

:::info
Information callouts for important notes
:::

:::warning
Warning callouts for potential issues
:::

:::danger
Danger callouts for critical warnings
:::

```cpp title="Example.cpp"
// Code blocks with titles and syntax highlighting
void ExampleFunction()
{
    // Implementation
}
graph TD
    A[Start] --> B[Process]
    B --> C[End]

## 🚢 Deployment

### GitHub Pages

Deploy to GitHub Pages:

```bash
npm run deploy

Custom Hosting

Build and deploy to any static hosting service:

npm run build
# Upload the build/ directory to your hosting provider

Continuous Integration

Example GitHub Actions workflow:

name: Deploy Documentation
on:
  push:
    branches: [main]
    paths: ['docs/**']

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: '18'
      - name: Install dependencies
        run: cd docs && npm install
      - name: Build documentation
        run: cd docs && npm run build
      - name: Deploy to GitHub Pages
        uses: peaceiris/actions-gh-pages@v3
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          publish_dir: ./docs/build

🤝 Contributing

Documentation Contributions

  1. Fork the repository
  2. Create a documentation branch: git checkout -b docs/feature-name
  3. Make your changes following the content guidelines
  4. Test locally: npm start to preview changes
  5. Submit a pull request with a clear description

Content Types

We welcome contributions for:

  • Tutorials: Step-by-step guides for specific use cases
  • Examples: Code samples and implementation patterns
  • Troubleshooting: Solutions to common problems
  • API Documentation: Detailed function and class references
  • Screenshots: Visual aids for complex procedures

Review Process

All documentation changes go through:

  1. Technical Review: Accuracy and completeness
  2. Editorial Review: Grammar, style, and clarity
  3. Testing: Verify examples and instructions work
  4. Deployment: Merge and publish updates

🛠️ Development Tools

Useful Commands

# Start development server
npm start

# Build for production
npm run build

# Serve production build locally
npm run serve

# Clear build cache
npm run clear

# Generate heading IDs
npm run write-heading-ids

# Extract translatable strings
npm run write-translations

VS Code Extensions

Recommended extensions for documentation development:

  • Markdown All in One: Enhanced markdown editing
  • Code Spell Checker: Catch typos and spelling errors
  • Prettier: Consistent code formatting
  • Auto Rename Tag: HTML/JSX tag editing

📊 Analytics and Monitoring

Google Analytics

Analytics are configured in docusaurus.config.js:

gtag: {
  trackingID: 'G-XXXXXXXXXX',
  anonymizeIP: true,
}

Built-in search is provided by Algolia DocSearch:

algolia: {
  apiKey: 'your-api-key',
  indexName: 'easyballistics',
  contextualSearch: true,
}

🐛 Issues and Support

Reporting Documentation Issues

When reporting documentation issues:

  1. Specify the page: Include the URL or file path
  2. Describe the problem: What's unclear or incorrect
  3. Suggest improvements: How could it be better
  4. Provide context: Your use case or scenario

Getting Help

📄 License

Documentation is licensed under Creative Commons Attribution 4.0 International.

Code examples within the documentation follow the same license as the EasyBallistics plugin.