{"id":13725952,"url":"https://github.com/MyScript/MyScriptJS","last_synced_at":"2025-05-07T21:30:49.023Z","repository":{"id":29764997,"uuid":"33308843","full_name":"MyScript/MyScriptJS","owner":"MyScript","description":":pencil2: :cloud: MyScriptJS is the fastest way to integrate rich handwriting recognition features in your webapp.","archived":true,"fork":false,"pushed_at":"2021-01-04T15:27:01.000Z","size":73383,"stargazers_count":353,"open_issues_count":11,"forks_count":62,"subscribers_count":30,"default_branch":"master","last_synced_at":"2025-05-04T07:11:41.926Z","etag":null,"topics":["cloud","handwriting","handwriting-recognition","iink","interactive-ink","javascript","vanillajs"],"latest_commit_sha":null,"homepage":"https://developer.myscript.com","language":"JavaScript","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}},"created_at":"2015-04-02T12:58:06.000Z","updated_at":"2025-04-06T06:44:09.000Z","dependencies_parsed_at":"2022-07-22T08:21:58.036Z","dependency_job_id":null,"html_url":"https://github.com/MyScript/MyScriptJS","commit_stats":null,"previous_names":[],"tags_count":32,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MyScript%2FMyScriptJS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MyScript%2FMyScriptJS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MyScript%2FMyScriptJS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MyScript%2FMyScriptJS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MyScript","download_url":"https://codeload.github.com/MyScript/MyScriptJS/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252957071,"owners_count":21831429,"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":["cloud","handwriting","handwriting-recognition","iink","interactive-ink","javascript","vanillajs"],"created_at":"2024-08-03T01:02:42.742Z","updated_at":"2025-05-07T21:30:47.304Z","avatar_url":"https://github.com/MyScript.png","language":"JavaScript","readme":"# MyScriptJS\n\n[![npm version](https://badge.fury.io/js/myscript.svg)](https://badge.fury.io/js/myscript)\n[![Examples](https://img.shields.io/badge/Link%20to-examples-blue.svg)](https://myscript.github.io/MyScriptJS/examples/)\n[![Documentation](https://img.shields.io/badge/Link%20to-documentation-green.svg)](https://developer.myscript.com/docs/interactive-ink/latest/web/myscriptjs/)\n\n## :warning: This repository is archived :warning:\niinkJS grants you high integration flexibility by letting you choose your favorite framework or components. For this reason, we have decided to focus on iinkJS and to discontinue our ready-to-use Web components.\n\nFor more information, please see [documentation](https://developer.myscript.com/).\n\nWe also provide an example to integrate [iinkJS](https://github.com/MyScript/iinkJS) as webcomponent: [link](https://github.com/MyScript/web-integration-samples).\n\n\u003cdiv align=\"center\"\u003e\n\n:construction:\n\n\u003c/div\u003e\n\n\u003e The fastest way to integrate rich **handwriting** features in your webapp.\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://myscript.github.io/MyScriptJS/preview.gif\"\u003e\n\u003c/div\u003e\n\nMyScriptJS is a JavaScript 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* [Examples](https://github.com/MyScript/MyScriptJS#examples)\n* [Features](https://github.com/MyScript/MyScriptJS#features)\n* [Requirements](https://github.com/MyScript/MyScriptJS#requirements)\n* [Installation](https://github.com/MyScript/MyScriptJS#installation)\n* [Usage](https://github.com/MyScript/MyScriptJS#usage)\n* [Documentation](https://github.com/MyScript/MyScriptJS#documentation)\n* [Development](https://github.com/MyScript/MyScriptJS#development)\n* [Support](https://github.com/MyScript/MyScriptJS#support)\n* [Feedback](https://github.com/MyScript/MyScriptJS#sharing-your-feedback)\n* [Contributing](https://github.com/MyScript/MyScriptJS#contributing)\n\n\n## Examples\n\nDiscover Interactive Ink with MyScriptJS and its major features with our [text demo and tutorial](http://webdemo.myscript.com/views/text.html).\n\nTry our two basic examples featuring [the text recognition](https://myscript.github.io/MyScriptJS//examples/v4/websocket_text_iink.html) and [the math recognition](https://myscript.github.io/MyScriptJS/examples/v4/websocket_math_iink.html).\n\n[All our examples](https://myscript.github.io/MyScriptJS/examples/) with the source codes in [this directory](https://github.com/MyScript/MyScriptJS/tree/master/examples).\n\nWe also provide examples of integration with the major JavaScript frameworks:\n\n| Framework | Link |\n| --- | --- |\n|   \u003cdiv align=\"center\"\u003e\u003cimg src=\"https://myscript.github.io/MyScriptJS/assets/react.svg\" height=\"50\"\u003e\u003c/div\u003e | [Example of React integration](https://github.com/MyScript/web-integration-samples/tree/master/react-integration-examples) |\n|   \u003cdiv align=\"center\"\u003e\u003cimg src=\"https://myscript.github.io/MyScriptJS/assets/angular.svg\" height=\"50\"\u003e\u003c/div\u003e | [Example of Angular integration](https://github.com/MyScript/web-integration-samples/tree/master/angular-integration-examples) |\n|   \u003cdiv align=\"center\"\u003e\u003cimg src=\"https://myscript.github.io/MyScriptJS/assets/vue.svg\" height=\"50\"\u003e\u003c/div\u003e | [Example of Vue integration](https://github.com/MyScript/web-integration-samples/tree/master/vue-integration-examples) |\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* 65 supported languages.\n\nYou can discover all the features on our Developer website for [Text](https://developer.myscript.com/text) and [Math](https://developer.myscript.com/math).\n\n## Requirements\n\n1. Have [npm](https://www.npmjs.com/get-npm), [yarn](https://yarnpkg.com/en/docs/install) or [bower](https://bower.io/#install-bower) installed.\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\nMyScriptJS can be installed with the well known package managers `npm`, `yarn` and `bower`. \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 MyScriptJS and use it as showed in the [Usage](https://github.com/MyScript/MyScriptJS#usage) section.\n\n```shell\nnpm install myscript\nOR\nyarn add myscript\n```\n\nYou can also install MyScriptJS using bower (with or without an existing project) and use it as showed in the [Usage](https://github.com/MyScript/MyScriptJS#usage) section replacing `node_modules` by `bower_components`.\n\n```shell\nbower install myscript\n```\n\n\n## Usage\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 MyScriptJS and the css. We use [PEP](https://github.com/jquery/PEP) to ensure better browsers compatibilities. Note that you can also use it using dependencies from `node_modules` or `bower_components`:\n```html\n\u003clink rel=\"stylesheet\" href=\"node_modules/myscript/dist/myscript.min.css\"/\u003e\n\u003cscript src=\"node_modules/myscript/dist/myscript.min.js\"\u003e\u003c/script\u003e\n\u003cscript src=\"https://code.jquery.com/pep/0.4.3/pep.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```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```html\n    \u003cdiv id=\"editor\"\u003e\u003c/div\u003e\n```\n\n5. In JavaScript and within a `\u003cscript\u003e` tag placed before the closing tag `\u003c/body\u003e`, create the editor using the `register` function, your editor html element and a simple configuration:\n```javascript\n  const editorElement = document.getElementById('editor');\n\n  MyScript.register(editorElement, {\n    recognitionParams: {\n      type: 'TEXT',\n      server: {\n        applicationKey: '#YOUR MYSCRIPT DEVELOPER APPLICATION KEY#',\n        hmacKey: '#YOUR MYSCRIPT DEVELOPER HMAC KEY#'\n      }\n    }\n  });\n```\n\n6. Your `index.html` file should look like this:\n```html\n\u003chtml\u003e\n    \u003chead\u003e\n        \u003clink rel=\"stylesheet\" href=\"node_modules/myscript/dist/myscript.min.css\"/\u003e\n        \u003cscript src=\"node_modules/myscript/dist/myscript.min.js\"\u003e\u003c/script\u003e\n        \u003cscript src=\"https://code.jquery.com/pep/0.4.3/pep.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\" touch-action=\"none\"\u003e\u003c/div\u003e\n    \u003cscript\u003e\n        const editorElement = document.getElementById('editor');\n\n        MyScript.register(editorElement, {\n            recognitionParams: {\n                type: 'TEXT',\n                server: {\n                    applicationKey: '#YOUR MYSCRIPT DEVELOPER APPLICATION KEY#',\n                    hmacKey: '#YOUR MYSCRIPT DEVELOPER HMAC KEY#'\n                }\n            }\n        });\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/myscriptjs/).\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 MyScriptJS with a full example](https://developer.myscript.com/docs/interactive-ink/latest/web/myscriptjs/get-started/),\n* **Editing**: [how to interact with content](https://developer.myscript.com/docs/interactive-ink/latest/web/myscriptjs/editing/),\n* **Conversion**: [how to convert your handwritten content](https://developer.myscript.com/docs/interactive-ink/latest/web/myscriptjs/conversion/),\n* **Import and Export**: [how to import and export your content](https://developer.myscript.com/docs/interactive-ink/latest/web/myscriptjs/import-and-export/),\n* **Styling**: [how to style content](https://developer.myscript.com/docs/interactive-ink/latest/web/myscriptjs/styling/).\n\nAs well as a global [Configuration page](https://developer.myscript.com/docs/interactive-ink/latest/reference/web/configuration/).\n\nWe also provide a complete [API Reference](https://myscript.github.io/MyScriptJS/docs).\n\n## Development\n\nInstructions to help you build the project and develop are available in the [SETUP.md](https://github.com/MyScript/MyScriptJS/blob/master/SETUP.md) file.\n\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/16000096021) of MyScript Developer website.\n\n## Sharing your feedback ?\n\nMade a cool app with MyScriptJS? 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 MyScriptJS for your needs, feel free to fork it! \n\nPlease take a look at our [contributing](https://github.com/MyScript/MyScriptJS/blob/master/CONTRIBUTING.md) guidelines before submitting your pull request.\n\n## License\nThis library is licensed under the [Apache 2.0](http://opensource.org/licenses/Apache-2.0).","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMyScript%2FMyScriptJS","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMyScript%2FMyScriptJS","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMyScript%2FMyScriptJS/lists"}