After the Deadline for TinyMCE
OTHER License
After the Deadline is an open source software service that checks spelling, style, and grammar.. This project contains an AtD TinyMCE Plugin and an example for using After the Deadline with TinyMCE.
If you've unzipped this archive on a webserver with PHP installed, you should be able to access demo.html directly and see everything work.
This software requires a running instance of an AtD server. Automattic operates an instance that you can use for personal projects as long as you don't send too much traffic. This library are configured to use this server by default.
For high volume and commercial uses of AtD, you must run your own server. The code is available on Github: After the Deadline Server. See the After the Deadline Developer's page for more information, and check out the AtD Developers Google Group for discussion and community support.
When you run your own server, replace service.afterthedeadline.com
with your server's hostname.
After the Deadline lets you specify a list of phrases it should not highlight. This is the AtD equivalent of add to dictionary functionality in other programs.
You can hardcode these values in the atd_ignore_strings
value in TinyMCE init.
The format is a comma separated list of phrases. (See example below for more).
Users can choose to ignore phrases by selecting Ignore always when clicking
a highlighted phrase. You have to enable this feature for the Ignore always
menu to show up. Do so by setting the atd_ignore_enable
to the string "true"
in TinyMCE init.
If you see Ignore all when clicking an error then this feature is disabled.
There is a caveat to this client side ignore capability. You get to create the
user interface for unignoring rules. The phrases are stored in a cookie named
atd_ignore
. This cookie was created with:
tinymce.util.Cookie.setHash("atd_ignore", ...);
The format of the cookie is some+phrase=1&someWord=1&.... See the TinyMCE API for tinymce.util.Cookie.
support/atdphrases.js and support/unignore.html are included in this archive to assist you.
The best option is to manage the ignored phrases preference on your server. We do this in our WordPress
plugin. When we generate the TinyMCE init we pull the user's ignore preferences from our database and populate the atd_ignore_strings
value with them.
The AtD TinyMCE plugin can be configured to make an AJAX call to your server when a user selects Ignore Always. To enable this set atd_ignore_rpc_url
in the
TinyMCE init. When set AtD will do a GET call to this URL with the ignored phrase&key=api key appended.
This TinyMCE plugin only shows grammar, spelling, and misused word errors by default. All other categories of errors are filtered and you must explicitly
enable them in the TinyMCE init parameters by setting the atd_show_types
variable.
atd_show_types: "Bias Language,Cliches,Complex Expression,Diacritical Marks,Double Negatives,Hidden Verbs,Jargon Language,Passive voice,Phrases to Avoid,Redundant Expression",
You may omit any of these categories. Note that categories are separated by commas with no whitespace. The category names are case sensitive and yes, voice is lowercase in Passive voice.
To localize the strings in this extension, create an object with the localized strings. Here is an example:
Then make TinyMCE use these strings:
Note: I used en.AtD to indicate my_plugin_strings are an English translation of this AtD extension. For other languages use lang.AtD where lang is the two letter language code value specified for language in your TinyMCE init.
These string labels are compatible with the AtD/jQuery extension.
This code is a hack on the spellcheck plugin from Moxiecode. Thanks for the hard work guys.
This code has always been open source. We're putting it on Github so that you can feel free to fork it, hack it, and release your own version.
Join the atd-developers list for community support.