自作プラグイン/highlightjs.inc.php
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
** highlightjs.inc.php [#iee69864]
|RIGHT:100|LEFT:360|c
|~サマリ|highlight.jsによるシンタックスハイライト|
|~リビジョン|1.0|
|~対応バージョン|1.5.3|
|~投稿者|[[M.Taniguchi]]|
|~投稿日|&new{2020-05-31 (日) 18:18:00};|
highlight.jsにより整形済みテキストをシンタックスハイライ...
対象とする整形済みテキストの直前に挿入するだけの簡単仕様...
PukiWiki 1.5.3/PHP 7.4/UTF-8 で動作確認済み。旧バージョ...
**使い方 [#h98879cf]
次を整形済みテキストの直前に記述する。
#highlightjs([language])
-language … 言語名。省略すると自動判定。対応言語はhighlig...
#br
''使用例''
#highlightjs
function hoge($v) {
static $fuga = 'value:';
echo $fuga . $v;
}
**コード [#d9721494]
highlightjs.inc.php~
(下記のコードをコピーして、plugin ディレクトリに highlig...
<?php
/*
PukiWiki - Yet another WikiWikiWeb clone.
highlightjs.inc.php, v1.00 2020 M.Taniguchi
License: GPL v3 or (at your option) any later version
highlight.jsにより整形済みテキストをシンタックスハイライ...
対象とする整形済みテキストの直前に挿入すると、整形済みテ...
【使い方】
#highlightjs([language])
【引数】
language … 言語名。省略すると自動判定。対応言語はhighlig...
【使用例】
#highlightjs
function hoge($v) {
static $fuga = 'value:';
echo $fuga . $v;
}
*/
/////////////////////////////////////////////////
// シンタックスハイライトプラグイン(highlightjs.inc.php)
if (!defined('PLUGIN_HIGHLIGHTJS_SCRIPT_URL')) define('P...
if (!defined('PLUGIN_HIGHLIGHTJS_CSS_URL')) define('P...
function plugin_highlightjs_convert() {
if (!PLUGIN_HIGHLIGHTJS_SCRIPT_URL || !PKWK_ALLOW_JAVAS...
list($lang) = func_get_args();
$body = '';
// 一度だけ実行
static $included = false;
if (!$included) {
// CSSロード
if (PLUGIN_HIGHLIGHTJS_CSS_URL) {
$body .= '<link rel="stylesheet" href="' . PLUGIN_HIG...
} else {
// 指定がなければ内蔵スタイル
$body .= <<<EOT
<style>
.hljs{}
.hljs,.hljs-subst{}
.hljs-comment{color:#7e8282}
.hljs-keyword,.hljs-attribute,.hljs-selector-tag,.hljs-m...
.hljs-type,.hljs-string,.hljs-number,.hljs-selector-id,....
.hljs-title,.hljs-section {color:#e70473;font-weight:bold}
.hljs-regexp,.hljs-symbol,.hljs-variable,.hljs-template-...
.hljs-literal{color:#00c1c1}
.hljs-built_in,.hljs-bullet,.hljs-code,.hljs-addition{co...
.hljs-meta{color:#808080}
.hljs-meta-string{color:#808080}
.hljs-emphasis{font-style:italic}
.hljs-strong{font-weight:bold}
</style>
EOT;
}
// JavaScriptロード
$body .= '<script src="' . PLUGIN_HIGHLIGHTJS_SCRIPT_U...
// 初期化:本プラグイン出力要素(_p_highlightjsクラス...
$body .= <<<EOT
<script>
'use strict';
document.addEventListener('DOMContentLoaded', (event) => {
document.querySelectorAll('._p_highlightjs').forEach((b...
var ele = block.nextElementSibling;
if (ele && ele.tagName == 'PRE') {
var lang = block.getAttribute('data-lang');
if (lang) ele.classList.add(lang);
ele.classList.add('_p_highlightjs_code');
hljs.highlightBlock(ele);
}
});
});
</script>
EOT;
$included = true;
}
$body .= '<span class="_p_highlightjs" style="display:n...
return $body;
}
**設定 [#cbf54fa4]
コード内の下記の定数で動作を制御することができます。
|~定数名|~値|~既定値|~意味|
|PLUGIN_HIGHLIGHTJS_SCRIPT_URL|CENTER:URL文字列|'//cdnjs....
|PLUGIN_HIGHLIGHTJS_CSS_URL|CENTER:URL文字列|'//cdnjs.clo...
highlight.jsが公式にホスティングしている最新版スクリプト...
もしくは、ダウンロードして自サーバーに配置したファイルのU...
**ライセンス [#r11f9f1d]
GPL v3
終了行:
** highlightjs.inc.php [#iee69864]
|RIGHT:100|LEFT:360|c
|~サマリ|highlight.jsによるシンタックスハイライト|
|~リビジョン|1.0|
|~対応バージョン|1.5.3|
|~投稿者|[[M.Taniguchi]]|
|~投稿日|&new{2020-05-31 (日) 18:18:00};|
highlight.jsにより整形済みテキストをシンタックスハイライ...
対象とする整形済みテキストの直前に挿入するだけの簡単仕様...
PukiWiki 1.5.3/PHP 7.4/UTF-8 で動作確認済み。旧バージョ...
**使い方 [#h98879cf]
次を整形済みテキストの直前に記述する。
#highlightjs([language])
-language … 言語名。省略すると自動判定。対応言語はhighlig...
#br
''使用例''
#highlightjs
function hoge($v) {
static $fuga = 'value:';
echo $fuga . $v;
}
**コード [#d9721494]
highlightjs.inc.php~
(下記のコードをコピーして、plugin ディレクトリに highlig...
<?php
/*
PukiWiki - Yet another WikiWikiWeb clone.
highlightjs.inc.php, v1.00 2020 M.Taniguchi
License: GPL v3 or (at your option) any later version
highlight.jsにより整形済みテキストをシンタックスハイライ...
対象とする整形済みテキストの直前に挿入すると、整形済みテ...
【使い方】
#highlightjs([language])
【引数】
language … 言語名。省略すると自動判定。対応言語はhighlig...
【使用例】
#highlightjs
function hoge($v) {
static $fuga = 'value:';
echo $fuga . $v;
}
*/
/////////////////////////////////////////////////
// シンタックスハイライトプラグイン(highlightjs.inc.php)
if (!defined('PLUGIN_HIGHLIGHTJS_SCRIPT_URL')) define('P...
if (!defined('PLUGIN_HIGHLIGHTJS_CSS_URL')) define('P...
function plugin_highlightjs_convert() {
if (!PLUGIN_HIGHLIGHTJS_SCRIPT_URL || !PKWK_ALLOW_JAVAS...
list($lang) = func_get_args();
$body = '';
// 一度だけ実行
static $included = false;
if (!$included) {
// CSSロード
if (PLUGIN_HIGHLIGHTJS_CSS_URL) {
$body .= '<link rel="stylesheet" href="' . PLUGIN_HIG...
} else {
// 指定がなければ内蔵スタイル
$body .= <<<EOT
<style>
.hljs{}
.hljs,.hljs-subst{}
.hljs-comment{color:#7e8282}
.hljs-keyword,.hljs-attribute,.hljs-selector-tag,.hljs-m...
.hljs-type,.hljs-string,.hljs-number,.hljs-selector-id,....
.hljs-title,.hljs-section {color:#e70473;font-weight:bold}
.hljs-regexp,.hljs-symbol,.hljs-variable,.hljs-template-...
.hljs-literal{color:#00c1c1}
.hljs-built_in,.hljs-bullet,.hljs-code,.hljs-addition{co...
.hljs-meta{color:#808080}
.hljs-meta-string{color:#808080}
.hljs-emphasis{font-style:italic}
.hljs-strong{font-weight:bold}
</style>
EOT;
}
// JavaScriptロード
$body .= '<script src="' . PLUGIN_HIGHLIGHTJS_SCRIPT_U...
// 初期化:本プラグイン出力要素(_p_highlightjsクラス...
$body .= <<<EOT
<script>
'use strict';
document.addEventListener('DOMContentLoaded', (event) => {
document.querySelectorAll('._p_highlightjs').forEach((b...
var ele = block.nextElementSibling;
if (ele && ele.tagName == 'PRE') {
var lang = block.getAttribute('data-lang');
if (lang) ele.classList.add(lang);
ele.classList.add('_p_highlightjs_code');
hljs.highlightBlock(ele);
}
});
});
</script>
EOT;
$included = true;
}
$body .= '<span class="_p_highlightjs" style="display:n...
return $body;
}
**設定 [#cbf54fa4]
コード内の下記の定数で動作を制御することができます。
|~定数名|~値|~既定値|~意味|
|PLUGIN_HIGHLIGHTJS_SCRIPT_URL|CENTER:URL文字列|'//cdnjs....
|PLUGIN_HIGHLIGHTJS_CSS_URL|CENTER:URL文字列|'//cdnjs.clo...
highlight.jsが公式にホスティングしている最新版スクリプト...
もしくは、ダウンロードして自サーバーに配置したファイルのU...
**ライセンス [#r11f9f1d]
GPL v3
ページ名: