Daily Archives: 2011年12月15日

WP SyntaxHighlighter バージョン1.7 リリース

「WP SyntaxHighlighter バージョン1.7」をリリースした。 最新の「WP SyntaxHighlighter」をダウンロード バージョン1.7は、1.6.7に続くリリースとなるが、中身は、バージョンの数字以上に変化している。 まず、bbPress 2.0以上をサポートし、フォーラムのトピック、リプライに含まれるコードを強調表示できるようになった。 bbPressの投稿フォームには、コメント欄と同様にテキスト形式のリンクボタンを挿入できるようになっており、簡単にソースコードを強調表示させることが出来る。 また、過去のバージョンでは、ソースコードのマークアップに<pre>タグのみを用いていたが、バージョン1.7では、ショートコードもサポートした。 書式はWordPress.comで使われているショートコードと互換性がある。 [sourcecode language="php" gutter="true" firstline="1" highlight="" htmlscript="false"]PHP コード[/sourcecode] [sourcecode lang="xhtml" gutter="true" firstline="1" highlight="" htmlscript="false"]XHTML コード[/sourcecode] language(lang)以外の属性は、省略しても良い。language(lang)を省略するとプレーンテキストとして強調表示される。 設定にもよるが、ショートコードは、投稿の作成/編集画面、固定ページの作成/編集画面、コメントの投稿欄、管理画面上のコメントの編集/返信画面、「WP SyntaxHighlighter Widget」で使うことができる他、bbPressのトピック/リプライの投稿フォーム、トピック/リプライの編集フォーム、管理画面のトピック/リプライの作成/編集画面でも使用できる。 実は、より簡略な下記の書式のショートコードもサポートしているのだが、事実上、これらの書式は使えない。 [source language="php" gutter="true" firstline="1" highlight="" htmlscript="false"]PHP コード[/source] [code lang="xhtml" gutter="true" firstline="1" highlight="" htmlscript="false"]XHTML コード[/code] なぜならば、この書式を適切に処理できるフィルターを実装していないからだ。そのため、これらの書式を使おうと思うと面倒になる。仮に自身でコードをエスケープしたとしても低い権限しか与えられていないユーザーが投稿した場合は、ソースコードが壊れる場合がある。 そもそも「WP SyntaxHighlighter Widget」の場合は、手入力でのマークアップは想定していないので、多少長くともWordPress.comとの互換性を優先した形になっている。 ショートコードを有効にした状態で、本文中にこれらのショートコードを書くと、表示の際にタグに展開されてしまうので注意が必要だ。 それを避けたい場合は、下記のようにショートコードを「[]」で囲んでエスケープすること。 [[sourcecode language="php" gutter="true" firstline="1" highlight="" htmlscript="false"]PHP コード[/sourcecode]] [[sourcecode lang="xhtml" gutter="true" firstline="1" highlight="" htmlscript="false"]XHTML コード[/sourcecode]] 例外として、<pre>タグで囲まれたショートコード(sourcecode、source、codeのみ)、つまり、ショートコードを含むソースコードを<pre>タグでマークアップした場合は、ショートコードをエスケープしなくとも、正常に処理されるようにしている。 ショートコードの導入に合わせて、コメント欄、WP SyntaxHighlighter Widget、bbPressの投稿フォームに追加されるテキスト形式のリンクボタンも強化され、<pre>タグだけでなく、ショートコードの挿入もサポートし、設定画面で切り替えることが出来るようになった。 過去のバージョンでは、投稿および固定ページにソースコードを記述することが許されたのは、「unfiltered_htm」権限を持つユーザー、つまりデフォルトのユーザーロールでは、管理者、編集者のみであったが、必要に応じて投稿者や寄稿者など、記事の投稿が許されているユーザー対して、ソースコードの記述を許可出来るようになった。 以上が目に見える機能面での主な新機能であるが、目に見えない部分でも変化している。 構成ファイルのうち、メインファイルが肥大して来たので、役割毎にファイルを分割し、処理を効率化している。 パフォーマンスを重視するなら、設定画面で不要な機能を無効化することをオススメする。 ただし、(過去のバージョンでも既に複雑であったが)設定画面は、我ながら、ここまで必要かと思うほど複雑になっているので、隅まで良く見た方が良い。 デフォルトでも、全てのユーザーが必要としていると思われない機能は、殆ど無効化されているが、設定の煩雑さを考慮して、敢えてデフォルトで有効になっている機能もある。 なお、デフォルトで有効になっている機能は、プラグインインストール時のWordPressのバージョンによっても異なる。 今後のリリースでも、設定画面に関しては、より複雑化する方向に向かうのではないかと思うわれるが、「設定しなくとも使え、設定することで、より幸せになれる」方向で開発を行うつもりであるため、頭が痛くなるようなら設定画面は見ない方が幸せかもしれない。 とは言え、以下の項目だけは、しっかり設定した方が良いだろう。 使用するライブラリ・・・2つのバージョンから選べるが、外観や機能も随分と異なったものになる。 テーマ・・・外観を変えたいなら。 ツールバー・・・強調表示されたソースコードの右上に表示される「?」やツールバーを消せる。 デフォルトの言語・・・必要な言語だけに絞りこめば、ボタンをクリックした時に表示される言語も減るので操作しやすくなる。 コメントやウィジェットの処理を除き、過去のバージョンでは、WordPressのデフォルトフィルターに依存し、独自のフィルターの適用は避けてきたが、必要性に迫られて投稿や固定表示の投稿/編集時、および表示時に適用されるフィルターも追加している。

Posted in WordPress, ネット・PC, 自作アプリ | Tagged , , | Leave a comment