⏱️ 3 min read

Static Site Generator

gh_docs_bot

LicensePlatformGitHub release (latest by date)

Logo

**gh_docs_bot** is a high-performance C++ Static Site Generator (SSG) built as a reusable GitHub Action. It is designed to automatically build and deploy static documentation websites from Markdown, HTML, AsciiDoc, and Office files (ODT/DOCX) directly within your GitHub workflows.



Description

Github Action for building and deploying static documentation websites directly within your GitHub workflows.

A lightweight, high-performance Static Site Generator that converts a directory of content files into a static HTML website. It features recursive directory scanning, automatic navigation generation, modern templating, and automated asset management.

🚀 Features

📦 Usage

You can use this action in your own workflows to build your documentation site. It will compile the generator from source (ensuring the latest version) and run it against your documentation folder.

You can also use the Static Site Generator directly to build your documentation site locally.

Quick Start

Add the following step to your .github/workflows/deploy.yml:


    name: Build and Generate Site
    uses: Zheng-Bote/gha_ghpages@main
    with:
      template: "theme/desktop/template.html" # Path to your HTML template
      assets: "theme/tron/assets" # Path to your assets
      output: "public" # Output directory
      docs: "docs" # Directory with Markdown (*.md) and/or HTM (*.htm) files
    

see themes folder for examples

📚 Documentation

For a comprehensive guide on how to configure inputs, set up your repository structure, and a full workflow example, please read our How-To Guides.

Screenshots

Themes

see more screenshoots inGitHub Pages: Documentation


📄 License

Distributed under the MIT License. See LICENSE for more information.

Copyright (c) 2026 ZHENG Robert

🤝 Contributing

Contributions are welcome! Please fork the repository and create a pull request.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m ‘Add some AmazingFeature’)
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

👤 Author

Zheng Robert - Core Development

Code Contributors

Contributors

🖖