-
-
Notifications
You must be signed in to change notification settings - Fork 3.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move plugins metadata from OB to packages #9400
Comments
package.json vs separate file:
Decision: Let's have this metadata in a separate file. File name?
For now: |
This is my current proposal: interface PluginMetadata {
/** The human readable plugin name. */
name: string;
/** The plugin's JS class name */
className: string;
/** A path to the plugin, relative to the metadata file. */
path: string;
/** The plugin's description. */
description: string;
/** The plugin's documentation link. */
docs: string;
/** The plugin's soft requirements and other not explicit requirements.*/
requires?: Array<string>;
/**
* All toolbar components that the plugin exposes.
* (buttons and dropdowns, possibly others in the future).
*/
uiComponents?: Array<UIComponent>;
/**
* All toolbar names that are registered by the plugin.
* These names need to contain the full configuration path
* (e.g. `table.contentToolbar` and `table.tableToolbar` for `Table`).
*/
registeredToolbars: Array<string>;
htmlOutput?: any // To be done.
}
interface UIComponent {
/** The type of the component. */
type: 'button' | 'dropdown' | 'split button';
/** The component name that the plugin exposes. */
name: string;
/** A path to the SVG icon for button-like components. */
iconPath?: string;
/** Text content for dropdown-like components. */
label?: string;
/**
* The target toolbars of this UI component. `[ "main" ]` by default.
*
* Note that some features may be added to multiple toolbars like `comments`.
*/
targetToolbars?: Array<string>;
} I changed from |
Currently, the plugin preset in Online Builder contains also |
We have agreed that we'll keep this data in the OB separately for now as this won't be easy for 3rd-party plugins to provide information there - we'd need to introduce some kind of |
@ma2ciek What you proposed looks good to me. I'd only consider naming properties of UIComponents after our UI lib. I think that things like a label are called differently there. |
Also, perhaps the type of a UIComponent might be the name of the view class? So |
I applied these changes ☝️ Closed by #9473. |
Scope of this ticket:
[from meeting notes]
Which plugins do we cover?
Plugins data
@ckeditor/ckeditor5-core/theme/icons/...
The default configuration of builds
builtinPlugins
anddefaultConfig
The text was updated successfully, but these errors were encountered: