2013年09月07日
このエントリーをはてなブックマークに追加
先日の記事で、コードを掲載する方法を書きました。
んで、それだけだとイマイチキレイにならないので、もう少し追記します。

ちょっと前から、HTMLやら、 .conf やらを掲載することがあります。(テストで Linux いじってる関係でどうしても・・)

ということで、コードを掲載するだけであれば、先日の通り
<pre class="prettyprint"></pre>

で、OKです。

しかし livedoor blog でこの通りにやると、改行が多くなって間延びしてしまうのです。
しかも<IfModule>とかは消えちゃうし・・。
こんな感じ


RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://[FQDN]%{REQUEST_URI} [R,L]


この原因は、livedoor blog の「改行をそのまま反映」というオプションにあります。
僕はエディタで記事を作成し、そのまま貼り付けて投稿しています。そのため、自分で <BR>タグは入れません。そのまま反映された方が色々と便利なのです。

また、「HTMLをエスケープする」というオプションがありますが、これをやると、<pre class="prettyprint"></pre>が反映されない(=コードとして記事に表示されてしまう)という別の問題が発生します。

ということで、結果的に、以下のように対応しています。

・オプションは変更しない
→ 改行をそのまま反映にチェック / HTMLをエスケープするはOFF
・コード部分(主にHTMLタグ)は、Webサービスでエスケープ処理をする
HTMLエスケープツール が便利です
※ただし <PRE / CODE> タグが入るので削除しています
・コード部分の改行は、\n を削除し、かわりに<BR>タグを入れる

すると以下のようにキレイになります。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://[FQDN]%{REQUEST_URI} [R,L]
</IfModule>

そしてこれは、以下のように投稿画面に貼り付けており、すげーーーーーーみにくいです。
<pre class="prettyprint">&lt;IfModule mod_rewrite.c&gt;<br>RewriteEngine On<br>RewriteCond %{SERVER_PORT} !^443$<br>RewriteRule ^(.*)$ https://[FQDN]%{REQUEST_URI} [R,L]<br>&lt;/IfModule&gt;</pre>

ホントはスペースとかも調整したいですが、この方法だとめんどくせー。


stock_value at 11:20│Comments(0)TrackBack(0)技術:2013年 

トラックバックURL

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔