Giter Site home page Giter Site logo

hazelcast-docs's Introduction

Hazelcast Documentation Site

GitHub Workflow Status Netlify deploy status Build Production blue Build Staging yellow

This repository hosts an Antora playbook project for the Hazelcast documentation site.

Preview of the documentation site

Work in progress

The roadmap for this site includes the following items:

  • ❏ Migrate Hazelcast Cloud content

  • ❏ Migrate Jet content

  • ✓ Migrate Management Center content

  • ❏ Review and restructure content, starting with IMDG

Introduction to Antora

Antora is a static site generator that facilitates a docs-as-code workflow where documentation is stored in Git repositories and processed to output a static website.

Documentation can be stored in one or more repositories and/or branches.

Antora uses Asciidoctor.js to convert Asciidoc to HTML, then it uses Handlebars to set that HTML into a page layout.

Note
The page layouts and UI code (css, JavaScript, Handlebars templates) is stored in a separate repository, which outputs a ui-bundle.zip file that this project references in the playbook.

The playbook

The playbook defines the content sources (repositories and branches), site URL, UI bundle URL, global AsciiDoc attributes, and Asciidoctor extensions.

This project has two playbook files, which configure the build process for the documentation site:

  • antora-playbook-local.yml: For local builds

  • antora-playbook.yml: For production builds

The current playbooks pull from the following content sources:

Home Component

The home/ folder in this repository contains the Home documentation component. The source code for the home page is in the body-home.hbs template of the hazelcast-docs-ui repository.

Preview of the home page

Custom Asciidoctor Extensions

The custom extension in the lib/ directory processes the Asciidoc tabs blocks to generate tabbed code samples in the output HTML.

For more information about writing Asciidoctor.js extensions, see the Asciidoctor docs.

Production and Staging Sites

The documentation site is hosted on Netlify, which builds two versions of the site from this GitHub repository:

To preview changes, all pull requests are made to the develop branch. When the team are happy with the changes, the develop branch is merged into the main branch to deploy the changes to the production site.

GitHub Actions

To automate some elements of the build process, this repository includes the following GitHub Actions:

Table 1. GitHub Actions
File Description Triggers

index-site.yml

Runs the Docsearch indexer in a Docker container to index the site and send the index to Algolia

Once per day at 00:00 UTC

As well as these actions, repositories that are listed under the content.sources field in the antora-playbook.yml file also include GitHub actions to trigger builds of the staging site.

content:
  sources:
  - url: https://github.com/hazelcast/imdg-docs
    branches: [master, v*]
    start_path: docs

Whenever content in the repository’s listed branches are changed, the GitHub Action sends a build hook to Netlify to trigger a new build of the staging site.

For an example of these GitHub Actions, see the IMDG documentation repository.

Contributing

To learn how to use the playbook and generate the docs site locally, see our contributing guide.

hazelcast-docs's People

Contributors

github-actions[bot] avatar jakescahill avatar vladoschreiner avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.