はてなダイアリー側はほぼ完全に生活系雑記やつぶやきに近い記事しか載せないことに決めたのでこちら側を改修してさらにプログラムやらに強くすることにしました。で、生活系blogから引っ張ってきた記事の中で微妙に互換性を失っているものがあったりサイドバーにはてなブックマークのリストを追加したりしましたが、これがまた面倒で・・・。
脚注表記にはWP-Footnotesを使うのだが・・・
はてなダイアリーには普通にはてな記法としてあった脚注の表記ですが、WordPressでは当たり前の如くプラグイン形式で存在しています。今回使用したのはWP-Footnotesです。いろいろな人が使っていて使用方法を書いていますのでその中でも注意点を。
プログラムコード系の記事とは仲が悪いので注意
WP-Footnotesを使って脚注表記を行う場合ですが、通常は脚注開始は「半角スペース((」、脚注終了は「))」となります。そのため、脚注開始には開き括弧だけではなくその前に半角スペースが必要なので気をつけましょう。ところが、この表記とプログラムコード系の記事とが非常に相性が悪いです。というのも、「半角スペース((」という記号列であればプログラム内ならいくらでも存在する可能性があるのでそれを検知すると見事に脚注と間違えられて大変なことになります。しかもSyntaxHighlighterと併用している場合は脚注の部分がタグごとそのまま表示されるのでプログラムコード系記事が壊れるという状態になります。
これに関しては「プラグイン本体のPHPコードを書き換えて脚注開始と脚注終了のコードを変えてしまう」というやり方が有効です。プラグイン管理画面からWP-Footnotesの編集を開いてfootnotes.phpのコード編集上で
define('WP_FOOTNOTES_OPEN', " (("); //You can change this if you really have to, but I wouldn't recommend it. define('WP_FOOTNOTES_CLOSE', "))"); //Same with this one.
と言う部分がありますのでこれを修正してプログラムコード内で現れないような記号を指定することで使えるようになると思います。
面倒なのは記事のエクスポート/インポートで持って行くと脚注が即座には有効化されないと言うこと、そしておそらくプラグインが更新されるとこの表記が元に戻ってしまうところでしょうか。プラグインの自動更新時にはいろいろと注意が必要というわけですね。
IdentifierとBack-linkとは適当に設定を
他のページにも書いてあるとは思いますが主にこの三つを設定します。Identifierは「脚注を書いた場所に置かれるリンクの表記」、Back-linkは「文末にある脚注それぞれに追加される対象の脚注がある位置に戻るリンクの表記」、Priorityは「脚注が表示される場所の優先度」になります。
特にPriorityは注意で、コメント入力やらブログパーツを記事の最後に挟んでいる場合、脚注がとんでもない場所に記述されていることがあります。自分が思ったような位置ではない場合はPriorityをデフォルトより小さくすると上側に、Priorityをデフォルトより大きくすると下側に移動するのでそれを使って正しい位置に合わせましょう。
はてなブックマークの人気記事リストに箇条書きのビュレットが・・・
WordPressが悪いのかテーマが悪いのかよく分かりませんがはてなブックマークの人気記事リストをブログパーツとしてサイドバーに貼り付けると項目の左側に箇条書きの表記と見られるビュレットがついてくるのが非常に目障り。しかも項目の最後とブログパーツの終端部になぜか空白ができるという事態。
これについてはテーマのCSSを少しいじって対応。以下テーマのCSSに追記する簡単なコードです。
.widget-area .widget .hatena-bookmark-widget ul { margin-bottom: 0px; margin-bottom: 0em; list-style-type: none; }
おそらくlist-style-typeが上位からの継承の関係で有効になってしまったのでしょうね・・・。空白はmargin-bottomのせいですか。
カスタマイズはしやすいがPHPやCSSのコード知識がないとちょっと厳しい
だからこそWordPressをblogシステムとして顧客が使用できるようにしたりデザインなどをカスタマイズする案件で契約が取れるわけですか。プラグインも豊富にあり最悪自分で作れるなど自由度が高いので多少のプログラム知識があればこのように対処が可能という点からVPS+WordPressのようなblogシステム構築はWeb系の実験としてやるには適しているかもしれませんね。