Browse Source

Merge branch 'master' into t/1214

Kamil Piechaczek 7 năm trước cách đây
mục cha
commit
79a8c29ea7

+ 1 - 1
docs/builds/guides/faq.md

@@ -82,7 +82,7 @@ The {@link features/image Image} and {@link features/image-upload Image upload}
 
 ## How to use CKEditor 5 with frameworks (Angular, React, etc.)?
 
-For the full list of official integrations see the {@link builds/guides/frameworks/overview#official-integrations "Official integrations"} section.
+For the full list of official integrations see the {@link builds/guides/frameworks/overview#official-wysiwyg-editor-integrations "Official integrations"} section.
 
 If an official integration for the framework of your choice does not exist yet, make sure to read the {@link builds/guides/frameworks/overview "Integrating CKEditor 5 with JavaScript frameworks"} guide. CKEditor 5 offers a rich JavaScript API and ready to use builds which make it possible to use CKEditor 5 with whichever framework you need.
 

+ 1 - 1
docs/builds/guides/frameworks/overview.md

@@ -16,7 +16,7 @@ While CKEditor 5 is compatible with your framework and initializing it requires
 
 When checking how to integrate CKEditor 5 with your framework you can follow these steps:
 
-1. **Check whether an [official integration](#official-rich-text-editor-integrations) exists.**
+1. **Check whether an [official integration](#official-wysiwyg-editor-integrations) exists.**
 
 	There are three official integrations so far: for {@link builds/guides/frameworks/react React}, {@link builds/guides/frameworks/angular Angular 2+}, and for {@link builds/guides/frameworks/vuejs Vue.js}.
 2. **If not, search for community-driven integrations.** Most of them are available on [npm](https://www.npmjs.com/).

+ 3 - 3
docs/builds/guides/frameworks/react.md

@@ -10,7 +10,7 @@ order: 30
 
 CKEditor 5 consists of {@link builds/guides/overview ready-to-use editor builds} and {@link framework/guides/overview CKEditor 5 Framework} upon which the builds are based.
 
-The easiest way to use CKEditor 5 in your React application is by choosing one of the {@link builds/guides/overview#available-builds rich text editor builds}. Additionally, it is also possible to integrate [CKEditor 5 built from source](#integrating-ckeditor-5-from-source) into your application.
+The easiest way to use CKEditor 5 in your React application is by choosing one of the {@link builds/guides/overview#available-builds rich text editor builds}. Additionally, it is also possible to integrate [CKEditor 5 built from source](#integrating-ckeditor-5-built-from-source) into your application.
 
 ## Quick start
 
@@ -101,7 +101,7 @@ There are two main ways to do that.
 
 	In this approach you will include CKEditor 5 built from source — so you will choose the editor creator you want and the list of plugins, etc. It is more powerful and creates a tighter integration between your application and the WYSIWYG editor, however, it requires adjusting your `webpack.config.js` to CKEditor 5 needs.
 
-	Read more about this option in [Integrating CKEditor 5 from source](#integrating-ckeditor-5-from-source).
+	Read more about this option in [Integrating CKEditor 5 from source](#integrating-ckeditor-5-built-from-source).
 
 ### Note: Building for production
 
@@ -113,7 +113,7 @@ To do that, you need to first [eject the configuration](https://github.com/faceb
 npm run eject
 ```
 
-Then, you can customize `UglifyJsPlugin` options in the webpack configuration. Read how to do this [here](#changes-required-in-webpacks-production-config).
+Then, you can customize `UglifyJsPlugin` options in the webpack configuration. Read how to do this [here](#changes-required-in-webpacks-production-configuration).
 
 **Note**: The latest `webpack@4` comes with a version of `UglifyJsPlugin` which supports ES6 out of the box. Also, the React community works on allowing importing ES6 libraries into your applications, so this step will soon be no longer required.
 

+ 23 - 2
docs/builds/guides/frameworks/vuejs.md

@@ -189,6 +189,7 @@ First, install the necessary dependencies:
 
 ```bash
 npm install --save \
+    @ckeditor/ckeditor5-vue \
     @ckeditor/ckeditor5-dev-webpack-plugin \
     @ckeditor/ckeditor5-dev-utils \
     postcss-loader \
@@ -235,10 +236,30 @@ module.exports = {
 	chainWebpack: config => {
 		// Vue CLI would normally use its own loader to load .svg files. The icons used by
 		// CKEditor should be loaded using raw-loader instead.
+
+		// Get the default rule for *.svg files.
+		const svgRule = config.module.rule( 'svg' );
+
+		// Then you can either:
+		//
+		// * clear all loaders for existing 'svg' rule:
+		//
+		//		svgRule.uses.clear();
+		//
+		// * or exclude ckeditor directory from node_modules:
+		svgRule.exclude.add( __dirname + '/node_modules/@ckeditor' );
+
+		// Add an entry for *.svg files belonging to CKEditor. You can either:
+		//
+		// * modify the existing 'svg' rule:
+		//
+		//		svgRule.use( 'raw-loader' ).loader( 'raw-loader' );
+		//
+		// * or add a new one:
 		config.module
-			.rule( 'svg' )
+			.rule( 'cke-svg' )
 			.test( /ckeditor5-[^/\\]+[/\\]theme[/\\]icons[/\\][^/\\]+\.svg$/ )
-			.use( 'file-loader' )
+			.use( 'raw-loader' )
 			.loader( 'raw-loader' );
 	}
 };

+ 1 - 1
docs/builds/guides/migrate.md

@@ -376,7 +376,7 @@ Note: The number of options was reduced on purpose. We understood that configuri
 		<tr>
 			<td><a href="/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-keystrokes">keystrokes</a></td>
 			<td>
-				<p>Keystroke handlers can be registered using {@link module:core/editingkeystrokehandler~EditingKeystrokeHandler <code>EditingKeystrokeHandler</code>}. More information and examples can be found in a dedicated {@link framework/guides/architecture/intro#keystroke-handler Keystrokes and focus management} article.</p>
+				<p>Keystroke handlers can be registered using {@link module:core/editingkeystrokehandler~EditingKeystrokeHandler <code>EditingKeystrokeHandler</code>}. More information and examples can be found in a dedicated {@link framework/guides/architecture/ui-library#keystrokes-and-focus-management Keystrokes and focus management} section.</p>
 				<p>Making keystrokes overridable through <code>config.keystrokes</code> is handled in a <a href="https://github.com/ckeditor/ckeditor5-core/issues/8" target="_blank" rel="noopener">dedicated issue</a>. There is also an issue about <a href="https://github.com/ckeditor/ckeditor5-core/issues/20" target="_blank" rel="noopener">improving keystroke handling</a>.</p>
 			</td>
 		</tr>

+ 1 - 1
docs/builds/guides/support/browser-compatibility.md

@@ -14,7 +14,7 @@ order: 10
 
 CKEditor 5 is currently supported in the following desktop browsers:
 
-* Full support (see [notes below](#notes)):
+* Full support:
 	* Chrome (latest stable release).
 	* Firefox (latest stable release).
 	* Safari (latest stable release).

+ 1 - 1
docs/framework/guides/architecture/editing-engine.md

@@ -220,7 +220,7 @@ editor.data;                    // The data pipeline (DataController).
 
 ### Element types and custom data
 
-The structure of the view resembles the structure in the DOM very closely. The semantics of HTML is defined in its specification. The view structure comes "DTD-free", so in order to provide additional information and better express the semantics of the content, the view structure implements 5 element types ({@link module:engine/view/containerelement~ContainerElement}, {@link module:engine/view/attributeelement~AttributeElement}, {@link module:engine/view/emptyelement~EmptyElement}, {@link module:engine/view/uielement~UIElement}, and {@link module:engine/view/editableelement~EditableElement}) and so called {@link module:engine/view/element~Element#getCustomProperty "custom properties"} (i.e. custom element properties which are not rendered). This additional information provided by editor features is then used by the {@link module:engine/view/renderer~Renderer} and [converters](#Conversion).
+The structure of the view resembles the structure in the DOM very closely. The semantics of HTML is defined in its specification. The view structure comes "DTD-free", so in order to provide additional information and better express the semantics of the content, the view structure implements 5 element types ({@link module:engine/view/containerelement~ContainerElement}, {@link module:engine/view/attributeelement~AttributeElement}, {@link module:engine/view/emptyelement~EmptyElement}, {@link module:engine/view/uielement~UIElement}, and {@link module:engine/view/editableelement~EditableElement}) and so called {@link module:engine/view/element~Element#getCustomProperty "custom properties"} (i.e. custom element properties which are not rendered). This additional information provided by editor features is then used by the {@link module:engine/view/renderer~Renderer} and [converters](#conversion).
 
 The element types can be defined as follows:
 

+ 2 - 2
docs/framework/guides/architecture/ui-library.md

@@ -162,7 +162,7 @@ new Template( {
 	attributes: {
 		class: [
 			'foo',
-			bind.to( 'className' )
+			bind.to( 'class' )
 		],
 		style: {
 			backgroundColor: 'yellow'
@@ -183,7 +183,7 @@ It renders to an HTML element:
 <p class="foo bar" style="background-color: yellow;">A paragraph.</p>
 ```
 
-where `observable#className` is `"bar"`. The `observable` in the example above can be a [view](#views) or any object which is {@link module:utils/observablemixin~Observable observable}. When the value of the `className` attribute changes, the template updates the `class` attribute in the DOM. From now on the element is permanently bound to the state of the application.
+where `observable#class` is `"bar"`. The `observable` in the example above can be a [view](#views) or any object which is {@link module:utils/observablemixin~Observable observable}. When the value of the `class` attribute changes, the template updates the `class` attribute in the DOM. From now on the element is permanently bound to the state of the application.
 
 Similarly, when rendered, the template also takes care of DOM events. A binding to the `click` event in the definition makes the `observable` always fire the `clicked` event upon an action in the DOM. This way the `observable` provides an event interface of the DOM element and all the communication should pass through it.
 

+ 4 - 4
package.json

@@ -67,12 +67,12 @@
     "@ckeditor/ckeditor5-comments": "^1.0.1",
     "@ckeditor/ckeditor5-dev-docs": "^10.0.3",
     "@ckeditor/ckeditor5-dev-env": "^13.0.1",
-    "@ckeditor/ckeditor5-dev-tests": "^13.1.0",
+    "@ckeditor/ckeditor5-dev-tests": "^13.1.2",
     "@ckeditor/ckeditor5-dev-utils": "^11.0.0",
     "@ckeditor/ckeditor5-dev-webpack-plugin": "^7.0.0",
     "css-loader": "^1.0.0",
     "eslint": "^5.5.0",
-    "eslint-config-ckeditor5": "^1.0.7",
+    "eslint-config-ckeditor5": "^1.0.9",
     "glob": "^7.1.2",
     "husky": "^0.14.3",
     "lint-staged": "^7.0.0",
@@ -80,11 +80,11 @@
     "mini-css-extract-plugin": "^0.4.0",
     "minimatch": "^3.0.4",
     "postcss-loader": "^3.0.0",
-    "raw-loader": "^0.5.1",
+    "raw-loader": "^1.0.0",
     "style-loader": "^0.23.0",
     "svgo": "^1.1.0",
     "uglifyjs-webpack-plugin": "^1.2.7",
-    "umberto": "^0.12.0",
+    "umberto": "^0.14.0",
     "webpack": "^4.15.0"
   },
   "engines": {