My Syntax Highlighter

Description

An easy to use, with intuitive interface, WordPress plugin that provides a simple way for embedding syntax-highlighted source code within pages or posts on your website, without losing it’s formatting or making any manual changes. Supporting 14 languages, 16 shortcodes and 36 themes. The syntax highlighting feature implemented via a CodeMirror library. If you want more options then tell me and I will be happy to add it.

Syntax highlighting is a feature that displays source code, in different colors and fonts according to the category of terms. Syntax highlighting is one strategy to improve the readability and context of the text; especially for code that spans several pages. The reader can easily ignore large sections of comments or code, depending on what they are looking for.

This plugin also uses standalone Shortcode-Processor to prevent WordPress from converting newlines to HTML paragraphs, replacing apostrophes with typographic quotes and so on.

This plugin is just plug and play, no tedious configurations or hacks, just install, enable and start using your new shortcodes.

Features

  • Lightweight and fast
  • Secure code with using clear coding standards
  • Intuitive interface with many settings
  • Cross browser compatible (work smooth in any modern browser)
  • Compatible with all WordPress themes
  • RTL compatible (right to left)
  • Translation ready

Key features include…

  • Standalone Shortcode-Processor
  • Syntax highlighting (by CodeMirror)
  • Line numbering
  • Dollar sign before line
  • 36 Themes
  • 14 Languages
  • 16 Shortcodes
  • Allow shortcodes in the text widget
  • And much, much more!

A list of supported languages:

Click to view language examples. Highlighted with Default theme.

A list of supported shortcodes:

  • [code][/code]
  • [php][/php]
  • [javascript][/javascript]
  • [js][/js]
  • [xml][/xml]
  • [html][/html]
  • [css][/css]
  • [scss][/scss]
  • [less][/less]
  • [sass][/sass]
  • [markdown][/markdown]
  • [perl][/perl]
  • [sql][/sql]
  • [mysql][/mysql]
  • [shell][/shell]
  • [bash][/bash]

A list of supported themes:

  • 3024-day
  • 3024-night
  • ambiance-mobile
  • ambiance
  • base16-dark
  • base16-light
  • blackboard
  • cobalt
  • colorforth
  • eclipse
  • elegant
  • erlang-dark
  • lesser-dark
  • liquibyte
  • mbo
  • mdn-like
  • midnight
  • monokai
  • neat
  • neo
  • night
  • paraiso-dark
  • paraiso-light
  • pastel-on-dark
  • rubyblue
  • solarized
  • the-matrix
  • tomorrow-night-bright
  • tomorrow-night-eighties
  • ttcn
  • twilight
  • vibrant-ink
  • xq-dark
  • xq-light
  • zenburn

Translation

This plugin is ready for translation and has already been translated into several languages.

  • English (default)
  • Russian

If you want to help translate this plugin then please visit the translation page.

Contribution

Developing plugins is long and tedious work. If you benefit or enjoy this plugin please take the time to:

“My Syntax Highlighter” is one of the personal software projects of Arthur Gareginyan.

License

This plugin is licensed under the GNU General Public License, version 3 (GPLv3) and is distributed free of charge.
Commercial licensing (e.g. for projects that can’t use an open-source license) is available upon request.

Credits

Links

Screenshots

  • Plugin settings page.
  • Example of post with added source code and wrapped it in shortcode provided by this plugin. Default theme of highlighter.
  • Example of post with added source code and wrapped it in shortcode provided by this plugin. The "The Matrix" theme of highlighter.
  • Example of post with added source codes on multiple language and wrapped it in shortcode provided by this plugin. Default theme of highlighter.

Installation

Install “My Syntax Highlighter” just as you would any other WordPress Plugin.

Automatically via WordPress Admin Panel:

  1. Log into Admin Panel of your WordPress website.
  2. Go to “Plugins” -> “Add New“.
  3. Find this plugin and click install.
  4. Activate this plugin through the “Plugins” tab.

Manually via FTP access:

  1. Download a copy (ZIP file) of this plugin from WordPress.org.
  2. Unzip the ZIP file.
  3. Upload the unzipped catalog to your website’s plugin directory (/wp-content/plugins/).
  4. Log into Admin Panel of your WordPress website.
  5. Activate this plugin through the “Plugins” tab.

After installation and activation, the “Syntax Highlighter” menu item will appear in the “Settings” section of Admin Panel. Click on it in order to view the plugin settings page.

More help installing plugins

FAQ

Installation Instructions

Install “My Syntax Highlighter” just as you would any other WordPress Plugin.

Automatically via WordPress Admin Panel:

  1. Log into Admin Panel of your WordPress website.
  2. Go to “Plugins” -> “Add New“.
  3. Find this plugin and click install.
  4. Activate this plugin through the “Plugins” tab.

Manually via FTP access:

  1. Download a copy (ZIP file) of this plugin from WordPress.org.
  2. Unzip the ZIP file.
  3. Upload the unzipped catalog to your website’s plugin directory (/wp-content/plugins/).
  4. Log into Admin Panel of your WordPress website.
  5. Activate this plugin through the “Plugins” tab.

After installation and activation, the “Syntax Highlighter” menu item will appear in the “Settings” section of Admin Panel. Click on it in order to view the plugin settings page.

More help installing plugins

Q. Will this plugin work on my WordPress.COM website?

A. Sorry, this plugin is available for use only on self-hosted (WordPress.ORG) websites.

Q. Can I use this plugin on my language?

A. Yes. This plugin is ready for translation and has already been translated into several languages. But If your language is not available then you can make one. The POT file is included and placed in the “languages” folder. Just send the PO file to me at the arthurgareginyan@gmail.com and I will include this translation within the next plugin update. Many of plugin users would be delighted if you share your translation with the community. Thanks for your contribution!

Q. How does it work?

A. Simply go to the plugin settings page, select the desired settings and click the “Save changes” button. Enjoy the fancy syntax highlighting on your website. It’s that simple!
You can find the plugin settings page at “WP Admin Panel” -> “Settings” -> “Syntax Highlighter“.

Q. Does this plugin requires any modification of the theme?

A. Absolutely not. This plugin is configurable entirely from the plugin settings page that you can find in the Admin Panel of your WordPress website.

Q. Does this require any knowledge of HTML or CSS?

A. Absolutely not. This plugin can be configured with no knowledge of HTML or CSS, using an easy-to-use plugin settings page.

Q. It’s not working. What could be wrong?

A. As with every plugin, it’s possible that things don’t work. The most common reason for this is a web browser’s cache. Every web browser stores a cache of the websites you visit (pages, images, and etc.) to reduce bandwidth usage and server load. This is called the browser’s cache.​ Clearing your browser’s cache may solve the problem.

It’s impossible to tell what could be wrong exactly, but if you post a support request in the plugin’s support forum on WordPress.org, I’d be happy to give it a look and try to help out. Please include as much information as possible, including a link to your website where the problem can be seen.

Q. The last WordPress update is preventing me from editing my website that is using this plugin. Why is this?

A. This plugin can not cause such problem. More likely, the problem are related to the settings of the website. It could just be a cache, so please try to clear your website’s cache (may be you using a caching plugin, or some web service such as the CloudFlare) and then the cache of your web browser. Also please try to re-login to the website, this too can help.

Q. Where to report bug if found?

A. Please visit the Dedicated Plugin Page on GitHub and report.

Q. Where to share any ideas or suggestions to make the plugin better?

A. Any suggestions are very welcome! Please send me an email to arthurgareginyan@gmail.com. Thank you!

Q. I love this plugin! Can I help somehow?

A. Yes, any financial contributions are welcome! Just visit my website, click on the donate button, and thank you!

Reviews

Great Support!

Thank you for your quick support! We were seeing a formatting bug and Arthur was very willing to troubleshoot and quickly issue an update without asking for any donation in return (although, after work was completed a donation was made). This plugin has many different themes to apply to the code, is easy to use and well maintained!

It’s lightweight

It’s lightweight. instead of making my own one I decided to use it.

Thank you. Just what I wanted.

Read all 2 reviews

Contributors & Developers

“My Syntax Highlighter” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

2.5.1

  • The HTTPS mixed content issue fixed by changing all links to HTTPS.
  • Content of the “FAQ” section updated.

2.5

  • On the plugin settings page, text of buttons are corrected.
  • On the plugin settings page, the information about the plugin version number moved to header section.
  • Some mention of constants replaced with variables for easier access.
  • Content of the “Usage” tab updated.
  • Content of the “FAQ” tab updated.

2.4

  • To the plugin settings page added information about the plugin version number.
  • The “Tested up to:” comment changed to 4.8 after full testing process.
  • The “version.php” file renamed to “versioning.php”.
  • The “versioning.php” file updated to new version.
  • The “_plugin_version_number” function renamed to the “_versioning”.

2.3

  • Added option for adding dollar sign before every code line.
  • Numbers of lines centered.

2.2

  • Compatibility with PHP version 5.2 improved.
  • Added function for generating the plugin constants.
  • Some constants now get the value from the plugin header data.
  • The “_plugin_version_number” function improved.
  • Added file “upgrade.php” for future upgrades.

2.1.1

  • Fixed the bug due to which the “Warning: Constants may only evaluate to scalar values in” warning are displayed.

2.1

  • Added new constants: “_SLUG”, “_PREFIX”, “_SETTINGS” and “_NAME”.
  • Value of the “_VERSION” constant replaced with information from the plugin header data.
  • All references to the plugin name, slug, prefix are replaced with constants.
  • Added function that render checkboxes and fields for saving plugin settings to database.
  • Added prefix to the name of the variable in ‘wp_localize_script’ WP function, to prevent conflicts.
  • The “_load_scripts_base” function improved.
  • The dynamic CSS moved from the “mshighlighter_load_scripts_dynamic_css” function to the “mshighlighter_load_scripts_base”.
  • The “name” attribute removed from the “form” tag.
  • Code formatting improved.
  • F.A.Q. section updated.

2.0.2

  • Fixed the bug due to which the the “Warning: Illegal string offset ‘version’ in” and the “Warning: Illegal string offset ‘old_version’ in” warnings are displayed. (Thanks to Sven Brill)

2.0.1

  • The bug due to which the height of the lines was too high is fixed.

2.0

  • The design of the plugin settings page is completely redone.
  • Added additional donate link to the “Plugins” page.
  • Readme for translations updated.
  • Advertisement banner removed.
  • The ‘Using’ section renamed to ‘Usage’.
  • My Unicode signature added to the main file.
  • The ‘front.css’ file renamed to ‘frontend.css’.
  • The donate button replaced with new.
  • The ‘Donate’ section renamed to ‘Support’.
  • The ‘donate.png’ image removed.
  • Options from the settings page moved to a separate file.
  • Fixed a bug due to which the jQuery library was not loaded on the front end of the website if the visitor did not logged-in.
  • Added stylized descriptions of sections on the “Settings” tab.
  • Additional “Support” section added.
  • Added tab navigation menu for the settings page.
  • Added additional tabs on the settings page.
  • Added the CSS fix for height of line.
  • Code of the ‘admin.css’ file improved and better commented.
  • The ‘bootstrap-checkbox.min.js’ file renamed to ‘bootstrap-checkbox.js’.
  • A full version of the Bootstrap framework is integrated.
  • Added the CSS code for the custom list numbers on the plugin settings page.
  • The main font is changed to “Verdana”.
  • All PHP and HTML code is better formatted.
  • The header on the settings page of plugin is redesigned.
  • The “LICENSE.txt” file renamed to “license.txt”.
  • The “humans.txt” file added.
  • On the plugin settings page, the “valign=’top'” attribute removed from the “tr” element of HTML table and added the appropriate analog in CSS .
  • The “_service_info” setting added to the data-base.
  • Added function for managing information about the version number of the plugin.
  • Added the “Hello” message that show when the plugin is just installed.
  • Added the “Error” message that show when user is trying to degrade the version number of the plugin.
  • Fixed the parameter that contain the path to source files in all translation files.
  • The POT file updated.
  • Translations updated.

1.3

  • Added the Readme.txt file for translation contribution.
  • Added global constant for plugin text-domain.
  • Fixed the “Undefined variable: block_height” error.
  • Translations updated.
  • Ad banner replaced with new.

1.2

  • Added prefixes to the stylesheet and script names when using wp_enqueue_style() and wp_enqueue_script().
  • Added constant for storing the plugin version number.

1.1

  • Style sheet of settings page improved and better commented.
  • JS code improved.
  • Checkboxes replaced with cool triggers by using Bootstrap framework and Bootstrap-checkbox component.
  • Added the ability to use shortcodes in the text widgets.

1.0.1

  • POT file updated.
  • Russian translation updated.
  • Image “thanks.png” removed.
  • Advertisement replaced by new.
  • Added the subject with plugin name to email address on settings page.

1.0

  • The directory structure is changed. All files are moved to directories with names of file extensions.
  • Some changes in design of settings page.
  • [js], [xml], [scss], [less], [sass], [markdown], [perl], [sql], [mysql], [shell], [bash] shortcodes added.
  • Constants variables added.
  • Added function for preserve formatting of code.
  • Added option “Enable Plugin”.
  • Added option “Default language”.
  • Added option “Automatic height of code block”.
  • Added option “The height of code block”.
  • Text domain changed to “my-syntax-highlighter” and thus added compatibility with the translate.wordpress.org.
  • Plugin URI changed to GitHub repository.
  • POT file added.
  • Russian translation added.
  • Many more small changes.

0.3

  • Release candidate.
  • [php], [html], [css], [javascript] shortcodes added.
  • Added option “Display line numbers”.
  • Added option “First line number”.
  • Added option “The width of Tab”.
  • Image from plugin’s settings page changed.

0.2

  • Beta version.

0.1

  • Alfa version.