Skip to content

Commit

Permalink
Merge branch 'master' into major
Browse files Browse the repository at this point in the history
  • Loading branch information
Reinmar committed May 29, 2015
2 parents acebd86 + 4b039c3 commit 475be1b
Show file tree
Hide file tree
Showing 14 changed files with 762 additions and 138 deletions.
7 changes: 5 additions & 2 deletions CHANGES.md
Expand Up @@ -117,11 +117,13 @@ Fixed issues:

Fixed Issues:

* [#13232](http://dev.ckeditor.com/ticket/13232): [Safari] Fixed: Method [`element.appendText()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.element-method-appendText) work properly for empty elements.
* [#13233](http://dev.ckeditor.com/ticket/13233): Fixed: HTMLDataProcessor can process `foo:href` attributes.
* [#12899](http://dev.ckeditor.com/ticket/12899): Fixed: Corrected wrong tag ending for horizontal box definition in the [Dialog User Interface](http://ckeditor.com/addon/dialogui) plugin. Thanks to [mizafish](https://github.com/mizafish)!
* [#13254](http://dev.ckeditor.com/ticket/13254): Fixed: Cannot outdent block after indent when using [Divarea](http://ckeditor.com/addon/divarea) plugin. Thanks to [Jonathan Cottrill](https://github.com/jcttrll)!
* [#13268](http://dev.ckeditor.com/ticket/13268): Fixed: Documentation for `CKEDITOR.dom.text` is incorrect. Thanks to [Ben Kiefer](https://github.com/benkiefer)!
* [#12739](http://dev.ckeditor.com/ticket/12739): Fixed: Link loses inline styles when edited without dialogadvtab. Thanks to [Віталій Крутько](https://github.com/asmforce)!
* [#13292](http://dev.ckeditor.com/ticket/13292): Fixed: Protection pattern does not work in attribute in self-closing elements with no space before `/>`. Thanks to [Віталій Крутько](https://github.com/asmforce)!
* [#13232](http://dev.ckeditor.com/ticket/13232): [Safari] Fixed: Method [`element.appendText()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.element-method-appendText) work properly for empty elements.
* [#13233](http://dev.ckeditor.com/ticket/13233): Fixed: HTMLDataProcessor can process `foo:href` attributes.
* [#12796](http://dev.ckeditor.com/ticket/12796): Fixed: The [Indent List](http://ckeditor.com/addon/indentlist) plugin unwraps parent `<li>` elements.
* [#12885](http://dev.ckeditor.com/ticket/12885): Added missing [`editor.getData()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getData) parameter documentation.
* [#11982](http://dev.ckeditor.com/ticket/11982): Bullet added in wrong position after the *Enter* key is pressed in a nested list.
Expand All @@ -132,6 +134,7 @@ Fixed Issues:
* [#13131](http://dev.ckeditor.com/ticket/13131): Fixed: The [Code Snippet](http://ckeditor.com/addon/codesnippet) plugin cannot be used without the [IFrame Editing Area](http://ckeditor.com/addon/wysiwygarea) plugin.
* [#9086](http://dev.ckeditor.com/ticket/9086): Fixed: Invalid ARIA property used on paste iframe.
* [#13164](http://dev.ckeditor.com/ticket/13164): Fixed: Error when inserting a hidden field.
* [#13155](http://dev.ckeditor.com/ticket/13155): Fixed: Incorrect line utils positioning when `<body>` have a margin.

Other Changes:

Expand Down
68 changes: 35 additions & 33 deletions README.md
@@ -1,73 +1,75 @@
CKEditor 4 - The best browser-based WYSIWYG editor
==================================================

## Development Code
# CKEditor 4 - The best browser-based WYSIWYG editor

This repository contains the development version of CKEditor.

**Attention:** The code in this repository should be used locally and for
development purposes only. We don't recommend distributing it on remote websites
development purposes only. We do not recommend using it in production environment
because the user experience will be very limited. For that purpose, you should
build it (see below) or use an official release instead, available on the
either build the editor (see below) or use an official release available on the
[CKEditor website](http://ckeditor.com).

### Code Installation
## Code Installation

There is no special installation procedure to install the development code.
Simply clone it on any local directory and you're set.
Simply clone it to any local directory and you are set.

### Available Branches
## Available Branches

This repository contains the following branches:

- **master**: development of the upcoming minor release.
- **major**: development of the upcoming major release.
- **stable**: latest stable release tag point (non-beta).
- **latest**: latest release tag point (including betas).
- **release/A.B.x** (e.g. 4.0.x, 4.1.x): release freeze, tests and tagging.
- **master** &ndash; Development of the upcoming minor release.
- **major** &ndash; Development of the upcoming major release.
- **stable** &ndash; Latest stable release tag point (non-beta).
- **latest** &ndash; Latest release tag point (including betas).
- **release/A.B.x** (e.g. 4.0.x, 4.1.x) &ndash; Release freeze, tests and tagging.
Hotfixing.

Note that both **master** and **major** are under heavy development. Their
code didn't pass the release testing phase so it may be unstable.
code did not pass the release testing phase, though, so it may be unstable.

Additionally, all releases will have their relative tags in this form: 4.0,
4.0.1, etc.
Additionally, all releases have their respective tags in the following form: 4.4.0,
4.4.1, etc.

### Samples
## Samples

The `samples/` folder contains a good set of examples that can be used
to test your installation. It can also be a precious resource for learning
some aspects of the CKEditor JavaScript API and its integration on web pages.
The `samples/` folder contains some examples that can be used to test your
installation. Visit [CKEditor SDK](http://sdk.ckeditor.com/) for plenty of samples
showcasing numerous editor featurs, with source code readily available to view, copy
and use in your own solution.

### Code Structure
## Code Structure

The development code contains the following main elements:

- Main coding folders:
- `core/`: the core API of CKEditor. Alone, it does nothing, but
- `core/` &ndash; The core API of CKEditor. Alone, it does nothing, but
it provides the entire JavaScript API that makes the magic happen.
- `plugins/`: contains most of the plugins maintained by the CKEditor core team.
- `skin/`: contains the official default skin of CKEditor.
- `dev/`: contains "developer tools".
- `tests/`: contains CKEditor tests suite.
- `plugins/` &ndash; Contains most of the plugins maintained by the CKEditor core team.
- `skin/` &ndash; Contains the official default skin of CKEditor.
- `dev/` &ndash; Contains some developer tools.
- `tests/` &ndash; Contains the CKEditor tests suite.

### Building a Release
## Building a Release

A release optimized version of the development code can be easily created
A release-optimized version of the development code can be easily created
locally. The `dev/builder/build.sh` script can be used for that purpose:

> ./dev/builder/build.sh

A "release ready" working copy of your development code will be built in the new
`dev/builder/release/` folder. An internet connection is necessary to run the
`dev/builder/release/` folder. An Internet connection is necessary to run the
builder, for its first time at least.

### Testing Environment
## Testing Environment

Read more on how to set up the environment and execute tests in the [CKEditor Testing Environment](http://docs.ckeditor.com/#!/guide/dev_tests) guide.

### License
## Reporting Issues

Please use the [CKEditor Developer Center](https://dev.ckeditor.com/) to report bugs and feature requests.

## License

Licensed under the GPL, LGPL and MPL licenses, at your choice.

For full details about the license, please check the LICENSE.md file.
For full details about the license please check the LICENSE.md file.
2 changes: 1 addition & 1 deletion core/htmldataprocessor.js
Expand Up @@ -911,7 +911,7 @@
// Different protection pattern is used for those that
// live in attributes to avoid from being HTML encoded.
// Why so serious? See #9205, #8216, #7805, #11754, #11846.
data = data.replace( /<\w+(?:\s+(?:(?:[^\s=>]+\s*=\s*(?:[^'"\s>]+|'[^']*'|"[^"]*"))|[^\s=>]+))+\s*>/g, function( match ) {
data = data.replace( /<\w+(?:\s+(?:(?:[^\s=>]+\s*=\s*(?:[^'"\s>]+|'[^']*'|"[^"]*"))|[^\s=\/>]+))+\s*\/?>/g, function( match ) {
return match.replace( /<!--\{cke_protected\}([^>]*)-->/g, function( match, data ) {
store[ store.id ] = decodeURIComponent( data );
return '{cke_protected_' + ( store.id++ ) + '}';
Expand Down

0 comments on commit 475be1b

Please sign in to comment.