/Orchid

Build and deploy beautiful documentation sites that grow with you

Primary LanguageKotlinGNU Lesser General Public License v3.0LGPL-3.0

Orchid

Linux and Mac Build Status Windows Build status Current Version License: LGPL-3.0 Codacy Grade Codacy Coverage Gitter chat Backers on Open Collective Sponsors on Open Collective Open Source Helpers

A beautiful and truly unique documentation engine and static site generator.

Example Orchid site

Orchid is a brand-new, general-purpose static site generator for Java and Kotlin, with a focus on extensibility and aimed at developers looking to improve their technical documentation. Orchid was born out of a desire for better-looking Javadocs and frustration with how difficult is it to manage large Jekyll sites and keep it up-to-date with your code.

Orchid supports a variety of plugins, including a wiki, static pages, blogs, and much more. It aims to have high compatibility with many of the existing static site generators, such as Jekyll, Gitbook, and Hugo, so that migration to Orchid is painless. And if you can't find a plugin to do what you need, Orchid provides an intuitive way to add your own private plugins and a rich API so you can make your site as beautiful and unique as an Orchid.

Features

  • Plugin-driven architecture
  • Multi-theme support
  • Admin interface to manage your content and gain deep insights into your build
  • Link to other Orchid sites
  • Powerful and flexible indexing, unique to Orchid
  • Full-text static search
  • Component-based content management
  • Integrated deployment pipeline
  • Fully replaces Jekyll, Hugo, Gitbook, Javadocs, and more!

View the full documentation or see the quick-start below.

Table of Contents

  1. Getting Started
  2. User Manual
  3. Tutorials
  4. Example Orchid Sites
  5. License
  6. Contributing
  7. Contact

Getting Started

Orchid integrates with any new or existing Gradle/Maven project. The simplest way to get started is to deploy the starter repo directly to Netlify. Just click the button below to automatically clone this repo and deploy it to Netlify. The starter repo includes the Netlify CMS, so you will be up and publishing content as soon as possible. You will need to set the Github user/repo in src/orchid/resources/config.yml, but the rest of the CMS config is automatically generated based on your current Orchid plugins and configurations.

Deploy to Netlify

To run Orchid locally, the only system dependency necessary is a valid Java 8 JDK. Orchid can be integrated with any new or existing Gradle, Maven, or sbt project, or bootstrapped manually in any JVM-based scriptlet (such as kscript). To get started, pick a Bundle (OrchidAll or OrchidBlog) or manually choose your desired Orchid plugins. You may pick a bundle to start with and add any number of plugins afterward, both official and unofficial.

Orchid can also be integrated into existing projects. The following build tools are currently supported:

User Manual

Orchid's User Manual will walk you through the main features of Orchid and give you a deeper understanding of each topic and feature.

User Manual

Tutorials

There are several tutorials designed to walk you through building an Orchid site from scratch. The source for all tutorials can also be found in the OrchidTutorials repository.

Tutorials

Example Orchid Sites

Contributors

This project exists thanks to all the people who contribute.

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

License

Orchid is open-source software licensed under the GNU Lesser General Public License (LGPL). Please see License.md

Contributing

Please see CONTRIBUTING.md

Contact

Orchid is being actively developed by Casey Brooks. Please open an issue here with questions or bug/feature requests, or you can reach me directly at cjbrooks12@gmail.com.