morikawa とは?

ただのユーザ。
どっぷり pukiwiki ってわけにもいかないので、ほどほどな小物が目立ちます。

未公開含む、ぷらぐいん

ここら(http://www.tetsuo.morikawa.name/m/?pukiwiki%2Fplugins )あたりでボチボチと。

PukiWiki/1.4/自作プラグイン

プラグイン編

ぷらぐいん改造編

自作プラグインに載せるほど大したものじゃなく。
でも改造したら便利かも、使うシーンがあるかも、ってなものを掲載。
オリジナル作者さんが取り込むもよし、ええな~と思った人が自作プラグインに 載せるもよし。

階層より下の更新一覧を表示する recent プラグイン

改造版とオリジナル版のdiff ですが、添付しときます。

こんな感じ(http://www.tetsuo.morikawa.name/glaucoma/pukiwiki.php?%A5%ED%A5%D3%A1%BC )で、BBSライクに出来てお得。

  • さらに改造して 指定階層以下 を 表示できるようにしてみました。 merlin:Plugin/Demo/recent3.inc.php -- merlin 2003-10-10 (金) 19:34:32
  • ちょっとたまさせてもらいました。 -- ゲスト? 2005-04-07 (木) 13:15:45
2003-04-30

テキスト幅を変えられる lookup プラグイン

4つめの引数にsize属性値を数値で、5つ目に値を渡すとテキストボックスの左の文字を非表示。

ここのメニュー(http://www.tetsuo.morikawa.name/glaucoma/ )みたく小型化可能。他には用途なさげだけどね。 :p

  • ウチのlookupの改造も便乗で紹介。2つめの引数に$thispageを指定すると、現在表示中のページタイトルを入力欄に初期表示するようにしています。Googleとか検索エンジンのInterWikiNameと組み合わせて使用する以外に用途はなさげ :p -- にぶんのに 2003-05-05 (月) 21:12:55
+	$s_page = htmlspecialchars($vars['page']);
	
	$default = '';
-	if (func_num_args() > 2)
+	if (func_num_args() > 2){
+		if ($args[2] == '$thispage'){
+			$default = $s_page;
+		}else{
			$default = htmlspecialchars(trim(strip_tags($args[2])));
+		}
+	}
-	$s_page = htmlspecialchars($vars['page']);
  • これ、現在のページ以下を検索する際の、絞込み検索にもある程度有効そうですね。 -- morikawa 2003-05-07 (水) 00:54:58
2003-04-30

ひとつ下の階層の一覧だけ表示する ls3 プラグイン

diffってみれば分かるが、ls3 として関数名をリネームした変更がほとんど。 直接書き換えるなら、下記だけのはず。たぶん。ショボ・・・。

例)

  • aaaページの #ls が
    • aaa/bbb/ccc
    • aaa/bbb/ddd
    • aaa/bbb/eee
    • aaa/zzz/abc
    • aaa/zzz/def
  • だとすると、aaa で #ls3 すると、
    • aaa/bbb
    • aaa/zzz
  • になる。
        $pages = array();
        foreach (get_existpages() as $_page)
        {
-               if (strpos($_page,$prefix) === 0)
+               if (      (strpos($_page,$prefix) === 0) &&
+                             (!preg_match('/[^\/]+\/+/', str_replace($prefix,'',$_page)))  &&
+                             (!preg_match('/\/\_/',$_page))         )
                {
                        $pages[] = $_page;
-               }
+               } // morikawa

オプション引数が利くかどうか、試してない。単に #ls3 としかしてないので・・・(汗

  • pukiwiki:欲しいプラグイン/55 にあったもの。一部サイトで使っていた内容。ls3 とちょこっと違う。 -- morikawa 2003-10-03 (金) 14:32:13
    • そうか、これはやろうとしてやりかけだった。ごめんなさい。表示はされるけど、リンク先がおかしいや。
    • てことで、急遽手を入れました。とりあえず、前からやりたかったことが出来てよかった。
    • filels3b.inc.php
  • My hack of ls3b.inc.php, support weblog plugin. Use #ls3(,weblog,) for my weblog plugin. See this -- Candyz 2003-10-08 (水) 00:46:06
  • official:欲しいプラグイン/55のリンクからたどってきました。一階層下のリストのみを出力したいと思い ls3b.inc.phpを利用したところ、プラグインに指定した参照先ページ名の省略はされますが、2つ以上下の階層の省略がされない環境があります。ローカルにある環境(Vine Linux2.6/Apache 1.3.27/PHP 4.2.3/PukiWiki1.4.2)では一階層下のリストのみ表示されるのですが、レンタルサーバの環境(Linux/Apache 1.3.27/PHP 4.3.3/PukiWiki1.4.2)ですとうまくいきません。ls3bの検証用ページをレンタルサーバ側に準備しました (ここです 現在は削除されています) できればうまく表示できるようにして頂きたいのですが、現象だけでも確認していただけませんか?よろしくお願いします。 -- jjyun 2004-01-04 (日) 08:06:17
  • ls3b.inc.phpの修正部分のコードの内容を確認したところ、str_replaceに第4引数が設定されていますがマニュアルにはありません。以下のようにstr_replace関数を修正したら、目的の通り表示されていなかったレンタルサーバ上でもうまく動きました。*1 -- jjyun 2004-01-04 (日) 20:09:19
           $pages = array();
           foreach (get_existpages() as $_page)
           {
    -             $prefix_removed = str_replace($prefix,'',$_page, 1);
    +             $prefix_removed = str_replace($prefix,'',$_page);
                  if (      (strpos($_page,$prefix) === 0) &&
                                (!preg_match('/[^\/]+\/+/', $prefix_removed))  &&
                                (!preg_match('/\/\_/',$_page))         ) 
                  {
                          $pages[] = $_page;
                          $pages_p[] = $prefix_removed;
                  } // morikawa
  • 欲しいプラグインにもあるようにこのような機能は需要があると思います.が、official:自作プラグイン/ls3.inc.phpにあるようにプラグインの名前が重複しています。今後を考えるとできれば改名して本家の自作プラグインに上げてもらえないでしょうか? -- jjyun 2004-01-04 (日) 20:18:53
  • 見出しの自動生成の仕組みを考え、ls系のプラグインをいろいろ試したものの、なかなかシックリとくるものが見つからず、ここにたどり着きました。jjyunさんご指摘の修正をしたところ、まさに希望していた通りの機能が実現できました! morikawaさん、jjyunさん、ありがとうございます。 -- SS? 2004-04-25 (日) 18:16:12
  • official:自作プラグイン/ls2_1.inc.phpにも同様の機能があります。
2003-04-30

階層化しなくても、カテゴリ毎に同一サブメニュー

./includesubmenu.inc.php メニューの入れ子とかも。

結構書き換えた。標準添付に取り込まれないかなあ。。。 - 2003-11-21

小物編

ファイル名 unpack Ruby Script

メモしたテキスト、他サイトのDBから抽出したテキストをpukiwiki fileに変換。 タイトル.txt を unpack してファイル作成、内容をEUCに変換して保存。

PHPで直接書き込んでもいいのだけど、エラー制御やUndo制御が面倒なのでやめた。

準備
<dirname> 以下に、変換元テキストファイルを用意。実行ディレクトリに wiki というディレクトリを作成。
実行
ruby conv_filename.rb <dirname>
結果
wiki/ENCODED.txt というようにファイル名が unpack されて保存される。そのままFTPであげればよい。
  • 自分の用途
    • PostNukeのデータ、XOOPSのデータをMySQLからdumpして、コンバート。pukiwiki に変えた際、データ移行に利用した。
    • dumpしたSQLからの切り出しは、処理があまりにもズサンなので公開に消極的。
  • 自分の環境
    • cygwin + ruby 1.6 (それ以外でも動くはず。)
    • エラー制御はほとんど無視してます。あくまでワンライナー的に利用。*2

RSS2Mail for pukiwiki

pukiwiki の Rss をメールで送信します。

  • ダウンロード
  • このスクリプトの機能
    • 複数RSSを指定可能
    • Descriptino に入ってくる日付から、?秒前以降を無視する設定が可能(for Rss0.91.)
      • r1.3 からは、dc:date を見ています。
    • 今のところあて先がひとつだけ。To:にカンマ区切りすればOKかも。
  • 不足分
    • Rss0.91のみ。1.0対応も考えています。(r1.3で対応)
  • 自分は更新通知用MLを作成し、そのMLへcronで定期的に飛ばしています( for 関係者向けに )。 -- morikawa 2003-06-19 (木) 13:43:59
  • W3CDTF 2 time な、よい関数があれば教えてください。 -- morikawa 2003-06-19 (木) 15:19:44

:CategoryPerson


*1 私のテストページではプラグイン名を#llsに修正して試しています。
*2 devにいる人なら自分でやるってか・・・ (^^;

添付ファイル: filewikinote.inc.php.031111 1594件 [詳細] filels3_candyz.inc.php 1506件 [詳細] filewikinote.inc.php.031007 670件 [詳細] filewikinote.inc.php.031005 759件 [詳細] filels3b.inc.php 1643件 [詳細] filels3a.inc.php 609件 [詳細] filepukiwiki.rss2mail.php.r1.3 1732件 [詳細] filebookmark.inc.php.r1.1 1669件 [詳細] fileconv_filename.rb 1510件 [詳細] filels3.inc.php 1516件 [詳細] filelookup.inc.php.diff 1544件 [詳細] filerecent.inc.php.diff 1643件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-04-15 (金) 15:32:30
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.507 sec.

OSDN