Posted by をかもと at 2008年10月15日 水曜日

今までは、ソースコードのハイライト表示を iG:Syntax Hiliter を使用していたのだが、思う所あってsyntax highlighter で表示するようにした。
で、この JavaScript を WordPress に導入する際に良いプラグインが無いか探したのだが、いまいちなものばかりだったので自作。
といっても、要件は iG:Syntax Hiliter と同様に指定できるものって事だけだったので、あっさりとできあがり。

対応言語は、c, cpp, csharp, java, javascript, delphi, pascal, php, python, ruby, vb, vbnet, sql, css, xml, html, xhtml, xslt。

ブログエントリ内への記述方法は iG:Syntax Hiliter と同様にして以下のように記述.

[言語名 num="10"]hogehoge();
fugafuga():[/言語名]

のように記述すると、指定した言語に合わせてハイライト表示します。
# 実際には [] 内の言語名は c, javascript などの対応言語名を記述してください。
# num="?" で数値指定すると行番号のカウントを指定された番号から開始します。

ソースコード部分は勝手に実態参照文字列に変換しますので、ソースをそのまま書いておっけです。

メニュー部分とかを日本語化したら WordPress Plugins/JSeries で正式リリースしようと思いますが、機能に満足してしまったので、ここで開発を止めてしまうかも。

2008/10/29 追記
メニュー部分を多言語対応して JSeries でリリースしました。
ダウンロードと詳細な説明は下記を参照してください。
WordPress Plugins/JSeries » Syntax Highlighter for WordPress

本日の人気記事


トラックバック & ピンバック » 表示する

コメント

  • JAPAN Windows Mozilla Firefox 2009年1月9日 金曜日 5:43 AM

    おかもとさま。

    初めまして。MNNと申します。
    “Syntax Highlighter for WordPress” を使わせていただこうとしたのですが、
    プラグインを有効化しようとすると、syntax_highlighter.php:34でwokCommonController classが無いとのエラーでプラグインを有効化する事が出来ません。
    includes/common-controller.php内でwokController classの定義がされているため、syntax_highlighter.phpの記述をwokControllerに変更したところとりあえずプラグインの有効化は出来たようです(まだソースコードは記述していないためこれ以上の動作は確認できていないのですが…)。
    お手数ですが、JSeriesでリリースされている “Syntax Highlighter for WordPress” をご確認いただけますでしょうか。

    MNN 返信 | 引用
  • JAPAN Ubuntu Linux Mozilla Firefox 2009年1月9日 金曜日 8:29 AM

    MNN さん、はじめまして。

    プラグインを有効化しようとすると、syntax_highlighter.php:34でwokCommonController classが無いとのエラーでプラグインを有効化する事が出来ません。
    includes/common-controller.php内でwokController classの定義がされているため、syntax_highlighter.phpの記述をwokControllerに変更したところとりあえずプラグインの有効化は出来たようです(まだソースコードは記述していないためこれ以上の動作は確認できていないのですが…)。

    あわわ、本当だ。
    私のプラグインで共通で使っている Class の名前を変更したんですが、その修正漏れでした :oops:
    修正して、JSeries の配布物を入れ替えておきました。
    ご報告ありがとうございます。

  • JAPAN Windows Mozilla Firefox 2009年1月9日 金曜日 7:48 PM

    をかもとさま。

    修正ありがとうございます。無事”Syntax Highlighter for WordPress”を有効化する事が出来ました。”Quick Comments”共々使わせていただきます。
    便利なプラグインの公開ありがとうございました。

  • JAPAN Windows Mozilla Firefox 2009年2月12日 木曜日 11:54 PM

    先日はコメントありがとうございます、早速のSyntaxHighlighter2.0への対応お疲れ様です^^
    ちなみにJSeriesにアップされていたVer.2.0.0をテスト環境にインストールしてみたところ、エラーが出てインストールできなかったのでご報告を。
    エラーはincludes/common-controller.phpの67行目でsyntax error, unexpected ‘)’ との事です。
    67行目のifが抜けていたからのようなので
    file_exists(trailingslashit(ABSPATH . $this->plugins_dir . $this->plugin_dir). ‘includes/js/jquery-1.3.1.min.js’)) {

    if(file_exists(trailingslashit(ABSPATH . $this->plugins_dir . $this->plugin_dir) . ‘includes/js/jquery-1.3.1.min.js’)) {
    とすると無事動きました。
    php4でも動作確認しました、ありがとうございます^^

  • JAPAN Ubuntu Linux Mozilla Firefox 2009年2月13日 金曜日 8:20 AM

    daruman さん、どもです。

    ちなみにJSeriesにアップされていたVer.2.0.0をテスト環境にインストールしてみたところ、エラーが出てインストールできなかったのでご報告を。
    エラーはincludes/common-controller.phpの67行目でsyntax error, unexpected ‘)’ との事です。

    あわわ、本当だ :oops:

    不具合報告ありがとうございます。
    早速 JSeries の方、修正しておきました。

  • JAPAN Windows Mozilla Firefox 2009年2月17日 火曜日 2:34 AM

    先日は修正ありがとうございます、折角なので別立てでレビューしてみました。
    と、宣伝じゃなく報告を。

    highlight-linesがどうも効いてないです、複数ラインを指定する際[1,2…]で記述すると閉じ括弧がショートコードの閉じと誤認される形になってました。
    またhighlight-linesの呼び出しのスペルも違うのかもしれません。
    修正点ですが恐らくsyntax_heghlighter.phpの264行目
    (!empty($highlight_lines) ? ” highlight-lines: {$highlight_lines};” : ”)

    (!empty($highlight_lines) ? ” highlight: [$highlight_lines];” : ”)
    と修正すると、こちらの環境ではうまく表示されました。
    また、この際複数行指定する時の記述は
    highlight_lines=[1, 2, 3]
    ではなく
    highlight_lines=1, 2, 3
    もしくは
    highlight_lines=”1, 2, 3″
    だと通るようです。

    合ってるか少し不安ですが、一応報告まで。

  • JAPAN Windows Mozilla Firefox 2009年2月17日 火曜日 9:49 AM

    daruman さん、どもです。

    highlight-linesがどうも効いてないです、複数ラインを指定する際[1,2…]で記述すると閉じ括弧がショートコードの閉じと誤認される形になってました。
    またhighlight-linesの呼び出しのスペルも違うのかもしれません。

    おぉ!本当だ :oops: これは、不具合ですね、修正します。
    修正方法は、ご指摘のとおりです。

  • JAPAN Windows Mozilla Firefox 2009年2月24日 火曜日 4:47 PM

    ライセンスについての基本的な質問になってしまうかも知れませんが、
    Syntax Highlighter2.0がDonationwareということは、
    このプラグインを使用する際にもそれが適用されるということなのでしょうか?

    GW28 返信 | 引用
  • JAPAN Windows Mozilla Firefox 2009年2月24日 火曜日 5:39 PM

    GW28 さん、はじめまして。

    このプラグインのライセンスは GPL のみ適用させてもらっています。
    ただし Syntax Highlighter 2.0 については Donationware ですので、もし良ければ開発者に寄付してあげてください。

  • JAPAN Windows Mozilla Firefox 2009年2月24日 火曜日 8:30 PM

    をかもとさん、ご返答頂いてありがとうございます。
    やはりプラグインに使用している他のライブラリやコードのライセンスは継承されるのですね。
    ありがとうございました。

    GW28 返信 | 引用
  • JAPAN Windows Mozilla Firefox 2009年7月23日 木曜日 7:04 PM

    初めまして
    最近バージョンアップしたWordPress2.82(ja)でSyntax Highlighter2.01を使用させていただいております。
    プラグインの有効化は出来たのですが、スタイルシート[css]〜[/css]が整形されないようです。
    [html]は整形されます。
    以上ご報告まで ;-)

    scorpion 返信 | 引用
    • JAPAN Ubuntu Linux Mozilla Firefox 2009年7月23日 木曜日 9:07 PM

      scorpion さん、はじめまして。

      最近バージョンアップしたWordPress2.82(ja)でSyntax Highlighter2.01を使用させていただいております。
      プラグインの有効化は出来たのですが、スタイルシート[css]〜[/css]が整形されないようです。
      [html]は整形されます。

      うーん、私の環境も WordPress 2.8.2(ja) + Syntax Highlighter 2.01 なんですが、問題なく整形されます。
      ひょっとして、そちらでお使いの他のプラグインで [css] というショートタグを使用するものがあるのでは無いでしょうか?

      Syntax Highlighter 以外のすべてのプラグインを停止した状態でも整形されないでしょうか?
      整形されるようだったら、一つ一つプラグインを有効にしていって、どのプラグインと競合しているか確かめてみてください。

      • JAPAN Windows Mozilla Firefox 2009年7月24日 金曜日 12:00 PM

        をかもと様
        返信有難うございます。
        テーマを2.8.2のdefaultに戻してプラグインをこのHighLighterだけ有効にして試してみましたが[css]〜[/css]は整形されませんでした。
         う〜ん、何ででしょ?? :-(
         ちなみに前POSTの時に使用していたテーマは「iNove」です ;-)
         

        scorpion 返信 | 引用
  • JAPAN Windows Mozilla Firefox 2009年8月7日 金曜日 7:06 PM

    私も使わせていただいておりますが、同じように[css]〜[/css]が利きません。
    環境は以下です。

    【WordPress】 2.8.3
    【プラグイン】 Akismet、WP Multibyte Patch、Syntax Highlighter for WordPress
    【テーマ】 monochrome 1.2

    公開中のblogなので、夜中にでもテーマ変更などして見ます。
    取り急ぎ報告まで。

    どうぞ宜しくお願いいたします。

    • JAPAN Windows Mozilla Firefox 2009年8月10日 月曜日 11:30 AM

      torham さん、はじめまして。

      私も使わせていただいておりますが、同じように[css]〜[/css]が利きません。

      お二方から報告があったってことは、私のテスト環境でたまたまうまくいってるだけなのかも知れませんね。
      時間のあるときに確認します。
      ご迷惑をおかけしますが、少々お待ちください m(_ _)m

  • JAPAN Ubuntu Linux Mozilla Firefox 2009年8月10日 月曜日 9:58 PM

    torham さん、scorpion さん、すいません。

    CSS が反映されなかった件、原因が分かりました。
    修正した Ver.2.0.2 を JSeries でリリースしましたので、アップデートをお願いします。
    http://sourceforge.jp/projects/wppluginsj/downloads/43064/syntax-highlighter.2.0.2.zip

    • JAPAN Windows Mozilla Firefox 2009年8月18日 火曜日 5:37 PM

      をかもと様、早速新バージョン試してみました。

      CSSばっちりでした!

      お忙しいところ、どうもありがとうございました!
      今後とも宜しくお願いします。

      • JAPAN Ubuntu Linux Mozilla Firefox 2009年8月19日 水曜日 12:47 AM

        torham さん、どもです。

        今回は、不具合報告ありがとうございました。
        テストしきれていない所が多々あるので、こういった報告は非常に助かります。

  • JAPAN Windows Mozilla Firefox 2010年2月17日 水曜日 2:09 PM

    Ver.2.0.2をありがたく使わせていただいてます。

    ビジュアルエディタだと二重にエスケープされるので、
    エスケープされないように改造して使ってます。

    また、do_shortcode関数のプライオリティを変更されているようで、
    そのため他のショートコードに影響することがあります。

    詳しくは自分のサイトで紹介させていただいてますが、
    改善していただけるとうれしいです。

    • JAPAN Windows Mozilla Firefox 2010年2月18日 木曜日 6:38 PM

      MuRa さん、はじめまして。

      ご指摘の件を修正し、Syntax Highlighter Ver.2.1.x に対応させた Ver.2.1.364 をリリースしました。
      よろしければバージョンアップしてください。
      http://wppluginsj.sourceforge.jp/syntax-highlighter/

      • JAPAN Windows Mozilla Firefox 2010年2月20日 土曜日 11:24 AM

        修正早すぎw
        さっそく入れてみたところ、ばっちしです!JavaScriptも新しくなって見やすくなってますね。
        ありがとうございます。

        タブやスペースが編集中に変換されてしまうのはTinyMCEを直さないとなりませんね。
        ぐぐったらTinyMCEのおせっかい変換機能をオフにする方法が色々あるみたいなので試してみます。

        ちなみに、ここのコメント送信、IE8だとコメントが空ですって出て送信できなかったです。

        • JAPAN Ubuntu Linux Mozilla Firefox 2010年2月20日 土曜日 8:07 PM

          気になってたけど、手抜きしていた所を指摘されたので修正しました。
          TinyMCEのお節介変換機能は、残念ながら対応する予定はありません。
          これをオフにしちゃうと、影響範囲が大きそうなので。

コメントをどうぞ


Twitter ID を入力すると新しいコメントがあった際、 @dogmap_jp が、あなた宛に@リプライでお知らせします。

入力いただいたメールアドレスから、TwitterGravatar に登録されているアイコンを表示します。
(メールアドレスは公開されません)

改行と段落タグは自動で挿入されます。メールアドレスは表示されません。

:mrgreen: :-P :-D :-) ;-) :-o :-| :-( 8-O :-? 8-) :twisted: :evil: :oops: :roll: :cry: :lol: :-x more »

コメント投稿30分後までは「コメント編集」をクリックして内容を修正することができます。