The default configuration creates a very minimalistic TinyMCE editor. You will likely want to change this. Below are listed the configuration options you can change. Please note, these changes effect all TinyMCE editors across your site. If you want more than one style of editor you will need to initialize the editor yourself. This is discussed in the lazy loading tutorial.
-
Tinymce::Hammer.install_path -
'/javascripts/tiny_mce'Tinymce::Hammer.install_pathis assumed to be rooted in yourRAILS_ROOT/publicdirectory. Do not prefix install_path withpublic/ -
Tinymce::Hammer.plugins -
['paste'] -
Tinymce::Hammer.languages -
['en'] -
Tinymce::Hammer.themes -
['advanced'] -
Tinymce::Hammer.init -
# see the example below for default value
config/initializers/tinymce_hammer.rb
The best place to place configuration for the TinyMCE Hammer plugin is
config/initializers/tinymce_hammer.rb.
Tinymce::Hammer.install_path = '/javascripts/lib/tiny_mce' Tinymce::Hammer.plugins = %w(safari table paste paste2 tabfocus) Tinymce::Hammer.init = [ [:paste_convert_headers_to_strong, true], [:paste_convert_middot_lists, true], [:paste_remove_spans, true], [:paste_remove_styles, true], [:paste_strip_class_attributes, true], [:theme, 'advanced'], [:theme_advanced_toolbar_align, 'left'], [:theme_advanced_toolbar_location, 'top'], [:theme_advanced_buttons1, 'undo,redo,cut,copy,paste,pastetext,|,bold,italic,strikethrough,blockquote,charmap,bullist,numlist,removeformat,|,link,unlink,image,|,cleanup,code'], [:theme_advanced_buttons2, ''], [:theme_advanced_buttons3, ''], [:valid_elements, "a[href|title],blockquote[cite],br,caption,cite,code,dl,dt,dd,em,i,img[src|alt|title|width|height|align],li,ol,p,pre,q[cite],small,strike,strong/b,sub,sup,u,ul"], ]
Import Notes About Configuring TinyMCE
-
Don't set mode.
The tinymce_hammer plugin manages mode. To be precise it sets mode to 'specific_textareas' with editor selector set to 'tinymce'. This means when the combined javascript file is loaded, any textarea tag with a class of tinymce will get intialized.
-
Tinymce::Hammer.initis an array of arrays. Why not a hash?!? Because hashes in ruby 1.8 are not ordered and TinyMCE throws a fit if certain initialization options appear before others. The only way to avoid this is with ordered pairs (or with an ordered hash). -
Tinymce::Hammer.install_pathis the path from yourRAILS_ROOT/publicfolder. Prefix it with a slash. It tells tinymce_hammer where to find your TinyMCE library. It also affects wherescript/generate tinymce_installationinstalls TinyMCE for you.