Compare commits

..

No commits in common. "12fe4183d09c55e488de6f1a9dc95798a993ca30" and "4d23ed47530c8f4e7836e76b8636af56796ac83e" have entirely different histories.

8 changed files with 52 additions and 81 deletions

4
.gitignore vendored
View file

@ -1,4 +0,0 @@
makerelease.sh
mirror.sh
syntaxhighlighter/
syntaxhighlighter-*.zip

View file

@ -45,27 +45,24 @@ The default values are `small` for size (see available languages below) and `oka
/* /*
* size: tiny, small, full * size: tiny, small, full
* *
* tiny: 21KB (Markup, HTML, XML, SVG, MathML, SSML, Atom, RSS, CSS, C-like, JavaScript) * tiny: 21KB (Markup, HTML, XML, SVG, MathML, SSML, Atom, RSS, CSS, C-like, JavaScript)
* *
* small: 95KB (markup, css, clike, javascript, apacheconf, arduino, bash, basic, batch, * small: 95KB (Markup, HTML, XML,SVG, MathML, SSML, Atom, RSS, CSS, C-Linke, JavaScript
* bbcode, c, cpp, cmake, csv, diff, docker, git, go, http, ini, java, json, * Apache, Bash, Batch, BBCode, C, C#, C++, CSV, Diff, Go, HTTP, ini, Java
* log, makefile, markdown, markup-templating, nginx, pascal, perl, php, * JSON, Makefile, Markdown, nginx, Perl, PHP, PowerShell, Python, Ruby
* powershell, python, ruby, shell-session, sql, typescript, vbnet, * Shell session, SQL, VB.Net, Wiki markup, YML)
* visual-basic, wiki, yaml)
* *
* full: 567KB (see https://prismjs.com/index.html#supported-languages for list of supported languages) * full: 567KB (see https://prismjs.com/index.html#supported-languages for list of supported languages)
* *
* theme: coy, dark, default, funky, okaidia, solarizedlight, tomorrow, twilight * theme: coy, dark, default, funky, okaidia, solarizedlight, tomorrow, twilight
* *
* line-numbers: 'true' or 'false' (Do show line numbers or not)
*
*/ */
return [ return [
// change here // change here
'size' => 'small', 'size' => 'small',
'theme' => 'okaidia', 'theme' => 'okaidia',
'line-numbers' => 'true',
] ]
?> ?>
``` ```

View file

@ -2,26 +2,22 @@
/* /*
* size: tiny, small, full * size: tiny, small, full
* *
* tiny: 21KB (Markup, HTML, XML, SVG, MathML, SSML, Atom, RSS, CSS, C-like, JavaScript) * tiny: 21KB (Markup, HTML, XML, SVG, MathML, SSML, Atom, RSS, CSS, C-like, JavaScript)
* *
* small: 95KB (markup, css, clike, javascript, apacheconf, arduino, bash, basic, batch, * small: 95KB (Markup, HTML, XML,SVG, MathML, SSML, Atom, RSS, CSS, C-Linke, JavaScript
* bbcode, c, cpp, cmake, csv, diff, docker, git, go, http, ini, java, json, * Apache, Bash, Batch, BBCode, C, C#, C++, CSV, Diff, Go, HTTP, ini, Java
* log, makefile, markdown, markup-templating, nginx, pascal, perl, php, * JSON, Makefile, Markdown, nginx, Perl, PHP, PowerShell, Python, Ruby
* powershell, python, ruby, shell-session, sql, typescript, vbnet, * Shell session, SQL, VB.Net, Wiki markup, YML)
* visual-basic, wiki, yaml)
* *
* full: 567KB (see https://prismjs.com/index.html#supported-languages for list of supported languages) * full: 567KB (see https://prismjs.com/index.html#supported-languages for list of supported languages)
* *
* theme: coy, dark, default, funky, okaidia, solarizedlight, tomorrow, twilight * theme: coy, dark, default, funky, okaidia, solarizedlight, tomorrow, twilight
* *
* line-numbers: 'true' or 'false' (Do show line numbers or not)
*
*/ */
return [ return [
// change here // change here
'size' => 'small', 'size' => 'small',
'theme' => 'okaidia', 'theme' => 'okaidia',
'line-numbers' => 'true',
] ]
?> ?>

View file

@ -34,12 +34,13 @@ function plugin_syntaxhighlighter_add($lang=null) {
$pdir=plugin_geturl('syntaxhighlighter'); $pdir=plugin_geturl('syntaxhighlighter');
// create array containing the used languages // create array containing the used languages
$languages[] = "{$lang}"; $languages[] = "{$lang}";
// remove unique // remove unique
$languages = array_unique($languages); $languages = array_unique($languages);
return $languages; return $languages;
} }
@ -50,8 +51,7 @@ function plugin_syntaxhighlighter_head() {
echo <<<PRISMJS echo <<<PRISMJS
<!-- start of prism.js header --> <!-- start of prism.js header -->
<link rel="stylesheet" type="text/css" href="{$pdir}res/prism.plugins.css" /> <link rel="stylesheet" type="text/css" href="{$pdir}res/prism-{$config['theme']}.css" />
<link rel="stylesheet" type="text/css" href="{$pdir}res/prism-{$config['theme']}.css" />
<!-- end of prism.js header --> <!-- end of prism.js header -->
PRISMJS; PRISMJS;
@ -63,28 +63,26 @@ add_action('wp_head', 'plugin_syntaxhighlighter_head');
function plugin_syntaxhighlighter_foot() { function plugin_syntaxhighlighter_foot() {
$config = include('config.php'); $config = include('config.php');
// convert the returned array into a json one, to have an easier time // convert the returned array into a json one, to have an easier time
// giving it to the javascript below // giving it to the javascript below
$used_languages = json_encode(plugin_syntaxhighlighter_add()); $used_languages = json_encode(plugin_syntaxhighlighter_add());
$pdir=plugin_geturl('syntaxhighlighter'); $pdir=plugin_geturl('syntaxhighlighter');
// javascript part // javascript part
echo <<<PRISMBOX
<!-- start of prism.js footer -->
echo <<<PRISMBOX <script type="text/javascript" src="{$pdir}res/prism.{$config['size']}.js"></script>
<!-- start of prism.js footer -->
<script type="text/javascript" src="{$pdir}res/prism.{$config['size']}.js"></script> <!-- include wrapping-function to wrap content of pre html-tags into code-tags, as said in https://prismjs.com/index.html#basic-usage -->
<script type="text/javascript" src="{$pdir}res/syntaxhighlighter-ng.js"></script>
<!-- include wrapping-function to wrap content of pre html-tags into code-tags, as said in https://prismjs.com/index.html#basic-usage --> <!-- call wrap_pre_tags() from syntaxhighlighter-ng.js -->
<script type="text/javascript" src="{$pdir}res/syntaxhighlighter-ng.js"></script> <script type="text/javascript">
var used_languages = {$used_languages};
<!-- call wrap_pre_tags() from syntaxhighlighter-ng.js --> wrap_pre_tags(used_languages);
<script type="text/javascript"> </script>
var used_languages = {$used_languages};
var enable_line_numbers = {$config['line-numbers']};
wrap_pre_tags(used_languages, enable_line_numbers);
</script>
<!-- end of prism.js footer --> <!-- end of prism.js footer -->
PRISMBOX; PRISMBOX;

View file

@ -1,4 +0,0 @@
/* unescaped-markup */
[class*=lang-] script[type='text/plain'],[class*=language-] script[type='text/plain'],script[type='text/plain'][class*=lang-],script[type='text/plain'][class*=language-]{display:block;font:100% Consolas,Monaco,monospace;white-space:pre;overflow:auto}
/* line-numbers */
pre[class*=language-].line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -24,14 +24,7 @@
function wrap_pre_tags(used_languages, enable_line_numbers) { function wrap_pre_tags(used_languages) {
if ( enable_line_numbers == true )
{
enable_line_numbers = "line-numbers";
} else {
enable_line_numbers = "";
}
// iterate through all used_languages // iterate through all used_languages
for (let iUl = 0;iUl < used_languages.length; iUl++) for (let iUl = 0;iUl < used_languages.length; iUl++)
{ {
@ -51,9 +44,9 @@ function wrap_pre_tags(used_languages, enable_line_numbers) {
{ {
// put the content of <pre> tag into org_html // put the content of <pre> tag into org_html
org_html = preElements[iEl].innerHTML; org_html = preElements[iEl].innerHTML;
// put <code> tag with 'language-' class and plugin-classes // put <code> tag with 'language-' class and class for 'line-numbers'
// prism.js plugin around the <pre> content // prism.js plugin around the <pre> content
new_html = "<code class=\"language-" + used_languages[iUl] + " " + enable_line_numbers + "\">" + org_html + "</code>"; new_html = "<code class=\"line-numbers language-" + used_languages[iUl] + "\">" + org_html + "</code>";
// write back our new html and enjoy syntax highlightning :) // write back our new html and enjoy syntax highlightning :)
preElements[iEl].innerHTML = new_html; preElements[iEl].innerHTML = new_html;
} }