{"id":21348664,"url":"https://github.com/myscript/iinkts-preprod","last_synced_at":"2026-06-13T16:04:22.991Z","repository":{"id":176535034,"uuid":"656725887","full_name":"MyScript/iinkts-preprod","owner":"MyScript","description":null,"archived":false,"fork":false,"pushed_at":"2024-10-29T10:18:54.000Z","size":65346,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-10-29T12:18:39.589Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MyScript.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-21T14:07:05.000Z","updated_at":"2024-10-29T10:18:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"635bf836-5bca-40ee-9071-bf4bea90229d","html_url":"https://github.com/MyScript/iinkts-preprod","commit_stats":null,"previous_names":["myscript/iinkts-preprod"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MyScript%2Fiinkts-preprod","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MyScript%2Fiinkts-preprod/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MyScript%2Fiinkts-preprod/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MyScript%2Fiinkts-preprod/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MyScript","download_url":"https://codeload.github.com/MyScript/iinkts-preprod/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243822965,"owners_count":20353579,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-22T02:24:18.490Z","updated_at":"2026-06-13T16:04:22.981Z","avatar_url":"https://github.com/MyScript.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# iinkTS\n\n[![npm version](https://badge.fury.io/js/iink-ts.svg)](https://badge.fury.io/js/iink-ts)\n[![Examples](https://img.shields.io/badge/Link%20to-examples-blue.svg)](https://myscript.github.io/iinkTS/examples/)\n[![Documentation](https://img.shields.io/badge/Link%20to-documentation-green.svg)](https://developer.myscript.com/docs/interactive-ink/latest/web/iinkts/)\n\n\u003e The fastest way to integrate rich **handwriting** features in your webapp.\n\u003e\n\u003e :point_right: [Examples](https://myscript.github.io/iinkTS/examples/):point_left:\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/MyScript/iinkTS/master/preview.gif\"\u003e\n\u003c/div\u003e\n\niinkTS is a TypeScript library that can be used in every web application to bring handwriting recognition.\n\nIt integrates all you need:\n\n- Signal capture for all devices,\n- Digital ink rendering,\n- Link to MyScript Cloud to bring handwriting recognition.\n\n## Table of contents\n\n- [Features](#features)\n- [Requirements](#requirements)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Documentation](#documentation)\n- [Development](#development)\n- [Support](#getting-support)\n- [Feedback](#sharing-your-feedback)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Features\n\n- Text and Math support,\n- Easy to integrate,\n- Digital ink capture and rendering,\n- Rich editing gestures,\n- Import and export content,\n- Styling,\n- Typeset support,\n- More than 200 mathematical symbols supported,\n- 72 supported languages.\n\nYou can discover all the features on our Developer website for [Text](https://developer.myscript.com/features/text) and [Math](https://developer.myscript.com/features/math).\n\n## Requirements\n\n1. Have [npm](https://www.npmjs.com/get-npm), [yarn](https://yarnpkg.com/en/docs/install).\n2. Have a MyScript developer account. You can create one [here](https://developer.myscript.com/support/account/registering-myscript-cloud/).\n3. Get your keys and the free monthly quota to access MyScript Cloud at [developer.myscript.com](https://developer.myscript.com/getting-started/web)\n\n## Installation\n\niinkTS can be installed with the well known package managers `npm`, `yarn`.\n\nIf you want to use `npm` or `yarn` you first have to init a project (or use an existing one).\n\n```shell\nnpm init\nOR\nyarn init\n```\n\nYou can then install iinkTS and use it as showed in the [Usage](#usage) section.\n\n```shell\nnpm install iink-ts\nOR\nyarn add iink-ts\n```\n\n## Usage\n\n### Universal Module Definition (UMD)\n\n1. Create an `index.html` file in the same directory.\n\n2. Add the following lines in the `head` section of your file to use iinkTS and the css :\n\n```html\n\u003cscript src=\"node_modules/iink-ts/dist/iink.min.js\"\u003e\u003c/script\u003e\n```\n\n3. Still in the `head` section, add a `style` and specify the height and the width of your editor:\n\n```html\n\u003cstyle\u003e\n  #editor {\n    width: 100%;\n    height: 100%;\n  }\n\u003c/style\u003e\n```\n\n3. Still in the `head` section, add a `style` and specify the height and the width of your editor:\n\n```html\n\u003cstyle\u003e\n  #editor {\n    width: 100%;\n    height: 100%;\n  }\n\u003c/style\u003e\n```\n\n4. In the `body` tag, create a `div` tag that will contain the editing area:\n\n```html\n\u003cdiv id=\"editor\"\u003e\u003c/div\u003e\n```\n\n5. In JavaScript and within a `\u003cscript\u003e` tag placed before the closing `\u003c/body\u003e` tag, create the editor using the `load` function of the editor, your html editor element, the type of editor desired and the possible options depending on the type of editor then initialize it:\n\n```javascript\n    const editorElement = document.getElementById('editor');\n    const options = {\n      configuration = {\n        server: {\n          scheme: \"https\",\n          host: \"cloud.myscript.com\",\n          applicationKey: \"\u003cYOU-APPLICATION-KEY\u003e\",\n          hmacKey: \"\u003cYOUR-HMAC-KEY\u003e\",\n        }\n      }\n    }\n    const editorType = \"INTERACTIVEINK\" /* or INTERACTIVEINKSSR or INKV1 or INKV2 */\n    const editor = iink.Editor.load(editorElement, editorType, options);\n```\n\n6. Your `index.html` file should look like this:\n\n```html\n\u003chtml\u003e\n  \u003chead\u003e\n    \u003cscript src=\"node_modules/iink-ts/dist/iink.min.js\"\u003e\u003c/script\u003e\n    \u003cstyle\u003e\n      #editor {\n        width: 100%;\n        height: 100%;\n      }\n    \u003c/style\u003e\n  \u003c/head\u003e\n  \u003cbody\u003e\n    \u003cdiv id=\"editor\"\u003e\u003c/div\u003e\n    \u003cscript\u003e\n      const editorElement = document.getElementById(\"editor\")\n      const options = {\n        configuration: {\n          server: {\n            scheme: \"https\",\n            host: \"cloud.myscript.com\",\n            applicationKey: \"\u003cYOU-APPLICATION-KEY\u003e\",\n            hmacKey: \"\u003cYOUR-HMAC-KEY\u003e\",\n          },\n        }\n      }\n      const editorType =\n        \"INTERACTIVEINK\" /* or INTERACTIVEINKSSR or INKV1 or INKV2 */\n      const editor = iink.Editor.load(editorElement, editorType, options)\n    \u003c/script\u003e\n  \u003c/body\u003e\n\u003c/html\u003e\n```\n\n7. Open `index.html` in your browser or serve your folder content using any web server.\n\nYou can find this guide, and a more complete example on the [MyScript Developer website](https://developer.myscript.com/docs/interactive-ink/latest/web/iinkts/).\n\n### ECMAScript module (ESM)\n\n1. Create an `index.html` file in the same directory.\n\n2. Add the following lines in the `body` section of your file to use iinkTS and the css :\n\n```html\n\u003cbody\u003e\n  \u003cdiv id=\"editorEl\"\u003e\u003c/div\u003e\n\n  \u003cscript type=\"module\"\u003e\n    import { Editor, getAvailableLanguageList } from \"../../dist/iink.esm.js\"\n    const editorElement = document.getElementById(\"editorEl\")\n\n    const options = {\n      configuration : {\n        server: {\n          scheme: \"https\",\n          host: \"cloud.myscript.com\",\n          applicationKey: \"\u003cYOU-APPLICATION-KEY\u003e\",\n          hmacKey: \"\u003cYOUR-HMAC-KEY\u003e\",\n        },\n      }\n    }\n\n    const editorType =\n      \"INTERACTIVEINK\" /* or INTERACTIVEINKSSR or INKV1 or INKV2 */\n    const editor = await Editor.load(editorElement, editorType, options)\n  \u003c/script\u003e\n\u003c/body\u003e\n```\n\n3. Your `index.html` file should look like this:\n\n```html\n\u003chtml\u003e\n  \u003chead\u003e\n    \u003cstyle\u003e\n      #editorEl {\n        width: 100%;\n        height: 100%;\n      }\n    \u003c/style\u003e\n  \u003c/head\u003e\n  \u003cbody\u003e\n    \u003cdiv id=\"editorEl\"\u003e\u003c/div\u003e\n    \u003cscript type=\"module\"\u003e\n      import { Editor, getAvailableLanguageList } from '../../dist/iink.esm.js'\n      const editorElement = document.getElementById('editorEl')\n\n      const options = {\n        configuration: {\n          server: {\n            scheme: \"https\",\n            host: \"cloud.myscript.com\",\n            applicationKey: \"\u003cYOU-APPLICATION-KEY\u003e\",\n            hmacKey: \"\u003cYOUR-HMAC-KEY\u003e\",\n          }\n        }\n      }\n\n      const editor = await Editor.load(editorElement, 'INTERACTIVEINKSSR', options)\n    \u003c/script\u003e\n  \u003c/body\u003e\n\u003c/html\u003e\n```\n\n## Documentation\n\nYou can find a complete documentation with the following sections on our Developer website:\n\n- **Get Started**: [how to use iinkTS with a full example](https://developer.myscript.com/docs/interactive-ink/latest/web/iinkts/get-started/),\n- **Editing**: [how to interact with content](https://developer.myscript.com/docs/interactive-ink/latest/web/iinkts/editing/),\n- **Conversion**: [how to convert your handwritten content](https://developer.myscript.com/docs/interactive-ink/latest/web/iinkts/conversion/),\n- **Import and Export**: [how to import and export your content](https://developer.myscript.com/docs/interactive-ink/latest/web/iinkts/import-and-export/),\n- **Styling**: [how to style content](https://developer.myscript.com/docs/interactive-ink/latest/web/iinkts/styling/).\n\nWe also provide a complete [API Reference](https://myscript.github.io/iinkTS/docs/).\n\n## Development\n\nInstructions to help you build the project and develop are available in the [SETUP.md](./SETUP.md) file.\n\n## Getting support\n\nYou can get support and ask your questions on the [dedicated section](https://developer-support.myscript.com/support/discussions/forums/16000096760) of MyScript Developer website.\n\n## Sharing your feedback ?\n\nMade a cool app with iinkTS? We would love to hear about you!\nWe’re planning to showcase apps using it so let us know by sending a quick mail to [myapp@myscript.com](mailto://myapp@myscript.com).\n\n## Contributing\n\nWe welcome your contributions: if you would like to extend iinkTS for your needs, feel free to fork it!\n\nPlease take a look at our [contributing](./CONTRIBUTING.md) guidelines before submitting your pull request.\n\n## Troubleshooting\n\nIf you encounter the error: `Unrecognized property: convert.force`, this means your server version is lower than 2.3.0.\nTo correct the problem, you have 2 options:\n\n- either update your server\n- either add in the iink-ts configuration `configuration.server.info.version = 2.2.0`\n\nIf you encounter the error: `Unrecognized property: configuration.export.jiix.text.lines`, this means your server version is lower than 3.2.0.\nTo correct the problem, you have 2 options:\n\n- either update your server\n- either add in the iink-ts configuration `configuration.server.info.version = 3.1.0`\n\n## License\n\nThis library is licensed under the [Apache 2.0](http://opensource.org/licenses/Apache-2.0).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmyscript%2Fiinkts-preprod","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmyscript%2Fiinkts-preprod","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmyscript%2Fiinkts-preprod/lists"}