<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>jmblog.jp &#187; code</title>
	<atom:link href="http://jmblog.jp/archives/tag/code/feed" rel="self" type="application/rss+xml" />
	<link>http://jmblog.jp</link>
	<description></description>
	<lastBuildDate>Mon, 05 Jul 2010 05:02:13 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>ソースコードを表示させるのに使うべきHTMLタグは？</title>
		<link>http://jmblog.jp/archives/80</link>
		<comments>http://jmblog.jp/archives/80#comments</comments>
		<pubDate>Tue, 25 Jul 2006 17:09:59 +0000</pubDate>
		<dc:creator>Yoshihide</dc:creator>
				<category><![CDATA[webdesign, design]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://jmblog.jp/archives/80</guid>
		<description><![CDATA[ソースコードをWebページで表示させるために、どんなHTMLを書いてますか？私はこれまで、&#60;pre&#62;&#8230;&#60;/pre&#62; を使っていました。&#60;code&#62;&#8230;&#60;/code&#62; というタグは知っていましたが、これだと半角スペースや改行がうまく反映されていない、という理由で使っていなかったのです。
が、Web標準の教科書という本を読んで、目からうろこが落ちました。
（pre要素の解説で）

pre要素は、code要素と組み合わせてスクリプト言語やプログラミング言語のソースコードを示すのに使うのが一般的である。

（code要素、var要素、samp要素、kbd要素の解説で）

コンピュータに特有のテキストを定義するには、次の4つの要素を使用する。
（略）
これらはインライン要素であり、インライン要素やテキストを含むことができる。

そうだったのかー！code要素はインライン要素なので、半角スペースや改行が反映されないのは当たり前なのでした。つまり、ソースコードをWebページで表示させるには、

&#60;pre&#62;&#60;code&#62;
function someFunction() {
    // code
}
&#60;/code&#62;&#60;pre&#62;

というふうに、pre要素の中にcode要素を含ませて書くのが正しいようです。ちなみにcode要素はインライン要素なので、次のような書き方もできます。
&#60;p&#62;1行目の&#60;code&#62;someFunction()&#60;/code&#62;の中にコードを実装していきます。&#60;/p&#62;

なお、&#60;pre&#62;&#8230;&#60;/pre&#62;を使うと、一行が長い場合、

function someFunction() {
    // code code code code code code code code code code code code code code code code code code code code code code code code code code code code code code code code
}

という感じで、横スクロールバーが表示されてしまいますが、以下のサイトで紹介されているcssハックを使えば、折り返すことができます。
&#187; Making preformated &#60;pre&#62; text wrap in CSS3, [...]]]></description>
			<content:encoded><![CDATA[<p>ソースコードをWebページで表示させるために、どんなHTMLを書いてますか？<span id="more-80"></span>私はこれまで、&lt;pre&gt;&#8230;&lt;/pre&gt; を使っていました。&lt;code&gt;&#8230;&lt;/code&gt; というタグは知っていましたが、これだと半角スペースや改行がうまく反映されていない、という理由で使っていなかったのです。</p>
<p>が、<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4798010928/0755-22/ref=nosim/" name="amazletlink" target="_blank">Web標準の教科書</a>という本を読んで、目からうろこが落ちました。</p>
<p>（pre要素の解説で）</p>
<blockquote cite="urn:4-7980-1092-8">
<p>pre要素は、code要素と組み合わせてスクリプト言語やプログラミング言語のソースコードを示すのに使うのが一般的である。</p>
</blockquote>
<p>（code要素、var要素、samp要素、kbd要素の解説で）</p>
<blockquote cite="urn:4-7980-1092-8"><p>
コンピュータに特有のテキストを定義するには、次の4つの要素を使用する。<br />
（略）<br />
これらはインライン要素であり、インライン要素やテキストを含むことができる。</p>
</blockquote>
<p>そうだったのかー！code要素はインライン要素なので、半角スペースや改行が反映されないのは当たり前なのでした。つまり、ソースコードをWebページで表示させるには、</p>
<pre>
&lt;pre&gt;&lt;code&gt;
function someFunction() {
    // code
}
&lt;/code&gt;&lt;pre&gt;
</pre>
<p>というふうに、pre要素の中にcode要素を含ませて書くのが正しいようです。ちなみにcode要素はインライン要素なので、次のような書き方もできます。</p>
<pre>&lt;p&gt;1行目の&lt;code&gt;someFunction()&lt;/code&gt;の中にコードを実装していきます。&lt;/p&gt;
</pre>
<p>なお、&lt;pre&gt;&#8230;&lt;/pre&gt;を使うと、一行が長い場合、</p>
<pre style="white-space:pre">
function someFunction() {
    // code code code code code code code code code code code code code code code code code code code code code code code code code code code code code code code code
}
</pre>
<p>という感じで、横スクロールバーが表示されてしまいますが、以下のサイトで紹介されているcssハックを使えば、折り返すことができます。</p>
<p>&raquo; <a href="http://myy.helia.fi/~karte/pre-wrap-css3-mozilla-opera-ie.html" target="_blank">Making preformated &lt;pre&gt; text wrap in CSS3, Mozilla, Opera and IE</a></p>
<p>最近になって、ようやくWeb標準の勉強を始めたのですが、新しい発見がいっぱいあって楽しいです。</p>
]]></content:encoded>
			<wfw:commentRss>http://jmblog.jp/archives/80/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ソースコードをカラー表示するWordPressのプラグイン</title>
		<link>http://jmblog.jp/archives/62</link>
		<comments>http://jmblog.jp/archives/62#comments</comments>
		<pubDate>Wed, 12 Jul 2006 16:23:28 +0000</pubDate>
		<dc:creator>Yoshihide</dc:creator>
				<category><![CDATA[webdesign, design]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[hilight]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://jmblog.jp/archives/62</guid>
		<description><![CDATA[

[追記 2010-01-19]
現在は、CodeColorer というプラグインを利用しています。
&#187; CodeColorer – Syntax Highlighting Plugin for WordPress &#124; Dmytro Shteflyuk&#8217;s Home


「Tips Community » ソースをハイライトで表示してくれるプラグイン」で iG:Syntax Hiliter というプラグインを見つけました。ソースコードをテキストエディタのようにカラー表示してくれるという優れものです。

&#187; iG:Syntax Hiliter
プラグインを使わずに普通に書くとこんな感じ。（本来は&#60;code&#62;タグを使うべきですが半角スペースが効かないので&#60;pre&#62;タグを使っています。認識が間違っていました。）

// Comment here
function HelloWorld() {
    alert('Hello World!');
}

それがこんなふうに表示されます。（一部スタイルを改変してます。）プレーンテキストへの切り替えも付いているので、ソースをコピー＆ペーストするときもOK。
// Comment here
function HelloWorld&#40;&#41; &#123;
&#160; &#160; alert&#40;'Hello World!'&#41;;
&#125;
使い方はソースコードを専用のタグ（［js］～［/js］など）で囲むだけです。

[js]
// Comment here
function HelloWorld() {
    alert('Hello World!');
}
[/js]

開始行番号の指定も出来ます。

[php num=23]
$var1 = 23; // variable 1
$var2 = 32; [...]]]></description>
			<content:encoded><![CDATA[<div class="ins">
<ins datetime="2010-01-19"></p>
<p class="ins-title">[追記 2010-01-19]</p>
<p>現在は、CodeColorer というプラグインを利用しています。</p>
<p>&raquo; <a href="http://kpumuk.info/projects/wordpress-plugins/codecolorer/">CodeColorer – Syntax Highlighting Plugin for WordPress | Dmytro Shteflyuk&#8217;s Home</a></p>
<p></ins>
</div>
<p>「<a href="http://f40.aaa.livedoor.jp/~benjamin/?p=23" target="_blank">Tips Community » ソースをハイライトで表示してくれるプラグイン</a>」で <a href="http://blog.igeek.info/wp-plugins/igsyntax-hiliter/" class="broken_link"  target="_blank">iG:Syntax Hiliter</a> というプラグインを見つけました。ソースコードをテキストエディタのようにカラー表示してくれるという優れものです。</p>
<p><span id="more-62"></span></p>
<p>&raquo; <a href="http://blog.igeek.info/wp-plugins/igsyntax-hiliter/" class="broken_link"  target="_blank">iG:Syntax Hiliter</a></p>
<p>プラグインを使わずに普通に書くとこんな感じ。（<del>本来は&lt;code&gt;タグを使うべきですが半角スペースが効かないので&lt;pre&gt;タグを使っています。</del><ins><a href="http://jmblog.jp/archives/80">認識が間違っていました。</a></ins>）</p>
<pre>
// Comment here
function HelloWorld() {
    alert('Hello World!');
}
</pre>
<p>それがこんなふうに表示されます。（一部スタイルを改変してます。）プレーンテキストへの切り替えも付いているので、ソースをコピー＆ペーストするときもOK。</p>
<div class="codecolorer-container javascript blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #006600; font-style: italic;">// Comment here</span><br />
<span style="color: #003366; font-weight: bold;">function</span> HelloWorld<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'Hello World!'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></div>
<p>使い方はソースコードを専用のタグ（［js］～［/js］など）で囲むだけです。</p>
<pre>
[js]
// Comment here
function HelloWorld() {
    alert('Hello World!');
}
[/js]
</pre>
<p>開始行番号の指定も出来ます。</p>
<pre>
[php num=23]
$var1 = 23; // variable 1
$var2 = 32; // variable 2
$vsum = $var1 + $var2; // sum of variables 1 &#038; 2
print($vsum);
[/php]
</pre>
<p>対応している言語は以下のようになっています。これだけあれば充分でしょう。</p>
<ul>
<li>ActionScript</li>
<li>ASP</li>
<li>C</li>
<li>C++</li>
<li>C#</li>
<li>CSS</li>
<li>Delphi</li>
<li>HTML</li>
<li>Java</li>
<li>JavaScript</li>
<li>MySQL</li>
<li>Perl</li>
<li>PHP</li>
<li>Python</li>
<li>Ruby</li>
<li>Smarty</li>
<li>SQL</li>
<li>Visual Basic, VBScript</li>
<li>VB.NET</li>
<li>XML</li>
</ul>
<p>なお、WordPress を使っていない方には、<a href="http://www.dreamprojections.com/SyntaxHighlighter/Default.aspx" class="broken_link"  target="_blank">dp.SyntaxHighlighter</a> というのもあります。こちらは&lt;textarea&gt;の中に書いたソースコードをカラー表示してくれる JavaScript のライブラリで、見た目は個人的にはこっちの方が好きなんですが、ページのロードが完了してからスタイルを適用させるのでちょっとタイムラグがあるのが、ちと難点。あと、WordPressだと&lt;textarea&gt;内の改行が&lt;br&gt;に変換されてしまいうまく表示できない、という問題があるので見送りました。</p>
]]></content:encoded>
			<wfw:commentRss>http://jmblog.jp/archives/62/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
