iG:Syntax Hiliter プラグインと Footnotes プラグイン

WP-Dokuwiki をやめてしばらく WP 標準で書いてみようと思っている。WP-Dokuwiki で便利に思っていたのはソースコードのハイライトと脚注。これに代わるプラグインを探す。それぞれ数種類づつ見つかったが、ちょっとづつ試してみて iG:Syntax Hiliter プラグインと Footnotes プラグインを使うことにした。

iG:Syntax Hiliter プラグイン

現在のバージョン v3.5 は、添付のマニュアルを見ると 19 ほどの言語に対応しているとある。が、ふとサブディレクトリの GeSHi を最新版に入れ替えてみたらどうだろうと思い、やってみると特に問題はなさそうだ1)。これで 80 ほどの言語に対応する(ほとんどは一度も使わないだろう)。Bash や diff, LaTeX もいけそうだ。

いろいろ探しているうちに “iG:Syntax Hiliterの不具合(?)を直す” という記事を発見。ここでも何かの拍子に設定がリセットされてしまったことがあったので、これかと思い対策した。

Footnotes プラグイン

使い方は WP-Dokuwiki の脚注とほぼ同じで、簡単。ただ出力は、本文の最後に <br /> をつけてそのあとに番号付きリストを生成するようになっているらしい。するとなぜか自動で挿入される </p> がおかしくなり、HTML 的に間違ったことになる。それで

DIFF:
  1. --- footnotes.php.orig
  2. +++ footnotes.php
  3. @@ -98,14 +98,14 @@
  4.  
  5.         if ($footnotes){
  6.                 $counter = $start_number;
  7. -               if ($start_number != 0) $data = $data.'<br /><ol start="'. ($start_number + 1) .'" class="footnotes">';
  8. -               else $data = $data.'<br /><ol class="footnotes">';
  9. +               if ($start_number != 0) $data = $data.'<div><ol start="'. ($start_number + 1) .'" class="footnotes">';
  10. +               else $data = $data.'<div><ol class="footnotes">';
  11.  
  12.                 foreach($footnotes as $footnote){
  13.                         $counter++;
  14.                         $data = $data.'<li id="footnote-'.$counter.'-'.$post->ID.'">'.$footnote.'  '.$current_settings['pre_backlink'].'<a href="#footnote-link-'.$counter.'-'.$post->ID.'">'.$current_settings['backlink'].'</a>'.$current_settings['post_backlink'].'</li>';
  15.                 }
  16. -               $data = $data.'</ol>';
  17. +               $data = $data.'</ol></div>';
  18.         }
  19.      return $data;
  20.  }

と、<div> に入れることにした。

見栄えはスタイルシートで設定する。


  1. iG:Syntax Hiliter プラグインの syntax_hilite.phpswitch 文にいくつか case を書き足す必要があるかも。

関連する投稿

カテゴリー: WordPress   タグ:   この投稿のパーマリンク

コメントをどうぞ

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>