Skip to content

Commit 81e8065

Browse files
authored
Merge pull request #3 from bci-oss/feature/initial-omp-sds-ui
Feature/initial omp sds UI
2 parents bb6d265 + 1a644fb commit 81e8065

File tree

128 files changed

+21971
-4
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

128 files changed

+21971
-4
lines changed

.editorconfig

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
root = true
2+
3+
[*]
4+
indent_style = space
5+
indent_size = 2
6+
end_of_line = lf
7+
charset = utf-8
8+
trim_trailing_whitespace = true
9+
insert_final_newline = true

.eslintrc

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"extends": "standard",
3+
"rules": {
4+
"arrow-parens": ["error", "always"],
5+
"comma-dangle": ["error", {
6+
"arrays": "always-multiline",
7+
"objects": "always-multiline",
8+
"imports": "always-multiline",
9+
"exports": "always-multiline"
10+
}],
11+
"max-len": [1, 120, 2],
12+
"spaced-comment": "off"
13+
}
14+
}

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
/build/
2+
/node_modules/
3+
/public/

.gitlab-ci.yml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
image: node:10.14.2-stretch
2+
stages: [setup, verify, deploy]
3+
install:
4+
stage: setup
5+
cache:
6+
paths:
7+
- .cache/npm
8+
script:
9+
- &npm_install
10+
npm install --quiet --no-progress --cache=.cache/npm
11+
lint:
12+
stage: verify
13+
cache: &pull_cache
14+
policy: pull
15+
paths:
16+
- .cache/npm
17+
script:
18+
- *npm_install
19+
- node_modules/.bin/gulp lint
20+
bundle-stable:
21+
stage: deploy
22+
only:
23+
- master@antora/antora-ui-default
24+
cache: *pull_cache
25+
script:
26+
- *npm_install
27+
- node_modules/.bin/gulp bundle
28+
artifacts:
29+
paths:
30+
- build/ui-bundle.zip
31+
bundle-dev:
32+
stage: deploy
33+
except:
34+
- master
35+
cache: *pull_cache
36+
script:
37+
- *npm_install
38+
- node_modules/.bin/gulp bundle
39+
artifacts:
40+
expire_in: 1 day # unless marked as keep from job page
41+
paths:
42+
- build/ui-bundle.zip
43+
pages:
44+
stage: deploy
45+
only:
46+
- master@antora/antora-ui-default
47+
cache: *pull_cache
48+
script:
49+
- *npm_install
50+
- node_modules/.bin/gulp preview:build
51+
# FIXME figure out a way to avoid copying these files to preview site
52+
- rm -rf public/_/{helpers,layouts,partials}
53+
artifacts:
54+
paths:
55+
- public

.gulp.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"description": "Build tasks for the Antora default UI project",
3+
"flags.tasksDepth": 1
4+
}

.nvmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
10

.stylelintrc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"extends": "stylelint-config-standard",
3+
"rules": {
4+
"comment-empty-line-before": null,
5+
"no-descending-specificity": null,
6+
}
7+
}

NOTICE

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
see legal/NOTICE.md

README.adoc

Lines changed: 235 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,235 @@
1+
= OMP Default UI (forked from Antora Default UI)
2+
// Settings:
3+
:experimental:
4+
:hide-uri-scheme:
5+
// OMP SDS Default UI URLS:
6+
:url-omp-ui-project: https://github.com/OpenManufacturingPlatform/sds-antora-ui.git
7+
// Antora Default UI URLs:
8+
:url-project: https://gitlab.com/antora/antora-ui-default
9+
:url-preview: https://antora.gitlab.io/antora-ui-default
10+
// External URLs:
11+
:url-antora: https://antora.org
12+
:url-antora-docs: https://docs.antora.org
13+
:url-git: https://git-scm.com
14+
:url-git-dl: {url-git}/downloads
15+
:url-gulp: http://gulpjs.com
16+
:url-opendevise: https://opendevise.com
17+
:url-bci: https://www.bosch-connected-industry.com/de/en/index
18+
:url-nodejs: https://nodejs.org
19+
:url-nvm: https://github.com/creationix/nvm
20+
:url-nvm-install: {url-nvm}#installation
21+
:url-source-maps: https://developer.mozilla.org/en-US/docs/Tools/Debugger/How_to/Use_a_source_map
22+
23+
This project is an UI bundle implementing the style guide of the OMP (Open Manufacturing Platform). One can use the bundle to generate OMP styled documentation sites with {url-antora}[Antora].
24+
This OMP UI bundle is a customized fork of the {url-project}[Antora Default UI] project. Both projects are licensed under the MPL 2.0.
25+
The OMP Default UI bundle was initially created for generating documentations of the OMP SDS WG (Open Manufacturing Semantic Data Structuring Working Group) but can also be used by other OMP WGs and projects.
26+
27+
////
28+
== Use the OMP SDS UI
29+
30+
If you want to simply use the default UI for your Antora-generated site, add the following UI configuration to your playbook:
31+
32+
[source,yaml]
33+
----
34+
ui:
35+
bundle:
36+
url: https://gitlab.com/antora/antora-ui-default/-/jobs/artifacts/master/raw/build/ui-bundle.zip?job=bundle-stable
37+
snapshot: true
38+
----
39+
40+
NOTE: The `snapshot` flag tells Antora to fetch the UI when the `--fetch` command-line flag is present.
41+
This setting is required because updates to the UI bundle are pushed to the same URL.
42+
If the URL were to be unique, this setting would not be required.
43+
44+
Read on to learn how to customize the default UI for your own documentation.
45+
46+
////
47+
== Development Quickstart
48+
49+
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.
50+
A more comprehensive tutorial can be found in the documentation at {url-antora-docs}.
51+
52+
=== Prerequisites
53+
54+
To preview and bundle the default UI, you need the following software on your computer:
55+
56+
* {url-git}[git] (command: `git`)
57+
* {url-nodejs}[Node.js] (commands: `node` and `npm`)
58+
* {url-gulp}[Gulp CLI] (command: `gulp`)
59+
60+
==== git
61+
62+
First, make sure you have git installed.
63+
64+
$ git --version
65+
66+
If not, {url-git-dl}[download and install] the git package for your system.
67+
68+
==== Node.js
69+
70+
Next, make sure that you have Node.js installed (which also provides npm).
71+
72+
$ node --version
73+
74+
If this command fails with an error, you don't have Node.js installed.
75+
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.
76+
In this guide, we'll be installing Node.js 10.
77+
78+
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).
79+
Follow the {url-nvm-install}[nvm installation instructions] to set up nvm on your machine.
80+
81+
Once you've installed nvm, open a new terminal and install Node.js 10 using the following command:
82+
83+
$ nvm install 10
84+
85+
You can switch to this version of Node.js at any time using the following command:
86+
87+
$ nvm use 10
88+
89+
To make Node.js 10 the default in new terminals, type:
90+
91+
$ nvm alias default 10
92+
93+
Now that you have Node.js installed, you can proceed with installing the Gulp CLI.
94+
95+
==== Gulp CLI
96+
97+
You'll need the Gulp command-line interface (CLI) to run the build.
98+
The Gulp CLI package provides the `gulp` command which, in turn, executes the version of Gulp declared by the project.
99+
100+
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:
101+
102+
$ npm install -g gulp-cli
103+
104+
Verify the Gulp CLI is installed and on your PATH by running:
105+
106+
$ gulp --version
107+
108+
If you prefer to install global packages using Yarn, run this command instead:
109+
110+
$ yarn global add gulp-cli
111+
112+
Alternately, you can use the `gulp` command that is installed by the project's dependencies.
113+
114+
$ $(npm bin)/gulp --version
115+
116+
Now that you have the prerequisites installed, you can fetch and build the UI project.
117+
118+
=== Clone and Initialize the UI Project
119+
120+
Clone the default UI project using git:
121+
122+
[subs=attributes+]
123+
$ git clone {url-omp-ui-project} &&
124+
cd "`basename $_`"
125+
126+
The example above clones the OMP SDS default UI project and then switches to the project folder on your filesystem.
127+
Stay in this project folder when executing all subsequent commands.
128+
129+
Use npm to install the project's dependencies inside the project.
130+
In your terminal, execute the following command:
131+
132+
$ npm install
133+
134+
This command installs the dependencies listed in [.path]_package.json_ into the [.path]_node_modules/_ folder inside the project.
135+
This folder does not get included in the UI bundle and should _not_ be committed to the source control repository.
136+
137+
[TIP]
138+
====
139+
If you prefer to install packages using Yarn, run this command instead:
140+
141+
$ yarn
142+
====
143+
144+
=== Preview the UI
145+
146+
The default UI project is configured to preview offline.
147+
The files in the [.path]_preview-src/_ folder provide the sample content that allow you to see the UI in action.
148+
In this folder, you'll primarily find pages written in AsciiDoc.
149+
These pages provide a representative sample and kitchen sink of content from the real site.
150+
151+
To build the UI and preview it in a local web server, run the `preview` command:
152+
153+
$ gulp preview
154+
155+
You'll see a URL listed in the output of this command:
156+
157+
....
158+
[12:00:00] Starting server...
159+
[12:00:00] Server started http://localhost:5252
160+
[12:00:00] Running server
161+
....
162+
163+
Navigate to this URL to preview the site locally.
164+
165+
While this command is running, any changes you make to the source files will be instantly reflected in the browser.
166+
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.
167+
168+
Press kbd:[Ctrl+C] to stop the preview server and end the continuous build.
169+
170+
=== Package for Use with Antora
171+
172+
If you need to package the UI so you can use it to generate the documentation site locally, run the following command:
173+
174+
$ gulp bundle
175+
176+
If any errors are reported by lint, you'll need to fix them.
177+
178+
When the command completes successfully, the UI bundle will be available at [.path]_build/ui-bundle.zip_.
179+
You can point Antora at this bundle using the `--ui-bundle-url` command-line option.
180+
181+
If you have the preview running, and you want to bundle without causing the preview to be clobbered, use:
182+
183+
$ gulp bundle:pack
184+
185+
The UI bundle will again be available at [.path]_build/ui-bundle.zip_.
186+
187+
==== Source Maps
188+
189+
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.
190+
{url-source-maps}[Source maps] correlate these combined files with their original sources.
191+
192+
This "`source mapping`" is accomplished by generating additional map files that make this association.
193+
These map files sit adjacent to the combined files in the build folder.
194+
The mapping they provide allows the debugger to present the original source rather than the obfuscated file, an essential tool for debugging.
195+
196+
In preview mode, source maps are enabled automatically, so there's nothing you have to do to make use of them.
197+
If you need to include source maps in the bundle, you can do so by setting the `SOURCEMAPS` environment varible to `true` when you run the bundle command:
198+
199+
$ SOURCEMAPS=true gulp bundle
200+
201+
In this case, the bundle will include the source maps, which can be used for debuggging your production site.
202+
203+
== Copyright and License
204+
205+
Copyright (C) 2020 - 2021 Robert Bosch Manufacturing Solutions GmbH
206+
207+
and
208+
209+
Copyright (C) 2017-2021 OpenDevise Inc. and the Antora Project.
210+
211+
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).
212+
See link:LICENSE[] to find the full license text.
213+
214+
The content in this project is a customized fork from {url-project}[Antora Default UI] which is developed by OpenDevise Inc. and the Antora Project. The fork is based on the commit with the id 64b526ba9fcd22d6c37dc834126a41c65cbbbe1d dated 04.01.2021.
215+
216+
217+
== OMP specific changes
218+
219+
In comparision, to the Antora Default UI this fork applies the following changes:
220+
221+
* add and apply OMP specific fonts
222+
* change colors in accordance to OMP color scheme
223+
* adapt Readme
224+
* add RDF/Turtle syntax highlighting
225+
* disable JavaScript linting
226+
* increase default body width
227+
* integrate lunr.js for search (lunr.js is developed in https://github.com/olivernn/lunr.js and licensed under the MIT license)
228+
229+
230+
231+
== Authors
232+
233+
Development of Antora is led and sponsored by {url-opendevise}[OpenDevise Inc].
234+
235+
The OMP specific adaptations to this OMP Default UI bundle were performed by {url-bci}[Robert Bosch Manufacturing Solutions GmbH].

README.md

Lines changed: 0 additions & 4 deletions
This file was deleted.

0 commit comments

Comments
 (0)