Markdown 記法でアンダースコアを複数含む変数名を書く方法

Markdown ではアンダースコアで囲むと強調になるので、アンダースコアでつなげるスタイルの変数がものすごく書きづらい。

mt_convert_breaks

数値参照を使って、こんなふうに書くしかないのかね。

更に、等幅フォントで強調にするには、HTML タグを使わないと駄目っぽい。

<code><strong>mt&#x5f;convert&#x5f;breaks</strong></code>

まあ、すでに Markdown じゃないわけだが。

(追記) yuin さんのコメントで気づいた。バッククォートで囲めば等幅フォントでそのまま出せるね。Markdown による記述と変換後の HTML で書くと、

`mt_convert_breaks\ ` --> <code>mt_convert_breaks</code>

こうなるので大丈夫。

ただ、等幅フォントで強調もしようとすると大変になるみたい。

(1) `__\ mt_convert_breaks__` --> <code>__mt_convert_breaks__</code>
(2) __\ `mt_convert_breaks`__\  --> <strong><code>hoge_foo_bar</code></strong>
  1. は上手くいってそうなんだが、このブログでは YUIreset.cssoode{font-style:normal;font-weight:normal;} となっているため効果なし。

理想の <title> をもとめて

WordPress のインストール直後は <title> タグを出力するテンプレートは以下のようになっていた。


<title><?php bloginfo('name'); ?> <?php if ( is_single() ) { ?> &raquo; Blog Archive <?php } ?> <?php wp_title(); ?></title>

これだと記事のタイトルは「ブログ名 » Blog Archive » 記事タイトル」のようになる。これを「記事タイトル - ブログ名」にしたくて、


<title><?php
  wp_title(' ');
  if (wp_title(' ', false)) echo ' - ';
  bloginfo('name'); ?></title>

というテンプレートをいままでは使っていた。

しかし、今日はじめて気づいたのだが、これだと「<strong> 記事タイトル - ブログ名</strong>」というふうに、タイトルの直前に余分なスペースが残ってしまう。

どうやら、wp_title() は区切り文字が空文字のときでも、周囲のスペースを挿入してしまうらしい。

しょうがないので、力技だが、出力前に trim() してみる。


<title><?php
  echo trim(wp_title('', false));
  if (wp_title('', false)) echo ' - ';
  bloginfo('name'); ?></title>

これでやっと「記事タイトル - ブログ名」にできた。

なお、Optimal Title というプラグインもあるようだ。このプラグインをインストールすれば、区切り文字を末尾に追加してくれるバージョンの wp_title() として、optimal_title() が使えるようになる、とのこと。

うーん、wp_title() がもうちょっと汎用的につくってあってもいいと思うんだけど...。

Weighted Categories で最後のタグの URL がおかしいのを修正する

前回書いた「タグクラウドのリンクがおかしい?」という問題は、やはり Weighted Categories のバグだった。

問題は WordPress の list_cats で得たカテゴリーのリスト (HTML) を、配列に変換する部分:


function weighted_categories($smallest=10, $largest=48, $unit="pt", $exclude='')
{
      $cats = list_cats(1, 'all', 'name', 'asc', '', 0, 0, 1, 1, 0, 1, 1, 0, 1, '', '', $exclude, 0);

      $cats = explode("\n", $cats);
      foreach ($cats as $cat)
      {
              ...
      }

強調部分で $cats には末尾に改行が含まれているため、変換後の配列の最後の要素は空白文字列になる。そのため、最後のタグの URL がおかしくなっていた。

つまり、末尾の空白を取り除いておけば、問題は解決する。


--- weighted_categories.php.origin    2007-01-02 15:27:48.000000000 +0900
+++ weighted_categories.php   2007-01-02 15:38:13.000000000 +0900
@@ -11,7 +11,7 @@
 {
      $cats = list_cats(1, 'all', 'name', 'asc', '', 0, 0, 1, 1, 0, 1, 1, 0, 1, '', '', $exclude, 0);

-     $cats = explode("\n", $cats);
+     $cats = explode("\n", trim($cats));
      foreach ($cats as $cat)
      {
              eregi("a href=\"(.+)\" ", $cat, $regs);

タグクラウドのリンクがおかしい?

このブログのサイドバーにあるタグクラウドの表示には、Weighted Categories という WordPress プラグインを使っているのですが、どうも xmlrpc というタグだけ URL がおかしい。

他のタグは絶対 URL なのに、こいつだけ


<a href="xmlrpc" title="3 entries" style="font-size: 15.6px;">xmlrpc</a>

こんな感じで URL が間違っている。うーん、プラグインのバグなのかなあ。

ブログの XML-RPC サポート

個人的メモとして、各ブログの XML-RPC サポート状況をまとめてみた。

Movable TypeBlogger の API と、米 UserLand Software 社の MetaWeblog API に準拠しているようだ。また、WordPressMovable Type に準ずるかたちになっている

面白いのは Blogger。 現在は XML-RPC ではなく、 Google Data APIs (GData) による Blogger Data API を使用している。

Web ページのサイドバーには他にも "Calendar Data API""Spreadsheets Data API" など、Google の他サービスの名前が並んでいるので、GData はこれらのサービスでも実装されているのだろう。GData によるサービス同士の連携もあるのかもしれない。

Want fries with that?

Open Source Projects