reblog少なめ RSS

Archive

Sep
24th
Thu
permalink

NP_Enableについて

この間twitterで呟いてみた、コアで使用が制限されているNucleus変数を有効にするプラグイン。実験作な上未テスト。PHP5.1.1以上が必要。

http://niku.suku.name/media/plugins/NP_Enable0.1.0.zip

Nucleus変数<%Enable()%>

例えばスキン中に<%Enable(text)%>と書くと、それ以降のスキン中にある<%text(…)%>が実行されるようになる。(<%text%>はフォームのテンプレートで使用されている変数。通常、スキンではパースされない。)

自動実行

スキンおよびアイテムで自動で有効にする変数をプラグインオプションで指定できる。

初期状態では以下のフォーム関連変数が有効になるはず。

  • formdata
  • ticket
  • text
  • errordiv
  • callback

オプション

最初のオプションは、スキンで自動的に有効化される変数のリスト。コンマ区切りというか、a-zA-Z以外で区切り。

二番目のオプションは、アイテムをパースするときのハンドラのparserプロパティをセットするかしないか。アイテム中、<%Enable(parsedinclude)%>と書いて<%parsedinclude()%>を使ったときに出るエラーが、このオプションを有効にすると出なくなるはず。

Jun
13th
Sat
permalink

そろそろさすがにniku.suku.nameを移転させるべきなんだ

やること

  • カテゴリの整理
  • プラグインの整理
  • 文字コードが変わる変わる
May
6th
Wed
permalink

javascriptでHTMLから文字列を探す、ただしXPathは使わないとか

はてなで使ってる(おそらくははてなの)ライブラリを見て眼から鱗的な。

まずDOMでdocument.bodyからchildNodesを延々と回って、以下のものを作る。

  • 全テキストノードを納めた配列 (A)
  • 全テキストノードの内容を結合した文字列 (B)
  • 各テキストノード内容のBでの開始位置を納めた配列 (C)

検索はまず(B)に対して行う。

マッチした結果それぞれについて(B)における開始位置と終了位置を調べる。

次に(C)をfor文でぐるぐる回してマッチ結果が(A)で何番目のテキストノードかを探し当てる。

May
4th
Mon
permalink

Nucleus・今さらAJAXでスキンの自動インストール・プラグイン?

URLを指定するとファイルを取ってきて展開してskinsディレクトリに移動してインポートするプラグインとか。

file_get_contents()とかでzipを取得し、なんかその辺のライブラリで展開してskinディレクトリに置く(XMLファイルの位置を基準のひとつにできる)という機能をdoActionメソッド(action.php)で実現。プラグインの管理画面からXMLHTTPrequestで呼び出す。スキンのインポート要求もAJAXでやれるけどそこまでする必要は果たして。

http://skins.nucleuscms.org/browser/index.php?type=1 に公式スキンサイトのスキン一覧がある。スクレイピングで。http://skins.nucleuscms.org/files/xxx_skin.zipにファイルが存在。

プラグインでも同様のことができそうだけど、スキンで試してみるべきかも。

とりあえずZIP展開ライブラリが必要。