docs(antora-ui): complete antora-ui instructions

This commit is contained in:
alandefreitas
2024-09-04 13:17:59 -03:00
committed by Alan de Freitas
parent ea0c99361b
commit d54cd13cf5

View File

@@ -1,47 +1,22 @@
= Antora Default UI
= Boost Default UI
// Settings:
:experimental:
:hide-uri-scheme:
// Project URLs:
:url-project: https://gitlab.com/antora/antora-ui-default
:url-preview: https://antora.gitlab.io/antora-ui-default
:url-ci-pipelines: {url-project}/pipelines
:img-ci-status: {url-project}/badges/master/pipeline.svg
// External URLs:
:url-antora: https://antora.org
:url-antora-docs: https://docs.antora.org
:url-git: https://git-scm.com
:url-git-dl: {url-git}/downloads
:url-gulp: http://gulpjs.com
:url-opendevise: https://opendevise.com
:url-nodejs: https://nodejs.org
:url-nvm: https://github.com/creationix/nvm
:url-nvm-install: {url-nvm}#installation
:url-source-maps: https://developer.mozilla.org/en-US/docs/Tools/Debugger/How_to/Use_a_source_map
image:{img-ci-status}[CI Status (GitLab CI), link={url-ci-pipelines}]
This project is the official UI bundle for Boost library documentation, built on Antora.
It provides an interface specifically designed for Boost projects.
This project is an archetype that demonstrates how to produce a UI bundle that can be used by {url-antora}[Antora] to generated a documentation site.
You can see a preview of the default UI at {url-preview}.
It comes ready to be used as-is with Antora for Boost documentation.
While the default UI is ready to be used with Antora, the intent is that you'll fork it and customize it for your own needs.
It's intentionally minimalistic so as to give you a good starting point without requiring too much effort to customize.
== Use the Boost UI
== Code of Conduct
The Antora project and its project spaces are governed by our https://gitlab.com/antora/antora/-/blob/HEAD/CODE-OF-CONDUCT.adoc[Code of Conduct].
By participating, you're agreeing to honor this code.
Let's work together to make this a welcoming, professional, inclusive, and safe environment for everyone.
== Use the Default UI
If you want to simply use the default UI for your Antora-generated site, add the following UI configuration to your playbook:
To use the Boost UI for your Antora-generated documentation site, add the following UI configuration to your playbook:
[source,yaml]
----
ui:
bundle:
url: https://gitlab.com/antora/antora-ui-default/-/jobs/artifacts/HEAD/raw/build/ui-bundle.zip?job=bundle-stable
url: https://github.com/boostorg/website-v2-docs/releases/download/ui-master/ui-bundle.zip
snapshot: true
----
@@ -49,171 +24,117 @@ NOTE: The `snapshot` flag tells Antora to fetch the UI when the `--fetch` comman
This setting is required because updates to the UI bundle are pushed to the same URL.
If the URL were to be unique, this setting would not be required.
Read on to learn how to customize the default UI for your own documentation.
=== UI Options
You can customize the Boost UI by setting the following options in your playbook:
[source,yaml]
----
asciidoc:
attributes:
# Enable pagination
page-pagination: ''
# Remove the sidenav and include TOC in index.adoc page
remove-sidenav: ''
# Include the contents panel with the TOC for the current page
page-toc: ''
----
== Development Quickstart
This section offers a basic tutorial to teach you how to set up the default UI project, preview it locally, and bundle it for use with Antora.
A more comprehensive tutorial can be found in the documentation at {url-antora-docs}.
This section provides a quick guide to setting up the Boost UI project, previewing it locally, and bundling it for use with Antora.
=== Prerequisites
To preview and bundle the default UI, you need the following software on your computer:
* {url-git}[git] (command: `git`)
* {url-nodejs}[Node.js] (commands: `node` and `npm`)
* {url-gulp}[Gulp CLI] (command: `gulp`)
* `git`
* `node` and `npm`
* `gulp`
==== git
First, make sure you have git installed.
$ git --version
If not, {url-git-dl}[download and install] the git package for your system.
==== Node.js
Next, make sure that you have Node.js installed (which also provides npm).
$ node --version
If this command fails with an error, you don't have Node.js installed.
If the command doesn't report an LTS version of Node.js (e.g., v10.15.3), it means you don't have a suitable version of Node.js installed.
In this guide, we'll be installing Node.js 10.
While you can install Node.js from the official packages, we strongly recommend that you use {url-nvm}[nvm] (Node Version Manager) to manage your Node.js installation(s).
Follow the {url-nvm-install}[nvm installation instructions] to set up nvm on your machine.
Once you've installed nvm, open a new terminal and install Node.js 10 using the following command:
$ nvm install 10
You can switch to this version of Node.js at any time using the following command:
$ nvm use 10
To make Node.js 10 the default in new terminals, type:
$ nvm alias default 10
Now that you have Node.js installed, you can proceed with installing the Gulp CLI.
==== Gulp CLI
You'll need the Gulp command-line interface (CLI) to run the build.
The Gulp CLI package provides the `gulp` command which, in turn, executes the version of Gulp declared by the project.
You can install the Gulp CLI globally (which resolves to a location in your user directory if you're using nvm) using the following command:
$ npm install -g gulp-cli
Verify the Gulp CLI is installed and on your PATH by running:
$ gulp --version
If you prefer to install global packages using Yarn, run this command instead:
$ yarn global add gulp-cli
Alternately, you can use the `gulp` command that is installed by the project's dependencies.
$ $(npm bin)/gulp --version
Now that you have the prerequisites installed, you can fetch and build the UI project.
You can either install `gulp` globally or use the `npx gulp` command.
=== Clone and Initialize the UI Project
Clone the default UI project using git:
[subs=attributes+]
$ git clone {url-project} &&
cd "`basename $_`"
The example above clones Antora's default UI project and then switches to the project folder on your filesystem.
Clone the website-v2-docs project.
The UI bundle is located in the `antora-ui` directory.
Stay in this project folder when executing all subsequent commands.
Use npm to install the project's dependencies inside the project.
In your terminal, execute the following command:
In your terminal, execute the following command to install dependencies:
$ npm install
This command installs the dependencies listed in [.path]_package.json_ into the [.path]_node_modules/_ folder inside the project.
This folder does not get included in the UI bundle and should _not_ be committed to the source control repository.
[TIP]
====
If you prefer to install packages using Yarn, run this command instead:
$ yarn
====
[source,sh]
----
npm install
----
=== Preview the UI
The default UI project is configured to preview offline.
The files in the [.path]_preview-src/_ folder provide the sample content that allow you to see the UI in action.
The files in the `preview-src` folder provide the sample content that allows you to see the UI in action.
In this folder, you'll primarily find pages written in AsciiDoc.
These pages provide a representative sample and kitchen sink of content from the real site.
To build the UI and preview it in a local web server, run the `preview` command:
$ gulp preview
[source,bash]
----
gulp preview
----
You'll see a URL listed in the output of this command:
or if using `npx`:
....
[12:00:00] Starting server...
[12:00:00] Server started http://localhost:5252
[12:00:00] Running server
....
[source,bash]
----
npx gulp preview
----
Navigate to this URL to preview the site locally.
From now on, you can use `gulp` or `npx gulp` interchangeably.
We'll use `gulp` in the following examples.
While this command is running, any changes you make to the source files will be instantly reflected in the browser.
This works by monitoring the project for changes, running the `preview:build` task if a change is detected, and sending the updates to the browser.
Press kbd:[Ctrl+C] to stop the preview server and end the continuous build.
You can use `--remove-sidenav` and `--page-toc` flags to customize the preview with options that are typically set in the playbook.
[source,bash]
----
gulp preview --remove-sidenav --page-toc
----
=== Package for Use with Antora
If you need to package the UI so you can use it to generate the documentation site locally, run the following command:
If you need to package the UI, so you can use it to generate the documentation site locally, run the following command:
$ gulp bundle
[source,bash]
----
gulp bundle
----
If any errors are reported by lint, you'll need to fix them.
If lint reports any errors, you'll need to fix them:
When the command completes successfully, the UI bundle will be available at [.path]_build/ui-bundle.zip_.
You can point Antora at this bundle using the `--ui-bundle-url` command-line option.
[source,bash]
----
gulp format
----
If you have the preview running, and you want to bundle without causing the preview to be clobbered, use:
When the command completes successfully, the UI bundle will be available at `build/ui-bundle.zip`.
$ gulp bundle:pack
=== Boost Look
The UI bundle will again be available at [.path]_build/ui-bundle.zip_.
This project uses the Boost color scheme and typography available from `https://github.com/cppalliance/boostlook`.
==== Source Maps
In the build step, the `boostlook` stylesheet is included in the bundle and used in the UI. When working on the Antora content, the `boostlook` stylesheet is updated every hour to ensure the latest version is used.
The build consolidates all the CSS and client-side JavaScript into combined files, [.path]_site.css_ and [.path]_site.js_, respectively, in order to reduce the size of the bundle.
{url-source-maps}[Source maps] correlate these combined files with their original sources.
If you're working on the `boostlook.css` file and don't want the build step to include the latest version, you can use the `--skip-boostlook` to ensure the task does not attempt to fetch the latest version.
This "`source mapping`" is accomplished by generating additional map files that make this association.
These map files sit adjacent to the combined files in the build folder.
The mapping they provide allows the debugger to present the original source rather than the obfuscated file, an essential tool for debugging.
[source,bash]
----
gulp bundle --skip-boostlook
----
In preview mode, source maps are enabled automatically, so there's nothing you have to do to make use of them.
If you need to include source maps in the bundle, you can do so by setting the `SOURCEMAPS` environment variable to `true` when you run the bundle command:
or in preview mode:
$ SOURCEMAPS=true gulp bundle
[source,bash]
----
gulp preview --skip-boostlook
----
In this case, the bundle will include the source maps, which can be used for debugging your production site.
== Copyright and License
Copyright (C) 2017-present OpenDevise Inc. and the Antora Project.
Use of this software is granted under the terms of the https://www.mozilla.org/en-US/MPL/2.0/[Mozilla Public License Version 2.0] (MPL-2.0).
See link:LICENSE[] to find the full license text.
== Authors
Development of Antora is led and sponsored by {url-opendevise}[OpenDevise Inc].