**各ページに散らばったアイデアに通し番号をつける [#eb8ed5bb] |RIGHT:70|LEFT:410|c |~バージョン|1.4以降| |~投稿者|[[snailar]]| |~状態|完了| |~投稿日|&new{2005-10-14 (金) 19:59:17};| ***メッセージ [#l9a90356] 日記に +(通し番号)[分類](発想バランス)発想内容 という形式でアイデアを書いているのですが、 この通し番号(できれば発想バランスも)を自動でカウント・表示してくれるプラグインは作れないものでしょうか。 #hr 日記の具体例: 【日記/2005-10-13】 +(1)[wiki](±0)wikiを利用して日々思いついたことを書き留める +(2)[wiki](+1)分類は[]で区切り、[[todo.inc.php>自作プラグイン/todo.inc.php]]を使って分類ごとにまとめる~ [[todo.inc.php>自作プラグイン/todo.inc.php]]を「+(数字)」で始まる行に対応させる 【日記/2005-10-14】 +(3)[wiki](+1)phpプラグインを使用して通し番号をつける(ようにできないものか?) #hr 発想バランスはその日の1つ目のアイデアを出した時点では増えず、2つ目から増えます。(2005年10月14日にもうひとつアイデアを出せば、発想バランスは+2に増えます)これは一日1つは必ずアイデアを出さなくてはいけないためです(一日1つ出すのが最低条件だから1つ目はカウントしない)。アイデアを出さなければマイナスになります。 他のユーザーの方にも有用かどうかと聞かれると言葉が詰まりますが…よろしくお願いします。 ***参考リンク [#s96f6d01] -「[[アイデアマラソン>http://www.idea-marathon.net/ja/]]」[[アイデアの記録方法>http://www.idea-marathon.net/ja/index.php?%BD%E9%BF%B4%BC%D4%A5%C8%A5%D4%A5%C3%A5%AF#v10b9e50]] -[[YukiWikiIms>http://www.3mon.com/wiki/wiki.cgi?YukiWikiIms]]-[[counterプラグイン>http://www.3mon.com/wiki/wiki.cgi?counter%a5%d7%a5%e9%a5%b0%a5%a4%a5%f3]]:Yukiwikiで通し番号自動化を実現(ただし、アイデアごとにページを作る(1つずつ大きくなっていく番号がついたページを自動的に作成する)もの) ***コメント [#ccf82d3c] - 物理的な整理ノウハウをコンピュータで実現するような話題でしょうか。面白そうですね :) 「発想バランス」といわれている合計値は日々の合算のようですが、いつの時点から数え始めるのでしょうか? -- [[henoheno]] &new{2005-10-16 (日) 18:21:24}; -- 面白そうといってもらえて幸いです。henohenoさんの質問の答えとなるよう発想バランスについて少し説明を加えてみました。 -- [[snailar]] &new{2005-10-16 (日) 21:02:51}; - こんな感じですか?そのページ内のアイデアの数を数えてるだけですけど。((完成させられるかどうかはわからないのでソースもリンク先に用意しておきます。)) -- [[okkez]] &new{2005-10-16 (日) 23:13:29}; -- まさにそんな感じです! これをページをまたいで実現できないものでしょうか… -- [[snailar]] &new{2005-10-19 (水) 18:41:01}; - 練習を兼ねて作ってみた。 -- [[lunt]] &new{2005-10-20 (木) 00:08:11}; <?php // PukiWiki - Yet another WikiWikiWeb clone // imarathon.inc.php v0.1 2005/10/20 function plugin_imarathon_inline() { global $vars; static $call_count = 1; $args = func_get_args(); if (preg_match('#^(.*)(\d{4}-\d{2}-\d{2})$#', $vars['page'], $matches)) { $base_dir = $matches[1]; $present_date = $matches[2]; } else return; $pattern = '#^' . $base_dir . '(\d{4}-\d{2}-\d{2})$#'; foreach(get_existpages() as $filename => $pagename) { if (preg_match($pattern, $pagename, $matches)) { $source = implode('', get_source($pagename)); if ($count = preg_match_all('/&imarathon\(.*\);/i', $source, $dummy)) { $data[$matches[1]] = $count; } } if ($pagename == $vars['page']) break; } $start_date = key($data); $dayspan = (strtotime($present_date) - strtotime($start_date)) / (24 * 60 * 60); array_pop($data); $idea_count = array_sum($data) + $call_count; $idea_balance = $idea_count - $dayspan - 1; ++$call_count; if ($idea_balance > 0) { $idea_balance = '+' . $idea_balance; } elseif ($idea_balance == 0) { $idea_balance = '±0'; } $string = '(' . $idea_count . ')[' . make_link($args[0]) . '](' . $idea_balance . ')'; return $string; } ?> &imarathon(wiki);のように使ってください。 -- スマートに解決策を示してくださり、ありがとうございます。 -- [[snailar]] &new{2005-10-23 (日) 20:59:05}; - インラインプラグインでConvert時にページソースをスキャンして番号を動的に振る形ではアイデア数が多くなると負荷が心配だったのと、ページ名に縛り必要になってしまうのと、何よりtodoプラグインが使えないので、commentプラグインを改造して直接書き込むタイプのものを作ってみました((rules.ini.phpでもっとシンプルに解決できないかと思いましたが無理でした。。))⇒[[こちら:http://elfen.s292.xrea.com/index.php?%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3%2Fidea.inc.php]]。よろしければ。 -- コチ &new{2005-10-20 (木) 01:24:30}; - インラインプラグインでConvert時にページソースをスキャンして番号を動的に振る形ではアイデア数が多くなると負荷が心配だったのと、ページ名に縛り必要になってしまうのと、何よりtodoプラグインが使えないので、commentプラグインを改造して直接書き込むタイプのものを作ってみました((rules.ini.phpでもっとシンプルに解決できないかと思いましたが無理でした。。))⇒[[こちら:http://elfen.s292.xrea.com/index.php?%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3%2Fidea.inc.php]]。よろしければ。 -- [[コチ]] &new{2005-10-20 (木) 01:24:30}; -- 一日のノルマ数などの細かい設定もできるのですね。todoプラグインと負荷の面も考慮してくださり、ありがとうございます。ありがたく使わせていただきます。 -- [[snailar]] &new{2005-10-23 (日) 21:09:39}; -- かってながら、リンク先を修正。[[自作プラグイン/google_spsheet.inc.php]] と比べると、2年近く遅れてますけど・・・ -- &new{2010-01-07 (木) 02:37:22}; #comment