wymeditor-simple_form 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. data/.gitignore +4 -0
  2. data/Gemfile +4 -0
  3. data/MIT-LICENSE +20 -0
  4. data/README.md +48 -0
  5. data/Rakefile +1 -0
  6. data/app/assets/javascripts/wymeditor.js.coffee +5 -0
  7. data/app/inputs/wymeditor_input.rb +2 -0
  8. data/lib/wymeditor-simple_form.rb +7 -0
  9. data/lib/wymeditor-simple_form/engine.rb +8 -0
  10. data/lib/wymeditor-simple_form/version.rb +5 -0
  11. data/vendor/assets/wymeditor/iframe/default/lbl-blockquote.png +0 -0
  12. data/vendor/assets/wymeditor/iframe/default/lbl-h1.png +0 -0
  13. data/vendor/assets/wymeditor/iframe/default/lbl-h2.png +0 -0
  14. data/vendor/assets/wymeditor/iframe/default/lbl-h3.png +0 -0
  15. data/vendor/assets/wymeditor/iframe/default/lbl-h4.png +0 -0
  16. data/vendor/assets/wymeditor/iframe/default/lbl-h5.png +0 -0
  17. data/vendor/assets/wymeditor/iframe/default/lbl-h6.png +0 -0
  18. data/vendor/assets/wymeditor/iframe/default/lbl-p.png +0 -0
  19. data/vendor/assets/wymeditor/iframe/default/lbl-pre.png +0 -0
  20. data/vendor/assets/wymeditor/iframe/default/wymiframe.css +90 -0
  21. data/vendor/assets/wymeditor/iframe/default/wymiframe.html +26 -0
  22. data/vendor/assets/wymeditor/jquery.wymeditor.js +4688 -0
  23. data/vendor/assets/wymeditor/jquery.wymeditor.min.js +1 -0
  24. data/vendor/assets/wymeditor/jquery.wymeditor.pack.js +1 -0
  25. data/vendor/assets/wymeditor/lang/bg.js +45 -0
  26. data/vendor/assets/wymeditor/lang/ca.js +45 -0
  27. data/vendor/assets/wymeditor/lang/cs.js +45 -0
  28. data/vendor/assets/wymeditor/lang/cy.js +45 -0
  29. data/vendor/assets/wymeditor/lang/de.js +45 -0
  30. data/vendor/assets/wymeditor/lang/en.js +45 -0
  31. data/vendor/assets/wymeditor/lang/es.js +45 -0
  32. data/vendor/assets/wymeditor/lang/fa.js +46 -0
  33. data/vendor/assets/wymeditor/lang/fi.js +44 -0
  34. data/vendor/assets/wymeditor/lang/fr.js +45 -0
  35. data/vendor/assets/wymeditor/lang/gl.js +45 -0
  36. data/vendor/assets/wymeditor/lang/he.js +45 -0
  37. data/vendor/assets/wymeditor/lang/hr.js +45 -0
  38. data/vendor/assets/wymeditor/lang/hu.js +45 -0
  39. data/vendor/assets/wymeditor/lang/it.js +45 -0
  40. data/vendor/assets/wymeditor/lang/nb.js +45 -0
  41. data/vendor/assets/wymeditor/lang/nl.js +45 -0
  42. data/vendor/assets/wymeditor/lang/nn.js +45 -0
  43. data/vendor/assets/wymeditor/lang/pl.js +45 -0
  44. data/vendor/assets/wymeditor/lang/pt-br.js +45 -0
  45. data/vendor/assets/wymeditor/lang/pt.js +45 -0
  46. data/vendor/assets/wymeditor/lang/ru.js +45 -0
  47. data/vendor/assets/wymeditor/lang/sv.js +45 -0
  48. data/vendor/assets/wymeditor/lang/tr.js +45 -0
  49. data/vendor/assets/wymeditor/lang/zh_cn.js +47 -0
  50. data/vendor/assets/wymeditor/plugins/embed/jquery.wymeditor.embed.js +52 -0
  51. data/vendor/assets/wymeditor/plugins/fullscreen/icon_fullscreen.gif +0 -0
  52. data/vendor/assets/wymeditor/plugins/fullscreen/jquery.wymeditor.fullscreen.js +127 -0
  53. data/vendor/assets/wymeditor/plugins/hovertools/jquery.wymeditor.hovertools.js +57 -0
  54. data/vendor/assets/wymeditor/plugins/resizable/jquery.wymeditor.resizable.js +91 -0
  55. data/vendor/assets/wymeditor/plugins/resizable/readme.txt +124 -0
  56. data/vendor/assets/wymeditor/plugins/tidy/README +19 -0
  57. data/vendor/assets/wymeditor/plugins/tidy/jquery.wymeditor.tidy.js +82 -0
  58. data/vendor/assets/wymeditor/plugins/tidy/tidy.php +36 -0
  59. data/vendor/assets/wymeditor/plugins/tidy/wand.png +0 -0
  60. data/vendor/assets/wymeditor/skins/compact/icons.png +0 -0
  61. data/vendor/assets/wymeditor/skins/compact/skin.css +134 -0
  62. data/vendor/assets/wymeditor/skins/compact/skin.js +35 -0
  63. data/vendor/assets/wymeditor/skins/default/icons.png +0 -0
  64. data/vendor/assets/wymeditor/skins/default/skin.css +133 -0
  65. data/vendor/assets/wymeditor/skins/default/skin.js +40 -0
  66. data/vendor/assets/wymeditor/skins/minimal/images/bg.header.gif +0 -0
  67. data/vendor/assets/wymeditor/skins/minimal/images/bg.selector.silver.gif +0 -0
  68. data/vendor/assets/wymeditor/skins/minimal/images/bg.wymeditor.png +0 -0
  69. data/vendor/assets/wymeditor/skins/minimal/images/icons.silver.gif +0 -0
  70. data/vendor/assets/wymeditor/skins/minimal/skin.css +131 -0
  71. data/vendor/assets/wymeditor/skins/minimal/skin.js +30 -0
  72. data/vendor/assets/wymeditor/skins/silver/COPYING +674 -0
  73. data/vendor/assets/wymeditor/skins/silver/README +27 -0
  74. data/vendor/assets/wymeditor/skins/silver/images/bg.header.gif +0 -0
  75. data/vendor/assets/wymeditor/skins/silver/images/bg.selector.silver.gif +0 -0
  76. data/vendor/assets/wymeditor/skins/silver/images/bg.wymeditor.png +0 -0
  77. data/vendor/assets/wymeditor/skins/silver/images/icons.silver.gif +0 -0
  78. data/vendor/assets/wymeditor/skins/silver/skin.css +297 -0
  79. data/vendor/assets/wymeditor/skins/silver/skin.js +61 -0
  80. data/vendor/assets/wymeditor/skins/twopanels/icons.png +0 -0
  81. data/vendor/assets/wymeditor/skins/twopanels/skin.css +134 -0
  82. data/vendor/assets/wymeditor/skins/twopanels/skin.js +39 -0
  83. data/vendor/assets/wymeditor/skins/wymeditor_icon.png +0 -0
  84. data/wymeditor-simple_form.gemspec +24 -0
  85. metadata +163 -0
@@ -0,0 +1,91 @@
1
+ /*
2
+ * WYMeditor : what you see is What You Mean web-based editor
3
+ * Copyright (c) 2005 - 2009 Jean-Francois Hovinne, http://www.wymeditor.org/
4
+ * Dual licensed under the MIT (MIT-license.txt)
5
+ * and GPL (GPL-license.txt) licenses.
6
+ *
7
+ * For further information visit:
8
+ * http://www.wymeditor.org/
9
+ *
10
+ * File Name:
11
+ * jquery.wymeditor.resizable.js
12
+ * resize plugin for WYMeditor
13
+ *
14
+ * File Authors:
15
+ * Peter Eschler (peschler _at_ gmail.com)
16
+ * Jean-Francois Hovinne - http://www.hovinne.com/
17
+ *
18
+ * Version:
19
+ * 0.4
20
+ *
21
+ * Changelog:
22
+ *
23
+ * 0.4
24
+ * - Removed UI and UI.resizable scripts loading - see #167 (jfh).
25
+ *
26
+ * 0.3
27
+ * - Added 'iframeOriginalSize' and removed 'ui.instance' calls (jfh).
28
+ *
29
+ * 0.2
30
+ * - Added full support for all jQueryUI resizable plugin options.
31
+ * - Refactored and documented code.
32
+ * 0.1
33
+ * - Initial release.
34
+ */
35
+
36
+ /**
37
+ * The resizable plugin makes the wymeditor box vertically resizable.
38
+ * It it based on the ui.resizable.js plugin of the jQuery UI library.
39
+ *
40
+ * The WYMeditor resizable plugin supports all parameters of the jQueryUI
41
+ * resizable plugin. The parameters are passed like this:
42
+ *
43
+ * wym.resizable({ handles: "s,e",
44
+ * maxHeight: 600 });
45
+ *
46
+ * DEPENDENCIES: jQuery UI, jQuery UI resizable
47
+ *
48
+ * @param options options for the plugin
49
+ */
50
+ WYMeditor.editor.prototype.resizable = function(options) {
51
+
52
+ var wym = this;
53
+ var iframe = jQuery(wym._box).find('iframe');
54
+ var iframeOriginalSize = {};
55
+
56
+ // Define some default options
57
+ var default_options = {
58
+ start: function(e, ui) {
59
+ iframeOriginalSize = {
60
+ width: jQuery(iframe).width(),
61
+ height: jQuery(iframe).height()
62
+ }
63
+ },
64
+
65
+ // resize is called by the jQuery resizable plugin whenever the
66
+ // client area was resized.
67
+ resize: function(e, ui) {
68
+ var diff = ui.size.height - ui.originalSize.height;
69
+ jQuery(iframe).height( iframeOriginalSize.height + diff );
70
+
71
+ // If the plugin has horizontal resizing disabled we need to
72
+ // adjust the "width" attribute of the area css, because the
73
+ // resizing will set a fixed width (which breaks liquid layout
74
+ // of the wymeditor area).
75
+ if( !ui.options.handles['w'] && !ui.options.handles['e'] ) {
76
+ ui.size.width = "inherit";
77
+ }
78
+ },
79
+ handles: "s,e,se",
80
+ minHeight: 250,
81
+ maxHeight: 600
82
+ };
83
+
84
+ // Merge given options with default options. Given options override
85
+ // default ones.
86
+ var final_options = jQuery.extend(default_options, options);
87
+
88
+ if(jQuery.isFunction( jQuery.fn.resizable )) jQuery(wym._box).resizable(final_options);
89
+ else WYMeditor.console.error('Oops, jQuery UI.resizable unavailable.');
90
+
91
+ };
@@ -0,0 +1,124 @@
1
+
2
+
3
+ resizable plugin for WYMeditor
4
+ ##############################
5
+
6
+ The ``resizable`` plugin for WYMeditor_ enables vertical resizing of the
7
+ editor area. The plugin is based on the jQuery UI library.
8
+
9
+ Requirements
10
+ ============
11
+ The following packages are required for using the WYMeditor ``resizable``
12
+ plugin:
13
+
14
+ * jQuery (tested with jQuery ``jquery-1.2.4a.js`` from ``jquery.ui`` package)
15
+ * WYMeditor SVN trunk (Revision: 482)
16
+ * jQuery-UI (tested with ``jquery.ui-1.5b2``)
17
+
18
+ It should be possible to use this plugin with ``WYMeditor-0.4`` but I have not
19
+ tried.
20
+
21
+ Download
22
+ ========
23
+ You can download the WYMeditor ``resizable`` plugin here:
24
+
25
+ * wymeditor-resizable-plugin-0.2.tgz_
26
+ * wymeditor-resizable-plugin-0.1.tgz_
27
+
28
+ See the Changelog_ for more infos about the releases.
29
+
30
+ .. _wymeditor-resizable-plugin-0.2.tgz: http://pyjax.net/download/wymeditor-resizable-plugin-0.2.tgz
31
+ .. _wymeditor-resizable-plugin-0.1.tgz: http://pyjax.net/download/wymeditor-resizable-plugin-0.1.tgz
32
+
33
+ Installation
34
+ ============
35
+ Just extract the downloaded archive into your WYMeditor's ``plugin``
36
+ directory.
37
+
38
+ Usage
39
+ =====
40
+ For general instructions on WYMeditor plugins please refer to the `WYMeditor
41
+ plugin page`_.
42
+
43
+ To use the ``resizable`` plugin simply include the plugin's JavaScript file in
44
+ your code. You **do not** need to include the jQuery UI files - this is done
45
+ automatically by the plugin (see `Internals`_)::
46
+
47
+ <script type="text/javascript"
48
+ src="/js/wymeditor/plugins/resizable/jquery.wymeditor.resizable.js">
49
+ </script>
50
+
51
+ Make sure to adjust the ``src`` attribute to your needs, then initialize the
52
+ plugin in WYMeditor's ``postInit`` function::
53
+
54
+ wymeditor({postInit: function(wym) {
55
+ wym.hovertools(); // other plugins...
56
+ wym.resizable({handles: "s,e",
57
+ maxHeight: 600});
58
+ }
59
+ })
60
+
61
+ The ``resizable`` plugin takes exactly one parameter, which is an object literal
62
+ containing the options of the plugin. The WYMeditor ``resizable`` plugin
63
+ supports all options of the jQuery UI ``resizable`` plugin. These are the
64
+ default values used by the plugin::
65
+
66
+ handles: "s,e,se",
67
+ minHeight: 250,
68
+ maxHeight: 600
69
+
70
+ See the `jQuery UI resizable plugin docs`_ for a list of all options.
71
+
72
+ That's it! You are now able to resize the WYMeditor vertically, horizontally or
73
+ both, depending on your options.
74
+
75
+ .. _jQuery UI resizable plugin docs: http://docs.jquery.com/UI/Resizables
76
+
77
+ Internals
78
+ =========
79
+ The plugin takes care of loading the necessary jQuery UI files (``base`` and
80
+ ``resizable``) from the same path the jQuery library was loaded. Here's how
81
+ it's done::
82
+
83
+ // Get the jQuery path from the editor, stripping away the jQuery file.
84
+ // see http://www.oreilly.com/catalog/regex/chapter/ch04.html
85
+ // The match result array contains the path and the filename.
86
+ var jQueryPath = wym.computeJqueryPath().match(/^(.*)\/(.*)$/)[1];
87
+
88
+ // Make an array of the external JavaScript files required by the plugin.
89
+ var jQueryPlugins = [jQueryPath + '/ui.base.js',
90
+ jQueryPath + '/ui.resizable.js'];
91
+
92
+ // First get the jQuery UI base file
93
+ $.getScript(jQueryPlugins[0]);
94
+
95
+ // Get the jQuery UI resizeable plugin and then init the wymeditor resizable
96
+ // plugin. It is import to do the initialisation after loading the
97
+ // necessary jQuery UI files has finished, otherwise the "resizable" method
98
+ // would not be available.
99
+ $.getScript(jQueryPlugins[1], function() {
100
+ jQuery(wym._box).resizable(final_options);
101
+ });
102
+
103
+ An alternative approach would be to use an AJAX queue when getting the script
104
+ files to ensure that all jQuery files are loaded before the initialisation code
105
+ of the plugin is executed. There is an `jQuery AJAX queue plugin`_ which does
106
+ that.
107
+
108
+ .. _jQuery AJAX queue plugin: http://plugins.jquery.com/project/ajaxqueue
109
+
110
+ Changelog
111
+ =========
112
+
113
+ 0.2
114
+ ---
115
+ - Added full support for all jQuery UI resizable plugin options.
116
+ - Refactored and documented code.
117
+ - Now contains a packed version (775 bytes).
118
+
119
+ 0.1
120
+ ---
121
+ - Initial release.
122
+
123
+ .. _WYMeditor: http://www.wymeditor.org/
124
+ .. _WYMeditor plugin page: http://trac.wymeditor.org/trac/wiki/0.4/Plugins
@@ -0,0 +1,19 @@
1
+ WYMeditor : what you see is What You Mean web-based editor
2
+ Copyright (c) 2005 - 2009 Jean-Francois Hovinne, http://www.wymeditor.org/
3
+ Dual licensed under the MIT (MIT-license.txt)
4
+ and GPL (GPL-license.txt) licenses.
5
+
6
+ For further information visit:
7
+ http://www.wymeditor.org/
8
+
9
+ File Name:
10
+ README - HTML Tidy plugin for WYMeditor
11
+
12
+ File Authors:
13
+ Jean-François Hovinne (jf.hovinne a-t wymeditor dotorg)
14
+
15
+ Credits:
16
+ 'HTML Tidy' by Dave Ragget - http://tidy.sourceforge.net/
17
+ Icon 'wand' by Mark James - http://famfamfam.com/
18
+
19
+ WYMeditor documentation is available online at http://www.wymeditor.org/
@@ -0,0 +1,82 @@
1
+ /*
2
+ * WYMeditor : what you see is What You Mean web-based editor
3
+ * Copyright (c) 2005 - 2009 Jean-Francois Hovinne, http://www.wymeditor.org/
4
+ * Dual licensed under the MIT (MIT-license.txt)
5
+ * and GPL (GPL-license.txt) licenses.
6
+ *
7
+ * For further information visit:
8
+ * http://www.wymeditor.org/
9
+ *
10
+ * File Name:
11
+ * jquery.wymeditor.tidy.js
12
+ * HTML Tidy plugin for WYMeditor
13
+ *
14
+ * File Authors:
15
+ * Jean-Francois Hovinne (jf.hovinne a-t wymeditor dotorg)
16
+ */
17
+
18
+ //Extend WYMeditor
19
+ WYMeditor.editor.prototype.tidy = function(options) {
20
+ var tidy = new WymTidy(options, this);
21
+ return(tidy);
22
+ };
23
+
24
+ //WymTidy constructor
25
+ function WymTidy(options, wym) {
26
+
27
+ options = jQuery.extend({
28
+
29
+ sUrl: wym._options.basePath + "plugins/tidy/tidy.php",
30
+ sButtonHtml: "<li class='wym_tools_tidy'>"
31
+ + "<a name='CleanUp' href='#'"
32
+ + " style='background-image:"
33
+ + " url(" + wym._options.basePath + "plugins/tidy/wand.png)'>"
34
+ + "Clean up HTML"
35
+ + "</a></li>",
36
+
37
+ sButtonSelector: "li.wym_tools_tidy a"
38
+
39
+ }, options);
40
+
41
+ this._options = options;
42
+ this._wym = wym;
43
+
44
+ };
45
+
46
+ //WymTidy initialization
47
+ WymTidy.prototype.init = function() {
48
+
49
+ var tidy = this;
50
+
51
+ jQuery(this._wym._box).find(
52
+ this._wym._options.toolsSelector + this._wym._options.toolsListSelector)
53
+ .append(this._options.sButtonHtml);
54
+
55
+ //handle click event
56
+ jQuery(this._wym._box).find(this._options.sButtonSelector).click(function() {
57
+ tidy.cleanup();
58
+ return(false);
59
+ });
60
+
61
+ };
62
+
63
+ //WymTidy cleanup
64
+ WymTidy.prototype.cleanup = function() {
65
+
66
+ var wym = this._wym;
67
+ var html = "<html><body>" + wym.xhtml() + "</body></html>";
68
+
69
+ jQuery.post(this._options.sUrl, { html: html}, function(data) {
70
+
71
+ if(data.length > 0 && data != '0') {
72
+ if(data.indexOf("<?php") == 0) {
73
+ wym.status("Ooops... Is PHP installed?");
74
+ } else {
75
+ wym.html(data);
76
+ wym.status("HTML has been cleaned up.");
77
+ }
78
+ } else {
79
+ wym.status("An error occurred.");
80
+ }
81
+ });
82
+ };
@@ -0,0 +1,36 @@
1
+ <?php
2
+
3
+ if (get_magic_quotes_gpc()) $html = stripslashes($_REQUEST['html']);
4
+ else $html = $_REQUEST['html'];
5
+
6
+ if(strlen($html) > 0) {
7
+
8
+ // Specify configuration
9
+ $config = array(
10
+ 'bare' => true,
11
+ 'clean' => true,
12
+ 'doctype' => 'strict',
13
+ 'drop-empty-paras' => true,
14
+ 'drop-font-tags' => true,
15
+ 'drop-proprietary-attributes' => true,
16
+ 'enclose-block-text' => true,
17
+ 'indent' => false,
18
+ 'join-classes' => true,
19
+ 'join-styles' => true,
20
+ 'logical-emphasis' => true,
21
+ 'output-xhtml' => true,
22
+ 'show-body-only' => true,
23
+ 'wrap' => 0);
24
+
25
+ // Tidy
26
+ $tidy = new tidy;
27
+ $tidy->parseString($html, $config, 'utf8');
28
+ $tidy->cleanRepair();
29
+
30
+ // Output
31
+ echo $tidy;
32
+ } else {
33
+
34
+ echo ('0');
35
+ }
36
+ ?>
@@ -0,0 +1,134 @@
1
+ /*
2
+ * WYMeditor : what you see is What You Mean web-based editor
3
+ * Copyright (c) 2005 - 2009 Jean-Francois Hovinne, http://www.wymeditor.org/
4
+ * Dual licensed under the MIT (MIT-license.txt)
5
+ * and GPL (GPL-license.txt) licenses.
6
+ *
7
+ * For further information visit:
8
+ * http://www.wymeditor.org/
9
+ *
10
+ * File Name:
11
+ * screen.css
12
+ * main stylesheet for the WYMeditor skin
13
+ * See the documentation for more info.
14
+ *
15
+ * File Authors:
16
+ * Daniel Reszka (d.reszka a-t wymeditor dotorg)
17
+ * Jean-Francois Hovinne (jf.hovinne a-t wymeditor dotorg)
18
+ */
19
+
20
+ /*TRYING TO RESET STYLES THAT MAY INTERFERE WITH WYMEDITOR*/
21
+ .wym_skin_compact p, .wym_skin_compact h2, .wym_skin_compact h3,
22
+ .wym_skin_compact ul, .wym_skin_compact li { background: transparent url(); margin: 0; padding: 0; border-width:0; list-style: none; }
23
+
24
+
25
+ /*HIDDEN BY DEFAULT*/
26
+ .wym_skin_compact .wym_area_left { display: none; }
27
+ .wym_skin_compact .wym_area_right { display: none; }
28
+
29
+
30
+ /*TYPO*/
31
+ .wym_skin_compact { font-size: 10px; font-family: Verdana, Arial, sans-serif; }
32
+ .wym_skin_compact h2 { font-size: 110%; /* = 11px */}
33
+ .wym_skin_compact h3 { font-size: 100%; /* = 10px */}
34
+ .wym_skin_compact li { font-size: 100%; /* = 10px */}
35
+
36
+
37
+ /*WYM_BOX*/
38
+ .wym_skin_compact { border: 1px solid gray; padding: 5px}
39
+
40
+ /*auto-clear the wym_box*/
41
+ .wym_skin_compact:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
42
+ * html .wym_skin_compact { height: 1%;}
43
+
44
+
45
+ /*WYM_HTML*/
46
+ .wym_skin_compact .wym_html { width: 98%;}
47
+ .wym_skin_compact .wym_html textarea { font-size: 120%; width: 100%; height: 200px; border: 1px solid gray; background: white; }
48
+
49
+
50
+ /*WYM_IFRAME*/
51
+ .wym_skin_compact .wym_iframe { width: 98%;}
52
+ .wym_skin_compact .wym_iframe iframe { width: 100%; height: 200px; border: 1px solid gray; background: white }
53
+
54
+
55
+ /*AREAS*/
56
+ .wym_skin_compact .wym_area_left { width: 100px; float: left;}
57
+ .wym_skin_compact .wym_area_right { width: 150px; float: right;}
58
+ .wym_skin_compact .wym_area_bottom { height: 1%; clear: both;}
59
+ * html .wym_skin_compact .wym_area_main { height: 1%;}
60
+ * html .wym_skin_compact .wym_area_top { height: 1%;}
61
+ *+html .wym_skin_compact .wym_area_top { height: 1%;}
62
+
63
+ /*SECTIONS SYSTEM*/
64
+
65
+ /*common defaults for all sections*/
66
+ .wym_skin_compact .wym_section { margin-bottom: 5px; }
67
+ .wym_skin_compact .wym_section h2,
68
+ .wym_skin_compact .wym_section h3 { padding: 1px 3px; margin: 0; }
69
+ .wym_skin_compact .wym_section a { padding: 0 3px; display: block; text-decoration: none; color: black; }
70
+ .wym_skin_compact .wym_section a:hover { background-color: yellow; }
71
+ /*hide section titles by default*/
72
+ .wym_skin_compact .wym_section h2 { display: none; }
73
+ /*disable any margin-collapse*/
74
+ .wym_skin_compact .wym_section { padding-top: 1px; padding-bottom: 1px; }
75
+ /*auto-clear sections*/
76
+ .wym_skin_compact .wym_section ul:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
77
+ * html .wym_skin_compact .wym_section ul { height: 1%;}
78
+
79
+ /*option: add this class to a section to make it render as a panel*/
80
+ .wym_skin_compact .wym_panel { }
81
+ .wym_skin_compact .wym_panel h2 { display: block; }
82
+
83
+ /*option: add this class to a section to make it render as a dropdown menu*/
84
+ .wym_skin_compact .wym_dropdown h2 { display: block; }
85
+ .wym_skin_compact .wym_dropdown ul { display: none; position: absolute; background: white; }
86
+ .wym_skin_compact .wym_dropdown:hover ul,
87
+ .wym_skin_compact .wym_dropdown.hover ul { display: block; }
88
+
89
+ /*option: add this class to a section to make its elements render buttons (icons are only available for the wym_tools section for now)*/
90
+ .wym_skin_compact .wym_buttons li { float:left;}
91
+ .wym_skin_compact .wym_buttons a { width: 20px; height: 20px; overflow: hidden; padding: 2px }
92
+ /*image replacements*/
93
+ .wym_skin_compact .wym_buttons li a { background: url(icons.png) no-repeat; text-indent: -9999px;}
94
+ .wym_skin_compact .wym_buttons li.wym_tools_strong a { background-position: 0 -382px;}
95
+ .wym_skin_compact .wym_buttons li.wym_tools_emphasis a { background-position: 0 -22px;}
96
+ .wym_skin_compact .wym_buttons li.wym_tools_superscript a { background-position: 0 -430px;}
97
+ .wym_skin_compact .wym_buttons li.wym_tools_subscript a { background-position: 0 -454px;}
98
+ .wym_skin_compact .wym_buttons li.wym_tools_ordered_list a { background-position: 0 -48px;}
99
+ .wym_skin_compact .wym_buttons li.wym_tools_unordered_list a{ background-position: 0 -72px;}
100
+ .wym_skin_compact .wym_buttons li.wym_tools_indent a { background-position: 0 -574px;}
101
+ .wym_skin_compact .wym_buttons li.wym_tools_outdent a { background-position: 0 -598px;}
102
+ .wym_skin_compact .wym_buttons li.wym_tools_undo a { background-position: 0 -502px;}
103
+ .wym_skin_compact .wym_buttons li.wym_tools_redo a { background-position: 0 -526px;}
104
+ .wym_skin_compact .wym_buttons li.wym_tools_link a { background-position: 0 -96px;}
105
+ .wym_skin_compact .wym_buttons li.wym_tools_unlink a { background-position: 0 -168px;}
106
+ .wym_skin_compact .wym_buttons li.wym_tools_image a { background-position: 0 -121px;}
107
+ .wym_skin_compact .wym_buttons li.wym_tools_table a { background-position: 0 -144px;}
108
+ .wym_skin_compact .wym_buttons li.wym_tools_paste a { background-position: 0 -552px;}
109
+ .wym_skin_compact .wym_buttons li.wym_tools_html a { background-position: 0 -193px;}
110
+ .wym_skin_compact .wym_buttons li.wym_tools_preview a { background-position: 0 -408px;}
111
+
112
+ /*DECORATION*/
113
+ .wym_skin_compact .wym_section h2 { background: #f0f0f0; border: solid gray; border-width: 0 0 1px;}
114
+ .wym_skin_compact .wym_section h2 span { color: gray;}
115
+ .wym_skin_compact .wym_panel { padding: 0; border: solid gray; border-width: 1px; background: white;}
116
+ .wym_skin_compact .wym_panel ul { margin: 2px 0 5px; }
117
+ .wym_skin_compact .wym_dropdown { padding: 0; border: solid gray; border-width: 1px 1px 0 1px; }
118
+ .wym_skin_compact .wym_dropdown ul { border: solid gray; border-width: 0 1px 1px 1px; margin-left: -1px; padding: 5px 10px 5px 3px;}
119
+
120
+ /*DIALOGS*/
121
+ .wym_dialog div.row { margin-bottom: 5px;}
122
+ .wym_dialog div.row input { margin-right: 5px;}
123
+ .wym_dialog div.row label { float: left; width: 150px; display: block; text-align: right; margin-right: 10px; }
124
+ .wym_dialog div.row-indent { padding-left: 160px; }
125
+ /*autoclearing*/
126
+ .wym_dialog div.row:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
127
+ .wym_dialog div.row { display: inline-block; }
128
+ /* Hides from IE-mac \*/
129
+ * html .wym_dialog div.row { height: 1%; }
130
+ .wym_dialog div.row { display: block; }
131
+ /* End hide from IE-mac */
132
+
133
+ /*WYMEDITOR_LINK*/
134
+ a.wym_wymeditor_link { text-indent: -9999px; float: right; display: block; width: 50px; height: 15px; background: url(../wymeditor_icon.png); overflow: hidden; text-decoration: none; }