SEVENTH HEAVEN

技術系ブログをやる場合、結構頭をひねるのがソースの表示方法。
別に、フツーに<pre>タグでくくっちまえばイイという話もありますが。
殆どデフォルトと化しているのが、Javascriptライブラリの「Syntax Highlighter」。
そのWordpressのplug-inの1つが、「Syntax Highlighter for WordPress」でございます。

同じような意図を持ったplug-in、実は色々あるのですが、これを選んだ理由は主に2つ。

  1. 開発者が日本語であること。
  2. 生成されるソースがdiv/spanベースであること

まず、日本発plug-inというコトで、ありかは「WordPress Plugins/JSeries」。
Syntax Highlighter for WordPress (ソース整形表示)」にございます。
大まかな話はそちらに記載してあるので、インストール方法や使い方を知るために、わざわざ英語の長文読解にチャレンジしなくても良いし、改めてGoogle先生に尋ねる必要もなし。
Wordpress.orgの「Plugin Directory」に登録されていない分、アップデートしても自動更新されないという制約はつきますが、まぁその辺はイイでしょう。
アップデート情報を知るのには、専用plug-inの「JSeries Notifer」を入れるという手があります。

で。生成されるソースとは何ぞや。
とりあえず、実験してみましょう。

<?php
	$year = date('Y');
	$month = date('m');
	$day = date('d');
	print "ようこそ!\n";
	print "今日は".$year. "年".$month."月".$day."日です。\n";
?>

この部分のソースを見てみると……。

<pre class="brush: php; auto-links: false;">
&lt;?php
	$year = date(&#039;Y&#039;);
	$month = date(&#039;m&#039;);
	$day = date(&#039;d&#039;);
	print &quot;ようこそ!\n&quot;;
	print &quot;今日は&quot;.$year. &quot;年&quot;.$month.&quot;月&quot;.$day.&quot;日です。\n&quot;;
?&gt;
</pre>

となっているのですが、FirebugでJavascriptによって見栄えを考えて生成し直したソースを見てみると……。

<div id="highlighter_819959" class="syntaxhighlighter">
	<div class="bar">
		<div class="toolbar"><a class="item viewSource" href="#viewSource" title="プレインテキスト" style="width: 16px; height: 16px;">プレインテキスト</a><a class="item printSource" href="#printSource" title="印刷" style="width: 16px; height: 16px;">印刷</a><a class="item about" href="#about" title="?" style="width: 16px; height: 16px;">?</a></div>
	</div>
	<div class="lines">
		<div class="line alt1"><code class="number">1.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="plain"><?php</code></span></span></div>
		<div class="line alt2"><code class="number">2.</code><span class="content"><code class="spaces"/><span class="block" style="margin-left: 40px ! important;"><code class="variable">$year</code><code class="plain">=</code><code class="functions">date</code><code class="plain">(</code><code class="string">'Y'</code><code class="plain">);</code></span></span></div>
		<div class="line alt1"><code class="number">3.</code><span class="content"><code class="spaces"/><span class="block" style="margin-left: 40px ! important;"><code class="variable">$month</code><code class="plain">=</code><code class="functions">date</code><code class="plain">(</code><code class="string">'m'</code><code class="plain">);</code></span></span></div>
		<div class="line alt2"><code class="number">4.</code><span class="content"><code class="spaces"/><span class="block" style="margin-left: 40px ! important;"><code class="variable">$day</code><code class="plain">=</code><code class="functions">date</code><code class="plain">(</code><code class="string">'d'</code><code class="plain">);</code></span></span></div>
		<div class="line alt1"><code class="number">5.</code><span class="content"><code class="spaces"/><span class="block" style="margin-left: 40px ! important;"><code class="plain">print</code><code class="string">"ようこそ!¥n"</code><code class="plain">;</code></span></span></div>
		<div class="line alt2"><code class="number">6.</code><span class="content"><code class="spaces"/><span class="block" style="margin-left: 40px ! important;"><code class="plain">print</code><code class="string">"今日は"</code><code class="plain">.</code><code class="variable">$year</code><code class="plain">.</code><code class="string">"年"</code><code class="plain">.</code><code class="variable">$month</code><code class="plain">.</code><code class="string">"月"</code><code class="plain">.</code><code class="variable">$day</code><code class="plain">.</code><code class="string">"日です。¥n"</code><code class="plain">;</code></span></span></div>
		<div class="line alt1"><code class="number">7.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="plain"></code></span></span></div>
	</div>
</div>

うぎゃあっ(>_<)ヽ 以外の何ものでもありません。
但し、各パーツはspan/codeと、W3C上では一応問題のない構造になっています。
Wordpress.orgの「Plugin Directory」で「SyntaxHighlighter」を検索してみると、「SyntaxHighlighter Evolved」っつーのが真っ先に上がって、過去ログ見たらかなり老舗ぽかったのでありますが、なぜか自動生成、<table>タグでやってしまってるのですね。さすがに今時、コレはないんじゃなかろーか……。

という訳で。とりあえずはコレで、カッコがついた訳でございます。

Related posts:

  1. Syntax Highlighterのフォントサイズの件。 Syntax Highlighterを導入したはイイが、文字ソース部分だけなぜかフォントサイズがでかくなってしまい、むーん。。。 いやまぁ、完全にテーマ本体のcss設計のせいなのですが。とりあえずは対処法。 生成される [...]...

関連記事はYARPP関連記事プラグインによって表示されています。

Leave a Reply

Proudly powered by WordPress. Theme developed with WordPress Theme Generator.
Copyright © SEVENTH HEAVEN. All rights reserved.