-
Notifications
You must be signed in to change notification settings - Fork 71
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
115 additions
and
86 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
# Contributing | ||
|
||
BRouter is heavily based on the following libraries: | ||
|
||
- [Leaflet](leafletjs.com/) maps library, used in conjuction with many plugins. | ||
- [Bootstrap](https://getbootstrap.com/) design library. | ||
- [JQuery](https://jquery.com) javascript library. | ||
- [Node.js](https://nodejs.org/) and [Yarn](https://yarnpkg.com/en/). | ||
|
||
## Install dependencies | ||
|
||
yarn | ||
|
||
## Build | ||
|
||
```sh | ||
#for development | ||
yarn build debug | ||
|
||
#for release | ||
yarn build | ||
``` | ||
|
||
## Develop | ||
|
||
yarn serve | ||
|
||
## Translations | ||
|
||
`TL;DR` if you contribute to BRouter and add some translatable content, please make sure not to modify anything in `locales` folder, except `locales/en.json`. Full explanation below. | ||
|
||
### How internationalization works | ||
|
||
BRouter is translated using [i18next](https://www.i18next.com/) library, via command `gulp i18next`. It extracts translatable elements into `locales/en.json` file (English version). | ||
|
||
As soon as this file is modified, it must be uploaded to Transifex (manually) with the command `yarn push-transifex`. | ||
|
||
Anyone can then translate BRouter directly on [Transifex](https://www.transifex.com/openstreetmap/brouter-web/) platform. | ||
|
||
From time to time (eg. when preparing releases), we can update translated content with the command `yarn pull-transifex`. **It will overwrite all JSON files in `locales` directory**. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
# Installation | ||
|
||
As an alternative to the [online version](https://brouter.de/brouter-web/), the standalone server of BRouter can also be run on your local desktop. | ||
|
||
## Install standalone zip (client and server) | ||
|
||
1. download and unzip latest standalone archive (`brouter-web-standalone.<version>.zip`) from https://github.com/nrenner/brouter-web/releases e.g. for Linux (replace `~/opt/` with your preferred install directory and `0.11.0` with latest version): | ||
|
||
mkdir ~/opt/brouter | ||
cd ~/opt/brouter | ||
wget https://github.com/nrenner/brouter-web/releases/download/0.11.0/brouter-web-standalone.0.11.0.zip | ||
unzip brouter-web-standalone.0.11.0.zip | ||
|
||
2. download one or more [data file(s)](https://brouter.de/brouter/segments4/) (rd5) into `segments4` directory | ||
|
||
### Configure BRouter-Web | ||
|
||
In the `brouter-web` subdirectory: | ||
|
||
1. copy `config.template.js` to `config.js` | ||
2. add your API keys (optional) | ||
copy `keys.template.js` to `keys.js` and edit to add your keys | ||
|
||
### Run | ||
|
||
1. start `./run.sh` | ||
|
||
## Running as Docker container (client only) | ||
|
||
brouter-web can be run as a Docker container, making it easy for continous deployment or running locally | ||
without having to install any build tools. | ||
|
||
The `Dockerfile` builds the application inside a NodeJS container and copies the built application into a | ||
separate Nginx based image. The application runs from a webserver only container serving only static files. | ||
|
||
### Prerequisites | ||
|
||
- Docker installed | ||
- working directory is this repository | ||
- `config.template.js` copied to `config.js` and modified with a Brouter server, see `BR.conf.host` | ||
- `keys.template.js` to `keys.js` and add your API keys | ||
- Optionally create `profiles` directory with `brf` profile files and add path to `config.js`: | ||
BR.conf.profilesUrl = 'profiles/'; | ||
|
||
### Building Docker image | ||
|
||
To build the Docker container run: | ||
|
||
docker build -t brouter-web . | ||
|
||
This creates a Docker image with the name `brouter-web`. | ||
|
||
### Running Docker container | ||
|
||
To run the previously build Docker image run: | ||
|
||
docker run --rm --name brouter-web \ | ||
-p 127.0.0.1:8080:80 \ | ||
-v "`pwd`/config.js:/usr/share/nginx/html/config.js" \ | ||
-v "`pwd`/keys.js:/usr/share/nginx/html/keys.js" \ | ||
-v "`pwd`/profiles:/usr/share/nginx/html/profiles" \ | ||
brouter-web | ||
|
||
This command does the following: | ||
|
||
1. Runs a container with the name `brouter-web` and removes it automatically after stopping | ||
1. Binds port 80 of the container to the host interface 127.0.0.1 on port 8080 | ||
1. Takes the absolute paths of `config.js`, `keys.js` and `profiles` and mounts them inside the container | ||
1. Uses the image `brouter-web` to run as a container | ||
|
||
brouter-web should be accessible at http://127.0.0.1:8080. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters