spiegel-keyman/web
2019-11-19 07:25:16 +11:00
..
bulk_rendering Fixes a scoping issue on the final render step - device notes. 2018-12-18 11:47:56 +07:00
samples PR review addressing. 2018-03-19 14:02:20 +07:00
source Merge pull request #2353 from keymanapp/fix/web/2311-displayUnderlying-is-not-being-tested 2019-11-19 07:25:16 +11:00
testing Bump mixin-deep from 1.3.1 to 1.3.2 in /web/testing/regression-tests 2019-09-03 00:43:30 +00:00
unit_tests feat(web): bounds check unit test 2019-10-31 11:48:00 +07:00
.gitattributes Patches up the /samples pages. 2018-01-08 09:51:19 +07:00
.gitignore Adds support for TS to receive build-time values for compilation. 2019-01-17 13:51:07 +07:00
history.md chore(web): history 2019-11-13 07:14:16 +11:00
index.html Refactored the samples section to create a separate testing section. 2017-10-11 15:31:06 +07:00
LICENSE Move KeymanWeb project to web/ 2017-05-26 11:00:34 +07:00
NOTICE Move KeymanWeb project to web/ 2017-05-26 11:00:34 +07:00
package-lock.json fix(web): Fixes #2322, updates to tsc 3.7.2 2019-11-18 12:22:43 +07:00
package.json fix(web): Fixes #2322, updates to tsc 3.7.2 2019-11-18 12:22:43 +07:00
README.md Documentation. 2018-02-07 14:02:03 +07:00

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 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.