The Original Code is (C) 2017-2018 SIL International
- Java 7+ (required by the Google Closure Compiler)
- This can be ignored for Keyman Developer builds.
- A local installation of Node.js v8.9+.
-
Builds will call
npm installto 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
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,
- cd to keyman/web/source
- Run
./build.sh
-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.
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.