An open API service indexing awesome lists of open source software.

https://github.com/fernandocalmet/tantra

๐ŸทTantra Online ~ Developers Documentation Page
https://github.com/fernandocalmet/tantra

k5 kathana tantra tantra-online tantraonline

Last synced: 4 months ago
JSON representation

๐ŸทTantra Online ~ Developers Documentation Page

Awesome Lists containing this project

README

          

# ๐ŸŽฎ Tantra Online Documentation

[![GitHub Pages](https://github.com/FernandoCalmet/Tantra/actions/workflows/deploy.yml/badge.svg)](https://github.com/FernandoCalmet/Tantra/actions/workflows/deploy.yml)
[![Next.js](https://img.shields.io/badge/Next.js-16.1.1-black?logo=next.js)](https://nextjs.org/)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.0-blue?logo=typescript)](https://www.typescriptlang.org/)
[![Tailwind CSS](https://img.shields.io/badge/Tailwind-4.0-38bdf8?logo=tailwindcss)](https://tailwindcss.com/)
[![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)

**A modern, minimalist documentation site for Tantra Online game development**

Built with Next.js โ€ข Tailwind CSS โ€ข shadcn/ui โ€ข MDX

[๐ŸŒ Live Demo](https://fernandocalmet.github.io/Tantra/) โ€ข [๐Ÿ“– Documentation](#getting-started) โ€ข [๐Ÿ› Report Bug](https://github.com/FernandoCalmet/Tantra/issues) โ€ข [โœจ Request Feature](https://github.com/FernandoCalmet/Tantra/issues)

---

## โœจ Features

- ๐Ÿ—‚๏ธ **File-system based content**: Add markdown files to `/content` and they automatically appear in the navigation
- ๐ŸŽจ **Modern UI**: Minimalist Tesla/Apple-inspired design with warm copper/orange accents
- ๐Ÿ“ฑ **Responsive**: Works beautifully on desktop, tablet, and mobile
- โšก **Static Export**: Generates static HTML for fast, reliable hosting on GitHub Pages
- ๐Ÿš€ **Auto-deployment**: GitHub Actions automatically builds and deploys on every push
- ๐ŸŒ™ **Dark Mode Ready**: Near-black dark mode with maintained copper accents
- ๐Ÿ“ **MDX Support**: Enhanced markdown with React components
- ๐ŸŽฏ **Syntax Highlighting**: Code blocks with Shiki
- ๐Ÿ” **Search**: Command palette (Cmd+K) for quick navigation
- โ™ฟ **Accessible**: WCAG 2.1 AA compliant

## ๐Ÿš€ Getting Started

### ๐Ÿ’ป Development

**Prerequisites:**
- Node.js 20.x or higher
- npm or yarn package manager

**Steps:**

1. **Clone the repository**
```bash
git clone https://github.com/FernandoCalmet/Tantra.git
cd Tantra
```

2. **Install dependencies**
```bash
npm install
```

3. **Run the development server**
```bash
npm run dev
```

4. **Open your browser**

Navigate to [http://localhost:3000](http://localhost:3000)

### ๐Ÿ“„ Adding Content

Simply add markdown files to the `/content` directory:

```markdown
---
title: "Your Page Title"
description: "Page description for SEO"
order: 1
---

# Your Page Title

Your content here...
```

#### ๐Ÿ“ Folder Structure

- Each folder can have a `README.md` (becomes the index page for that section)
- Files are sorted by `order` field, then alphabetically
- Folder names are auto-converted to titles (e.g., `items-management` โ†’ "Items Management")

**Example structure:**
```
content/
โ”œโ”€โ”€ README.md # Homepage
โ”œโ”€โ”€ installation/
โ”‚ โ”œโ”€โ”€ README.md # Installation section index
โ”‚ โ”œโ”€โ”€ client/
โ”‚ โ”‚ โ””โ”€โ”€ setup.md
โ”‚ โ””โ”€โ”€ database/
โ”‚ โ””โ”€โ”€ install.md
โ””โ”€โ”€ development/
โ””โ”€โ”€ gmtool/
โ””โ”€โ”€ commands.md
```

### ๐Ÿ—๏ธ Building for Production

Build the static site:
```bash
npm run build
```

The output will be in the `/out` directory, ready to deploy to GitHub Pages.

## ๐ŸŒ Deployment

### GitHub Pages Setup

1. Go to your repository settings
2. Navigate to Pages section
3. Set Source to "GitHub Actions"
4. Push to main/master branch

The GitHub Actions workflow will automatically:
- Install dependencies
- Build the static site
- Deploy to GitHub Pages

Your site will be available at: `https://fernandocalmet.github.io/Tantra`

## ๐Ÿ› ๏ธ Technology Stack

| Category | Technology |
|----------|------------|
| **Framework** | Next.js 16 (App Router) with static export |
| **Styling** | Tailwind CSS v4 |
| **Components** | shadcn/ui |
| **Markdown** | next-mdx-remote, gray-matter |
| **Syntax Highlighting** | Shiki |
| **Icons** | lucide-react |
| **Deployment** | GitHub Pages + Actions |

## ๐Ÿ“‚ Project Structure

```
tantra-docs/
โ”œโ”€โ”€ app/ # Next.js App Router
โ”‚ โ”œโ”€โ”€ layout.tsx # Root layout with sidebar
โ”‚ โ”œโ”€โ”€ page.tsx # Homepage
โ”‚ โ””โ”€โ”€ [...slug]/ # Dynamic catch-all route
โ”œโ”€โ”€ components/
โ”‚ โ”œโ”€โ”€ ui/ # shadcn-ui components
โ”‚ โ””โ”€โ”€ docs/ # Documentation components
โ”‚ โ”œโ”€โ”€ sidebar.tsx
โ”‚ โ”œโ”€โ”€ top-navbar.tsx
โ”‚ โ””โ”€โ”€ ...
โ”œโ”€โ”€ content/ # All markdown content
โ”œโ”€โ”€ lib/
โ”‚ โ”œโ”€โ”€ content-tree.ts # Content scanner
โ”‚ โ””โ”€โ”€ markdown.ts # Markdown processor
โ”œโ”€โ”€ public/
โ”‚ โ””โ”€โ”€ extras/ # Images and assets
โ””โ”€โ”€ .github/
โ””โ”€โ”€ workflows/
โ””โ”€โ”€ deploy.yml # GitHub Actions workflow
```

## ๐ŸŽจ Color Palette

The site uses a warm copper/orange accent color for a unique, energetic feel:

| Color | Value | Usage |
|-------|-------|-------|
| **Primary** | `#f97316` | Copper Orange - Links, accents, highlights |
| **Background (Light)** | `#ffffff` | White - Main background |
| **Background (Dark)** | `#0a0a0a` | Near-black - Dark mode background |
| **Text** | Various grays | Sophisticated text hierarchy |

## โš™๏ธ Customization

### Colors

Edit `app/globals.css` to customize the color palette:

```css
:root {
--primary: oklch(0.71 0.16 50); /* Copper orange */
/* ... other colors */
}
```

### Logo

Update the logo in `components/docs/sidebar.tsx` and `components/docs/top-navbar.tsx`.

### Metadata

Update site metadata in `app/layout.tsx`:

```typescript
export const metadata: Metadata = {
title: "Your Site Title",
description: "Your description",
};
```

## ๐Ÿค Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.

### How to Contribute

1. **Fork the Project**
2. **Create your Feature Branch** (`git checkout -b feature/AmazingFeature`)
3. **Commit your Changes** (`git commit -m 'feat: add some amazing feature'`)
4. **Push to the Branch** (`git push origin feature/AmazingFeature`)
5. **Open a Pull Request**

### Content Contributions

For documentation updates:
1. Add/edit markdown files in `/content`
2. Commit and push to trigger automatic deployment
3. Your changes will be live in ~2-3 minutes

## ๐Ÿ“œ License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## ๐Ÿ‘ค Author

**Fernando Calmet**

- ๐ŸŒ Website: [fernandocalmet.github.io](https://fernandocalmet.github.io)
- ๐Ÿ’ผ LinkedIn: [@fernandocalmet](https://www.linkedin.com/in/fernandocalmet)
- ๐Ÿ“ง Email: [fernandocalmet@gmail.com](mailto:fernandocalmet@gmail.com)
- ๐Ÿ™ GitHub: [@FernandoCalmet](https://github.com/FernandoCalmet)

## โญ Show your support

Give a โญ๏ธ if this project helped you!

## ๐Ÿ™ Acknowledgments

- [Next.js](https://nextjs.org/) - The React Framework
- [Tailwind CSS](https://tailwindcss.com/) - A utility-first CSS framework
- [shadcn/ui](https://ui.shadcn.com/) - Beautifully designed components
- [Vercel](https://vercel.com/) - For the amazing deployment platform
- The Tantra Online community

---

**Built with โค๏ธ by [Fernando Calmet](https://github.com/FernandoCalmet)**

[โฌ† Back to Top](#-tantra-online-documentation)