mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-06 00:45:32 +00:00
69 lines
2.7 KiB
Markdown
69 lines
2.7 KiB
Markdown
# Keyman Web
|
|
The Original Code is (C) 2017-2018 SIL International
|
|
|
|
## Minimum Web Compilation Requirements
|
|
|
|
* Java 7+ (required by the Google Closure Compiler)
|
|
* This can be ignored for Keyman Developer builds.
|
|
* A local installation of [Node.js](https://nodejs.org/) v8.9+.
|
|
* Builds will call `npm install` to automatically install further necessary build dependencies.
|
|
|
|
* Linux users can run the following to update to LTS version of nodejs
|
|
|
|
```
|
|
sudo apt-get install python-software-properties
|
|
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
|
|
sudo apt-get install nodejs
|
|
```
|
|
|
|
**********************************************************************
|
|
|
|
The following folders contain the distribution for KeymanWeb:
|
|
|
|
source Source code
|
|
unit_tests Automated testing resources
|
|
|
|
intermediate Intermediate compiled code; TypeScript source is compiled here before it is minified.
|
|
release/web Fully-compiled KeymanWeb modules for testing
|
|
release/embedded Fully-compiled KMEA/KMEI modules for inclusion in mobile app builds
|
|
release/unminified/web Fully-compiled but non-minified KeymanWeb modules
|
|
release/unminified/embedded Fully-compiled KMEA/KMEI modules for inclusion in mobile app builds
|
|
|
|
samples Sample pages demonstrating ways to link with KeymanWeb
|
|
testing Test-case web-pages for various aspects of KeymanWeb functionality
|
|
unit_tests A Node-driven test suite for automated testing of KeymanWeb
|
|
|
|
## Usage
|
|
Open **index.html** or **samples/index.html** in your browser. Be sure to compile KeymanWeb before viewing the pages.
|
|
|
|
Refer to the samples for usage details.
|
|
|
|
To view pages using compiled KeymanWeb,
|
|
1. cd to **keyman/web/source**
|
|
2. Run `./build.sh`
|
|
|
|
### `build.sh` options:
|
|
|
|
* `-ui`
|
|
- to compile desktop user interface modules to output folder
|
|
* `-test`
|
|
- to compile for testing without copying resources or updating the saved version number.
|
|
* `-embed`
|
|
- to compile only the KMEA/KMEI embedded engine.
|
|
* `-web`
|
|
- to compile only the KeymanWeb engine.
|
|
* `-debug_embedded`
|
|
- to compile a readable version of the embedded KMEA/KMEI code
|
|
* `-no_minify`
|
|
- to disable the minified '/release/web' and '/release/embedded' build sections.
|
|
- the '/release/unminified/web' and '/release/unminified/embedded' folders will still be built.
|
|
* `-clean`
|
|
- to erase pre-existing build products before the build.
|
|
|
|
If more than one target is specified, the last one will take precedence.
|
|
|
|
### Unit Testing ###
|
|
|
|
Before running unit tests on KeymanWeb, first run `./build.sh` according to the instructions above.
|
|
|
|
Once the build is complete, running `npm test` will run the unit testing suite on your local machine in-browser. Alternatively, see `unit_tests/test.sh`, which the former command executes.
|