tiny_mce_helper
adds helper methods for creating the TinyMCE initialization script.
API
Bugs
Development
Testing
Source
-
git://github.com/pluginaweek/tiny_mce_helper.git
Mailing List
TinyMCE is a rich text editor written in Javascript. This helper plugin helps make it easier to validate your code and include the TinyMCE initialization script. It also provides various tasks for installing/updating TinyMCE.
To install TinyMCE, you can use the tiny_mce:install task. This will download the latest version (or one specified by you) from Sourceforge and extract it into your application’s public/javascripts folder.
For example, to install the latest version:
$ rake tiny_mce:install (in /my/project) Downloading TinyMCE source... Extracting... Done!
To install a custom version:
$ rake tiny_mce:install VERSION=3.2.2 (in /my/project) Downloading TinyMCE source... Extracting... Done!
If tinymce already exists in your application’s public/javascript folder, the rake task will prompt you as to whether or not it should be overwritten:
$ rake tiny_mce:install (in /my/project) TinyMCE already be installed in /my/project/config/../public/javascripts/tiny_mce. Overwrite? (y/n): y Downloading TinyMCE source... Extracting... Done!
If you have already installed TinyMCE and wish to update to the latest version, you can run the tiny_mce:update task. This will overwrite the current TinyMCE installation and WILL NOT prompt you if the folder already exists. For example,
$ rake tiny_mce:update (in /my/project) Downloading TinyMCE source... Extracting... Done!
Like tiny_mce:install, you can also specify a custom version:
$ rake tiny_mce:update VERSION=3.2.2 (in /my/project) Downloading TinyMCE source... Extracting... Done!
In addition to installing the Javascript source, tiny_mce_helper is also able to validate the options that are passed in to initialize TinyMCE. Since these options can change over time, a configuration file is generated based on information from the TinyMCE wiki. This configuration file contains a list of all of the current possible options that can be specified.
For example, to create a new configuration file:
$ rake tiny_mce:update VERSION=3.2.2 (in /my/project) Downloading configuration options from TinyMCE Wiki... Done!
This will create config/tiny_mce_options.yml. The content of the configuration should look similar to:
--- - accessibility_focus - accessibility_warnings - add_form_submit_trigger - add_unload_trigger - apply_source_formatting - ask - auto_focus - auto_reset_designmode - auto_resize - browsers - button_tile_map - cleanup - cleanup_callback - cleanup_on_startup - cleanup_serializer ...
Uninstalling TinyMCE will remove the javascript source and the configuration options. To invoke the installation, run the rake task tiny_mce:uninstall.
$ rake tiny_mce:uninstall (in /my/project)
To create the TinyMCE initialization script:
application.rhtml:
<%= tiny_mce_init_script( :theme => 'advanced', :editor_selector => 'rich_text', :content_css => '/stylesheets/tiny_mce_content.css', :editor_css => '/stylesheets/tiny_mce_editor.css', :auto_reset_designmode => true ) %>
will generate the following javascript:
tinyMCE.init({ 'mode' : 'textareas', 'theme' : 'advanced', 'editor_selected' : 'rich_text', 'content_css' : '/stylesheets/tiny_mce_content.css' });
To see additional initialization helpers, see the API for TinyMCEHelper
Before you can run any tests, the following gem must be installed:
To run against a specific version of Rails:
rake test RAILS_FRAMEWORK_ROOT=/path/to/rails
Since the rake tasks for installing TinyMCE and updating the configuration options are part of the unit tests, already-downloaded files are included with the plugin. If you want to perform a “live” test which actually downloads the files off the Internet (rather than using the local versions), you must set the LIVE environment variable to true. For example,
rake test LIVE=true
This plugin provides for the installation and utilization of TinyMCE in Ruby on Rails applications. TinyMCE is a WYSIWYG HTML editing component released under the GNU Public License (GPL) by Moxiecode Systems (tinymce.moxiecode.com/).
This plugin was originally created by by Blake Watters <[email protected]> and later modified by Aaron Pfeifer.