summaryrefslogtreecommitdiffstats
path: root/README.adoc
blob: 3a476baa55014ba9f58b57b5527bfabeabb5859b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
= Antora 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-git: https://git-scm.com
:url-git-dl: {url-git}/downloads
:url-gulp: http://gulpjs.com
:url-opendevise: https://opendevise.com
:url-node: https://nodejs.org
:url-nvm: https://github.com/creationix/nvm
:url-nvm-install: {url-nvm}#installation
:url-yarn: https://yarnpkg.com

image:{img-ci-status}[CI Status (GitLab CI), link={url-ci-pipelines}]

This project is an archetype that demonstrates how to produce a UI bundle for use in a documentation site generated with {url-antora}[Antora].
You can see a preview of the default UI at {url-preview}.

== Use the Default UI

If you want to use the default UI for your Antora-generated site, add the following UI configuration to your playbook:

[source,yaml,subs=attributes+]
----
ui:
  bundle:
    url: https://gitlab.com/antora/antora-ui-default/-/jobs/artifacts/master/raw/build/ui-bundle.zip?job=bundle-stable
    snapshot: true
----

Read on to learn how to use your own build of the default UI.

== Quickstart

This section offers a basic tutorial for learning how to preview the default UI and bundle it for use with Antora.
A more comprehensive tutorial will be made available in the documentation.

=== Prerequisites

To preview and bundle the default UI, you need the following software on your computer:

* {url-git}[git] (command: `git`)
* {url-node}[Node] (command: `node`)
* {url-gulp}[Gulp CLI] (command: `gulp`)
* {url-yarn}[Yarn] (command: `yarn`)

==== 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

Next, make sure that you have Node.js (herein "`Node`") installed.

 $ node --version

If this command fails with an error, you don't have Node installed.
If the command doesn't report a Node LTS version (e.g., v10.14.2), you don't have a suitable version of Node installed.

While you can install Node from the official packages, we strongly recommend that you use {url-nvm}[nvm] (Node Version Manager) to install and manage Node.
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 10 using the following command:

 $ nvm install 10

You can switch to this version of Node at any time using the following command:

 $ nvm use 10

To make Node 10 the default in new terminals, type:

 $ nvm alias default 10

Now that you have Node 10 installed, you can proceed with installing the Gulp CLI and Yarn.

==== Gulp CLI

Next, you'll need the Gulp command-line interface (CLI).
This package provides the `gulp` command which executes the version of Gulp declared by the project.

You should 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

==== Yarn

Finally, you'll need Yarn, which is the preferred package manager for the Node ecosystem.

You should install Yarn globally (which resolves to a location in your user directory if you're using nvm) using the following command:

 $ npm install -g yarn

Now that you have the prerequisites installed, you can fetch and build the default UI project.

=== 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.
Stay in this project folder in order to initialize the project using Yarn.

Use Yarn to install the project's dependencies.
In your terminal, execute the following command (while inside the project folder):

 $ yarn 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.

=== Preview the UI

The default UI project is configured to preview offline.
That's what the files in the [.path]_preview-src/_ folder are for.
This folder contains HTML file fragments that provide a representative sample of content from the site.

To build the UI and preview it in a local web server, run the `preview` command:

 $ gulp preview

You'll see a URL listed in the output of this command:

....
[12:59:28] Starting 'preview:serve'...
[12:59:28] Starting server...
[12:59:28] Server started http://localhost:5252
[12:59:28] Running server
....

Navigate to that URL to view the preview site.

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.

=== Package for Use with Antora

If you need to bundle the UI in order to preview the UI on the real site in local development, run the following command:

 $ gulp bundle

The UI bundle will be available at [.path]_build/ui-bundle.zip_.
You can then point Antora at this bundle using the `--ui-bundle-url` command-line option.

If you have the preview running, and you want to bundle without causing the preview to be clobbered, use:

 $ gulp bundle:pack

The UI bundle will again be available at [.path]_build/ui-bundle.zip_.

== Copyright and License

Copyright (C) 2017-2018 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].