月別のアーカイブリスト

2006-09:アーカイブ

2006-09-21

プラグインを作ってみた流れ

まず、プラグイン作成で参考になったところ

[導入編]
「プラグイン API」
通常は各インストール先のNucleusにも含まれているドキュメント。
これで、「NP_HelloWorld」の作り方とその使い方が判る。
私は、「function doSkinVar($skinType)」の中に表示に関するコードをいろいろと埋め込めばスキンからプラグイン名で呼出すことができるということを理解しました。

[実践編]
「Nucleusプラグインの技術情報」
導入編以降、よりどころになるであろうドキュメント。
まあ、公式リファレンスと認識。
ある程度弄ってみたあとで見直すと理解できる部分が増えてくる。

「どうにかなるBLOG」
「NP_SendPing」を解析しながらプラグインを理解していく記事が参考になる。

「Nucleusの使い方」
おさえておくべきメソッド等がまとめられている。

(まだ続く...)

続きがあります
category03. Nucleus  time2006-09-21 05:10

簡易フリーエリアプラグイン(タイプ:アイテム)

簡易フリーエリアプラグイン(タイプ:アイテム)

NP_TinyFreeAreaItem ver0.011

[機能概要]
アイテムIDを指定してスキン等から記事の「追加本文」を表示させる。
アイテムタイトルを見出しとして表示する。
※ブログIDのチェック等はしてないので複数ブログの場合、全ブログ共通で指定されたアイテムIDのデータが表示される。(と思う)

[確認したバージョン]
Ver 3.22 及び 3.23

[呼出方法]
スキンから
<%TynyFreeAreaItem([テンプレート],[アイテムID],[タイトルタグ])%>

[パラメータ]
パラメータ1:テンプレート名(省略可)
パラメータ2:アイテムID 整数型(省略された場合は何も表示しない)
パラメータ3:タイトルタグ h2 とか h3 とか(省略可)

[使用例]
以下はどちらも前もって記事のアイテムIDが「41」と判っており、それを表示させたい場合。

例1
<!-- フリーエリア -->
<%if(hasplugin,TinyFreeAreaItem)%>
<%TinyFreeAreaItem(default/index,41,dt)%>
<%endif%>

例2(defaultスキンの sidebar.inc で使った例
<!-- フリーエリア -->
<%if(hasplugin,TinyFreeAreaItem)%>
<div class="sidebar">
<dl class="sidebardl">
<%TinyFreeAreaItem(,41,dt)%>
</dl>
</div>
<%endif%>

----------------------------------------
ともかく、自分で作ってみることに意義があるということで。。。

簡易フリーエリアプラグイン(タイプ:カテゴリ)

簡易フリーエリアプラグイン(タイプ:カテゴリ)

NP_TinyFreeAreaCTG ver0.02

[機能概要]
名前がTFAで終わるカテゴリに属すアイテムの追加本文をフリーエリアとしてスキンなどから任意の場所に表示する。
アイテムタイトルはフリーエリアの見出し、アイテムの追加本文はフリーエリアの内容となる。
アイテムの本文の最初に「[TFAID=XX]」(XXは任意の大文字アルファベットと数値の組み合わせ)を記述すると呼出時に「XX」だけを表示対象にできる。

[確認したバージョン]
Ver 3.22 及び 3.23

[呼出方法]
スキンから
<%TynyFreeAreaCTG([テンプレート],[TFAID],[タイトルタグ])%>

[パラメータ]
パラメータ1:テンプレート名(省略可)
パラメータ2:TFAID 2桁大文字アルファベットと数値のみ(省略可、文字列なので 1 と 01 は区別される)
パラメータ3:タイトルタグ h2 とか h3 とか(省略可)

[使用例]
例1
<!-- フリーエリア -->
<%if(hasplugin,TinyFreeAreaCTG)%>
<%TinyFreeAreaCTG(default/index,1,dt)%>
<%endif%>

例2(defaultスキンの sidebar.inc で使った例)
<!-- フリーエリア -->
<%if(hasplugin,TinyFreeAreaCTG)%>
<div class="sidebar">
<dl class="sidebardl">
<%TinyFreeAreaCTG(,,dt)%>
</dl>
</div>
<%endif%>

※ TFAで終わるカテゴリが複数あった場合のことは考慮してなかった。。。

----------------------------------------
ともかく、自分で作ってみることに意義があるということで。。。

2006-09-18

簡易フリーエリアプラグイン

前回の記事にも書いたが、こんなプラグインに意味があるかどうかは判らない。
スキン/テンプレートだけでもっとスマートに実現できるような気もするが、以下の仕様を満たすには既存の「Nucleus変数」では実現できないように感じた。

最初におぼろげに思いついた「やりたいこと」は
「ブログの記事をフリーエリアの内容として使用したい。」

そして、ちょっと考えて決めた仕様
「仕様案1」
1. 特定のカテゴリ(カテゴリ名が_TFAで終わるカテゴリ)をフリーエリア用のデータとする。
2. 記事タイトルはフリーエリアの見出しとする。
3. スキンなどにプラグインの記述を追加することでその場所にフリーエリアを表示できるようにする。
4. 記事の本文には「本文:ibody」「続き:imore」があるから「本文」の方に識別コードを付けよう。
 書式は[TFAID=XX]でプラグインの呼出時にこの TFAID を指定されれば指定された記事だけを表示する。
 呼出時にTFAIDを指定しなければ全部を日付順に表示する。
5. フリーエリアの見出しはHTMLタグ文字(H2やDT等)を指定できるようにする。

※ 4と5は作りながら決めた

仕様案1を作っている途中で思いついた別の仕様
「仕様案2」
1. 特定の記事をIDを指定してフリーエリアに表示させる。
2. 記事タイトルはフリーエリアの見出しとする。
3. スキンなどにIDを指定したプラグインの記述を追加することでその場所にフリーエリアを表示できるようにする。

上記の仕様で2種類の簡易フリーエリアプラグインは一応できた。
どうやって作っていったかは次回にでも書こうと思う。
category03. Nucleus  time2006-09-18 17:19

2006-09-13

でけた。初プラグイン

プラグインを作ってみた。
どんなものかと言うと。。。
カテゴリ名が「TFA」で終わるカテゴリに所属する記事をサイドバー等に表示させるというもの。
何のためのものかというと。。。
ブログパーツでよくあるフリーエリアっぽいことを既存のUIで簡易的に実現させるためのもの。
もう少し言うとまあ、広告とか、リンクとかを本体以外の場所に固定的に表示させておくためのもの。

こんな機能はわざわざプラグインでやることではないかも知れないし、もっと別の方法で簡単にフリーエリア機能を実現できるのかも知れません。 が、作ってみたものがある程度思うような形で動いたのでちょっとうれしい。
category03. Nucleus  time2006-09-13 02:36

2006-09-08

プラグインに手を出してみようかなー

低機能なフリースペースプラグインが欲しい。
複数ブログでブログ別に広告エリアやリンクエリアをサイドバーに付けたいが、既存のプラグインとかではまだ見つけていない。
既存で有るか無いかは置いといて、一度自分でもプラグインを作ってみる良い機会かなと思い始めている。
方針としては、
・新しいUIフォーム等は作らない。
・複数ブログでもそれぞれのブログ固有のエリアとしたい。

プラグインというよりもスキン/テンプレートの領域のような気がしてきた。
category03. Nucleus  time2006-09-08 16:22

2006-09-07

作ってみたいもの

先日、うちのネコが不治の病に倒れ3週間程度の闘病の末逝ってしまった。
この期間、そのネコの食事、体重、体温を毎日記録していたが最初はテキストファイルにメモ程度で入力。これだとあとで見たときに見づらいので表形式で見れる方がよいと言うことでEXCELに入力していった。
獣医さんに見てもらうときにこれらの記録はとても役に立つらしく、実際にネコを病院に連れて行くこと無くこの記録だけを持って相談に行き、病院につれてくるかどうかの判断を仰ぐこともできる。(実際にそうした。ネコを病院に連れて行くということはネコにとっては非常にストレスがかかることが多いから)
ただ、EXCELに入力すると言うことはPCを起動しなければならずこういう記録をつけるのはなかなか大変だ。
できればWeb上から携帯電話で入力できるとよい。
ということで、どんな機能が必要かを考えてみた。

Web上から以下の入力を行える。
 ・食事の記録
 ・体重
 ・体温

結果をWeb上でレポーティング
 表形式
 グラフ

ある程度期間を指定してレポーティング
こんな感じで最低限の機能から作ってみようかと思った。
「ファンファン・ペットログ」って感じかな。
category90. 未整理  time2006-09-07 15:36