Link Checker plugin
| This plugin is only available for paid TinyMCE subscriptions. |
The linkchecker plugin does what it says – validates URLs, as you type them. URLs considered invalid will be highlighted with red and will have a dedicated context menu with options to either edit the link, try and open it in a separate tab, remove the link, or ignore it.
The Link Checker plugin relies on HTTP response status codes to determine if a link is valid. Web pages that return incorrect or invalid HTTP responses are highlighted as invalid or "broken". For information on valid HTTP response status codes, see: MDN Web Docs - HTTP response status codes.
Cloud Instructions
If you are using Tiny Cloud, simply add "linkchecker" to your plugins list, and the service will be automatically configured.
Self-hosted Instructions
Customers using a Self-hosted environment will need to provide a URL to their deployment of the link checking service via the linkchecker_service_url parameter
Options
Link Checker has the following settings.
linkchecker_content_css
After a link is checked for validity, a result of the validation is added to it via data-mce-linkchecker-status attribute. There are three possible outcomes of the validation: valid, invalid and unknown. Link Checker visually reflects invalid outcome by injecting the following CSS styles into the editor:
a[data-mce-linkchecker-status="invalid"] {
outline-color: rgba(231, 76, 60, 0.25);
background-color: rgba(231, 76, 60, 0.25)
}
a[data-mce-linkchecker-focus="true"] {
outline: 1px solid rgba(231, 76, 60, 0.75)
}
data-mce-linkchecker-focus attribute is set to true every time a dedicated context menu is shown on a link. This only happens for invalid links.
It is possible to replace or extend those styles, by providing a URL to custom stylesheet via linkchecker_content_css option.
linkchecker_preprocess
The linkchecker_preprocess function is used for adjusting links before performing a link check.
Type: Function
Example: Using linkchecker_preprocess
tinymce.init({
selector: 'textarea', // change this value according to your HTML
plugins: 'linkchecker',
linkchecker_preprocess: function (data) {
/* This example will encode or double encode the url */
var newUrl = encodeURIComponent(data.url);
return { url: newUrl };
}
});