Warning: Declaration of FEE_Field_Terms::wrap($content, $taxonomy, $before, $sep, $after) should be compatible with FEE_Field_Post::wrap($content, $post_id = 0) in /home/twfs/serverkurabe.com/public_html/blog/wp-content/plugins/front-end-editor/php/fields/post.php on line 0

Warning: Declaration of FEE_Field_Tags::wrap($content, $before, $sep, $after) should be compatible with FEE_Field_Terms::wrap($content, $taxonomy, $before, $sep, $after) in /home/twfs/serverkurabe.com/public_html/blog/wp-content/plugins/front-end-editor/php/fields/post.php on line 0

Warning: Declaration of FEE_Field_Category::wrap($content, $sep, $parents) should be compatible with FEE_Field_Terms::wrap($content, $taxonomy, $before, $sep, $after) in /home/twfs/serverkurabe.com/public_html/blog/wp-content/plugins/front-end-editor/php/fields/post.php on line 0

Warning: Declaration of FEE_Field_Post_Thumbnail::wrap($html, $post_id, $post_thumbnail_id, $size) should be compatible with FEE_Field_Post::wrap($content, $post_id = 0) in /home/twfs/serverkurabe.com/public_html/blog/wp-content/plugins/front-end-editor/php/fields/post.php on line 0

Warning: Declaration of FEE_Field_Post_Meta::wrap($data, $post_id, $key, $ui, $single) should be compatible with FEE_Field_Post::wrap($content, $post_id = 0) in /home/twfs/serverkurabe.com/public_html/blog/wp-content/plugins/front-end-editor/php/fields/post.php on line 0

Warning: Declaration of FEE_Field_Widget::wrap($params) should be compatible with FEE_Field_Base::wrap($content, $data) in /home/twfs/serverkurabe.com/public_html/blog/wp-content/plugins/front-end-editor/php/fields/widget.php on line 0

Warning: Declaration of FEE_Field_Comment::wrap($content) should be compatible with FEE_Field_Base::wrap($content, $data) in /home/twfs/serverkurabe.com/public_html/blog/wp-content/plugins/front-end-editor/php/fields/other.php on line 0

Warning: Declaration of FEE_Field_Term_Field::wrap($content, $term_id, $taxonomy) should be compatible with FEE_Field_Base::wrap($content, $data) in /home/twfs/serverkurabe.com/public_html/blog/wp-content/plugins/front-end-editor/php/fields/other.php on line 0

Warning: Declaration of FEE_Field_Single_Title::wrap($title) should be compatible with FEE_Field_Term_Field::wrap($content, $term_id, $taxonomy) in /home/twfs/serverkurabe.com/public_html/blog/wp-content/plugins/front-end-editor/php/fields/other.php on line 0

Warning: Declaration of FEE_Field_Option::wrap($content, $key, $ui) should be compatible with FEE_Field_Base::wrap($content, $data) in /home/twfs/serverkurabe.com/public_html/blog/wp-content/plugins/front-end-editor/php/fields/other.php on line 0
WordPressではてな記法を使えるプラグイン「WP HatenaNotation」導入とカスタマイズ方法 | Sabakura Blog

WordPressではてな記法を使えるプラグイン「WP HatenaNotation」導入とカスタマイズ方法

はてな記法とは

はてな記法というのは、はてなダイアリーで使える特殊な記事の装飾方法です。
知ってる人は読み飛ばしてもらって全然OKですが、知らない、使ったことがないという人には、ぜひ知ってほしいです。

はてな記法を使わない場合

たとえば記事内にリストを書きたい場合、普通のブログサービスやWordPressでは、いちいち手でliタグで囲むか、ないしはテキストエリア上部のツールボタンを使う必要があります。

私の場合、記事はテキストエディタで下書きしてるので、手動でタグを書いているわけですが、これが非常に面倒なんです。zen-codingとかも考えましたが、あまり肌に合わなかったので、結局手動で行っていました。

これだと、リストの中にリストが入れ子になるととても面倒です。

<ul>
 <li>関東
  <ul>
   <li>東京</li>
   <li>埼玉</li>
   <li>千葉</li>
  </ul>
 </li>
 <li>関西
  <ul>
   <li>大阪</li>
   <li>兵庫</li>
   <li>京都</li>
  </ul>
 </li>
 ...

このようにものすごく手間がかかり、しかも可読性が悪いです。

はてな記法を使うと

ところが今年になってはてなダイアリーを使いはじめたのですが、そこで使える「はてな記法」だと、これをものすごくシンプルに書き表せます。

はてな記法では、リストは「-」を先頭につけることで表し、さらに入れ子になる場合は「–」のように記号を重ねるだけでOKです。先ほどの例を、はてな記法で書くと以下のようになります。

-関東
--東京
--埼玉
--千葉
-関西
--大阪
--兵庫
--京都

このように、とてもスマートで読みやすい書き方ができます。

このほかにもpreタグを使いやすくしてくれたり、テーブルを簡単に作成できたりと、便利な書き方が多く用意されています。

・はてな記法一覧 – はてなダイアリーヘルプ

このはてな記法を、はてなダイアリーだけでなくWordPressで使えるようにしてくれるプラグインが「WP HatenaNotation」です。

プラグインの導入方法

  1. プラグイン配布ページである「WordPressにはてな記法を導入するプラグインを作った – Rewish」に行きます。
  2. 「ダウンロード」の項目から、プラグインをダウンロードします。
  3. ダウンロードした「wp-hatena-notation.zip」を解凍します。
  4. 解凍したフォルダ内にある「wp-hatena-notation」をWordPressの「plugin」フォルダにFTPでアップロードします。
  5. WordPressにログインし、ダッシュボードを表示します。
  6. 「プラグイン」の項目から、「wp-hatena-notation」を有効化します。

WP HatenaNotationのカスタマイズ

初期設定のままでも問題なく機能しますが、自分のサイトに合わせて、より詳細にカスタマイズすることができます。

ダッシュボードの「設定」→「はてな記法の設定」に進むと、設定が行えます。
以下、それぞれの設定項目について解説します。

無効日指定

ここに日付を設定すると、その日付以前でははてな記法が無効になります。以前の記事において、「*」「-」「+」などの記法に変換されそうな文字を文頭で使っている場合などは、はてな記法を導入した日の日付を設定しておきます。

なお、無効日の設定が必要なければ、「全ての記事で有効」にチェックを入れておけばOKです。

見出し記法の基準値

「*」による見出しの初期階層を指定します。たとえば「h3」にしておくと、「*AAA」は「<h3>AAA</h3>」、「**BBB」は「<h4>BBB</h4>」…となります。

通常は、記事タイトルの次の階層を指定しておくと良いと思います。たとえば記事タイトルをh1にしているなら基準値はh2、タイトルがh2なら基準値はh3という感じです。

包含要素を使用する

この項目有効にすると、はてな記法を使っている記事の場合は、全体がdivタグで囲まれます。

包含要素のclass

「包含要素を使用する」を有効にした場合に設定されるdivタグのclass名を設定します。

脚注部分のclass

はてな記法では、記事本文に脚注を入れられる脚注記法を使った場合、記事の最後に脚注一覧が作成されます。その脚注一覧を囲むdivタグのclass名です。

スーパーpre記法のマークアップ

SyntaxHighlighterなどのコードを見やすくする技術を併用している場合の項目です。(初期設定はSyntaxHighlighter用のものになっていますが、テキストエリア内を編集することで、他のシンタックスハイライトにも対応できます)

なお、WordPressでSyntaxHightliterを利用する方法については「SyntaxHighlighter(Ver3.x)の導入方法」の記事も参考にしてください。

タイトルのキャッシュを保持する日数

はてな記法で使えるhttp記法に関するものです。
http記法では、URL似続けて「:title」と入れることで、リンク先のページタイトルをURL代わりに表示できます。これはサーバーにタイトルをキャッシュすることで実現していますが、そのキャッシュ保持の期間を指定できます。

target属性を追加する

記事のリンクに「target=”_blank”」(リンクを別ウィンドウで開く)を自動追加するかどうかを設定します。

WordPressの改行を使用する

改行に関する設定です。
「使用する」にチェックを入れておくと、改行は通常のWordPressの挙動によってbrに変換され、二回以上連続する改行の場合のみpタグに変換されます。

一方「使用しない」にチェックを入れると、一回のみの改行であってもすべてpタグに変換されるようになります。