Skip to content
This repository has been archived by the owner on Dec 12, 2021. It is now read-only.
/ kirby-highlight Public archive

Themeable server-side syntax highlighting for Kirby

License

Notifications You must be signed in to change notification settings

S1SYPHOS/kirby-highlight

Repository files navigation

Kirby Highlight

Release License Issues

This plugin highlights your code snippets server-side - without external dependencies.

  • Code highlighting for everyone - no javascript needed
  • Comprehensive: supports 176 languages
  • Customisable: 79 different styles included

screenshot of the kirby-highlight plugin

Table of contents

Getting started

Use one of the following methods to install & use kirby-highlight:

Git submodule

If you know your way around Git, you can download this plugin as a submodule:

git submodule add https://github.com/S1SYPHOS/kirby-highlight.git site/plugins/kirby-highlight

Composer

composer require S1SYPHOS/kirby-highlight:dev-composer

Clone or download

  1. Clone or download this repository.
  2. Unzip / Move the folder to site/plugins.

Activate the plugin

Activate the plugin with the following line in your config.php:

c::set('plugin.kirby-highlight', true);

Now proper classes are added to your code snippets, making them 'themeable'. In order to do so, head over to the styling section. If you want to activate kirby-highlight only on specific domains, read about multi-environment setups.

Configuration

Change kirby-highlight options to suit your needs:

Option Type Default Description
plugin.kirby-highlight.class String 'hljs' Sets class of surrounding pre container.
plugin.kirby-highlight.languages Array ['html', 'php'] Defines languages to be auto-detected (currently 176 languages are supported).
plugin.kirby-highlight.escaping Boolean false Enables character escaping (converting < to &lt;, > to &gt;, ..), see htmlspecialchars() docs.

Styling

All highlight.js styles are fully compatible with kirby-highlight. Just include it using the css() helper:

<?php echo css('assets/plugins/kirby-highlight/css/zenburn.css') ?>

Troubleshooting

If in doubt, check the correct spelling of the language in question - doing otherwise breaks kirbytext() (see #2).

Credits / License

kirby-highlight is based on Geert Bergman's highlight.php library (a PHP port of highlight.js). It is licensed under the MIT License, but using Kirby in production requires you to buy a license. Are you ready for the next step?

Special Thanks

I'd like to thank everybody that's making great software - you people are awesome. Also I'm always thankful for feedback and bug reports :)