This question is similar to What toolbar buttons are available in CKEditor 4? and a reinforce of this old other one. I add here some perceptions and personal difficulties that I faced.
The CKEditor documentation is good, but pulverized and "incomplete" for Javascript programmers (first-time CKEditor deployer), because "stops in the middle"... Examples:
if I need removeButtons, I need also the list of valid names.
if I need to customize — by source-code, changing array elements —, I need not only clues and examples as here, but a full list of valid names, syntax rules, context exceptions, and perhaps a list of "official plugin names".
QUESTION: there are a command (a simple alert(debug)
) or a documented list of all possible names? (or all controled and registered plugin-names, group-names, etc.)
... CKEditor4 is promoted as (the best of the best!) "plug and play" editor, but, for programmers, it is false, without proper "managing controlled-names" support.
NOTE: all config.js
need a reference to valid names, and no documentation show a list of all valid names for my changes at config.js
arrays. This is all that a programmer need, but today (August 2013) we need to expend most of time using Google to find valid names, or using browser's "element inspector" to get clues about it. With no name, no programming task is simple at config array.
DREAM: for web designer the ckeditor.com/download supply a good "customize ckeditor" (!!). But for developers, there are no tool or illustration showing "button icons and associated names", or group names, etc... That is, an "organized map from features to names" (and vice-versa). For each map we need also, of course, the "context exceptions", like "Source" that not works with inline editor.
(More practical examples, edit after @Noseratio and @davidkonrad comments). The problem is "what the valid name for each context?"
If I have at my config
something like,
editor.config.toolbarGroups = [
{ name: 'clipboard', groups: [ 'clipboard', 'undo' ] },
...
{ name: 'styles' },
{ name: 'colors' },
];
and I need to change { name: 'styles' }
to a customized one, for example I need this functions:
{ name: 'styles', items : [ 'Styles', 'Format', 'FontSize' ] }
so, I need to know all that names, and when (contexts) to use properties "name", "items", "groups" with these names. I do a bug if I use "items" at toolbarGroups property, or if I use "Fontsize" instead "FontSize". Also, with addButtonCommand
and others, I need to know any valid parameter. It is WRONG to to define,
addButtonCommand( 'FontSize', lang.underline, 'underline',
config.coreStyles_underline );
but is difficult to work without knowing "all valid names list" for each context.
(More practical examples, edit after @MahanGM comment)
If I use this v4 guide and instructions (that is equivalent to this v3), I have "name problems", when using CKEditor4 and inline editor:
The "default CKEditor toolbar setting" is the "full toolbar"?
If I take off 'spellchecker' (old v3 name 'SpellChecker'), why not work? and why need take off also 'Scayt'?
What names I can use with inline editor? When use groups and when use items in the
editor.config.toolbar
array?... etc. ... (read my question: all the problem is the correct choice of valid name in a context)... Programmer need a "complete formal specification", not only clues and fragments of information.
addCommand
andaddButtonCommand
. – noseratioaddButtonCommand
it is other goof "config tool", but it also need that programmer know "the names" (see my new example). My problem is with names and context of use ;-) – Peter Krauss