Skip to content

Commit

Permalink
Creating CLC docs repo for the main branch.
Browse files Browse the repository at this point in the history
  • Loading branch information
Serdaro committed Oct 14, 2023
0 parents commit 9b0c45f
Show file tree
Hide file tree
Showing 63 changed files with 7,153 additions and 0 deletions.
15 changes: 15 additions & 0 deletions .github/workflows/build-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# This workflow triggers a build of the production documentation site
# if a commit is made to the listed branches

name: Build production site

on:
push:
branches: [ main, 'v/*' ]

jobs:
dispatch:
runs-on: ubuntu-latest
steps:
- name: Trigger build
run: curl -X POST -d {} https://api.netlify.com/build_hooks/???
23 changes: 23 additions & 0 deletions .github/workflows/validate-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# This workflow will check if the incoming pull request includes any broken links

name: Check for dead links

on:
pull_request:
branches: [main, 'v/*']
workflow_dispatch:

jobs:
check-links:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 16
- name: Check for broken internal links
run: |
npm i
npm run-script check-links-local
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
/node_modules/
/test/
/build/
.DS_Store
package-lock.json
.idea/
*.iml
# Eclipse IDE
.project
.settings/
78 changes: 78 additions & 0 deletions README.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
= Hazelcast CLC Documentation
// Settings:
ifdef::env-github[]
:warning-caption: :warning:
endif::[]
// URLs:
:url-org: https://github.com/hazelcast
:url-contribute: https://github.com/hazelcast/hazelcast-docs/blob/develop/.github/CONTRIBUTING.adoc
:url-ui: {url-org}/hazelcast-docs-ui
:url-playbook: {url-org}/hazelcast-docs
:url-staging:
:url-cc: https://creativecommons.org/licenses/by-nc-sa/3.0/
:url-hz-docs: {url-org}/hz-docs
:url-mc-docs: {url-org}/management-center-docs

image:https://img.shields.io/badge/Build-Staging-yellow[link="{url-staging}"]

This directory contains the Antora components for the Hazelcast CLC documentation.

The documentation source files are marked up with AsciiDoc.

== Docs Structure

This section describes some important information about how this repository is structured:

- The component name, version, and start page are configured in each branch's `antora.yml` file.
- The navigation for all modules is stored in the ROOT module's `nav.adoc` file.

////
== Release Workflow
// Describe how versioning works for this project.
=== Snapshot Releases
// Describe the docs release process when a new snapshot version is released.
=== Latest Releases
// Describe the docs release process when a new major or minor version is released.
=== Patch Releases
// Describe the docs release process when a new patch version is released.
=== Creating Release Branches
// Describe the process for creating release branches.
////

== GitHub Actions

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

.GitHub Actions
[cols="m,a,a"]
|===
|File |Description |Triggers

|validate-site.yml
|Validates that all internal and external links are working
|On a pull request to the `main`, and `.z` maintenance branches

|build-site.yml
|Builds the production documentation site by sending a build hook to Netlify (the hosting platform that we use)
|On a push to the `main` branch and any `.z` maintenance branches
|===

== Contributing

If you want to add a change or contribute new content, see our link:.github/CONTRIBUTING.adoc[contributing guide].

To let us know about something that you'd like us to change, consider creating an issue.

== License

All documentation is available under the terms of a link:{url-cc}[Creative Commons License]
33 changes: 33 additions & 0 deletions antora-playbook-local.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
site:
title: Documentation
url: http:localhost:5000
start_page: clc::overview.adoc
robots: disallow
keys:
docsearch_id: 'QK2EAH8GB0'
docsearch_api: 'ef7bd9485eafbd75d6e8425949eda1f5'
docsearch_index: 'prod_hazelcast_docs'
content:
sources:
- url: .
branches: HEAD
start_path: docs
ui:
bundle:
url: https://github.com/hazelcast/hazelcast-docs-ui/releases/latest/download/ui-bundle.zip #../hazelcast-docs-ui/build/ui-bundle.zip
snapshot: true
asciidoc:
attributes:
# Download images from kroki at build time (does not work for inline images)
kroki-fetch-diagram: true
# Inlude next and previous links on each page
page-pagination: true@
idprefix: ''
# Separate anchor link names by dashes
idseparator: '-'
# Variables used in the docs
page-survey: https://www.surveymonkey.co.uk/r/NYGJNF9
hazelcast-cloud: Viridian Cloud
extensions:
- ./docs-tabs-library/tabs-block.js
- asciidoctor-kroki
33 changes: 33 additions & 0 deletions antora-playbook.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
site:
title: Documentation
url: https://eclectic-sawine-19fcf1.netlify.app
start_page: clc::overview.adoc
robots: disallow
keys:
docsearch_id: 'QK2EAH8GB0'
docsearch_api: 'ef7bd9485eafbd75d6e8425949eda1f5'
docsearch_index: 'prod_hazelcast_docs'
content:
sources:
- url: .
branches: HEAD
start_path: docs
ui:
bundle:
url: https://github.com/hazelcast/hazelcast-docs-ui/releases/latest/download/ui-bundle.zip #../hazelcast-docs-ui/build/ui-bundle.zip
snapshot: true
asciidoc:
attributes:
# Download images from kroki at build time (does not work for inline images)
kroki-fetch-diagram: true
# Inlude next and previous links on each page
page-pagination: true
idprefix: ''
# Separate anchor link names by dashes
idseparator: '-'
# Variables used in the docs
page-survey: https://www.surveymonkey.co.uk/r/NYGJNF9
hazelcast-cloud: Viridian Cloud
extensions:
- ./docs-tabs-library/tabs-block.js
- asciidoctor-kroki
38 changes: 38 additions & 0 deletions check-links-playbook.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
site:
title: Documentation
url: http:localhost:5000
content:
sources:
- url: .
branches: HEAD
start_path: docs
- url: https://github.com/hazelcast/management-center-docs
branches: [main]
start_path: docs
- url: https://github.com/hazelcast/cloud-docs
branches: [main]
start_path: docs
- url: https://github.com/hazelcast/hazelcast-platform-operator-docs
branches: [main, v/*]
start_path: docs
- url: https://github.com/hazelcast/hz-docs
branches: [main, v/*]
start_path: docs
ui:
bundle:
url: https://github.com/hazelcast/hazelcast-docs-ui/releases/latest/download/ui-bundle.zip #../hazelcast-docs-ui/build/ui-bundle.zip
snapshot: true
asciidoc:
attributes:
# Download images from kroki at build time (does not work for inline images)
kroki-fetch-diagram: true
# Inlude next and previous links on each page
page-pagination: true
idprefix: ''
# Separate anchor link names by dashes
idseparator: '-'
page-survey: https://www.surveymonkey.co.uk/r/NYGJNF9
hazelcast-cloud: Viridian Cloud
extensions:
- ./docs-tabs-library/tabs-block.js
- asciidoctor-kroki
80 changes: 80 additions & 0 deletions docs-tabs-library/tabs-block.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
/* Copyright (c) 2018 OpenDevise, Inc.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */

/**
* Extends the AsciiDoc syntax to support a tabset. The tabset is created from
* a dlist enclosed in an example block that is marked with the tabs style.
*
* Usage:
*
* [tabs]
* ====
* Tab A::
* +
* --
* Contents of tab A.
* --
* Tab B::
* +
* --
* Contents of tab B.
* --
* ====
*
* @author Dan Allen <[email protected]>
*/
const IdSeparatorCh = '-'
const ExtraIdSeparatorsRx = /^-+|-+$|-(-)+/g
const InvalidIdCharsRx = /[^a-zA-Z0-9_]/g
const List = Opal.const_get_local(Opal.module(null, 'Asciidoctor'), 'List')
const ListItem = Opal.const_get_local(Opal.module(null, 'Asciidoctor'), 'ListItem')

const generateId = (str, idx) =>
`tabset${idx}_${str.toLowerCase().replace(InvalidIdCharsRx, IdSeparatorCh).replace(ExtraIdSeparatorsRx, '$1')}`

function tabsBlock () {
this.onContext('example')
this.process((parent, reader, attrs) => {
const createHtmlFragment = (html) => this.createBlock(parent, 'pass', html)
const tabsetIdx = parent.getDocument().counter('idx-tabset')
const nodes = []
nodes.push(createHtmlFragment('<div class="tabset is-loading">'))
const container = this.parseContent(this.createBlock(parent, 'open'), reader)
const sourceTabs = container.getBlocks()[0]
if (!(sourceTabs && sourceTabs.getContext() === 'dlist' && sourceTabs.getItems().length)) return
const tabs = List.$new(parent, 'ulist')
tabs.addRole('tabs')
const panes = {}
sourceTabs.getItems().forEach(([[title], details]) => {
const tab = ListItem.$new(tabs)
tabs.$append(tab)
const id = generateId(title.getText(), tabsetIdx)
tab.text = `[[${id}]]${title.text}`
let blocks = details.getBlocks()
const numBlocks = blocks.length
if (numBlocks) {
if (blocks[0].context === 'open' && numBlocks === 1) blocks = blocks[0].getBlocks()
panes[id] = blocks.map((block) => (block.parent = parent) && block)
}
})
nodes.push(tabs)
nodes.push(createHtmlFragment('<div class="content">'))
Object.entries(panes).forEach(([id, blocks]) => {
nodes.push(createHtmlFragment(`<div class="tab-pane" aria-labelledby="${id}">`))
nodes.push(...blocks)
nodes.push(createHtmlFragment('</div>'))
})
nodes.push(createHtmlFragment('</div>'))
nodes.push(createHtmlFragment('</div>'))
parent.blocks.push(...nodes)
})
}

function register (registry) {
registry.block('tabs', tabsBlock)
}

module.exports.register = register
22 changes: 22 additions & 0 deletions docs/antora.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: clc
title: Hazelcast CLC
start_page: overview.adoc
# Version in the URL
version: '5.3.6-snapshot'
# Version in the version selector (we display only the latest major.minor version)
display_version: '5.3.6-SNAPSHOT'
# Displays a banner to inform users that this is a prerelease version
prerelease: true
asciidoc:
attributes:
# The full major.minor.patch version, which is used as a variable in the docs for things like download links
full-version: '5.3.6-SNAPSHOT'
# Allows us to use UI macros. See https://docs.asciidoctor.org/asciidoc/latest/macros/ui-macros/
experimental: true
snapshot: true
page-toclevels: 3@
# Required Go version for build
go-version: 1.21
page-latest-supported-mc: '5.4-snapshot'
nav:
- modules/ROOT/nav.adoc
55 changes: 55 additions & 0 deletions docs/modules/ROOT/nav.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
.Get Started
* xref:overview.adoc[What is Hazelcast CLC?]
* xref:get-started.adoc[Get Started]
* Tutorials
** xref:managing-viridian-clusters.adoc[Manage {hazelcast-cloud} Clusters]
** xref:jet-job-management.adoc[Manage Jet Jobs]
.Manage
* xref:install-clc.adoc[Install]
* xref:configuration.adoc[Configure]
** xref:connect-to-viridian.adoc[Connect to {hazelcast-cloud}]
** xref:connect-to-platform.adoc[Connect to Platform]
** xref:using-compact-serializer-generator.adoc[Using Compact Serializer Generator]
//** xref:config-wizard.adoc[CLC Configuration Wizard ]
* xref:upgrade-clc.adoc[Upgrade]
.Reference
* xref:clc-commands.adoc[Command Reference]
** xref:clc.adoc[]
** xref:clc-completion.adoc[]
** xref:clc-config.adoc[]
** xref:clc-home.adoc[]
** xref:clc-job.adoc[]
** xref:clc-object.adoc[]
** xref:clc-map.adoc[]
** xref:clc-set.adoc[]
** xref:clc-queue.adoc[]
** xref:clc-topic.adoc[]
** xref:clc-multimap.adoc[]
** xref:clc-script.adoc[]
** xref:clc-sql.adoc[]
** xref:clc-snapshot.adoc[]
** xref:clc-version.adoc[]
** xref:clc-viridian.adoc[]
** xref:clc-project.adoc[]
** xref:clc-template.adoc[]
** xref:alias.adoc[]
** xref:clc-serializer-generator.adoc[]
* xref:configuration-format.adoc[]
* xref:environment-variables.adoc[]
* xref:keyboard-shortcuts.adoc[]
* xref:phone-homes.adoc[]
.Release Notes
* xref:release-notes-5.3.5.adoc[5.3.5]
* xref:release-notes-5.3.4.adoc[5.3.4]
* xref:release-notes-5.3.3.adoc[5.3.3]
* xref:release-notes-5.3.2.adoc[5.3.2]
* xref:release-notes-5.3.1.adoc[5.3.1]
* xref:release-notes-5.3.0.adoc[5.3.0]
* xref:release-notes-5.3.0-BETA-2.adoc[5.3.0-BETA-2]
* xref:release-notes-5.3.0-BETA-1.adoc[5.3.0-BETA-1]
* xref:release-notes-5.2.1.adoc[5.2.1]
* xref:release-notes-5.2.0.adoc[5.2.0]
Loading

0 comments on commit 9b0c45f

Please sign in to comment.