=== WP Colored Coding ===
Contributors: dnaber-de
Tags: syntax highlighting, rainbow.js, code samples
Requires at least: 3.9.2
Tested up to: 4.0
Stable tag: 2014.08.19
License: Apache 2.0
License URI: http://www.apache.org/licenses/LICENSE-2.0

Syntax highlighting with Rainbow.js.

== Description ==

Brings the cool Javascript syntax highlighter [Rainbow.js](https://github.com/ccampbell/rainbow) to your Wordpress-Blog and allows you to manage code snippets independend from the text editor.

**IMPORTANT! – This plugin is no longer testet with PHP 5.2!**

= Quick Start =
1. Download the plugin from this page
1. Follow the instructions on the [Wordpress Codex](http://codex.wordpress.org/Managing_Plugins#Manual_Plugin_Installation) to install the plugin.
By default, the plugin is ready for use after activation. Some options can be changed on Settings → Writing.

For a detailed usage manual refer to the  [Usage section](http://wordpress.org/extend/plugins/wp-colored-coding/other_notes/#usage), or – better than a thousand words – to the [screenshots](http://wordpress.org/extend/plugins/wp-colored-coding/screenshots/).

If you want to change the behaviour of the plugin see the [API-Documentation](http://wordpress.org/extend/plugins/wp-colored-coding/other_notes/#API)

![Screenshot 1](http://wordpress.org/extend/plugins/wp-colored-coding/assets/screenshot-1.png)
![Screenshot 2](http://wordpress.org/extend/plugins/wp-colored-coding/assets/screenshot-2.png)
![Screenshot 3](http://wordpress.org/extend/plugins/wp-colored-coding/assets/screenshot-3.png)
== Installation ==
Just [download](https://github.com/dnaber-de/WP-Colored-Coding/releases) the latest tag and follow the instructions on the [Wordpress Codex](http://codex.wordpress.org/Managing_Plugins#Manual_Plugin_Installation). Otherwise you can use the plugin installer in your WordPress backend.

== Settings ==
By default, the plugin is ready for use after activation. Some options can be changed on Settings → Writing.

= Raw output =
This option enables an additional checkbox for each codeblock of a post which allows you to disable the `esc_attr()` filter for that code snippet. That means, every HTML and Javascript inside this textarea will be parsed by the browser as those. So be carefull with this option.

== Usage ==

= Codeblocks =
A single Codeblock is identified (in the posts context) by its name. If you don't want to specify a name for each block, leave it empty, it will be generated automatically.

The language field is also optional. To use syntax highlighting, write in a rainbow supported language. (It will give you suggestions.) Currently these are
* C
* Coffeescript
* C#
* CSS
* Go
* HTML
* Java
* JavaScript
* Lua
* PHP
* Python
* R
* Ruby
* Shell
* Smalltalk

Each codeblock can be placed anywhere in the text by using the shortcode `[cc name="{name}"]`. You can use the TinyMCE button »CC« for that.

= Shortcode (in-text code) =
For just a few lines of code you may want to use the shortcode like this:

`
[cc lang="javascript"]
var str = 'Hello World';
alert( str );
[/cc]
`

== Contribution & Bug-Report ==
For bug reports or ideas for new features, please use the [issue tracker on gitub](https://github.com/dnaber-de/WP-Colored-Coding/issues).

== API ==

The following filters are provided:

* `wp_cc_rainbow_themes`
* `wp_cc_rainbow_scripts`
* `wp_cc_rainbow_languages`

Adding a new Theme is quite easy. Just expend the themes-array by a key like this
`
/**
 * @param array $themes
 * @return array
 */
function my_new_rainbow_theme( $themes ) {
	$themes[ 'my_theme' ] = array(
		'src'  => //the absolute URI to the stylesheet
		'name' => 'My Theme'
	);

	return $themes;
}
add_filter( 'wp_cc_rainbow_themes', 'my_new_rainbow_theme' );
`

To add a supported language use
`
/**
 * @param array $scripts
 * @return array
 */
function my_new_rainbow_script( $scripts ) {
	$scripts[ 'my_new_lang' ] = array(
		'src'       => //the absolute URI to the script
		'depth'     => array( 'rainbow' ),
		'lang'      => 'my_new_lang',
		'in_footer' => TRUE # this must be equal with the script it depends on
	);

	# to override the built-in rainbow version use the key 'rainbow'

	return $scripts;
}
add_filter( 'wp_cc_rainbow_scripts', 'my_new_rainbow_script' );

/**
 * @param array $langs
 * @return array
 */
function my_new_lang( $langs ) {

	$langs[ 'my_new_lang' ] = 'My new lang';

	return $langs;
}
add_filter( 'wp_cc_rainbow_languages', 'my_new_lang' );
`

= Deactivation/Uninstallation =

If you deactivate the plugin all settings and codes will be preserved. On uninstallation (delete), all settings and codes will be deleted finally. If this is triggered from the network-admin page, all blogs will be cleaned up.

== Acknowledgement ==
* Thanks to [sparanoid](https://github.com/sparanoid) for chinese translation
* Thanks to [@volleyballfisch](https://twitter.com/Volleyballfisch) for spanish translation
* Thanks to [yonjah](https://github.com/yonjah) for JS Bugfixing

== Screenshots ==
1. The Meta-Box on post edit screen to manage your code snippeds.
2. TinyMCE popup to build and insert shortcode into the text editor.
3. WP Colored Coding settings section.

== Frequently Asked Questions ==
= Are there any frequently asked questions? =
None so far. If you have any questions feel free to [contact](http://dnaber.de/kontakt) me (english, german) or use the [support forum](http://wordpress.org/support/plugin/wp-colored-coding) on wordpress.org.

== Changelog ==

= 2014.08.19 =
* Adaption to TinyMCE version 4.*
* Update Rainbow.js to version 1.2
* Some security enhancements
* Bugfixes
* Changed version number format

= 1.2.0 =
* fixed a bug of the unfiltered output option
* better readme.txt for wordpress.org

= 1.1.0 =
* spanish language files
* rainbow support for Go, R, Coffeescript, Java, Smalltalk

= 1.0.1 =
* bugfix
* Theme Technicolor updated

= 1.0.0 =
* initial release


