SlimというHTMLに変換する言語があります。Hamlみたいな感じだと思えば良いのですが、日本語(や、韓国語や中国語)を書くときには、Slimを使った方が良い感じになります。
- Slim - http://slim-lang.com
- HAML - http://haml.info
ソースコードに文章を書いていて改行したときに、変な空白がHTMLに入らないようにする話です。
英語みたいなのを書く
特に考えずに適当に書いて、単語の切れ目で改行して大丈夫です。
p Hello World
p Hello
World
p
| Hello
World
HTMLには改行がそのまま出力されるので、改行した位置に空白が一個入って表示されることになります。これは、英文みたいのの場合には都合が良い。
<p>Hello World</p>
<p>Hello
World</p>
<p>Hello
World</p>
文毎に改行するなどすると、極端に一行が長くなることがなくて、良いと思います。
日本語を書く
しかし、これは、日本語だと困ったことになります。
p こんにちは
世界
が
<p>こんにちは
世界</p>
になってしまうので、ブラウザに表示したときには「こんにちは」と「世界」の間に空白が入ります。英文と同じように文毎に改行すると文と文の間に空白が入ることになりますので、これはまーぎりぎり許容範囲内かもしれませんが、やっぱりかっこ悪い。
これを防ぐには、|
を繰り返します。
p
| こんにちは
| 世界
これだと
<p>こんにちは世界<p>
になります。
まとめ
- Slimで地の文を書くときには文毎くらいに改行を入れたいのです。長すぎると読むのが辛いので。
- 英文を書くときにはそのまま改行します。毎行頭に
|
を入れると、単語間が詰まってしまって残念なことになります。(この場合は、あからさまに意味が変わってくるので、ぱっと見で気づくでしょうけど。) - 日本語を書くときには、逆に全ての行頭に
|
を入れましょう。これで、Slimで改行をしてもHTMLにはその効果はあらわれません。(こちらの場合は、ぱっと見で気づかないことがあるかもしれないので、特に注意しましょう。)
HAMLだと?
これを制御する方法はありません。
日本語を書きたいときには、
- 改行せずにだらっと書いてしまう
- 改行を潰すフィルタを書く
などの対処法があります。
その他
'
とか>
とか、微妙にいろいろと記法があるので、覚えておくとたまに便利です。