Hatena::ブログ(Diary)

すたら日記

2012年08月30日

現時点(2012-08-30)での、はてなブログへの移行を諦めました。

理由

余計な"br"タグが追加されてしまうから。


"pre"タグ内の改行

はてなダイアリーの画面写真

f:id:sutara_lumpur:20120830152902p:image


はてなブログの画面写真

f:id:sutara_lumpur:20120830152901p:image


はてダの原文

"find"のパラメータはこんな感じ。
<pre>
$data = $this->TagList->find('all', array(
	'limit'      => 20,
	'<span class="sad">conditions</span>' => array('<span class="green">spam</span>' => false),
	'order'      => 'modified DESC'
));
</pre>
テスト環境では気づきませんでしたが、50万件のデータを検索すると、すんごく遅い…orz
一般的なPHPの実行制限時間である30秒を、軽くオーバーしてしまいます(-_-;)
で、解決策が下記。


はてなダイアリーのHTML

<p>"find"のパラメータはこんな感じ。</p>
<p><pre>
$data = $this-&gt;TagList-&gt;find('all', array(
	'limit'      =&gt; 20,
	'<span class="sad">conditions</span>' =&gt; array('<span class="green"><a class="keyword" href="http://d.hatena.ne.jp/keyword/spam">spam</a></span>' =&gt; false),
	'order'      =&gt; 'modified DESC'
));
</pre></p>
<p>テスト環境では気づきませんでしたが、50万件のデータを検索すると、すんごく遅い…orz</p>
<p>一般的な<a class="keyword" href="http://d.hatena.ne.jp/keyword/PHP">PHP</a>の実行制限時間である30秒を、軽くオーバーしてしまいます(-_-;)</p>
<p>で、解決策が下記。</p>


はてなブログのHTML

"find"のパラメータはこんな感じ。<br />
<pre><br />
$data = $this->TagList->find('all', array(<br />
	'limit'      => 20,<br />
	'<span class="sad">conditions</span>' => array('<span class="green"><a class="keyword" href="http://d.hatena.ne.jp/keyword/spam">spam</a></span>' => false),<br />
	'order'      => 'modified DESC'<br />
));<br />
</pre><br />
テスト環境では気づきませんでしたが、50万件のデータを検索すると、すんごく遅い…orz<br />
一般的な<a class="keyword" href="http://d.hatena.ne.jp/keyword/PHP">PHP</a>の実行制限時間である30秒を、軽くオーバーしてしまいます(-_-;)<br />
で、解決策が下記。<br />

"p"タグや"div"タグでの改行を"br"に変換するのは問題ないのですが、"pre"タグでは二重の改行となってしまいます…orz


"table"タグ内の改行

はてなダイアリーの画面写真

f:id:sutara_lumpur:20120830163014p:image


はてなブログの画面写真

f:id:sutara_lumpur:20120830163015p:image


はてダの原文

		<h3 style="">あなたのレジュメ</h3>
		<h4><span>■</span>職務経歴</h4>
		<h5>現在または直前の勤務先</h5>
		<table summary="現在または直前の勤務先欄 社名、主な職務内容など" cellspacing="0" class="frame">
		<tbody><tr>
			<th>社名</th>
			<td class="detail">(社名伏せ)</td>
		</tr>

		<tr>
			<th style="">在籍期間</th>
			<td class="detail">2009年4月&nbsp;〜&nbsp;在籍中</td>
		</tr>


はてなダイアリーのHTML

<p><div id="anatanoresume"></p>
<p>		<h3 style="">あなたのレジュメ</h3></p>
<p>		<h4><span>■</span>職務経歴</h4></p>
<p>		<h5>現在または直前の勤務先</h5></p>
<p>		<table cellspacing="0" class="frame">
		<tbody><tr>
			<th>社名</th>
			<td class="detail">(社名伏せ)</td>
		</tr>


はてなブログのHTML

<p><div id="anatanoresume"><br />
<h3 style="">あなたのレジュメ</h3><br />
<h4><span>■</span>職務経歴</h4><br />
<h5>現在または直前の勤務先</h5><br />
<table summary="現在または直前の勤務先欄 社名、主な職務内容など" cellspacing="0" class="frame"><br />
<tbody><tr><br />
	<th>社名</th><br />
	<td class="detail">(社名伏せ)</td><br />
</tr></p>


感想

"pre"タグ内の改行は、下記のようにCSSを設定することで対処できます。

pre br { display:none; }

【参考】

preタグ内での改行(br)を無効にする:地方で活動するweb制作者の日々を綴るblog

http://blog.livedoor.jp/loopus/archives/50216173.html


が、"table"タグ内にまとわりついた"br"は、どうしようもありません。

私は、"/tr"や"/td"の直後に、ソースの読みやすさのための改行しています。

それが意図せずして"br"に変換されてしまい、それが積み重なってテーブルの直前にまとめて適用されて長大な余白となって表示されてしまうようです。


はてダでは、記事作成時の原文の改行は自動で"p"タグに変換されます。

1行空けたい場合は、改行を2つ重ねることで"br"タグが挿入されます。


そのような特殊な"はてダ"の作法に則って書かれた記事が、移行の際の障害になってしまうのは分かります。

が、それなら、その特殊な原文をいったんHTML化し、それをはてなブログ用の原文に変換すればいいだけのような気もしますが…。


編集モードを"はてな記法モード"に変更してからインポートしてみましたが、結果は変わりませんでした。

f:id:sutara_lumpur:20120830161817p:image


というわけで、私は、現時点では"はてなブログ"へ移行することはできません(-_-;)


【参考】

はてなダイアリーからはてなブログへのインポート機能を追加しました - はてなブログ開発ブログ

http://staff.hatenablog.com/entry/2012/05/31/152104

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。

Connection: close