Archive for the ‘Nucleus’ Category



nucleusの本体を改造してurlを操作する

java使い、intvalの仕様に驚くで少しかきましたが、 nucleusの本体を少し改造しました。 改造した箇所は2箇所です。 1つめは、/item/xxx/catid/xxというリンクを生成しなくしました。 2つめは、/item/123ABC/や/item/333/hogehogeのような、 ぼくの意図しないurlに対するリクエストにレスポンスを返さないようにしました。

java使い、intvalの仕様に驚く

ロボットからくるアクセスを、アクセスログを確認していると /item/10/catid/8や、 /item/55/catid/index.php/blog/1とか変なリクエストが来ており しかもそのリクエストに200でちゃんとレスポンスを返しているんです。 ぼくの意図しない、不思議なurlでサーチエンジンに認識されると気持ちが悪いので いろいろ調べてたんですが、脱線してphpの変なところに気がつきました。

lighttpdにてNP_TagEXをFancy URLモードで使う

NP_TagEXをFancy URLモードで使うには、 http://wa.otesei.com/さんのNucleus プラグイン NP_TagEX試してみてますに書かれている ように、.htaccessとtagファイルを作る必要があります。 lighttpdだと、tagファイルを作るのは一緒ですが.htaccessは作成できないです。 しかーし、lighttpd.confにて他のfancyurlの定義と同様にtagを定義すると正常に動きました。 fastcgi.map-extensions = (“/item” => “.php”, “/archive” => “.php”, “/archives” => “.php”, “/blog” => “.php”, “/category” => “.php”, “/tag” => “.php”, “/page” => “.php”)

lighttpdでのNP_CustomURLの設定

apacheの場合だと.htaccessでrewriteを制御できるのですが、 lighttpdの場合、ドキュメントがないので自分で考える必要があります。 現状item_10.htmlとかのurlをリライトするやりかたは分かったんですが、 エントリとカテゴリに別名をつけるやりかたを検討中です。 あと、サーチエンジンからのリンクとかもあるので、 今までのfancyurlでのURIはcustomURLに移行せずに活かしたいのです。 こういう今までのしがらみとか考えると、 仕事でやってるシステムって本当に繊細なもんなんだなぁ。と思います。 なお、テスト環境のlighttpd.confの抜粋はこんな感じです。 item_10.htmlでなくても、接頭語としてitemが付いてれば item_example.htmlとかも使えます。

greasemonkeyでnucleusの管理画面をいじってみました その2

greasemonkeyでnucleusの管理画面をいじってみましたで 公開していたgreasemonkeyのjavascriptですが、 “blockquoteボタンを押すと、それまで書いてた記事が消えてしまう” という事象が発生していました。 これでは使いものにならん。と思い、いろいろ調べてたところ 大抵、greasemonkeyからprototype.jsを使いたい人っているのでは?と思い google先生に聞いてみたところヒットしました。 Greasemonkeyでprototype.jsやscript.aculo.usを使う方法 なんでも、 外部ライブラリがロードされるまで待ち続ける制御構造 unsafeWindowを経由して外部ライブラリにアクセス がポイントだそうですが、よくわかりません… ということで、仰せのままに写経してみたところ、ちゃんと動くようになりました。 そろそろNucleus CMS Japanに、アピールしようかなぁと考えてます。 nucleusadmin.user.js

greasemonkeyでnucleusの管理画面をいじってみました

blockquoteタグを手入力が面倒なので、なにかないかなぁ? と考えていたところ、NP_ToolbarButtonsというプラグインがあるみたいです。 ただ、アーカイブがないのと、greasemonkeyでできるんじゃないか? というアイデアも湧いたので、javascriptの勉強もかねてgreasemonkeyしてみることにしました。 できたのは、こんなコードです。javascriptはまったくのビギナーなので、 ユーこうした方がクールだよ。とかあったら教えてください。 nucleusadmin.user.js あとライセンスですが、一部prototype.jsから流用してるので、こういう場合はMITライセンスになるんでしょうか。

NP_AmazonとNP_SEOSitemapsプラグインのインストール

NP_AmazonとNP_SEOSitemapsプラグインをインストールしました。 NP_Amazonの方はxml.phpが必要ということと、 アイテムで使うときとスキンで使うときのオプションの区切り文字が違うということに 注意が必要です。 NP_SEOSitemapsは、webサーバがlighttpdなので設定にちょっと頭を使いました。 url.rewrite = (“^/blog/sitemap.xml” => “/blog/index.php?virtualpath=sitemap.xml”)

NP_Captchaの導入

以前のblogへのスパムコメントがはげしいため、 oranblueもあわせてNP_Captchaを導入しました。 とはいえ、インストールするだけ。 プラグインが有効かどうかはログアウトしないと確認できなかった事で1日悩んでたことは内緒です。

lighttpd

今のサーバはlighttpdで動いてます。 ちょっと前は流行ってたみたいですが、今でも人気はあるのか、よくは分かりません。 サーバの設定がapacheと違うので、設定にちょっと苦労してますが、 以下のサイトでfancyurlを使うやりかたを、教えてもらいました。 [餅] 餅空 blog / Nucleus支店 ただ、lighttpdと関係あるのかはわかりませんが、 fancyurlは日本語のヘルプで書かれているやりかたでは動作しませんでした。 fancyurls.config.phpを見ると、fancyurls.confih.phpをindex.phpでincludeしろとあります。 言われたように設定したら、ちゃんと動きました。 ちなみに、ちゃんと動かないときはどのリンクを押してもメインのページが表示されてました。