Tips & Tricks

How to Make CKEditor (Almost) WYSIWYG

When using a custom theme, sometimes it is necessary to tell CKEditor to use the correct style.
Let us use the marinelli theme as an example.

By default, it is hard to create a page with CKEditor when using this theme: the background color used by the site and the editor font color are too similar. It is very hard to read anything, and the text is aligned to the center:

Fortunately, there is a way to tell CKEditor to appear just like you would expect.

Take a look at the source of the marinelli template (you may use Firefox with Firebug to do that). The ID of main element is primary. The class is named singlepage.

All you need to do is tell CKEditor to use these styles:

  • Edit the CKEditor profile, in the CSS section choose the Use theme CSS option.
  • In the modules/ckeditor/ckeditor.config.js file add the following code:
    config.bodyClass = 'singlepage';
    config.bodyId = 'primary';
  • As a result, the body inside CKEditor gets the right ID.
  • However, the background is still wrong as is the text alignment. To fix this, add another line of code in the ckeditor.config.js file:
    config.extraCss += "body{background:#FFF;text-align:left;font-size:0.8em;}";
    Since lists also do not look nice by default, you can add some margin:
    config.extraCss += "#primary ol, #primary ul{margin:10px 0 10px 25px;}";
    (see in Firebug how the styles for lists are defined in the marinelli theme to understand the problem)
  • Remember to clear your browser cache after applying changes to JavaScript files.

Here is the final result:

 

Please note that necessary changes for the marinelli theme are already available in the ckeditor.config.js file. They can be taken as an example.

Screencasts

Comments

Have a nice time :-)

Have a nice time :-)

     

   
   
   

hi

hiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii

heirfhekwlrjlew dsdad

heirfhekwlrjlew

dsdad

public void main(String abc)

public void main(String abc)

asd asd asd asd

  • asd
  • asd
  • asd
  • asd

    COOOOOOOOO

 

 

COOOOOOOOOOOOOOOCK COCK COCK

 

COOOOOOOOOOOOOOOCK COCK COCK COOOOOOOOOOOOOOOCK COCK COCK COOOOOOOOOOOOOOOCK COCK COCK COOOOOOOOOOOOOOOCK COCK COCK 

 

 

COOOOOOOOOOOOOOOCK COCK COCK

 

COOOOOOOOOOOOOOOCK COCK COCK COOOOOOOOOOOOOOOCK COCK COCK COOOOOOOOOOOOOOOCK COCK COCK COOOOOOOOOOOOOOOCK COCK COCK 

 

 

COOOOOOOOOOOOOOOCK COCK COCK

 

COOOOOOOOOOOOOOOCK COCK COCK COOOOOOOOOOOOOOOCK COCK COCK COOOOOOOOOOOOOOOCK COCK COCK COOOOOOOOOOOOOOOCK COCK COCK 

 

Lorem ipsum dolor sit amet,

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ut dolor eu diam sodales convallis. Nam id tortor quam. Duis eu ultricies turpis. Nunc et suscipit est. Morbi blandit, tortor sodales dapibus viverra, tortor ligula laoreet est, ut tristique tellus ante ut nibh. Mauris placerat placerat tellus id commodo. Morbi laoreet tincidunt ligula, id adipiscing dui dignissim et. In hac habitasse platea dictumst. Etiam velit tellus, sodales vitae consectetur varius, scelerisque quis ligula. Maecenas pretium purus sit amet nunc ornare euismod. Nullam et sem et arcu eleifend ullamcorper. Vestibulum sit amet auctor sem. Mauris blandit, elit ut bibendum consectetur, dolor neque lobortis erat, vel aliquet diam augue eget libero.

Nulla at elit tincidunt purus ornare auctor pulvinar ut leo

Nullam id sem nec quam imperdiet tincidunt. Etiam vel euismod est. Fusce at orci nec mauris cursus varius in a justo. Cras vel sapien a magna tempus ultricies eleifend a turpis. Etiam neque est, pulvinar sit amet adipiscing vel, vestibulum vel sem. Morbi hendrerit, lorem et eleifend tristique, risus justo dictum lectus, sed auctor neque mi ut dui. Donec ultricies mi nec augue posuere in lacinia ipsum dignissim. Aliquam erat volutpat. Vivamus vel eros a mauris pharetra suscipit. Curabitur iaculis, nunc id tempor consectetur, quam turpis convallis enim, a porttitor nunc eros et felis. Maecenas volutpat, purus et lacinia fringilla, felis lacus ornare odio, vel ullamcorper nisl erat dictum lorem. Cras leo erat, vehicula at porttitor sed, tincidunt a tellus. Nulla interdum suscipit ultricies. Etiam varius, eros eu sodales dignissim, massa velit laoreet orci, vel malesuada urna nunc quis risus.

Mauris sed magna quis augue hendrerit blandit. Quisque eget quam ut nunc mollis fermentum. Suspendisse potenti. Vestibulum elementum luctus posuere. Vivamus suscipit, erat non commodo faucibus, arcu purus vulputate ante, eget posuere est orci sed magna. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Duis risus metus, malesuada tristique pharetra et, egestas et ligula.

Duis eget ante mollis risus sollicitudin feugiat. Cras dui sem, lacinia ut sagittis eget, venenatis at arcu. Mauris vitae lobortis purus. Aliquam luctus tellus nec nisl posuere id vulputate magna placerat. Praesent bibendum purus ornare purus vehicula eu varius massa tempus. Nullam nibh mi, fringilla a feugiat in, euismod nec urna. Quisque at ante sit amet justo molestie laoreet et sit amet justo. Sed ac odio ante, at egestas purus. Suspendisse ut fermentum erat. Cras in lacus a erat elementum iaculis et ac massa. Integer rutrum dapibus mi, nec interdum magna luctus cursus. Aenean placerat, neque at feugiat consectetur, nulla massa bibendum massa, volutpat fringilla tellus magna ac turpis. Donec fermentum justo quis mauris mollis pretium. Mauris nec augue turpis.

Sed dapibus nisl quis metus luctus vitae vestibulum risus ultricies. Quisque ut lectus lacus. Praesent non turpis in elit pellentesque dapibus vel at turpis. Aliquam erat volutpat. In auctor semper orci, eget scelerisque ante rutrum a. Vestibulum nec hendrerit sapien. Proin et dolor mi, nec sagittis mauris.

Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer id ornare lectus. Aenean imperdiet diam sed augue porta feugiat. Duis tempor est vel augue auctor sagittis. Nam semper lorem et libero pulvinar ut consequat neque condimentum. Aliquam eu nibh sit amet dui bibendum vestibulum. Mauris hendrerit, ligula non tincidunt dapibus, urna erat posuere est, at fringilla velit lorem eu mi. Curabitur non nulla lectus. Vivamus varius leo quis ipsum pharetra at feugiat dui fringilla. Aliquam turpis magna, porta eu hendrerit nec, pellentesque eu diam.

Suspendisse sollicitudin aliquet libero ut eleifend. Donec porta molestie justo nec euismod. Mauris non magna in diam aliquet vehicula. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Aenean id enim sapien, varius euismod mauris. Nulla in diam sem. Nunc dolor elit, faucibus id venenatis ac, hendrerit et est. Mauris imperdiet rhoncus augue vitae ultrices.

Nullam malesuada blandit felis eu condimentum. Ut semper lorem sit amet nisl pretium interdum. Proin ipsum leo, fringilla vitae facilisis nec, dictum vitae velit. Maecenas elementum quam in lectus mattis ac feugiat arcu tincidunt. Suspendisse at lacinia enim. Fusce laoreet, lacus a blandit sagittis, leo risus ullamcorper tortor, nec mollis purus libero ut enim. Maecenas ut ullamcorper leo. Ut venenatis facilisis lacinia.

Proin euismod, mauris eu posuere porta, dolor lorem interdum purus, in tempus massa leo eget leo. Quisque facilisis condimentum libero vel viverra. Maecenas porttitor nunc vel tortor sagittis faucibus. Sed est velit, placerat in scelerisque quis, egestas sit amet dolor. Donec ullamcorper posuere tortor et cursus. Donec vel sagittis leo. Integer lacus nisi, elementum non mollis a, porttitor id dolor.

Sed gravida lacinia lorem, nec ultricies quam auctor in. Suspendisse venenatis orci id nibh condimentum et commodo ante ultrices. Mauris placerat venenatis pulvinar. Ut volutpat congue mattis. Nam posuere, felis vestibulum cursus venenatis, orci mi lacinia nisl, vel condimentum leo felis ac libero. Suspendisse nibh leo, mollis eget tempor eget, bibendum quis dui. Phasellus tincidunt sem ut orci suscipit adipiscing. Cras accumsan magna in lorem vestibulum a fermentum sapien posuere. Suspendisse hendrerit blandit bibendum.

krupali v mehta

krupali v mehta

Test

   
   
   

Post new comment

  • HTML tags will be transformed to conform to HTML standards.

More information about formatting options