Skip to content

Vulkan Documentation Project framework for integrated documentation site with spec, proposals, guide, and more

License

Unknown, Unknown licenses found

Licenses found

Unknown
LICENSE.adoc
Unknown
COPYING.adoc
Notifications You must be signed in to change notification settings

KhronosGroup/Vulkan-Site

Repository files navigation

Vulkan Documentation Project Site Generator

This repository is used to build the integrated Vulkan Documentation Site Antora site generator.

The site generator currently combines these components:

This repository contains only the Antora “playbook” describing the various documentation components and how to integrate them, and related files needed to build the site using the playbook.

Content for individual components comes from the repositories hosting those components, and issues with individual components should be reported in those repositories.

Files

  • docs-site/ - Antora project directory.

    • docs-site/Makefile - Makefile for pulling and configuring component repositories.

    • docs-site/antora-playbook.yml - Antora playbook.

    • docs-site/node_modules - Antora executable and related modules.

    • docs-site/package.json / package-lock.json - Node.js infrastructure / module database.

Installation

You will need the current long-term support version of Node.js (24 as of the last update to this README).

Antora itself is preinstalled under docs-site/node_modules/ along with all Javascript dependencies. If and only if you need to install these modules elsewhere, the installation can be reproduced by:

node -e "fs.writeFileSync('package.json', '{}')"
npm i -D -E @antora/[email protected] @antora/[email protected] @djencks/asciidoctor-mathjax @antora/lunr-extension

Building the Site

The simplest way to build is to rely on the GitHub Actions CI. CI will pull all the other needed repositories and build an artifact fullSite.zip which is downloadable from the CI run under the Actions GitHub menu.

If you need to build locally, you can use the following steps:

Note

Currently, we do not use Antora’s ability to pull content directly from Github. Instead, the repositories must be available locally on specific paths hard-wired into the playbook, followed by steps to prepare their content for use with Antora. Eventually, we expect to use the Antora Collector extension to make this process simpler.

Pulling and Initializing Repositories

# Or other path as desired
mkdir -p /home/tree/git
cd /home/tree/git
git clone [email protected]:KhronosGroup/Vulkan-Site.git
cd Vulkan-Site
make init

This pulls this repository, then uses the Makefile target to pull the component and Antora UI repositories and configure their submodules and node modules, if any.

At this point you will need to be running in an environment containing all the tools to build the Vulkan Specification, as described in the Vulkan-Docs BUILD document. We recommend using the Khronos-provided Docker image described in that document, rather than trying to install everything yourself and keep it up to date.

Built the Antora UI

make build-ui

Prepare Component Repository Sources

Most of the component repositories require preparing the sources for Antora before doing a site build:

make prep-sources

Building the Site

make build-site

The result can be viewed by pointing a browser at the root of the site tree:

# Or whatever browser you prefer instead of Chromium
$ chromium docs-site/build/site/index.html

Feedback

Please provide feedback on the documentation project using the Vulkan-Site issues tracker.

About

Vulkan Documentation Project framework for integrated documentation site with spec, proposals, guide, and more

Resources

License

Unknown, Unknown licenses found

Licenses found

Unknown
LICENSE.adoc
Unknown
COPYING.adoc

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6