自動的に引用タグで囲む

  • 投稿日:
  • by
  • カテゴリ:

ニュース記事などを、Bookmarkletの”MT it!”で引用した時に、文章を引用(blockquote)タグで囲みますが、これまでは手作業でタグを追加していました。
これを自動的に挿入させる方法について、「salvageship 引用時に引用をより解りやすく表示する方法と、その便利な利用法。」に書いてあったので真似してみました。

自分の場合は、lib/MT/App/CMS.pmの中の631行目付近の、

$param{text} = sprintf qq(<a title="%s" href="%s">%s</a>\n\n%s),

$param{text} = sprintf qq(<a title="%s" href="%s"><cite>%s</cite></a></p> <blockquote><div>%s</div></blockquote><p>),

というように変更しました(実際は改行せず1行で)。 cite要素は引用元、blockquote要素は引用文を表します。 blockquote要素をp要素の中に入れることはできないので、blockquote要素の前後でp要素の解除/開始しています。

スタイルシートには、blockquote要素についてのスタイルを追加しました。

.blogbody cite {
      font-style: normal;
      }
.blogbody blockquote {
      margin-left: 20px;
      padding: 5px;
      background:#ccffcc;
      border: 1px dotted #003366;
      }