インラインタグを含んだHamlへの変換

htmlをhamlに変換するときgemで行ったのですが一部こけた部分があったので修正しました。

環境

  • OS X Yosemite
  • Itrem2
  • vim 7.4
<small class="copyright">Copyright &copy;
<span id="copyright_year"></span>. 文字列 </small>

smallタグを利用してcopyrightを表示する部分です。

目指す形は「Copyright © 2015. 文字列」です。

はじめは以下のように書きました。

%small.copyright
  Copyright &copy;
    %span#copyright_year
  . 文字列

.が文字列とくっつくとクラスを表現してしまいますので、離したところエラーが出まい、最終的にはhamlのHelperを利用しました。

Helperのsucceed do を用います。

%small.copyright
  Copyright &copy;
  = succeed "." do
    %span#copyright_year
 文字列

succeed "." doでspanのタグの終わりに.を挿入する事ができました。他にも 前に入れたければprecede do、前後に入れたけてばsurround doがあります。