何故か今まで酸っぱい葡萄だと思っていたmixiに入会することとなりました。mixiの日記と開発日誌を併用する手段についてググったところ、WordPressからMixiへ投稿する今風のプラグインとして、ケイさん(@ksnn diary)による「publishToMixi」がありました。その昔はyu-jiさん(@ yujilog)の手になる「MixiPublisher」というプラグインもあったのですが、WordPress 2.6.1では残念ながら稼働しませんでした。
さて、これは大変便利なプラグインなので是非ともお勧めしたいのですが、本当に小手先で申し訳ないくらいの些末な改造を加えています。
取り敢えずパッチを置いておきますが、流石に世の中patchが使える人ばかりではありませんので、普通のphpスクリプトも置いておきます(ダウンロード)。heading要素(h1, h2, ..)の前後の行を空行にする改造を加えるかも知れませんが、まずは取り急ぎ。
目下困っていることは、記事により転載投稿に失敗することがある点です。Template-Toolkitネタは駄目で、近況報告も駄目で、短めの改版報告なら成功しています。どうも転送する内容によって可不可が違うようです。table要素が駄目なのか、10000文字のmixi側制限に引っ掛からずとも、原文が長いとホスト側(coreserver.jp)のタイムアウトに引っ掛かるのか、原因は追えていません。何度か投稿を繰り返すとうまくいくこともあるので、後者辺りが怪しいと踏んでいるのですが。
ともあれ、エスペラント翻訳システムへの直球ではありませんが、変化球の刺激を受けて、久しぶりに日誌を更新してみた次第です。
「WordPress 2.3.2 日本語版への移行」の記事にいただいたコメントから。
日曜日と土曜日をそれぞれ赤色と青色の文字にしたい
ということで、これに対応してみました。流石にこれは日本語化ファイルだけでは如何ともし難いので、例の如くカレンダーを描画している/wp-includes/general-template.phpを直接改変しましょう。実行例はご覧のサイドバーの通りです。
以前に「分割ページへの前後リンク・ページ数リンク共存法」という記事を書きましたが、この度プラグイン化して公開することにしました。「回顧と展望」ページのような分割エントリ内のナビゲーションリンクを表示する”Pager for Split Entries“です。
やっていることは大したことではないのですが、PHPの文化に慣れなくていささか難儀しました。まだ荒削りですが、プラグイン道の端緒に付いたところといった感があります。適宜機能追加・修正等を行い、上記リンク先のページを更新するつもりです。
いやはや、流石にテーマファイルにちょこちょこっと書いただけよりも、使われることを意識した書き方の方が労力が掛かるのは当然でした。ドキュメントもまだやっつけのようなものなので、適宜修正を行いたいものです。
なお、上記リンク先の姉妹編であるエスペラント書きと英語書きのページは……取り敢えず今は見なかったことにしていただけると幸いです。
エスペラント単語のフォーチュン・クッキー機能の公開以来、随分と放置していたのですが、この度この開発日誌からも使えるようにしました。なお、ついでにリンク先のURIの字上符付き文字も正書法にしました。GUIなユーザエージェント(つまりはIE等)では左肩に表示される「Ĉu vi scias?」というものがその成果です。
最初からやっておけば良かったのですが、XREAに於いてWordPressから外部プログラム(この場合、フォーチュン・クッキーのスクリプト)を呼び出す方法が当初不明だったため、今まで放置していたという次第です。
WordPressはPHPで書かれており、かつ、XREAに於いてPHPはSafe Mode(セーフモード)で稼働しているので、単純に適当なテーマファイル、例えばslidebar.phpあたりにecho `~`;やらexec('~');やらecho popen '~';やらと書いただけでは、外部プログラムを稼働することは出来ません。かといって、わざわざsidebar.phpの中でロジックを最初から組むのはぞっとしません。何せ、ランダム表示の元ネタである見出し語一覧は、Perlのデータ構造としてStorable::nstoreしたものを解凍しているだけなので、PHPから単純にこのバイナリデータを読むこと能わず、PHP用の見出し語一覧をまたこしらえる必要があります。これはいかにもいただけません。
とはいえPerlは知っていてもPHPは知らなかったため難儀していたのですが、結局やることは単純で、virtual('~');をするだけでした。この場合、呼ぶ先は'/virtual/USER/public_html/DIR/SCR.pl'と絶対パスで記述するのではなく、'DIR/SCR.pl'と記述する必要があります。この辺は、通常のHTML文書にSSIを埋め込む際の記述<!--#include virtual="DIR/SCR.pl"-->と変わりませんね。
これにより、部品はそのままで、開発日誌からもフォーチュン・クッキーを表示することが出来ました。問題は、相変わらずそうやって設置した本人が「うっ、なんだこの語は?!」とプログラムにいじめられることでしょうか……。
WordPressでは、長い記事(エントリまたはポストとも呼称される)を<!--nextpage-->タグにて複数ページに分割する機能があります(カテゴリ毎に記事が沢山生じた場合のページ分割ではありません)。その場合、single.php等のテーマファイルに記述する、link_pages()またはwp_link_pages()というWordPressタグにて、それらのページへのリンクを設けることが出来ます。このWordPressタグでは、以下の表示方法を選択出来ます。
ところが、簡便さを優先したと思われるため、上記は排他的にしか選べません。
ウェブサイトデザインをあまり語れたものではありませんが、こういう「ページ物」のお作法としては、「前へ / 1ページ目 / 2ページ目 / … / nページ目 / 次へ」という書式が一般的です。例えば、Googleの検索結果が複数ページにわたる場合のページリンクは、上記の通りとなっています。このように、前後リンクとページ数リンクを両方表示する、すなわち共存させる方法はないものでしょうか。
結局、テーマファイル側で手間を掛ける必要があったので、調査結果を以下の通りご案内します。
| 月 | 火 | 水 | 木 | 金 | 土 | 日 |
|---|---|---|---|---|---|---|
| « 9 月 | ||||||
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |