月別アーカイブ: 3月 2006

Pages+プラグイン

複数の人間で(staticな)ページを書いていると、いつ書き換えられたかわかりにくい。管理画面で更新日時順にできればいいのだが、と思ってプラグインを探してみた。そのものではないが Pages+ をほんの少し直せば目的に合いそうだ。slug は要らないので削って、post_author, post_modified をつけ加えた。
DIFF:
  1. @@ -131,7 +134,9 @@
  2.     $sort_cols = array(
  3.        'menu_order',
  4.        'id',
  5. -      'post_title'
  6. +      'post_title',
  7. +      'post_author',
  8. +      'post_modified'
  9.     );
  10.     
  11.     $sort_orders = array(
  12. @@ -142,7 +147,7 @@
  13.     $orderby = (!array_key_exists('orderby', $_GET) || !in_array(strtolower($_GET['orderby']), $sort_cols)) ? 'menu_order' : $_GET['orderby'];
  14.     $sortorder = (!array_key_exists('sortorder', $_GET) || !in_array(strtolower($_GET['sortorder']), $sort_orders)) ? 'ASC' : $_GET['sortorder'];
  15.     
  16. -   $sql = "SELECT ID, menu_order, post_title, post_name, guid FROM $wpdb->posts WHERE post_parent = $parent_id AND post_status = 'static' ORDER BY $orderby $sortorder";
  17. +   $sql = "SELECT ID, menu_order, post_title, post_name, guid, post_author, post_modified FROM $wpdb->posts WHERE post_parent = $parent_id AND post_status = 'static' ORDER BY $orderby $sortorder";
  18.     $rows = $wpdb->get_results($sql);
  19.     $num_rows = count($rows);
  20.     ?>
  21. @@ -166,6 +171,18 @@
  22.        <?php } else { ?>
  23.           Title
  24.        <?php } ?>
  25. +      &nbsp;|&nbsp;
  26. +      <?php if($orderby != 'post_author') {?>
  27. +         <a href="<?php echo pp_link_self($parent_id, array('orderby'=>'post_author')); ?>" title="Order by Author">Author</a>
  28. +      <?php } else { ?>
  29. +         Author
  30. +      <?php } ?>
  31. +      &nbsp;|&nbsp;
  32. +      <?php if($orderby != 'post_modified') {?>
  33. +         <a href="<?php echo pp_link_self($parent_id, array('orderby'=>'post_modified')); ?>" title="Order by mod-time">Upd Time</a>
  34. +      <?php } else { ?>
  35. +         Upd Time
  36. +      <?php } ?>
  37.        <br />
  38.        <strong>Sort order:</strong>
  39.        <?php if($sortorder != 'ASC') {?>
  40. @@ -193,7 +210,8 @@
  41.              
  42.              <th scope="col">Order</th>
  43.              <th scope="col">Title</th>
  44. -            <th scope="col">Slug</th>
  45. +            <th scope="col">Owner</th>
  46. +            <th scope="col">Updated</th>
  47.              <th scope="col"></th>
  48.              <th scope="col"></th>
  49.              <th scope="col"></th>
  50. @@ -222,7 +240,8 @@
  51.              } else {
  52.                 echo "<td>$row->post_title</td>n";
  53.              }
  54. -            echo "<td>$row->post_name</td>n";
  55. +            echo "<td>" . get_author_name($row->post_author) . "</td>n";
  56. +            echo "<td>$row->post_modified</td>n";
  57.              if(function_exists(get_guid))
  58.              {
  59.                 // if available, makes use of the 'Guid Rebuild' plugin (also by me!)

プラグインいくつか

=== Edit Comments === [[http://bd.dotted.jp/archives/67/|BirDesign]]で見て。readme.txtにあるように、 いくつかのphpを修正。 === Search Everything === 同じく[[http://bd.dotted.jp/archives/40/|BirDesign]]で見て。別の記事の[[http://bd.dotted.jp/archives/45/|全角のスペースでAnd検索]]を実現すべく、search_everything.phpの最初の関数 add_comments_search_whereの10行めほどに $q['s'] = str_replace(' ', ' ', $q['s']); を加えた。 === SOMY SpamBlock Japanese === [[http://wp.somy.jp/jump/spam-block-jp|SOMY.jp]]より。”ひらがな”か”カタカナ ”が指定文字数以上、指定回数以上ないとスパムとみなす。 === WP-ShortStat === [[http://bd.dotted.jp/archives/73/|BirDesign]]で見て。「ダッシュボード」にShortStatという見出しができ、そこでアクセス解析の結果が見れる。日本語検索語句の文字 化け対策を施した。 === Link Rel === [[http://bd.dotted.jp/archives/83/|BirDesign]]で見て。ちょっとだけ似たようなも のを直接header.phpに書いていたが、こっちのほうがスマートなので。header.phpに < ?php linkrel(the_ID()); ?> === SearchWord Highlight === http://hiromasa.zone.ne.jp/blog/archives/294/ より。 === LightboxJS === [[http://bd.dotted.jp/archives/42/|BirDesign]]で見て。

PHP Markdownプラグイン

PHP Markdownプラグインを入れてみる。 ひとつだけの記事をこれにすることができず、導入するならすべての記事を、と注意書がある。 が、試したところ、記事ごとに違った記法にしても大丈夫そう。

中ボタンで勝手に検索

いったん左ボタンで何らかの「コピー」をしている状態で、firefox上で中ボタンを押すと、勝手にどこかのページを検索して表示してしまう。その意図がないことが多いし、 だいたい思いもしないページに行ってしまう。 ずいぶん前からこの現象はあって、about:configのどこかで設定するはずだが...と思ってもなかなか検索の単語が浮かんでこない。ようやく旧い設定ファイル .mozilla/(...)/user.js が別のパソコンに残っているのを発見。 pref("middlemouse.contentLoadURL", false); おお、そうだった。

wp-dokuwikiプラグイン

どうしても編集した後の保存の際に新しいタグ([wiki]など((この記事では角カッコはアングルと読み替えてほしい)) )が自動的に消去されてしまう。と思ったらそれは「作者」以下の場合で、「編集者」以上だとちゃんとそのまま保存できて Wiki の処理がなされる。 前に入れた [[http://pasero.net/~mako/blog/s/1#roles-managerプラグイン|role-managerプラグイン]]で、「作者」に unfiltered HTMLの権限を与えればこの問題は解決した。 > 段落を分けること無く強制的に改行したければ、バックスラッシュ(日本語環境ではしばしば円記号)を二つ連ねた後に空白を置くか改行することによって行えます。 なのだが、編集画面ではをでエスケープしければならないようで、四連に書かなければならない。 > (表の)セル内のテキストの寄せも指定できます。 wp-dokuwiki用のCSSファイル plugin/wp-dokuwiki/lib/styles/に table.inline th.leftalign,td.leftalign { text-align: left; } table.inline th.rightalign,td.rightalign { text-align: right; } table.inline th.centeralign,td.centeralign { text-align: center; } のように書き加えた。 > htmlやphpタグを用いることで文書中にHTMLやPHPコードを埋め込むことができます。 plugin/wp-dokuwiki/conf/のlocal.phpで、 $conf['htmlok'] = 1; とする必要があった(phpは用いないと思うので、そのまま0)。

dvips

しばらく前からdvips(dvipsk-ja)が dvips: ! Couldn't find header file 8r.enc というエラーを吐いて動かない。いろいろ探しまわって、[[http://2chlinux.dtdns.net/2ch-debian/1139890780/79.html|2ちゃんねるDebianスレ]]で、 /etc/texmf/texmf.d/70dvipsj.cnfを TEXPSHEADERS.dvips = .;$TEXMF/{dvipsj,dvips,pdftex,tex,fonts/type1,fonts/enc}// と書き直せばいいことがわかった。 と思ったら、今度は mktexpk: don't know how to create bitmap font for rml のエラー。これまた探しまわって、 >現在testingのdvipsk-jaは/etc/texmf/dvipsj以下のmapを読まないようなので というのをやはり[[http://2chlinux.dtdns.net/2ch-debian/1139890780/105.html|2ちゃんねるDebianスレ]]に見つけた。dvipsj/ は読まないが dvips/は読むということらしい。うちには/etc/texmf/dvips/というディレクトリはなかったので、 ln -s dvipsj dvips としたらたちまち動き出した。

WordPressの導入

某所へのWordPress導入ために、まずここに入れてみる。というわけでときどきテストするので、おかしなことになっている可能性もあります。

都合3,4回もインストールすると慣れてくる。実際、普通にインストールする分には特に問題となることもない。これを置いているレンタルサーバPHPがCGIになっているので、パーミッションを変更(phpファイルに実行権)するくらい。しかしほかにもちょっと手を加えた。

続きを読む