# MathType for Froala Editor

Type and handwrite mathematical notation with MathType in the **Froala editor**. This package is compatible with Froala editor versions 3 and higher.

Easily include quality math equations in your documents and digital content.

## Table of Contents

- [Install instructions](#installation)
- [Services](#services)
- [Documentation](#documentation)
- [Displaying on Target Page](#displaying-on-target-page)
- [Privacy policy](#privacy-policy)

## Installation

1. Install the MathType for Froala npm module:

   ```sh
   # This plugin works with the Froala V4 and V3:
   # froala-editor@3.x.x to froala-editor@4.x.x
   npm install @wiris/mathtype-froala
   ```

2. Load the module into your project:

   ```html
   <script src="node_modules/@wiris/mathtype-froala/wiris.js"></script>
   ```

3. Update Froala configuration options:

   ```js
       // From Froala 'Get started' section https://froala.com/wysiwyg-editor/docs/overview/
       new FroalaEditor('.selector', {
          // Add MathType and ChemType buttons to the toolbar and the image menu:
          toolbar: ['wirisEditor', 'wirisChemistry'],
          imageEditButtons: ['wirisEditor', 'wirisChemistry'],
          // Allow all tags, in order to allow MathML:
          htmlAllowedTags:  ['.*'],
          htmlAllowedAttrs: ['.*'],
          // Allow empty tags on these next elements for proper formula rendering:
          htmlAllowedEmptyTags: ['mprescripts', 'none'],
          // In case you are using a different Froala editor language than default,
          // language: 'es',
          // You can choose the language for the MathType editor, too:
          // @see: https://docs.wiris.com/en/mathtype/mathtype_web/sdk-api/parameters#regional_properties
          // mathTypeParameters: {
          //   editorParameters: { language: 'es' },
          // },
       }
   ```

   Notice the example assumes this directory structure:

   ```
   └───index.html
   └───node_modules
       └───@wiris/mathtype-froala
   ```

## Services

This npm module uses remotely hosted services to render MathML data. However, we recommend you install these services on your backend. This will allow you, among other things, to configure the service and to locally store the images generated by MathType.

The services are available Java, PHP, .NET and Ruby on Rails. If you use any of these technologies, please download the plugin for your backend technology from [here](https://store.wiris.com/en/products/downloads/mathtype/integrations#froala?utm_source=npmjs&utm_medium=referral).

In order to install the plugin along with the correspondent services, please follow the [Froala install instructions](https://docs.wiris.com/mathtype/en/mathtype-integrations/mathtype-for-html-editors/mathtype-for-froala.html?utm_source=npmjs&utm_medium=referral).

## Displaying on Target Page

In order to display mathematical formulas on the target page, i.e. the page where content produced by the HTML editor will be visible, the target page needs to include the [MathType script](https://docs.wiris.com/en/mathtype/mathtype_web/integrations/mathml-mode#add_a_script_to_head). For example for the default setting this would be:

```html
<script src="https://www.wiris.net/demo/plugins/app/WIRISplugins.js?viewer=image"></script>
```

## Documentation

To find out more information about MathType, please go to the following documentation:

- [Install instructions](https://docs.wiris.com/mathtype/en/mathtype-integrations/mathtype-for-html-editors/mathtype-for-froala.html?utm_source=npmjs&utm_medium=referral)
- [MathType documentation](https://docs.wiris.com/en/mathtype/mathtype_web/start?utm_source=npmjs&utm_medium=referral)
- [Introductory tutorials](https://docs.wiris.com/en/mathtype/mathtype_web/intro_tutorials?utm_source=npmjs&utm_medium=referral)
- [Service customization](https://docs.wiris.com/en/mathtype/mathtype_web/integrations/config-table?utm_source=npmjs&utm_medium=referral)
- [Testing](https://docs.wiris.com/en/mathtype/mathtype_web/integrations/html/plugins-test?utm_source=npmjs&utm_medium=referral)
- [Froala integration documentation](https://froala.com/wysiwyg-editor/docs/migrate-from-v2/)

## Privacy policy

The [MathType Privacy Policy](https://www.wiris.com/en/mathtype-privacy-policy/?utm_source=npmjs&utm_medium=referral) covers the data processing operations for the MathType users. It is an addendum of the company’s general Privacy Policy and the [general Privacy Policy](https://wiris.com/en/privacy-policy) still applies to MathType users.
