=== Prismatic ===
Plugin Name: Prismatic
Plugin URI: https://plugin-planet.com/
Description: Display beautiful syntax-highlighted code snippets with Prism.js or Highlight.js
Tags: code, css, fence, highlight, language, pre, prettify, prism, snippet, syntax
Author: Jeff Starr
Contributors: specialk
Author URI: https://plugin-planet.com/
Donate link: http://m0n.co/donate
Requires at least: 4.1
Tested up to: 4.6
Stable tag: 1.0
Version: 1.0
Text Domain: prismatic
Domain Path: /languages
License: GPL v2 or later
Display beautiful syntax-highlighted code snippets with Prism.js or Highlight.js
== Description ==
__The only 3-in-1 syntax highlighter!__
Display beautiful code snippets with Prism.js, Highlight.js, or plain code escaping:
* __Prism.js__ - Code escape + syntax highlight using [Prism.js](http://prismjs.com/)
* __Highlight.js__ - Code escape + syntax highlight using [Highlight.js](https://highlightjs.org/)
* __Plain Flavor__ - Code escape without syntax highlight (for custom styles)
**Prism.js Features**
* Supports over __30__ coding languages
* Choose from all __7__ available Prism themes
* Enable Prism plugin [Line Numbers](http://prismjs.com/plugins/line-numbers/)
* Enable Prism plugin [Line Highlight](http://prismjs.com/plugins/line-highlight/)
* Enable Prism plugin [Show Language](http://prismjs.com/plugins/show-language/)
* Highlights code in post content, excerpts, and comments
* Detects `language-` and `lang-` class prefixes
* Limit syntax highlighting to Posts and Pages
* Highlight single-line and multi-line code
* Granular control over code escaping
* Smart loading of CSS & JS assets
**Highlight.js Features**
* Supports __22__ coding languages
* Choose from all __77__ available Highlight themes
* Customize the Highlight.js init JavaScript
* Highlights code in post content, excerpts, and comments
* Limit syntax highlighting to Posts and Pages
* Highlight multi-line blocks of code
* Detects `language-` and `lang-` class prefixes
* Enable support for no-prefix class names
* Granular control over code escaping
* Smart loading of CSS & JS assets
**Plain Flavor Features**
* Enable code escaping for post content, excerpts, and/or comments
* Enable code escaping on the frontend, Admin Area, or both
* Escapes single-line and multi-line code snippets
**General Features**
* Easy to set up & configure
* Built with the WordPress API
* Squeaky clean, error-free code
* Born of simplicity, no frills
* Lightweight, fast and flexible
* Focused on performance and security
* Loads CSS/JS assets only when required
* Adheres to HTML coding best practices
_Prismatic escapes only the essentials to keep your code clean._
[Check out the screenshots](https://wordpress.org/plugins/prismatic/screenshots/) for more details!
== Screenshots ==
1. Prismatic General Settings
2. Prismatic Prism.js Settings
3. Prismatic Highlight.js Settings
4. Prismatic Plain Flavor Settings
5. Prism.js : Twilight theme (choose from 7 Prism.js themes!)
6. Highlight.js : Arduino Light theme (choose from 77 Highlight.js themes!)
7. Highlight.js : Gruvbox Dark theme (choose from 77 Highlight.js themes!)
8. Cleanly escaped code without syntax highlighting (Plain Flavor)
== Installation ==
**Installing Prismatic**
1. Make a backup of your database
2. Upload the plugin to your blog and activate
3. Visit the plugin settings to configure options
__Note:__ Please read the section below on "code escaping" to understand how it works.
_[More info on installing WP plugins](http://codex.wordpress.org/Managing_Plugins#Installing_Plugins)_
**Uninstalling**
Prismatic cleans up after itself. All plugin settings will be removed from your database when the plugin is uninstalled via the Plugins screen.
**Restore Default Options**
To restore default plugin options, either uninstall/reinstall the plugin or visit the Prismatic General Settings > Restore default plugin options.
**Usage: Syntax Highlighting**
The Prismatic plugin follows the same conventions used by [Prism.js](http://prismjs.com/) and [Highlight.js](https://highlightjs.org/). Here are the basic steps:
1. Visit the Prismatic General Settings and choose your library
2. Visit the settings tab for your chosen library
3. Choose a theme and configure your options
Once the settings are configured, you can enable syntax highlighting for any code snippet by doing one of the following:
* Wrap multi-line code with pre & code tags: <pre><code>...</code></pre>
* Wrap single-line code with code tags: <code>...</code>
Note: Prism.js highlights both multi-line and single-line code snippets. Highlight.js only supports multi-line code snippets.
With the proper markup in place, you can indicate a specific language by adding a class of language-*** or lang-*** to the <code> tag (where *** is the language identifier). For example, to indicate PHP as the language for a single-line code snippet:
Likewise, to indicate HTML as the language for a multi-line code snippet (note: if you are reading this plugin's raw readme.txt file, [click here](https://wordpress.org/plugins/prismatic/installation/) to read the formatted text):
Name
Side
Role
Darth
Dark
Sith
So the prefix of the class names are the same for Prism.js and Highlight.js. The difference is the language identifier used to specify each language. Check out the following "About Prism.js" and "About Highlight.js" sections for more information.
__Note:__ In addition to detecting the language- and lang- prefixes, Highlight.js also will try to auto-detect the language without it being specified. Plus as an option, you can enable the Highlight.js setting, "Support no-prefix class names" to enable use of language identifiers without any language- or lang- prefix.
**Usage: Code escaping**
Just like Prism.js and Highlight.js, the Prismatic plugin follows HTML coding standards. To enable code escaping:
1. Visit the Prismatic General Settings and choose your library
2. Enable "Code Escaping" via the settings tab of your chosen library
3. Do one of the following:]
* Wrap multi-line code with pre & code tags: <pre><code>...</code></pre>
* Wrap single-line code with code tags: <code>...</code>
For example, the code snippets included in either of the following markup examples would be escaped:
This is a single-line example, <code><?php echo 'Hello world'; ?></code>.
This is a multi-line code example (note: if you are reading this plugin's raw readme.txt file, [click here](https://wordpress.org/plugins/prismatic/installation/) to read the formatted text):
<pre><code>...
Multi-line: ...
To disable Prism.js syntax highlighting for any code block, simply omit the language class.
_I'm glad to add more languages, [make a suggestion](https://perishablepress.com/contact/)_
**About Highlight.js**
Highlight.js version used in Prismatic plugin: __9.7.0__
__Highlight.js resources__
* [Homepage](https://highlightjs.org/)
* [GitHub](https://github.com/isagalaev/highlight.js)
* [Changelog](https://github.com/isagalaev/highlight.js/blob/master/CHANGES.md)
__License & Info__
/*
Syntax highlighting with language autodetection.
Copyright (c) 2006, Ivan Sagalaev https://highlightjs.org/
All rights reserved. BSD3 License @ https://git.io/hljslicense
*/
__Supported Languages__
Language Class
Apache = apache, apacheconf
Bash = bash, sh, zsh
C# = cs, csharp
C++ = cpp, c, cc, h, c++, h++, hpp
CSS = css
CoffeeScript = coffeescript, coffee, cson, iced
Diff = diff, patch
HTML/XML = xml, html, xhtml, rss, atom, xjb, xsd, xsl, plist
HTTP = http, https
Ini = ini
JSON = json
Java = java, jsp
JavaScript = javascript, js, jsx
Makefile = makefile, mk, mak
Markdown = markdown, md, mkdown, mkd
Nginx = nginx, nginxconf
Objective-C = objectivec, mm, objc, obj-c
PHP = php, php3, php4, php5, php6
Perl = perl, pl, pm
Python = python, py, gyp
Ruby = ruby, rb, gemspec, podspec, thor, irb
SQL = sql
So for example, to specify a code block as C++, you would write:
Single line: ...
Multi-line: ...
To disable Highlight.js syntax highlighting for any code block, add a class of `nohighlight`, like so:
...
_I'm glad to add more languages, [make a suggestion](https://perishablepress.com/contact/)_
== Upgrade Notice ==
To upgrade Prismatic, remove the old version and replace with the new version. Or just click "Update" from the Plugins screen and let WordPress do it for you automatically.
__Note:__ uninstalling the plugin from the WP Plugins screen results in the removal of all settings from the WP database.
== Frequently Asked Questions ==
**Can you add another language for Prism.js or Highlight.js?**
Yes, feel free to [suggest a language](https://perishablepress.com/contact/)
**Got a question?**
Send any questions or feedback via my [contact form](https://perishablepress.com/contact/)
== Support development of this plugin ==
I develop and maintain this free plugin with love for the WordPress community. To show support, you can [make a cash donation](http://m0n.co/donate), [bitcoin donation](http://m0n.co/bitcoin), or purchase one of my books:
* [The Tao of WordPress](https://wp-tao.com/)
* [Digging into WordPress](https://digwp.com/)
* [.htaccess made easy](https://htaccessbook.com/)
* [WordPress Themes In Depth](https://wp-tao.com/wordpress-themes-book/)
And/or purchase one of my premium WordPress plugins:
* [BBQ Pro](https://plugin-planet.com/bbq-pro/) - Pro version of Block Bad Queries
* [SES Pro](https://plugin-planet.com/ses-pro/) - Super-simple & flexible email signup forms
* [USP Pro](https://plugin-planet.com/usp-pro/) - Pro version of User Submitted Posts
Links, tweets and likes also appreciated. Thank you! :)
== Changelog ==
**1.0 (2016/10/21)**
* Initial release