Skip to content

FernandoCalmet/Tantra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

293 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฎ Tantra Online Documentation

GitHub Pages Next.js TypeScript Tailwind CSS License

A modern, minimalist documentation site for Tantra Online game development

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

๐ŸŒ Live Demo โ€ข ๐Ÿ“– Documentation โ€ข ๐Ÿ› Report Bug โ€ข โœจ Request Feature


โœจ 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
git clone https://github.com/FernandoCalmet/Tantra.git
cd Tantra
  1. Install dependencies
npm install
  1. Run the development server
npm run dev
  1. Open your browser

Navigate to http://localhost:3000

๐Ÿ“„ Adding Content

Simply add markdown files to the /content directory:

---
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:

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:

: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:

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 file for details.

๐Ÿ‘ค Author

Fernando Calmet

โญ Show your support

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

๐Ÿ™ Acknowledgments

  • Next.js - The React Framework
  • Tailwind CSS - A utility-first CSS framework
  • shadcn/ui - Beautifully designed components
  • Vercel - For the amazing deployment platform
  • The Tantra Online community

Built with โค๏ธ by Fernando Calmet

โฌ† Back to Top

About

๐ŸทTantra Online ~ Developers Documentation Page

Topics

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •