Luke Plant avatar Luke Plant committed 00199d0

Copied/customised the default WYMeditor skin from django-cms2

Comments (0)

Files changed (5)

Add a comment to this file

semanticeditor/media/semanticeditor/javascript/wymeditor/skins/semanticeditor/icons.png

Added
New image

semanticeditor/media/semanticeditor/javascript/wymeditor/skins/semanticeditor/skin.css

+/*
+ * WYMeditor : what you see is What You Mean web-based editor
+ * Copyright (c) 2008 Jean-Francois Hovinne, http://www.wymeditor.org/
+ * Dual licensed under the MIT (MIT-license.txt)
+ * and GPL (GPL-license.txt) licenses.
+ *
+ * For further information visit:
+ *      http://www.wymeditor.org/
+ *
+ * File Name:
+ *      skin.css
+ *      main stylesheet for the django WYMeditor skin
+ *      See the documentation for more info.
+ *
+ * File Authors:
+ *      Daniel Reszka (d.reszka a-t wymeditor dotorg)
+ *      Jannis Leidel (jannis@leidel.info)
+*/
+
+/*TRYING TO RESET STYLES THAT MAY INTERFERE WITH WYMEDITOR*/
+        .wym_skin_semanticeditor p, .wym_skin_semanticeditor h2, .wym_skin_semanticeditor h3,
+        .wym_skin_semanticeditor ul, .wym_skin_semanticeditor li { background: transparent url(); margin: 0; padding: 0; border-width:0; list-style: none; }
+
+
+/*HIDDEN BY DEFAULT*/
+        .wym_skin_semanticeditor .wym_area_left          { display: none; }
+        .wym_skin_semanticeditor .wym_area_right         { display: block; }
+
+
+/*TYPO*/    
+        .wym_skin_semanticeditor                { font-size: 62,5%; font-family: "Lucida Grande", "DejaVu Sans", "Bitstream Vera Sans", Verdana, Arial, sans-serif }
+        .wym_skin_semanticeditor h2             { font-size: 110%; /* = 11px */}
+        .wym_skin_semanticeditor h3             { font-size: 100%; /* = 10px */}
+        .wym_skin_semanticeditor li             { font-size: 100%; /* = 10px */}
+
+
+/*WYM_BOX*/
+        .wym_skin_semanticeditor                { border: 0px; background: none; padding: 10px}
+
+    /*auto-clear the wym_box*/
+        .wym_skin_semanticeditor:after 	        { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
+ * html .wym_skin_semanticeditor                { height: 1%;}
+
+
+/*WYM_HTML*/
+        .wym_skin_semanticeditor .wym_html               { width: 98%;}
+        .wym_skin_semanticeditor .wym_html textarea      { width: 100%; height: 200px; border: 1px solid #ccc; background: white;  }
+
+
+/*WYM_IFRAME*/
+        .wym_skin_semanticeditor .wym_iframe             { width: 98%;}
+        .wym_skin_semanticeditor .wym_iframe iframe      { width: 100%; height: 200px; border: 1px solid #ccc; background: white }
+
+
+/*AREAS*/
+        .wym_skin_semanticeditor .wym_area_left          { width: 150px; float: left;}
+        .wym_skin_semanticeditor .wym_area_right         { width: 150px; float: right;}
+        .wym_skin_semanticeditor .wym_area_bottom        { clear: both; display: none;}
+ * html .wym_skin_semanticeditor .wym_area_main          { height: 1%;}
+ * html .wym_skin_semanticeditor .wym_area_top           { height: 1%;}
+ *+html .wym_skin_semanticeditor .wym_area_top           { height: 1%;}
+
+/*SECTIONS SYSTEM*/
+
+    /*common defaults for all sections*/
+        .wym_skin_semanticeditor .wym_section            { margin-bottom: 5px; }
+        .wym_skin_semanticeditor .wym_section h2,
+        .wym_skin_semanticeditor .wym_section h3         { padding: 1px 3px; margin: 0; color:#333; }
+        .wym_skin_semanticeditor .wym_section a          { padding: 0 3px; display: block; text-decoration: none; color: black; }
+        .wym_skin_semanticeditor .wym_section a:hover    { background-color: #eaeaea; }
+      /*hide section titles by default*/
+        .wym_skin_semanticeditor .wym_section h2         { display: none; }
+      /*disable any margin-collapse*/
+        .wym_skin_semanticeditor .wym_section            { padding-top: 1px; padding-bottom: 1px; }    
+      /*auto-clear sections*/
+        .wym_skin_semanticeditor .wym_section ul:after   { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
+ * html .wym_skin_semanticeditor .wym_section ul         { height: 1%;}
+
+    /*option: add this class to a section to make it render as a panel*/
+        .wym_skin_semanticeditor .wym_panel              { }
+        .wym_skin_semanticeditor .wym_panel h2           { display: block; }
+
+    /*option: add this class to a section to make it render as a dropdown menu*/
+        .wym_skin_semanticeditor .wym_dropdown h2        { display: block; }
+        .wym_skin_semanticeditor .wym_dropdown ul        { display: none; position: absolute; background: white; }
+        .wym_skin_semanticeditor .wym_dropdown:hover ul,
+        .wym_skin_semanticeditor .wym_dropdown.hover ul  { display: block; }
+
+        .wym_skin_semanticeditor .wym_tools ul  { padding-left: 0px !important; margin-left: 0px; }
+        
+    /*option: add this class to a section to make its elements render buttons (icons are only available for the wym_tools section for now)*/
+        .wym_skin_semanticeditor .wym_buttons li         { float:left;}
+        .wym_skin_semanticeditor .wym_buttons a          { width: 20px; height: 20px; overflow: hidden; padding: 2px }
+      /*image replacements*/
+        .wym_skin_semanticeditor .wym_buttons li a                         { background: url(icons.png) no-repeat; text-indent: -9999px;} 
+        .wym_skin_semanticeditor .wym_buttons li.wym_tools_strong a        { background-position: 0 -382px;}
+        .wym_skin_semanticeditor .wym_buttons li.wym_tools_emphasis a      { background-position: 0 -22px;}
+        .wym_skin_semanticeditor .wym_buttons li.wym_tools_superscript a   { background-position: 0 -430px;}
+        .wym_skin_semanticeditor .wym_buttons li.wym_tools_subscript a     { background-position: 0 -454px;}
+        .wym_skin_semanticeditor .wym_buttons li.wym_tools_ordered_list a  { background-position: 0 -48px;}
+        .wym_skin_semanticeditor .wym_buttons li.wym_tools_unordered_list a{ background-position: 0 -72px;}
+        .wym_skin_semanticeditor .wym_buttons li.wym_tools_indent a        { background-position: 0 -574px;}
+        .wym_skin_semanticeditor .wym_buttons li.wym_tools_outdent a       { background-position: 0 -598px;}
+        .wym_skin_semanticeditor .wym_buttons li.wym_tools_undo a          { background-position: 0 -502px;}
+        .wym_skin_semanticeditor .wym_buttons li.wym_tools_redo a          { background-position: 0 -526px;}
+        .wym_skin_semanticeditor .wym_buttons li.wym_tools_link a          { background-position: 0 -96px;}
+        .wym_skin_semanticeditor .wym_buttons li.wym_tools_unlink a        { background-position: 0 -168px;}
+        .wym_skin_semanticeditor .wym_buttons li.wym_tools_image a         { background-position: 0 -121px;}
+        .wym_skin_semanticeditor .wym_buttons li.wym_tools_table a         { background-position: 0 -144px;}
+        .wym_skin_semanticeditor .wym_buttons li.wym_tools_paste a         { background-position: 0 -552px;}
+        .wym_skin_semanticeditor .wym_buttons li.wym_tools_html a          { background-position: 0 -193px;}
+        .wym_skin_semanticeditor .wym_buttons li.wym_tools_preview a       { background-position: 0 -408px;}
+
+/*DECORATION*/
+        .wym_skin_semanticeditor .wym_section h2             { background: #fff;}
+        .wym_skin_semanticeditor .wym_section h2 span        { color: gray;}
+        .wym_skin_semanticeditor .wym_panel                  { padding: 0; background: white;}    
+        .wym_skin_semanticeditor .wym_panel ul               { margin: 2px 0 5px; }        
+        .wym_skin_semanticeditor .wym_dropdown               { padding: 0; border: solid gray; border-width: 1px 1px 0 1px; }
+        .wym_skin_semanticeditor .wym_dropdown ul            { border: solid gray; border-width: 0 1px 1px 1px; margin-left: -1px; padding: 5px 10px 5px 3px;}
+        
+/*DIALOGS*/
+        .wym_dialog div.row         { margin-bottom: 5px;}
+        .wym_dialog div.row input   { margin-right: 5px;}
+        .wym_dialog div.row label   { float: left; width: 150px; display: block; text-align: right; margin-right: 10px; }
+        .wym_dialog div.row-indent  { padding-left: 160px; }
+        /*autoclearing*/        
+        .wym_dialog div.row:after            { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
+        .wym_dialog div.row                  { display: inline-block; }
+            /* Hides from IE-mac \*/
+            * html .wym_dialog div.row       { height: 1%; }
+            .wym_dialog div.row              { display: block; }
+            /* End hide from IE-mac */                
+            
+/*WYMEDITOR_LINK*/
+        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;  }

semanticeditor/media/semanticeditor/javascript/wymeditor/skins/semanticeditor/skin.js

+WYMeditor.SKINS['semanticeditor'] = {
+
+    init: function(wym) {
+
+        //render following sections as panels
+        jQuery(wym._box).find(wym._options.classesSelector)
+          .addClass("wym_panel");
+
+        //render following sections as buttons
+        jQuery(wym._box).find(wym._options.toolsSelector)
+          .addClass("wym_buttons");
+
+        //render following sections as dropdown menus
+        jQuery(wym._box).find(wym._options.containersSelector)
+          .addClass("wym_panel")
+          .find(WYMeditor.H2)
+          .append("<span>&nbsp;&gt;</span>");
+
+        // auto add some margin to the main area sides if left area
+        // or right area are not empty (if they contain sections)
+        jQuery(wym._box).find("div.wym_area_right ul")
+          .parents("div.wym_area_right").show()
+          .parents(wym._options.boxSelector)
+          .find("div.wym_area_main")
+          .css({"margin-right": "155px"});
+
+        jQuery(wym._box).find("div.wym_area_left ul")
+          .parents("div.wym_area_left").show()
+          .parents(wym._options.boxSelector)
+          .find("div.wym_area_main")
+          .css({"margin-left": "155px"});
+
+        //make hover work under IE < 7
+        jQuery(wym._box).find(".wym_section").hover(function(){
+          jQuery(this).addClass("hover");
+        },function(){
+          jQuery(this).removeClass("hover");
+        });
+    }
+};

semanticeditor/templates/semanticeditor/editorwidget.html

 <script type="text/javascript">
     jQuery('#id_{{ name }}').wymeditor({
         lang: '{{ language }}',
-        skin: 'django',
-        skinPath: "{{ CMS_MEDIA_URL }}javascript/wymeditor/skins/django/",
+        skin: 'semanticeditor',
+        skinPath: "{{ SE_MEDIA_URL }}javascript/wymeditor/skins/semanticeditor/",
         updateSelector: '.submit-row input[type=submit],',
         updateEvent: 'click',
         postInit: function(wym) {
                  + "<a name='PageLink' href='#'"
                  + " title='Page link'"
                  + " style='background-image:"
-                 + " url({{ CMS_MEDIA_URL }}javascript/wymeditor/skins/django/icons.png);"
+                 + " url({{ SE_MEDIA_URL }}javascript/wymeditor/skins/semanticeditor/icons.png);"
                  + " background-position-y: -623px;'>"
                  + "Page link"
                  + "</a></li>";

semanticeditor/widgets.py

 # Include all the normal ones
 from cms.admin.widgets import *
 from django import forms
-from cms.settings import CMS_MEDIA_URL
+from django.conf import settings
+
 
 class SemanticEditor(WYMEditor):
     def _media(self):
         context = {
             'name': name,
             'language': self.language,
-            'CMS_MEDIA_URL': CMS_MEDIA_URL,
+            'SE_MEDIA_URL': settings.SE_MEDIA_URL,
         }
         return mark_safe(render_to_string(
             'semanticeditor/editorwidget.html', context))
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.