2020-04-20 12:17:38 +02:00
How to build these docs
=======================
2020-06-29 08:45:24 +02:00
We use [Docusaurus 2 ](https://v2.docusaurus.io/ ) for our docs, a modern static website generator.
### Requirements
2021-09-26 14:09:01 +02:00
2022-01-30 21:12:14 +01:00
Assuming you have [Node.js (LTS recommended) ](https://nodejs.org/en/download/ ) installed (which includes npm), you can install Docusaurus with:
2020-04-20 12:17:38 +02:00
You will need to install [Yarn ](https://yarnpkg.com/getting-started/install ) before you can build the site.
2021-09-26 14:09:01 +02:00
2020-04-20 12:17:38 +02:00
```sh
npm install -g yarn
```
2020-06-29 08:45:24 +02:00
### Installation
2020-04-20 12:17:38 +02:00
Once you have installed yarn, navigate to docs directory & set-up the dependencies.
```sh
cd docs
yarn
```
2020-06-29 08:45:24 +02:00
### Local Development
```sh
yarn start
```
2021-09-26 14:09:01 +02:00
This command starts a local development server and opens up a browser window. Usually at the URL < http: / / localhost:3000 >
2021-06-29 22:25:52 +02:00
Most changes are reflected live without having to restart the server.
2021-09-26 14:09:01 +02:00
If you get an error starting yarn mentioning `update.latest` such as
```sh
>yarn start
if (notifier.update & & semver.gt(this.update.latest, this.update.current)) {
TypeError: Cannot read property 'latest' of undefined
at Object.< anonymous > (E:\GitHubRepos\OpenRefine\docs\node_modules\@docusaurus\core\bin\docusaurus.js:49:46)
error Command failed with exit code 1.
```
then it is likely that you will need to first run
```sh
yarn upgrade
```
which will update all dependencies and store them in the `yarn.lock` file to also be committed.
2021-06-29 22:25:52 +02:00
### Next version of OpenRefine docs
2021-09-26 14:09:01 +02:00
2021-06-29 22:25:52 +02:00
If you wish to work on the next version of docs for OpenRefine (`master` branch) then you will need to:
2021-09-26 14:09:01 +02:00
2021-06-29 22:25:52 +02:00
1. Git checkout our `master` branch
2. Edit files under `docs/docs/`
2021-09-26 14:09:01 +02:00
3. Preview changes with the URL kept pointing to < http: // localhost:3000 / next > which will automatically
show changes live with yarn after you save a file.
2020-06-29 08:45:24 +02:00
### Build
2020-04-20 12:17:38 +02:00
```sh
yarn build
```
2020-06-29 08:45:24 +02:00
This command generates static content into the `build` directory and can be served using any static contents hosting service.
2022-01-30 21:12:14 +01:00
### (Optional) Test Build Locally
You can locally test ([with parameters](https://docusaurus.io/docs/cli#docusaurus-serve-sitedir)) the static content in the `build` directory (in case you don't have access to a hosting service) by using:
```sh
yarn serve
```
or to build and then serve locally with one command:
```sh
yarn serve --build
```
2020-06-29 08:45:24 +02:00
### Deployment
2020-04-20 12:17:38 +02:00
```sh
2020-06-29 08:45:24 +02:00
GIT_USER=< Your GitHub username > USE_SSH=true yarn deploy
2020-04-20 12:17:38 +02:00
```
2021-09-26 14:09:01 +02:00
If you are using GitHub pages for hosting, this command is a convenient way to build the website
and push to the `gh-pages` branch.
2021-07-05 15:03:29 +02:00
### Translations
It is now possible to translate the [OpenRefine docs ](https://docs.openrefine.org/ ) via the
Crowdin platform:
2021-09-26 14:09:01 +02:00
< https: / / crowdin . com / project / openrefine >
2021-07-05 15:03:29 +02:00
Unfortunately, unlike Weblate, we need to manually invite anyone who
wants to contribute translations. Feel free to request an invite by emailing us at openrefine-dev@googlegroups.com
We can also add languages, depending on interest.
2021-09-26 14:09:01 +02:00
Your translations will not be immediately published on < https: / / docs . openrefine . org > , it will take a few days
(at the next commit on the master branch).
The translated pages will first appear under < https: / / docs . openrefine . org / next / > (the documentation for the development version).
2021-07-05 15:03:29 +02:00
When we publish a version, the translations for that version, we will take a snapshot of the translations during that time.
We will trial this process for 3.5.