Core Configuration Options
The following options can be specified to control the core features of Xinha.
** See the NewbieGuide for how to set configuration values in general. **
- width
- Set the width of the editor, allowed values ‘auto’, ‘toolbar’ or a CSS length specification (
123px
). - height
- Set the height of the editor, allowed values ‘auto’ or a CSS length specification (
123px
). - resizableEditor
- Boolean. Allow the user to drag-resize the editor. This only works reliably in Chrome, other browsers have various issues.
- sizeIncludesBars
- Boolean. include the toolbars in the size specified. Default true.
- sizeIncludesPanels
- Boolean. Include the panels in the size specified. Default true.
- panelDimensions
- Object. Specify the panel dimensions for left/right/top/bottom, pixel widths only.
xinha_config.panel_dimensions =
{
left: '200px', // Width
right: '200px',
top: '100px', // Height
bottom: '100px'
};
- iframeWidth
- Integer. If you want the iframe to be narrower than toolbar, set this to a number of pixels. Eg if you are editing a very narrow column of text and want to maintain that narrowness in the editor.
- statusBar
- Boolean. Enable the status bar at the bottom of the editor. Default true.
- htmlareaPaste
- Boolean. Intercept CTRL-V and do paste through Xinha’s processes. This probably doesn’t work at least in Gecko. Default false.
- mozParaHandler
- String ‘built-in’ or ‘best’. For browsers that use Xinha’s Gecko engine (primarily, Firefox and IE11), determine how the return key is handled. Default ‘best’.
- getHtmlMethod
- String ‘DOMwalk’ or ‘TransformInnerHTML’. Determines the algorithm for generating the HTML from the WYWISYG view. ‘DOMwalk’ may be more reliable, ‘TransformInnerHTML’ may be faster (but in modern times this is not so certain I suspect). Default ‘DOMwalk’.
- undoSteps
- Integer. Number of undos available. Default 20.
- undoTimeout
- Integer milliseconds. Interval that undo snapshots are saved. Default 500.
- changeJustifyWithDirection
- Boolean. When changing to right-to-left, select right justification. Default false.
- fullPage
- Boolean. If true then Xinha will retrieve the full HTML, starting with the
<HTML>
tag. Not well tested, see also FullPage plugin. - pageStyle
- String. CSS definitions to apply to the edited document. See also pageStyleSheets below, and Stylist plugin.
xinha_config.pageStyle = ' p { color:red; } \n'
+ ' li { color:blue; }';
- pageStyleSheets
- Array of string. An array of external stylesheets to apply to the edited document.
xinha_config.pageStyleSheets = [ "/css/myPagesStyleSheet.css","/css/anotherOne.css" ];
- baseHref
- String. Base href to apply to relative links. ** This is probably buggy. You shouldn’t need to use it. **
- expandRelativeUrl
- Boolean. Relative URLs will be made absolute. This is usually a good thing due to browser behaviours with regard editing images etc. Default true.
- stripBaseHref
- Boolean. Remove the baseHref (above if set) from urls in the edited content. Default true (if baseHref is set).
- stripSelfNamedAnchors
- Boolean. Remove the url part from any anchors which have ourself as an anchor. Typically a good thing (editing index.html,
index.html#top
becomes#top
). Default true. - only7BitPrintablesInURLs
- Boolean. In URLs all characters above ASCII value 127 have to be encoded using % codes. Default true.
- sevenBitClean
- Boolean. If you are putting the HTML written in Xinha into an email you might want it to be 7-bit characters only. This config option will convert all characters consuming more than 7bits into UNICODE decimal entity references (actually it will convert anything below
(chr 20) except cr, lf and tab and above (~, chr 7E)). Default: false. - specialReplacements
- Object. Display one thing in the WYSIWYG view and translate it to a different thing in the HTML view. Potential use as showing some example text in the WYSIWYG view but using a “replacement code” in the HTML generated. Default empty.
xinha_config.specialReplacements =
{
'in_html' : 'in_wysiwyg',
'{$Name}' : 'John Smith',
};
- tabSpanClass
- String. When the user presses the tab key in the editor, Xinha will insert a span with this class and the below contents. Default ‘xinha-tab’
- tabSpanContents
- String. When the user presses the tab key, Xinha will insert a span with the above class and this contents. Default ‘ ’.
- inwardHtml
- Function accepting parameter
html
and returning html to use in the editor. This is called with the contents of the textarea and the result is what is inserted into the Xinha editor for editing. Default, null function.
xinha_config.inwardHtml = function(html) { return html.replace(/how now brown cow/, 'how now yellow camel'); }
Makes <textarea>how now brown cow</textarea> edit a Xinha document with the text "how now yellow camel" instead.
- outwardHtml
- Function accepting parameter
html
and returning html to return to the textarea. This is called before putting the edited html back into the textarea.
xinha_config.inwardHtml = function(html) { return html.replace(/how now yellow camel/, 'how now brown cow'); }
Makes the Xinha edited content "how now yellow camel" be written into the textarea as "how now brown cow".
- autoFocus
- Boolean. Automatically focus and activate the Xinha editor when the page is loaded. Not recommended for multiple editors on a page. Default false.
- killWordOnPaste
- Boolean. When pasting using the toolbar paste button, automatically kill word code in the paste. Due to browser security restrictions which prevent the toolbar paste button from being displayed, this usually is not of much use. Default true.
- makeLinkShowsTarget
- Boolean. Allow setting the
target=""
attribute in the default link creation dialog. Default true. - charSet
- String. Character set to use. Default same as the character set of the page including Xinha (not necessarily the page Xinha is editing). It is highly recommended in the modern age to use UTF-8 character set for EVERYTHING on your website and in your database, if everything is always in UTF-8 you don’t have character conversion problems.
- browserQuirksMode
-
Boolean null. True, render the document being edited in in quirks mode. False, render the document being edited in standards mode. Null (default), render the document in the same mode as the page including Xinha. - htmlRemoveTags
-
RegExp null. Set to a regular expression matching tags to remove these entirely from the edited content. Default null.
xinha_config.htmlRemoveTags = /span|font/;
Removes all span and font tags.
- preserveI
-
Boolean null. If the HTML fed into Xinha includes tags, preserve these, otherwise convert them into when html is retrieved. The default, null, is that tags are not preserved unless you load the UseStrongEm plugin which means if you use the UseStrongEm plugin when you use the italic button it will insert but you can include in the code and they will be preserved ( is commonly used by designers in modern times as “icon” from a certain font). The default is typically fine, but set to true or false if you want to override. - preserveB
-
Boolean null. If the HTML fed into Xinha includes tags, preserve these, otherwise convert them into when html is retrieved. The default, null, is that tags are not preserved unless you load the UseStrongEm plugin which means if you use the UseStrongEm plugin when you use the bold button it will insert but you can include in the code and they will be preserved. The default is typically fine, but set to true or false if you want to override. - flowToolbars
- Boolean. Allow toolbars to flow to fit the width of the editor better. Default true.
- toolbarAlign
-
String ‘left’ ‘right’. Align the buttons left or right on the toolbar. Default ‘left’. - showFontStylesInToolbar
- Boolean. ** Superceeded by the FancySelects plugin. ** Display the names of fonts in the font itself in the select drop down (browser support patchy, use FancySelects instead if you can). Default false.
- showLoading
- Boolean. Show a panel over the textarea indicating the loading status during the booting process of Xinha. Default false, however when using XinhaEasy.js or XinhaLoader.js this will typically be enabled anyway.
- stripScripts
- Boolean. Strip scripts from the HTML output - this only works with DOMwalk (see getHtmlMethod above) and is ignored if you use the PreserveScripts plugin. Default true.
- convertUrlsToLinks
- Boolean. When a user types in a url in the WYSIWYG view, automatically convert it to an html link. Default true.
- hideObjectsBehindDialogs
- Boolean. Set to true to hide media objects when a div-type dialog box is open, to prevent show-through. Default false. This probably isn’t all that relevant in the modern age since object elements are seldom used.
- colorPickerCellSize
- CSS length element. Size of each cell in the colour picker. Default 6px
- colorPickerGranularity
- Integer. Set to a higher number to allow more precise colours to be picked. Default 18.
- colorPickerPosition
- String. Set the position of the colour picker relative to it’s button, a strig consisting of two words from top, bottom, left and right separated by a comma. Default ‘bottom,right’.
- colorPickerWebSafe
- Boolean. Restrict colours to the 256 “web safe” colours. In the modern age, this is pretty redundant. Default false.
- colorPickerSaveColors
- Integer. Number of recent colours to remember. Default 20.
- fullScreen
- Boolean. Start the editor in full screen mode. Default false.
- fullScreenMargins
- Array [top, right, bottom, left ]. The margins in pixels to set when the editor is expanded to full screen. Default [0,0,0,0]
- fullScreenSizeDownMethod
-
String ‘initSize’ ‘restore’. When you exit full screen mode, will Xinha go back to the initial size, or the last size it was. Default ‘initSize’ - toolbar
- Multi Dimensional Array. See ToolBarSpecification
- fontname
- Object. The font families to provide in the drop-down select.
xinha_config.fontname =
{
"— font —": "", // — is mdash
"Arial" : 'arial,helvetica,sans-serif',
"Courier New" : 'courier new,courier,monospace',
"Georgia" : 'georgia,times new roman,times,serif',
"Tahoma" : 'tahoma,arial,helvetica,sans-serif',
"Times New Roman" : 'times new roman,times,serif',
"Verdana" : 'verdana,arial,helvetica,sans-serif',
"Impact" : 'impact',
"WingDings" : 'wingdings'
}
- fontsize
- Object. The font sizes to provide in the drop down select.
xinha_config.fontsize =
{
"— size —": "", // — is mdash
"1 (8 pt)" : "1",
"2 (10 pt)": "2",
"3 (12 pt)": "3",
"4 (14 pt)": "4",
"5 (18 pt)": "5",
"6 (24 pt)": "6",
"7 (36 pt)": "7"
};
- formatblock
- Object. The different block format types to provide in the drop down select.
xinha_config.formatblock = {
"— format —": "", // — is mdash
"Heading 1": "h1",
"Heading 2": "h2",
"Heading 3": "h3",
"Heading 4": "h4",
"Heading 5": "h5",
"Heading 6": "h6",
"Normal" : "p",
"Address" : "address",
"Formatted": "pre"
};
- formatblockDetector
- Object. See https://www.coactivate.org/projects/xinha/custom-formatblock-options
- dialogOptions
- Object. Controls some options for dialogs.
xinha_config.dialogOptions =
{
'centered' : true, //true: dialog is shown in the center the screen, false dialog is shown near the clicked toolbar button
'greyout':true, //true: when showing modal dialogs, the page behind the dialoge is greyed-out
'closeOnEscape':true
};
- Events
- Object. Hook into some events, for example…
xinha_config.Events.onKeyPress = function (event)
{
//do something
return false;
}
See EventHooks for discussion about available hooks.
- debug
- Boolean. Switches on some debug output. Default false.
- URIs.iframe_src
- String. The intial (blank) src to use on Xinha’s iframe. Default: ‘javascript:''’
- bodyClass
- String. A CSS class to apply to the
<body>
element. Default, none. - bodyID
- String. An id attribute to apply to the
<body>
element. Default, none.