ようへい
ラベル SyntaxHighlighter の投稿を表示しています。 すべての投稿を表示
ラベル SyntaxHighlighter の投稿を表示しています。 すべての投稿を表示

2013年1月30日水曜日

[SyntaxHighlighter] Windowsバッチファイル用Brush

Windowsバッチファイル用のSyntaxHighlighter用Brushを作ってみましたので、公開します。
Brushのエイリアスは、batcmdcomです。
このBrushを使うと、Windowsバッチファイルが以下のようにハイライトされます。
@echo off
setlocal enabledelayedexpansion
for /F "usebackq delims=" %%A in (`reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"`) do (
  set PDN=
  call :findPDN %%A
  rem ParentDisplayNameが見つかった場合は、ParentDisplayNameへのパッチファイルとみなし、一覧出力しない
  if "!PDN!" EQU "" call :echoDN %%A
)
setlocal disabledelayedexpansion
pause
exit

:findPDN
rem find ParentDisplayName
for /F "tokens=2,*" %%B in ('reg query "%*" /f ParentDisplayName /c /e ^| findstr "ParentDisplayName"') do set PDN=%%C
exit /b

:echoDN
rem find DisplayName
for /F "tokens=2,*" %%B in ('reg query "%*" /f DisplayName /c /e ^| findstr "DisplayName"') do echo %%C
exit /b
以下で実際に確認することが可能です。
SyntaxHighlighter用タグ 変換/生成ツール - ログろいど

ダウンロード

非圧縮版(2.52KB)
https://sites.google.com/site/logroid/syntaxhighlighter/shBrushBat.js
圧縮版(1.98KB)
https://sites.google.com/site/logroid/syntaxhighlighter/shBrushBat.min.js
関連記事

2013年1月25日金曜日

[SyntaxHighlighter] JavaScript用Brush

SyntaxHighlighterにデフォルトで入っているBrushに、予約オブジェクトを追加したBrushを作りました。
document.title="hoge";
window.open("http://example.com");
console.info("info message");
location.href="http://example.com";
以下で実際に確認することが可能です。
SyntaxHighlighter用タグ 変換/生成ツール - ログろいど

ダウンロード

共に、3.0.83専用です。
他のバージョンでの動作は未確認です。
非圧縮版(1.80KB)
https://sites.google.com/site/logroid/syntaxhighlighter/shBrushJScript
圧縮版(1.32KB)
https://sites.google.com/site/logroid/syntaxhighlighter/shBrushJScript.min.js
関連記事

[SyntaxHighlighter] jQuery用Brush (jQuery 1.9対応版)

jQuery 1.9対応のSyntaxHighlighter用Brushを作ってみましたので、公開します。
Brushのエイリアスは、jqjqueryです。
このBrushを使うと、jQuery APIが以下のようにハイライトされます。
$(document).ready(function(){
  // #hogeに#fugaを追加
  $('#hoge').append($('<div>').prop('id','fuga').attr('key','bar').text('baz'));
  $('input[type="radio"]:checked').click(
    function(){
      alert($(this).val());
      $('#hogehoge').addBack('.hoge').text($(this).val());
    }
  );
});
jQuery 1.9時点でdeprecated/removedとなったメソッドは色を分けています。
1.9で削除された.live().die()メソッドの例
$('.live').live('click', liveFunction);
$('.live').die('click', liveFunction);
また、deprecated/removedとなっていても、同名のメソッドがdeprecated/removedではない場合は、通常のjQuery APIとしてハイライトされます。
.toggle()メソッドの例
$('.target').toggle();
$('#target').toggle(function() {
  alert('First handler for .toggle() called.');
}, function() {
  alert('Second handler for .toggle() called.');
});
以下で実際に確認することが可能です。
SyntaxHighlighter用タグ 変換/生成ツール - ログろいど

jQuery 1.9でのjQuery APIに対応しています。
1.9以下のバージョンでも正常にハイライトされると思います。
ただし、前述のとおり、jQuery 1.9時点でdeprecated/removedとなったメソッドは色分けされます。

ダウンロード

共に、3.0.83専用です。
他のバージョンでの動作は未確認です。
非圧縮版(4.45KB)
https://sites.google.com/site/logroid/syntaxhighlighter/shBrushJQuery.js
圧縮版(3.30KB)
https://sites.google.com/site/logroid/syntaxhighlighter/shBrushJQuery.min.js
関連記事

2012年9月18日火曜日

[SyntaxHighlighter] Greasemonkey用Brush

Greasemonkey用のBrushを作ってみましたので、公開します。
Brushのエイリアスは、gmgreasemonkeyです。
このBrushを使うと、Greasemonkey APIが以下のようにハイライトされます。
GM_xmlhttpRequest({
  method: 'GET',
  url: 'http://www.google.co.jp/',
  timeout: 5000,
  onload: function(r){
    GM_addStyle(<><![CDATA[
#hoge {
  color: #CCC;
}
]]></>.toString());
    GM_log( GM_info.script.version +"\n"+r.responseText );
  }
});
以下で実際に確認することが可能です。
SyntaxHighlighter用タグ 変換/生成ツール - ログろいど

ダウンロード

共に、3.0.83専用です。
他のバージョンでの動作は未確認です。
非圧縮版(2.00KB)
https://sites.google.com/site/logroid/syntaxhighlighter/shBrushGreasemonkey.js
圧縮版(1.06KB)
https://sites.google.com/site/logroid/syntaxhighlighter/shBrushGreasemonkey.min.js
関連記事

2012年6月6日水曜日

[SyntaxHighlighter] jQuery用Brush

jQuery用のBrushを作ってみましたので、公開します。
Brushのエイリアスは、jqjqueryです。
このBrushを使うと、jQuery APIが以下のようにハイライトされます。
$(document).ready(function(){
  // #hogeに#fugaを追加
  $('#hoge').append($('<div>').prop('id','fuga').attr('key','bar').text('baz'));
  $('input[type="radio"]:checked').click(
    function(){
      alert($(this).val());
    }
  );
});
以下で実際に確認することが可能です。
SyntaxHighlighter用タグ 変換/生成ツール - ログろいど

jQuery 1.7.2でのjQuery APIに対応しています。
1.7.2以下のバージョンでも正常にハイライトされると思います。
単語単位でのマッチングとなるため、jQuery APIのAPI名と同じ変数等がコード内で使われていた場合、ハイライトされてしまいます。
.に続くattrやprop等にのみマッチさせる事もできなくはないですが、JavaScriptの正規表現が後方一致に対応していないため、困難です。
という事で、jQuery APIのAPI名と同じ変数等がハイライトされるのは現在の仕様という事で。

ダウンロード

以下で、jQuery 1.9に対応したBrushを配布していますので、ご利用ください。 [SyntaxHighlighter] jQuery用Brush (jQuery 1.9対応版) - ログろいど
関連記事

2012年6月5日火曜日

[SyntaxHighlighter] Java用BrushのBug Fix

3.0.83にバンドルされているJavaのBrushにバグを見つけたので、修正版を公開します。

バグの詳細

以下のようなコードをSyntaxHighlighterでBrushにJavaを指定しハイライトさせてみます。
/* 
  hoge
  hoge
*/

fuga

/** hoge */

fuga
すると3.0.83にバンドルされているshBrushJava.jsでは以下のように表示されてしまいます。
1
2
3
4
5
6
7
8
9
10
/*
  hoge
  hoge
*/
 
fuga
 
/** hoge */
 
fuga
以下で実際に確認することが可能です。
SyntaxHighlighter用タグ 変換/生成ツール - ログろいど

ここではhogeはコメント、fugaはコードとしてハイライトされることを想定しているのですが、意図したように表示されません。

修正

shBrushJava.jsの複数行コメントを判定する正規表現を以下のように変更する。
  this.regexList = [
   { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' },  // one line comments
   { regex: /\/\*([^\*][\s\S]+?)?\*\//gm,      css: 'comments' },   // multiline comments
   { regex: /\/\*(?!\*\/)\*[\s\S]*?\*\//gm,     css: 'preprocessor' }, // documentation comments
   { regex: SyntaxHighlighter.regexLib.doubleQuotedString,  css: 'string' },  // strings
   { regex: SyntaxHighlighter.regexLib.singleQuotedString,  css: 'string' },  // strings
   { regex: /\b([\d]+(\.[\d]+)?|0x[a-f0-9]+)\b/gi,    css: 'value' },   // numbers
   { regex: /(?!\@interface\b)\@[\$\w]+\b/g,     css: 'color1' },  // annotation @anno
   { regex: /\@interface\b/g,         css: 'color2' },  // @interface keyword
   { regex: new RegExp(this.getKeywords(keywords), 'gm'),  css: 'keyword' }  // java keyword
   ];
複数行コメントのコメント部分を、*から+?(最短一致)に変更しています。
修正後の表示
1
2
3
4
5
6
7
8
9
10
/*
  hoge
  hoge
*/
 
fuga
 
/** hoge */
 
fuga

修正版のダウンロード

以下より、修正版をダウンロードできます。
共に、3.0.83専用です。
他のバージョンでの動作は未確認です。
非圧縮版(2.16KB)
https://sites.google.com/site/logroid/syntaxhighlighter/shBrushJava.js
圧縮版(1.68KB)
https://sites.google.com/site/logroid/syntaxhighlighter/shBrushJava.min.js
関連記事

2012年6月4日月曜日

SyntaxHighlighter用タグ 変換/生成ツール

当サイトでも使用しているSyntaxHighlighter用のタグ生成ツールを作成しました。
コードを貼り付け、オプションを選択すると、リアルタイムにタグが生成されます。
Firefox 12・13、Chrome 19、Internet Explorer 9にて動作確認済み。
Internet Explorer 6~8では強調行選択機能、プレビュー機能が無効になります。
以下のBrushはSyntaxHighlighterにバンドルされていません。
それぞれ当サイトのページで公開しています。
Java(BugFix版)
[SyntaxHighlighter] Java用BrushのBug Fix - ログろいど
jQuery
[SyntaxHighlighter] jQuery用Brush (jQuery 1.9対応版) - ログろいど
Greasemonkey
[SyntaxHighlighter] Greasemonkey用Brush - ログろいど
JavaScript
[SyntaxHighlighter] JavaScript用Brush - ログろいど
コード
強調行選択
強調行をクリックしてください。
    オプション



    以下のURLをショートカットや、お気に入りに登録すると、次回から上記のオプションを設定した状態で、このページを開くことが出来ます。


    以下のボタンで、オプション設定済みURLを別ウィンドウで開くことが出来ます。
    ブラウザのブックマーク登録用としてお使いください。
    SyntaxHighlighterタグ
    プレビュー SyntaxHighlighter 3.0.83にてプレビューが可能です。

    更新履歴

    2012/6/6
    Java(BugFix版)、jQueryを追加
    2012/6/14
    titleを追加
    2012/9/18
    Greasemonkeyを追加
    2013/1/25
    jQuery 1.9へ対応、JavaScriptを変更
    2013/1/30
    Windowsバッチファイルを追加
    関連記事