data/System/SmartEditContrib.txt
changeset 7 39908cff6bb5
child 11 d4ded5771ee4
equal deleted inserted replaced
6:18d1c8d35def 7:39908cff6bb5
       
     1 ---+!! <nop>Smart Edit Contrib
       
     2 
       
     3 Smart Edit is a !JavaScript editor "&agrave; la wikipedia" for Foswiki.
       
     4 
       
     5 It takes an alternate approach to the WYSIWYG one, as its goals are
       
     6    * be useful, even for experienced wiki users
       
     7    * predictability: What you see is what will be saved
       
     8    * reliability: use only the standard TEXTAREA of the browsers
       
     9    * be unobstrusive: as long as you do not use the toolbar, you are still
       
    10      using the traditional raw wiki editor
       
    11 
       
    12 The aim is to assist System.WikiSyntax editing by providing the following features as !JavaScript code:
       
    13 
       
    14    * Foswiki syntax insertion
       
    15    * Keyboard shortcuts
       
    16    * Configurable menus
       
    17    * A dynamic Foswiki link selection
       
    18    * A search bar
       
    19 
       
    20 Smart Edit is a !JavaScript application, working on *Firefox* , *Internet Explorer* and *Mozilla* . The code is clearly sub-optimal, and should be rewritten as it can be too slow on big topics. It is however much faster on firefox, meaning that you will be able to edit comfortably 15k topics with IE and 80k topics on Firefox. However, we use it as our default editor on our intranet.
       
    21 
       
    22 *You can see a demo here* : http://twbw-test.luddeni.net/bin/view/Sandbox (<nop>DemoDemo/demo)
       
    23 
       
    24 <img src="%ATTACHURLPATH%/screenShotSmartEditor.JPG" alt="screenShotSmartEditor.JPG" width='766' height='67' />
       
    25 
       
    26 %TOC%
       
    27 
       
    28 ---++ Features and user manual
       
    29 ---+++ Styles
       
    30 
       
    31 *Supported styles* : Bold, Bold Italic, Italic, Formatted, Verbatim, Blockquote, Heading 1 to 6.
       
    32 
       
    33 *How does it work ?*
       
    34 
       
    35 When you click on the bold button (for example), Smart Edit gets your selection and inserts the bold tags at the right place. This editor doesn't have a context engine so if you click 2 times on the bold button, you will have 2 bold tags.
       
    36 
       
    37 <nop>SmartEditContrib aumatically detect blanks and line break to insert tags at the right place.
       
    38 
       
    39 ---+++ Lists
       
    40 
       
    41 *List types* : Normal (bullet) and numered.
       
    42 
       
    43 *How does it work ?*
       
    44 
       
    45 Basically, it works like styles but a minimal context was developped to help you.
       
    46 
       
    47    * A click on the list button add a list item a the beginning of the current line. You do not need to put the cursor at this place or to select the while line.
       
    48 
       
    49    * You just type * and 1 space, then you type your text and when you type on the "return" key, the list item is automatically created.
       
    50    * If you are editing a list item and you hit the return key, a new list item will be created with the same indentation in the next line.
       
    51    * To indent or outdent a list item, you can just hit the "TAB" key of "SHIFT TAB" like in others editors
       
    52    * SHIFT+RETURN creates a br tag on the next line
       
    53 
       
    54 ---+++ Links
       
    55 
       
    56    * *External links*
       
    57       * Smart Edit provides you a simple and intuitive interface to insert a link. You can also watch a preview of the given link.
       
    58 
       
    59    * *Internal links*
       
    60       * A dynamic interface help you to select and insert a Foswiki link. You just have to select one web in a list, then choose a topic by its name with auto completion assistance.
       
    61 
       
    62 ---+++ Icons
       
    63 
       
    64 *Configuration* via the Foswiki macros SMARTEDITICONSITE, SMARTEDITICONWEB, SMARTEDITICONUSER that take a list of XML values of the ICON graphics and its LABEL like 
       
    65 <br> =&lt;tselement&gt;&lt;tsname&gt; LABEL &lt;/tsname&gt;&lt;tsstring&gt; ICON &lt;/tsstring&gt;&lt;/tselement&gt;=
       
    66 <br> e.g. =&lt;tselement&gt;&lt;tsname&gt; %<nop>ICON{lock}%&lt;/tsname&gt;&lt;tsstring&gt;%&lt;nop&gt;ICON{lock}%&lt;/tsstring&gt;&lt;/tselement&gt;=
       
    67 
       
    68 To add more than one element, you just have to copy from =&lt;tselement&gt;= to =&lt;/tselement&gt;= and to complete each one.
       
    69 
       
    70 *Warning*: the ICON and LABEL should only use double quotes ", not simple quotes '. The %<nop>ICON{...}% construct uses double quote, as in =&lt;img src="..."&gt;=, you should not use =&lt;img src='...'&gt;= otherwise smartedit wont run and you will stay in raw edit.
       
    71 
       
    72 *Use* : Just open the icon chooser with icon button and click on your image to insert it into the text.
       
    73 
       
    74 ---+++ Insertion
       
    75 
       
    76 *Basic insertion* : Smart Edit provides you some basic tags to insert that are =&lt;nop&gt;=, =&lt;br /&gt;= and =&lt;hr /&gt;=. But it is possible to configure personal strings to insert by editing a simple Foswiki macro.
       
    77 
       
    78 *Configuration* : via the Foswiki macros SMARTEDITSTRINGSITE,  SMARTEDITSTRINGWEB, SMARTEDITSTRINGUSERS that take a list of XML values of the STRING to insert and its LABEL like 
       
    79 <br> =&lt;tselement&gt;&lt;tsname&gt; LABEL &lt;/tsname&gt;&lt;tsstring&gt; STRING &lt;/tsstring&gt;&lt;/tselement&gt;=
       
    80 <br> e.g. =&lt;tselement&gt;&lt;tsname&gt; Today's Date&lt;/tsname&gt;&lt;tsstring&gt; %<nop>GMTIME{$year-$mo-$day}%&lt;/tsstring&gt;&lt;/tselement&gt;=
       
    81 
       
    82 To add more than one element, you just have to copy from =&lt;tselement&gt;= to =&lt;/tselement&gt;= and to complete each one.
       
    83 
       
    84 *Warning*: the ICON and LABEL should only use simple quotes ', not double quotes "
       
    85 
       
    86 
       
    87 ---+++ Search
       
    88 
       
    89 Smart Edit also provides you a search toolbar. You just have to type your text and you know automatically if the typed text is found into the textarea.
       
    90 
       
    91 Info : When you are entering text into the search text box, a click on the "*return*" key automatically selects the first occurence of your text.
       
    92 Textarea size
       
    93 
       
    94 Smart Edit gives you the ability to increase or decrease the textarea height with these buttons: . You can also set the textarea size to the exact number of lines in your text by clicking on the "Auto fit" button. 
       
    95 
       
    96 ---+++ Keyboard shortcuts
       
    97 
       
    98    * *TAB* - Indent the current line (no selection needed)
       
    99    * *SHIFT+TAB* - Outdent the current line (no selection needed)
       
   100    * *RETURN*
       
   101       * If there is a list item into the current line, automatically go to the next line and add a new list item with the same indentation
       
   102       * If there is a list item into the current line and no text, automatically go to the next line, deleting last empty list item
       
   103       * If your the text in the current line is indented, go to the next line with the same indentation
       
   104    * *SHIFT+RETURN*
       
   105       * Go to the next line, add a br tag with the same indentation 
       
   106 
       
   107 ---++ Contrib Install new release
       
   108 
       
   109 When a new release is available, you just have to download the zip file and to unzip it from your foswiki root directory.
       
   110 
       
   111 ---++ Contrib Installation Instructions on pattern-based skins
       
   112    * unzip/untar the plugin at the root level of your foswiki install
       
   113    * If you use the default pattern skin, just put in your <nop>Main.SitePreferences a
       
   114 <verbatim>
       
   115       * Set SKIN = smarteditor, pattern
       
   116 </verbatim>
       
   117    * Note that it should be compatible with other pattern modifications,
       
   118      e.g. =Set SKIN = smarteditor, editdefault, pattern=
       
   119    * Add the following declarations to the same <nop>Main.SitePreferences topic. You can expand and/or modify these at will
       
   120 <verbatim>
       
   121 ---++ Smartedit
       
   122 Warning: only use simple quotes ', not double quotes " in the following 3 vars:
       
   123    * Set SMARTEDITSTRINGSITE = <tselement><tsname>Today's Date</tsname><tsstring>%GMTIME{$year-$mo-$day}%</tsstring></tselement><tselement><tsname>User name</tsname><tsstring>%WIKIUSERNAME%</tsstring></tselement><tselement><tsname>Signature</tsname><tsstring>--&nbsp;%WIKIUSERNAME% - %DATE%</tsstring></tselement><tselement><tsname>Comments, signed and dated, added at top</tsname><tsstring>%<nop>COMMENT{type='top'}%</tsstring></tselement><tselement><tsname>Comments, signed and dated, added at end</tsname><tsstring>%<nop>COMMENT{type='bottom'}%</tsstring></tselement><tselement><tsname>Comments, signed and dated, added immediately before</tsname><tsstring>%<nop>COMMENT{type='above'}%</tsstring></tselement><tselement><tsname>Bullet item added immediately before</tsname><tsstring>%<nop>COMMENT{type='bulletabove'}%</tsstring></tselement><tselement><tsname>Wiki thread mode comment, signed and dated</tsname><tsstring>%<nop>COMMENT{type='threadmode'}%</tsstring></tselement><tselement><tsname>Comments, signed and dated, added recurse after comment box</tsname><tsstring>%<nop>COMMENT{type='belowthreadmode'}%</tsstring></tselement><tselement><tsname>Comments, signed and dated, added immediately below</tsname><tsstring>%<nop>COMMENT{type='below'}%</tsstring></tselement><tselement><tsname>Comments, signed and dated, added at top of table below</tsname><tsstring>%<nop>COMMENT{type='tableprepend'}%</tsstring></tselement><tselement><tsname>Comments, signed and dated, added at end of table above</tsname><tsstring>%<nop>COMMENT{type='tableappend'}%</tsstring></tselement><tselement><tsname>Add before the comment box, after the last comment</tsname><tsstring>%<nop>COMMENT{type='after'}%</tsstring></tselement><tselement><tsname>Action of Action Tracker added to action table directly above</tsname><tsstring>%<nop>COMMENT{type='action'}%</tsstring></tselement><tselement><tsname>Tablerows adding on end</tsname><tsstring>%<nop>COMMENT{type='table'}%</tsstring></tselement><tselement><tsname>Talk using TOC adding on end</tsname><tsstring>%<nop>COMMENT{type='toctalk'}%</tsstring></tselement><tselement><tsname>Create a list of annotated bookmarks</tsname><tsstring>%<nop>COMMENT{type='bookmark'}%</tsstring></tselement><tselement><tsname>Post to a different topic and return to here</tsname><tsstring>%<nop>COMMENT{type='return'}%</tsstring></tselement>
       
   124    * Set SMARTEDITSTRINGWEB = 
       
   125    * Set SMARTEDITSTRINGUSERS =
       
   126    
       
   127 Warning: only use double quotes ", not single quotes ' in the following 3 vars:
       
   128    * Set SMARTEDITICONSITE = <tselement><tsname> %ICON{info}%</tsname><tsstring>%<nop>ICON{info}%</tsstring></tselement><tselement><tsname> %ICON{more}%</tsname><tsstring>%<nop>ICON{more}%</tsstring></tselement><tselement><tsname> %ICON{note}%</tsname><tsstring>%<nop>ICON{note}%</tsstring></tselement><tselement><tsname> %ICON{pencil}%</tsname><tsstring>%<nop>ICON{pencil}%</tsstring></tselement><tselement><tsname> %ICON{question}%</tsname><tsstring>%<nop>ICON{question}%</tsstring></tselement><tselement><tsname> %ICON{stargold}%</tsname><tsstring>%<nop>ICON{stargold}%</tsstring></tselement><tselement><tsname> %ICON{starred}%</tsname><tsstring>%<nop>ICON{starred}%</tsstring></tselement><tselement><tsname> %ICON{stop}%</tsname><tsstring>%<nop>ICON{stop}%</tsstring></tselement><tselement><tsname> %ICON{target}%</tsname><tsstring>%<nop>ICON{target}%</tsstring></tselement><tselement><tsname> %ICON{tip}%</tsname><tsstring>%<nop>ICON{tip}%</tsstring></tselement><tselement><tsname> %ICON{warning}%</tsname><tsstring>%<nop>ICON{warning}%</tsstring></tselement><tselement><tsname> %ICON{wip}%</tsname><tsstring>%<nop>ICON{wip}%</tsstring></tselement><tselement><tsname> %ICON{watch}%</tsname><tsstring>%<nop>ICON{watch}%</tsstring></tselement><tselement><tsname> %ICON{wrench}%</tsname><tsstring>%<nop>ICON{wrench}%</tsstring></tselement><tselement><tsname> %ICON{person}%</tsname><tsstring>%<nop>ICON{person}%</tsstring></tselement><tselement><tsname> %ICON{group}%</tsname><tsstring>%<nop>ICON{group}%</tsstring></tselement><tselement><tsname> %ICON{key}%</tsname><tsstring>%<nop>ICON{key}%</tsstring></tselement><tselement><tsname> %ICON{lock}%</tsname><tsstring>%<nop>ICON{lock}%</tsstring></tselement><tselement><tsname> %ICON{new}%</tsname><tsstring>%<nop>ICON{new}%</tsstring></tselement><tselement><tsname> %ICON{todo}%</tsname><tsstring>%<nop>ICON{todo}%</tsstring></tselement><tselement><tsname> %ICON{updated}%</tsname><tsstring>%<nop>ICON{updated}%</tsstring></tselement><tselement><tsname> %ICON{done}%</tsname><tsstring>%<nop>ICON{done}%</tsstring></tselement><tselement><tsname> %ICON{closed}%</tsname><tsstring>%<nop>ICON{closed}%</tsstring></tselement><tselement><tsname> %ICON{choice-yes}%</tsname><tsstring>%<nop>ICON{choice-yes}%</tsstring></tselement><tselement><tsname> %ICON{choice-no}%</tsname><tsstring>%<nop>ICON{choice-no}%</tsstring></tselement><tselement><tsname> %ICON{choice-cancel}%</tsname><tsstring>%<nop>ICON{choice-cancel}%</tsstring></tselement><tselement><tsname> %ICON{minus}%</tsname><tsstring>%<nop>ICON{minus}%</tsstring></tselement><tselement><tsname> %ICON{plus}%</tsname><tsstring>%<nop>ICON{plus}%</tsstring></tselement><tselement><tsname> %ICON{home}%</tsname><tsstring>%<nop>ICON{home}%</tsstring></tselement><tselement><tsname> %ICON{left}%</tsname><tsstring>%<nop>ICON{left}%</tsstring></tselement><tselement><tsname> %ICON{right}%</tsname><tsstring>%<nop>ICON{right}%</tsstring></tselement><tselement><tsname> %ICON{up}%</tsname><tsstring>%<nop>ICON{up}%</tsstring></tselement><tselement><tsname> %ICON{down}%</tsname><tsstring>%<nop>ICON{down}%</tsstring></tselement>
       
   129    * Set SMARTEDITICONWEB =
       
   130    * Set SMARTEDITICONUSER =
       
   131 
       
   132 
       
   133 </verbatim>
       
   134 
       
   135 ---++ Adaptation to non-pattern based skins
       
   136 You will have to adapt your skin for it. the principles are detailed in the =README-SmartEditContrib.txt= in the distrib
       
   137 
       
   138 ---++ Contrib Info
       
   139 
       
   140    * Set SHORTDESCRIPTION = Toolbar to help edit Foswiki content
       
   141 
       
   142 |  Add-on Author: | Gael Crova (Special thanks to Colas Nahaboo and Frederic Luddeni for their help and feedback)|
       
   143 |  Add-on Version: | 14 Apr 2009 (v3) |
       
   144 |  Change History: | <!-- versions below in reverse order -->&nbsp; |
       
   145 | 14 Apr 2009: | v3: Version for Foswiki 1.0.4 |
       
   146 | 23 Jan 2008: | v2: Version for TWiki Freetown, 4.2.0 |
       
   147 |  18 Aug 2006: | IE Toolbar width fixed |
       
   148 |  16 Aug 2006: | Tab and SHIFT-TAB events disabled in Opera - Help in a specific topic with the viewprint template |
       
   149 |  16 Aug 2006: | Blanks in external links fixed |
       
   150 |  10 Aug 2006: | solved display bug for insert internal link |
       
   151 |  09 Aug 2006: | solved some bugs on TWiki 4.0.2 |
       
   152 |  09 Aug 2006: | Removed some debug information |
       
   153 |  08 Aug 2006: | HTML Tags corrected |
       
   154 |  08 Aug 2006: | IE display fixed - wiki link bugs fixed |
       
   155 |  07 Aug 2006: | Initial version |
       
   156 |  CPAN Dependencies: | none |
       
   157 |  Other Dependencies: | none |
       
   158 |  Perl Version: | 5.005 |
       
   159 |  License: | GPL |
       
   160 |  Add-on Home: | http://foswiki.org/Extensions/%TOPIC% |
       
   161 |  Feedback: | http://foswiki.org/Extensions/%TOPIC%Dev |
       
   162 
       
   163 -- TWiki:Main/GaelCrova - 07 Aug 2006