
| Line: 1 to 1 | ||||||||
|---|---|---|---|---|---|---|---|---|
| Wysiwyg Plugin<-- 
 | ||||||||
| Deleted: | ||||||||
| < < | <-- Do not attempt to edit this topic; it is auto-generated. Please add comments/questions/remarks to the Dev topic instead. --> | |||||||
| Translator framework for WYSIWYG editors | ||||||||
| Added: | ||||||||
| > > | <-- Contributions to this plugin are appreciated. Please update the plugin page at http://twiki.org/cgi-bin/view/Plugins/WysiwygPlugin | |||||||
| Support for the integration of WYSIWYG (What-You-See-Is-What-You-Get) editors. On its own, the only thing this plugin gives you is a stand-alone HTML to TWiki translator script. For WYSIWYG editing in TWiki, you will also need to install a specific editor package such as TWiki:Plugins.KupuEditorContrib  or TWiki:Plugins.WikiwygContrib  . | ||||||||
| Line: 94 to 100 | ||||||||
| Other techniquesAsynchronous saves | ||||||||
| Changed: | ||||||||
| < < | Editors can use XmlHttpRequestto perform saves, by POSTing to the TWikisavescript with thewysiwyg_editparameter set to1. This parameter tells thebeforeSaveHandlerin the WysiwygPlugin to convert the content back to TML. See TWikiScripts for details of the other parameters to thesavescript. | |||||||
| > > | Editors can use XmlHttpRequestto perform saves, by POSTing to the TWikisavescript with thewysiwyg_editparameter set to1. This parameter tells thebeforeSaveHandlerin the WysiwygPlugin to convert the content back to TML. See TWikiScripts for details of the other parameters to thesavescript. | |||||||
| Once the save script has completed it responds with a redirect, either to an Oops page if the save failed, or to the appropriate post-save URL (usually a view). The editor must be ready to handle this redirect. | ||||||||
| Line: 143 to 149 | ||||||||
| Plugin Configuration SettingsTranslator control | ||||||||
| Changed: | ||||||||
| < < | WYSIWYG_EXCLUDE - Prevent WYSIWYG editingThe global preference settingWYSIWYG_EXCLUDEcan be set to make the plugin sensitive to what is in a topic, before allowing it to be edited. The comma separated list to fall back to text edit can include:
 WYSIWYG_EDITABLE_CALLS - Exceptions to WYSIWYG_EXCLUDEIf you excludedcallsinWYSIWYG_EXCLUDE, you can still define a subset of variables that do not block edits. this is done in the global preference settingWYSIWYG_EDITABLE_CALLS, which should be a list of variable names separated by vertical bars, with no spaces, e.g:* Set WYSIWYG_EDITABLE_CALLS = COMMENT|CALENDAR|INCLUDEYou should setWYSIWYG_EXCLUDEandWYSIWYG_EDITABLE_CALLSin TWikiPreferences, or in WebPreferences for each web.WYSIWYGPLUGIN_PROTECT_EXISTING_TAGS - Protect specific tags originally in the topic textTheWYSIWYGPLUGIN_PROTECT_EXISTING_TAGSpreference tells the translator that certain HTML tags which were originally in the topic text should remain as HTML tags; the translator will not try to convert them to TML.  This protects the tags themselves, and not the contents enclosed between the<tag>and</tag>The default setting for this preference is defined within the plugin. It corresponds todiv, span.
This feature may be disabled by setting the preference to a single comma. This does not guarantee that HTML markup will be removed; the conversion of HTML tags to TML markup remains subject to the other controls provided by the WysiwygPlugin, including theWYSIWYGPLUGIN_STICKYBITSpreference,<sticky>blocks,<literal>blocks and the rules applied to tables and lists.WYSIWYGPLUGIN_PROTECT_TAG_BLOCKS - Protect specific tag blocks originally in the topic textTheWYSIWYGPLUGIN_PROTECT_TAG_BLOCKSpreference tells the translator that certain HTML tag blocks which were originally in the topic text should remain as HTML blocks; the translator will not try to convert them to TML.
The default setting for this preference is defined within the plugin. It corresponds toscript, style.
As an example, individual html tables can be protected by surrounding them with<sticky> .. </sticky> block.  However,if you want to have all =<table> markup preserved as entered into topics by default, rather than subject to WYSIWYG editing,  add =tableto this list, and =<table> markup will become
automatically sticky.
This feature may be disabled by setting the preference to a single comma.WYSIWYGPLUGIN_STICKYBITS - Protect tags based upon their argumentsYou can define the global preferenceWYSIWYGPLUGIN_STICKYBITSto stop the plugin from ever trying to convert specific HTML tags into TML when certain specific attributes are present on the tag. This is most useful when you have styling or alignment information in tags that must be preserved.
This preference setting is used to tell the translator which attributes, when present on a tag, make it "stick" i.e. block conversion back to TML.For example, setting it toThis setting is used only after the page has been processed by the editor. If the editor does not support a particular tag or attribute and the editor corrupts the tag, this setting will not be helpful. It is only used to prevent an HTML tag from being converted back to TML. Format of the setting is tag1=attrib,attrib;tag2=attrib. Attributes delimited by comma, and tags delimited by semicolon.
 .*=id,on.*will ensure that any tag with an id oron*event handler is kept as HTML.   
The default setting for this preference are hard coded in the plugin.  If you wish to change the settings, the following list is the default setting coded in the plugin:
   * Set WYSIWYGPLUGIN_STICKYBITS = 
        (?!IMG).*=id,lang,title,dir,on.*;
        A=accesskey,coords,shape,target;
        BDO=dir;
        BR=clear;
        COL=char,charoff,span,valign,width;
        COLGROUP=align,char,charoff,span,valign,width;
        DIR=compact;
        DIV=align,style;
        DL=compact;
        FONT=size,face;
        H[0-9]=align;
        HR=align,noshade,size,width;
        LEGEND=accesskey,align;
        LI=value;
        OL=compact,start,type;
        P=align;
        PARAM=name,type,value,valuetype;
        PRE=width;
        Q=cite;
        TABLE=align,bgcolor,frame,rules,summary,width;
        TBODY=align,char,charoff,valign;
        TD=abbr,align,axis,bgcolor,char,charoff,headers,height,nowrap,rowspan,scope,valign,width;
        TFOOT=align,char,charoff,valign;
        TH=abbr,align,axis,bgcolor,char,charoff,height,nowrap,rowspan,scope,valign,width,headers;
        THEAD=align,char,charoff,valign;
        TR=bgcolor,char,charoff,valign;
        UL=compact,type
<-- %JQREQUIRE{"chili"}%
        (?!IMG).*=id,lang,title,dir,on.*;
        A=accesskey,coords,shape,target;
        BDO=dir;
        BR=clear;
        COL=char,charoff,span,valign,width;
        COLGROUP=align,char,charoff,span,valign,width;
        DIR=compact;
        DIV=align,style;
        DL=compact;
        FONT=size,face;
        H[0-9]=align;
        HR=align,noshade,size,width;
        LEGEND=accesskey,align;
        LI=value;
        OL=compact,start,type;
        P=align;
        PARAM=name,type,value,valuetype;
        PRE=width;
        Q=cite;
        TABLE=align,bgcolor,frame,rules,summary,width;
        TBODY=align,char,charoff,valign;
        TD=abbr,align,axis,bgcolor,char,charoff,headers,height,nowrap,rowspan,scope,valign,width;
        TFOOT=align,char,charoff,valign;
        TH=abbr,align,axis,bgcolor,char,charoff,height,nowrap,rowspan,scope,valign,width,headers;
        THEAD=align,char,charoff,valign;
        TR=bgcolor,char,charoff,valign;
        UL=compact,type
-->If you edit using the plain-text editor, you can use the <sticky>..</sticky> tags to delimit HTML (or TML) that you do not want to be WYSIWYG edited. | |||||||
| > > | WYSIWYG_EXCLUDE - Prevent WYSIWYG editingThe global preference settingWYSIWYG_EXCLUDEcan be set to make the plugin sensitive to what is in a topic, before allowing it to be edited. The comma separated list to fall back to text edit can include:
 WYSIWYG_EDITABLE_CALLS - Exceptions to WYSIWYG_EXCLUDEIf you excludedcallsinWYSIWYG_EXCLUDE, you can still define a subset of variables that do not block edits. this is done in the global preference settingWYSIWYG_EDITABLE_CALLS, which should be a list of variable names separated by vertical bars, with no spaces, e.g:* Set WYSIWYG_EDITABLE_CALLS = COMMENT|CALENDAR|INCLUDEYou should setWYSIWYG_EXCLUDEandWYSIWYG_EDITABLE_CALLSin TWikiPreferences, or in WebPreferences for each web.WYSIWYGPLUGIN_PROTECT_EXISTING_TAGS - Protect specific tags originally in the topic textTheWYSIWYGPLUGIN_PROTECT_EXISTING_TAGSpreference tells the translator that certain HTML tags which were originally in the topic text should remain as HTML tags; the translator will not try to convert them to TML.  This protects the tags themselves, and not the contents enclosed between the<tag>and</tag>The default setting for this preference is defined within the plugin. It corresponds todiv, span.
This feature may be disabled by setting the preference to a single comma. This does not guarantee that HTML markup will be removed; the conversion of HTML tags to TML markup remains subject to the other controls provided by the WysiwygPlugin, including theWYSIWYGPLUGIN_STICKYBITSpreference,<sticky>blocks,<literal>blocks and the rules applied to tables and lists.WYSIWYGPLUGIN_PROTECT_TAG_BLOCKS - Protect specific tag blocks originally in the topic textTheWYSIWYGPLUGIN_PROTECT_TAG_BLOCKSpreference tells the translator that certain HTML tag blocks which were originally in the topic text should remain as HTML blocks; the translator will not try to convert them to TML.
The default setting for this preference is defined within the plugin. It corresponds toscript, style.
As an example, individual html tables can be protected by surrounding them with<sticky> .. </sticky> block.  However,if you want to have all =<table> markup preserved as entered into topics by default, rather than subject to WYSIWYG editing,  add =tableto this list, and =<table> markup will become
automatically sticky.
This feature may be disabled by setting the preference to a single comma.WYSIWYGPLUGIN_STICKYBITS - Protect tags based upon their argumentsYou can define the global preferenceWYSIWYGPLUGIN_STICKYBITSto stop the plugin from ever trying to convert specific HTML tags into TML when certain specific attributes are present on the tag. This is most useful when you have styling or alignment information in tags that must be preserved.
This preference setting is used to tell the translator which attributes, when present on a tag, make it "stick" i.e. block conversion back to TML.For example, setting it toThis setting is used only after the page has been processed by the editor. If the editor does not support a particular tag or attribute and the editor corrupts the tag, this setting will not be helpful. It is only used to prevent an HTML tag from being converted back to TML. Format of the setting is tag1=attrib,attrib;tag2=attrib. Attributes delimited by comma, and tags delimited by semicolon.
 .*=id,on.*will ensure that any tag with an id oron*event handler is kept as HTML.   
The default setting for this preference are hard coded in the plugin.  If you wish to change the settings, the following list is the default setting coded in the plugin:
   * Set WYSIWYGPLUGIN_STICKYBITS = 
        (?!IMG).*=id,lang,title,dir,on.*;
        A=accesskey,coords,shape,target;
        BDO=dir;
        BR=clear;
        COL=char,charoff,span,valign,width;
        COLGROUP=align,char,charoff,span,valign,width;
        DIR=compact;
        DIV=align,style;
        DL=compact;
        FONT=size,face;
        H[0-9]=align;
        HR=align,noshade,size,width;
        LEGEND=accesskey,align;
        LI=value;
        OL=compact,start,type;
        P=align;
        PARAM=name,type,value,valuetype;
        PRE=width;
        Q=cite;
        TABLE=align,bgcolor,frame,rules,summary,width;
        TBODY=align,char,charoff,valign;
        TD=abbr,align,axis,bgcolor,char,charoff,headers,height,nowrap,rowspan,scope,valign,width;
        TFOOT=align,char,charoff,valign;
        TH=abbr,align,axis,bgcolor,char,charoff,height,nowrap,rowspan,scope,valign,width,headers;
        THEAD=align,char,charoff,valign;
        TR=bgcolor,char,charoff,valign;
        UL=compact,type
<-- %JQREQUIRE{"chili"}%
        (?!IMG).*=id,lang,title,dir,on.*;
        A=accesskey,coords,shape,target;
        BDO=dir;
        BR=clear;
        COL=char,charoff,span,valign,width;
        COLGROUP=align,char,charoff,span,valign,width;
        DIR=compact;
        DIV=align,style;
        DL=compact;
        FONT=size,face;
        H[0-9]=align;
        HR=align,noshade,size,width;
        LEGEND=accesskey,align;
        LI=value;
        OL=compact,start,type;
        P=align;
        PARAM=name,type,value,valuetype;
        PRE=width;
        Q=cite;
        TABLE=align,bgcolor,frame,rules,summary,width;
        TBODY=align,char,charoff,valign;
        TD=abbr,align,axis,bgcolor,char,charoff,headers,height,nowrap,rowspan,scope,valign,width;
        TFOOT=align,char,charoff,valign;
        TH=abbr,align,axis,bgcolor,char,charoff,height,nowrap,rowspan,scope,valign,width,headers;
        THEAD=align,char,charoff,valign;
        TR=bgcolor,char,charoff,valign;
        UL=compact,type
-->If you edit using the plain-text editor, you can use the <sticky>..</sticky> tags to delimit HTML (or TML) that you do not want to be WYSIWYG edited. | |||||||
| Implementors note if you are using your own before/after edit handlers, you can call TWiki::Plugins::WysiwygPlugin::isWysiwygEditable()to check these controls. | ||||||||
| Line: 179 to 185 | ||||||||
| 
 | ||||||||
| Changed: | ||||||||
| < < | 
 | |||||||
| > > | 
 | |||||||
| 
 | ||||||||
| Changed: | ||||||||
| < < | 
 | |||||||
| > > | 
 | |||||||
| 
 | ||||||||
| Added: | ||||||||
| > > | 
 | |||||||
| 
 | ||||||||
| Line: 209 to 216 | ||||||||
| 
 | ||||||||
| Changed: | ||||||||
| < < | Related Topics: TWikiPreferences, TWikiPlugins <-- Do not attempt to edit this topic; it is auto-generated. Please add comments/questions/remarks to the Dev topic instead. --> | |||||||
| > > | Related Topics: TWikiPreferences, TWikiPlugins | |||||||
| 
 | ||||||||
 
  Copyright © 1999-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Copyright © 1999-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.