<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>wa - NucleusやFlashなどなど</title><link>http://wa.otesei.com/</link><description>ブログツール Nucleus CMS に関する情報や、プラグインの配布など</description>
		<language>ja</language><generator>Nucleus CMS v3.3</generator><copyright>&#169;</copyright><category>Weblog</category>
		<docs>http://backend.userland.com/rss</docs>
		<image><url>http://wa.otesei.com/nucleus/nucleus2.gif</url><title>wa - NucleusやFlashなどなど</title><link>http://wa.otesei.com/</link></image>
		<item>
<title>dokuwiki 見出しにセレクタを指定するプラグイン</title>
<link>http://wa.otesei.com/item/535</link>
<description><![CDATA[今まで備忘録は、ローカルPCなどで動作させたNucleusでつけていたんですが、より手書き感覚に近い「wiki」で書いてみることにしてみました。新しいオモチャを使うと、自分仕様にしたくなっちゃうんですよねぇ、ということで、<a href="http://www.dokuwiki.org/ja:dokuwiki">dokuwiki</a>のプラグインを作ってみました。<br />
<br />
<h5>見出しにセレクタを指定するプラグイン</h5><br />
見出し（h1からh5）にidやclassを指定できれば、cssでアイコンを指定したりできて、もっと表現の幅が広がるなぁと思いまして。（一人wikiの発想ですけど）<br />
<br />
<br />
<a href="http://www.dokuwiki.org/ja:development">ja:development</a>あたりを見たり、既存プラグインを参考にしたりして、なんとなく作ったものなので細かい部分把握しきれてません。<br />
挙動や手法でおかしな点がありましたら、直してやってくださいませ。（dokuwikiのプラグインって<a href="http://www.dokuwiki.org/ja:faq:charset">UTF-8</a>で書けば良いのかな）<br />
wikiっていうもの自体、あまり経験がないのですが、いまさらながら面白いですねぇ。dokuwikiのプラグイン構造も素敵です。使っていくうちに不満な点があれば、プラグイン作成にはまりそう（喜）。ただ、不特定多数のユーザが編集するwikiっていうものの特性上、プラグインを公開する場合、脆弱性対策には細心の注意が必要だなぁ。（当たり前か）<br />
<br />
最新バージョン（ver0.1）の解説です。<h3>解説</h3>
<div class="item_indent"><h5>必要条件</h5>
PHP 5.2.4以降（正規表現でPHP 5.2.4以降サポートの構文を使用しているため）

<h5>syntax</h5>
<p>すべての見出しレベル（1「======」から5「==」）で使用できます。</p>
<p>class名、id名に使用できない文字を指定した場合、セレクタは挿入されません。（命名規則の判定まではしていません。単純に使用文字の判定だけです。）</p>
<p>赤色の部分が、独自の記法です。<br />
<br />
<ul>
	<li>class名を指定する場合<br />
		<div class="pc"><code class="codebeautifier">
====== <span style="color:red">.{className}</span> title ======
</code></div>
		生成されるhtml
		<p>&lt;h1 <span style="color:red">class="className"</span>&gt;&lt;a name="title" id="title"&gt;title&lt;/a&gt;&lt;/h1&gt;</p>
		<br />
	</li>
	<li>id名を指定する場合<br />
		<div class="pc"><code class="codebeautifier">
====== <span style="color:red">#{idName}</span> title ======
</code></div>
		生成されるhtml
		<p>&lt;h1 <span style="color:red">id="idName"</span>&gt;&lt;a name="title" id="title"&gt;title&lt;/a&gt;&lt;/h1&gt;</p>
		<br />
	</li>
</ul>
</p>
</div>
<h3>ダウンロード</h3>
<div class="item_indent"><a href='http://wa.otesei.com/action.php?action=plugin&amp;name=LinkCounter&amp;type=c&amp;k=headerselector_0_1.zip'><img src="http://wa.otesei.com/media/plug/download.gif" alt="download" class="download-icon" />0.1.zip</a>[26clicks]
<br /></div>
<h3>変更点</h3>
<div class="item_indent"><ul><li>新規</li></ul></div>
<br />
<h3>バージョン経歴</h3><br /><div class="item_indent"><table><thead><tr><th>Ver</th><th>Update</th><th>Download</th></tr></thead><tbody><tr onmouseover="focusRow(this);" onmouseout="blurRow(this);"><td><span class="atteR">最新</span><br /><a href="http://wa.otesei.com/headerselector-ver=0.1" title="0.1の解説ページへ">0.1</a></td><td><ul><li>新規</li></ul></td><td><a href='http://wa.otesei.com/action.php?action=plugin&amp;name=LinkCounter&amp;type=c&amp;k=headerselector_0_1.zip'><img src="http://wa.otesei.com/media/plug/download.gif" alt="download" class="download-icon" />0.1.zip</a>[26clicks]
<br /></td></tr></tbody></table><img src="http://wa.otesei.com/nucleus/plugins/emoticons/icon_exclamation.gif" alt=":!!:" class="znsm_img" /><img src="http://wa.otesei.com/nucleus/plugins/emoticons/icon_arrow_top.gif" alt=":arwtop:" class="znsm_img" />verをクリックすると、各verの解説に切り替わります。<br /><br /><div class="say2"><div class="say4"><div class="say6"><div class="say8"><div class="say1"><div class="say3"><div class="say7"><div class="say9">プラグインのバージョンアップ情報をRSSで配信しています。バグ情報などもお届けいたしますので、拙作プラグインをお使いの際には、是非RSSリーダーにご登録ください。<img src="http://wa.otesei.com/nucleus/plugins/emoticons/icon_exclamation.gif" alt=":!!:" class="znsm_img" /><a href="http://wa.otesei.com/plug_ver_rss.php" title="右クリックからコピーして、RSSリーダーにご登録ください。">佐藤（な）作成・改造のプラグインバージョンアップ情報RSS</a></div></div></div></div></div></div></div></div></div>]]></description>
<category>dokuwiki</category>
<comments>http://wa.otesei.com/item/535</comments>
<pubDate>Sat, 12 Sep 2009 18:11:32 +0900</pubDate>
</item><item>
<title>SkinnableAdmin進捗7</title>
<link>http://wa.otesei.com/item/534</link>
<description><![CDATA[ダウンロードを一旦止めていましたが、修正して<a href="http://wa.otesei.com/item/530">再開</a>しました。2008.12.18 以前にダウンロードしていた方はお手数ですが、再度ダウンロードしてください。（バージョンはあげていません）<br />
<br />
SkinnableAdminの開発用Nucleusでは、<a href="http://wa.otesei.com/item/526">スペシャルスキンタイプを動的に変更できるといいのにな。</a>の改造を施しています。公開するにあたって、一応コアの改造が不要なようにしたのですが、公開直前に差し込んだコードのテストが不十分でポカミスしていました。]]></description>
<category>Nucleus</category>
<comments>http://wa.otesei.com/item/534</comments>
<pubDate>Fri, 19 Dec 2008 12:15:08 +0900</pubDate>
</item><item>
<title>SkinnableAdmin進捗6</title>
<link>http://wa.otesei.com/item/530</link>
<description><![CDATA[まだまだ問題は山積、テストも不十分なんですが、構造サンプルということで一旦公開いたします。しょぼくてすみません。<br />
<br />
今のところ、、<br />
・管理画面作成フレームワーク（作りかけ）<br />
・overviewアクション<br />
・itemlistアクション<br />
・createitemアクション<br />
・additemアクション<br />
を実装しただけです。プラグインの対応も不十分です。<br />
管理画面作成フレームワーク自体の構造が変わる可能性もありますので、各アクションの実装方法ドキュメントはまだ着手していません。<br />
<br />
最新バージョン（ver0.2alpha）の解説です。<h3>解説</h3>
<div class="item_indent">NP_SkinnableAdminと、choiaスキンをインストールし、表スキンの好きな場所に
<div class="code">&lt;%SkinnableAdmin(adminpage, 管理ページ)%&gt;</div>と書くとそこに管理画面へのリンクが出力されます。
お試しの際は、ローカルPC内など、外部に公開しない環境でお願いします。</div>
<h3>ダウンロード</h3>
<div class="item_indent"><a href='http://wa.otesei.com/action.php?action=plugin&amp;name=LinkCounter&amp;type=c&amp;k=NP_SkinnableAdmin_0_2alpha.zip'><img src="http://wa.otesei.com/media/plug/download.gif" alt="download" class="download-icon" />0.2alpha.zip</a>[80clicks]
<br /><a href='http://wa.otesei.com/action.php?action=plugin&amp;name=LinkCounter&amp;type=c&amp;k=NP_SkinnableAdmin_0_2alpha_choia_skin.zip'><img src="http://wa.otesei.com/media/plug/download.gif" alt="download" class="download-icon" />0.2alpha_choia_skin.zip</a>[69clicks]
<br /></div>
<h3>変更点</h3>
<div class="item_indent"><ul><li>構造確認用公開</li></ul></div>
<br />
<br />
あ、<span style="color: blue; font-size: 16px; font-weight: bold;">PHP5</span>じゃないと動きません。＆UTF-8しか想定していません。<br />
]]></description>
<category>Nucleus</category>
<comments>http://wa.otesei.com/item/530</comments>
<pubDate>Mon, 15 Dec 2008 00:48:53 +0900</pubDate>
</item><item>
<title>スペシャルスキンタイプを動的に変更できるといいのにな。</title>
<link>http://wa.otesei.com/item/526</link>
<description><![CDATA[#[追記] 動的に指定できるといいのにな。 のほうが適切かな。<br />
<br />
スペシャルスキンパーツのことなんですけど、自分の中では「スペシャルスキンタイプ」とよんでます。<br />
<br />
使用するスキンはグローバル変数 $skinid を変更することで動的に変えることができますが、スキンタイプは InitSkinParse イベントで値渡しされるため、プラグインで変更することができません。<br />
<br />
SKIN.phpの以下の部分、<br />
<div class="code"><code class="codebeautifier">
<var>$manager</var>-&gt;notify(<span class="string_literal">'InitSkinParse'</span>,<span class="reserved">array</span>(<span class="string_literal">'skin'</span>&nbsp;=&gt;&nbsp;&amp;<var>$this</var>,&nbsp;<span class="string_literal">'type'</span>&nbsp;=&gt;&nbsp;<var>$type</var>));&nbsp;<span class="comment">//最後のところが、&amp;$type&nbsp;になれば</span>
</code></div>リファレンス渡しになれば、夢が広がります。<br />
<br />
SkinnableAdminの管理ページは、スペシャルスキンタイプを使っています。URLに任意のパラメータが与えられると発動し、（プラグインオプションで）設定したスキンの「Admin」スキンタイプをパースします。現状では上記箇所をリファレンス渡しに改造するか、InitSkinParse イベント以降の制御を無理やり奪うかのどちらかが必要になります。<br />
<br />
スキンタイプがリファレンス渡しになれば、他にも面白いことができるんじゃないかと思います。]]></description>
<category>Nucleus</category>
<comments>http://wa.otesei.com/item/526</comments>
<pubDate>Sat, 13 Dec 2008 23:30:50 +0900</pubDate>
</item><item>
<title>SkinnableAdmin進捗5</title>
<link>http://wa.otesei.com/item/523</link>
<description><![CDATA[ここ数日はデータベース周りを再調整してました。<br />
<a href="http://kandk.cafe.coocan.jp/nucleus/" class="znkwl" title="Katsumiさん">Katsumiさん</a>作の<a href="http://kandk.cafe.coocan.jp/blog/jeans/index.php?itemid=685">汎用PDOエミュレータ</a>のpdo_mysqlドライバ用sql_biosクラスと、スタティックに使うためにPDOエミュレータをラップするクラスを作って、一応dsnから使用するDBドライバ用sql_biosクラスを自動で読む構造にしてみました。<br />
って、まだpdo_mysqlドライバがない環境でテストしてません。普段使わない機能もあって、検証もしてません。<br />
<div class="code"><code class="codebeautifier">
&lt;?php<br />
<var>$stmt</var>&nbsp;=&nbsp;SA_DB::query(<var>$query</var>);<br />
<var>$blog</var>&nbsp;=&nbsp;<var>$stmt</var>-&gt;fetch(PDO::FETCH_ASSOC);<br />
?&gt;
</code></div>こんな雰囲気で使用します。<br />
<br />
でも本当は、Nucleusの機能（管理画面）作るのに、自前でDB接続する必要ないわけです。ただ、「管理ページ作成フレームワーク」内のaction実装にPDO記法使いたかったっていうだけで、長い遠回りをしました。<br />
あと、また懲りもせず構造部分の変更を繰り返す日々。これで良いのか？こんな構造で良いのか？って、もういい加減にしておきます。<br />
<br />
さぁ、アイテム投稿画面周りの実装に戻ろう。]]></description>
<category>Nucleus</category>
<comments>http://wa.otesei.com/item/523</comments>
<pubDate>Sat, 29 Nov 2008 00:56:55 +0900</pubDate>
</item>
	</channel>
</rss>