/builds/gitlab-kitware-sciviz-ci/Utilities/DocsUploader/README.md
Go to the documentation of this file.
1 # DocsUploader
2 
3 Automated publication of ParaView documentation.
4 
5 ## selector.js
6 
7 This script injects a version selector into the C++ and Python documentation.
8 It selects a header element of the docs and appends a `<select>` element with a
9 version list as well as a link to the other language documentation.
10 
11 To build with webpack:
12 * `npm install`
13 * `npm run build:release`
14 
15 The resulting script is `Dist/paraview-version.js`.
16 
17 ## Shell script to automate publication
18 
19 ```
20 usage: paraview_docs_uploader [options]
21  options:
22  -s path Paraview source directory, <MANDATORY>.
23  -b path Paraview build directory, <MANDATORY>.
24  -w path Working directory for this program, <MANDATORY>.
25  -k path SSH key to upload the docs.
26  -v version Force a version, Default: git-describe.
27  -u Update latest release.
28 ```
29 
30 For nightly or latest (i.e. latest release) you can pass in an additional
31 parameter on the command line which is the name to use instead of `git
32 describe` e.g.
33 
34 ```
35 paraview_docs_uploader -v nightly
36 ```
37 
38 ## Updating ParaView docs
39 
40 Here are steps to update the ParaView docs manually. The instructions are have
41 been tested on a Linux system.
42 
43 * Checkout ParaView source for appropriate version.
44 * Build ParaView with `PARAVIEW_BUILD_DEVELOPER_DOCUMENTATION` CMake flag
45  turned ON. You may also want to enable all appropriate features e.g. Python
46  support, MPI support. With Python, make sure the `sphinx-build:FILEPATH`
47  points to the sphix-build script for correct version of Python.
48 * Build ParaView normally. This is necessary to ensure everything is built
49  correctly.
50 * Build the `ParaViewDoc-TGZ` target e.g. `ninja ParaViewDoc-TGZ`. This will
51  generate the Doxygen and Sphinx generated docs.
52 * Now run `paraview_docs_uploader` script. Provide the optional `version` command line
53  argument when generated docs for `latest` or `nightly` instead of using the
54  value obtained from `git describe` executed on the source directory. The
55  script will update and push the documentation changes to the kitware webserver.