wa - NucleusやFlashなどなど

RSS

Home > Nucleus > Nucleus キーワードリンクプラグインNP_znKeywordLinkバージョンアップ

11.07 '05

Nucleus キーワードリンクプラグインNP_znKeywordLinkバージョンアップ

imgはてなダイアリーのように、記事に書いたキーワードに、自動的にリンクを埋め込むプラグインNP_znKeywordLinkを、バージョンアップしました。

↓こんな感じで、管理ページでキーワードとリンク先を設定しておくと、
img
普通に記事を書くだけ(特定の文字で囲んだりする必要なく)で、キーワードに設定したリンク先を埋め込むプラグインです。

今回の改良点は、「リンクし過ぎは、ちとウザイよ対策」です。(作った本人ですら、ちょっとうっとうしいなぁと思っておりました。:ase:
改良点
  1. プラグインオプションで、除外Blogを指定できるようにしました。
    複数ブログで、キーワードリンクをさせたくないブログを設定することができます。
  2. プラグインオプションで、「全てにリンク」「最初の1回だけにリンク」を選択できるようにしました。
    「最初の1回だけにリンク」に設定すると、記事内で同じキーワードが何回も現れても、最初の1回にだけリンクを挿入します。(これだけでも、かなりスッキリすると思います。)
    この設定は、「プラグインオプションの設定」を選択している記事に適応されます。
  3. アイテム投稿時に「プラグインオプションの設定」「全てにリンク」「最初の1回だけにリンク」「リンクしない」を選択できるようにしました。
    記事ごとにも、リンク処理の仕方を設定するとこができます。デフォルトでは「プラグインオプションの設定」になっています。
  4. プラグインオプションで、「アイテム投稿画面にプラグイン設定を出さない」を設定できるようにしました。
    個人的に、投稿画面に現れるプラグイン設定をできるだけ増やしたくないと思い、この設定を設けました。
    「出さない」設定にすると、記事ごとの設定変更ができなくなりますが、投稿画面にプラグイン設定を出さずに済みます。
    必要なときは、プラグインオプションの設定を変えて表示させます。
    クイックメニュー(Nucleus Adminのサイドメニューの下に現れる各プラグイン用のメニュー)については、プラグインAPIドキュメントの「考慮すること」の項に以下のような記述があります。
    プラグインAPIドキュメント「考慮すること」から引用
    登録できるからといって安易にクイックメニューへ登録しないこと。クイックメニューにプラグインが100個並んだりしたらかなりウンザリするでしょう。ですので、クイックメニューに登録する場合でも、クイックメニュー登録を有効・無効化するプラグインオプションを(グローバルまたはメンバーオプションで)用意することを考えてください。
    (最初無視して作っていましたが:ase:
    投稿画面でも、そんなに頻繁に設定する項目でなければ、表示・非表示を設定できると良いなぁと思ったのでした。

バージョンアップの場合は、一度旧バージョンをアンインストールしてから、今回のバージョンをインストールして下さい。
今回の改良は、Logiさんと、はにゃさんにアイデアをいただきました。ありがとうございます:heart:

↓ここからダウンロードできます。
NP_znKeywordLink_ver020_utf8.zip(UTF-8用)
NP_znKeywordLink_ver020_euc.zip(EUC-JP用)旧版公開中止しました。
↓バグ修正版です。バックアップが取れないバグを含んでおりました。お使いの方はバージョンアップして下さい。上書きでOKです。本当にごめんなさい。
NP_znKeywordLink_ver021_utf8.zip(UTF-8用)
NP_znKeywordLink_ver021_euc.zip(EUC-JP用)

↓環境によって、エラーが発生するようで、対策版ver0.22をアップしました。
NP_znKeywordLink_ver022_utf8.zip(UTF-8用)
NP_znKeywordLink_ver022_euc.zip(EUC-JP用)
バージョンアップしました。
NP_znKeywordLink

プラグインのバージョンアップ情報をRSSで配信しています。バグ情報などもお届けいたしますので、拙作プラグインをお使いの際には、是非RSSリーダーにご登録ください。:!!:佐藤(な)作成・改造のプラグインバージョンアップ情報RSS

コメント

11.08 '05 00:58:00 はにゃ
佐藤(な)さん、こんばんは!:-D
早速 除外Blogの指定 の対応をしていただきまして
本当にありがとうございます:heart:

★ いままでのリンクも 賑やかで楽しいのですが、「リンクし過ぎは、ちとウザイよ対策」も 確かにすっきりしてよい感じですネ:-P

楽しく役立つプラグイン、これからも活用させていただきます!(感謝です~)
11.08 '05 07:23:50 佐藤(な)
いえ、
こちらこそ、アイデアをありがとうございます。
また何かありましたらよろしくお願いします。
11.11 '05 21:11:59 ホイホこ~いち
佐藤(な)さん。ども。はじめまして。
拙作Webの別館ブログ(http://penguinsforest.info)でznSmileyとznKeywordLinkを使用させていただいております。非常に重宝しております。
さて、znKeywordLinkをver.0.21にバージョンアップしたところ、すべてのエントリーで
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/hogehoge/nucleus/plugins/NP_znKeywordLink.php on line 172
というエラーが表示されるようになりました。キーワードのリンクは問題なく表示されています。
とりあえずご報告まで。
11.11 '05 21:31:03 佐藤(な)
ホイホこ~いちさん
すみません。
確認いたしました。ありがとうございます。

すぐ修正いたしますが、今表示されているエラーコードは、どこかの記事の投稿画面で、リンクモードの設定を切り替えていただくと、消えるかもしれません。
すみません。すぐ修正いたします。
度々ご迷惑をおかけいたします。
11.11 '05 22:16:26 佐藤(な)
すみません。当方で再現することができませんでしたので、
できましたら、対策ファイルでの動作確認をしていただけるとありがたいです。
先ほどの、「リンクモードの設定を切り替え」を行わない状態で、
h ttp://wa.otesei.com/NP_znKeywordLink_022.zip
の修正版をお試しいただけませんでしょうか?
ファイルはEUC版です。
NP_znKeywordLink.php ファイルのみの上書きでお願い致します。
あつかましくて申し訳ございません。
11.11 '05 22:50:15 ホイホこ~いち
素早い対応ありがとうございます。
先ほど修正版DLしましたが、NP_znKeywordLink.phpファイルが破損しておりました。EUCとしてエディタで開くと22行目後半以降が文字化けしております。
11.12 '05 08:25:30 佐藤(な)
すみません。
上記ファイル、zipファイルが破損していたようで、再圧縮してアップ致しました。
ダウンロードして正常解凍できることを確認致しましたので、
ご迷惑をおかけして本当に申し訳ございませんが、もう少しお付き合い願えればと思います。
よろしくお願い致します。
11.12 '05 11:00:54 ホイホこ~いち
こまめに対応していただきありがとうございます。修正版で問題が解決されていることを確認いたしました。:)
「プラグイン紹介」も併せて参考にさせていただいていますので、これからもメンテ大変でしょうが、がんばって下さい。:-D
11.12 '05 11:19:21 佐藤(な)
良かった~。ほっ。。。
> 修正版で問題が解決されていることを確認いたしました。:)
「リンクモードの設定を切り替え」を行わない状態で、エラーが出なくなっているのですよね。
良かった。
サーバー環境によるのでしょうか。勉強になりました。ありがとうございます。

温かいお言葉、ありがとうございます。
なんか問題が重なって、多くの方にご迷惑をおかけいたしておりますが、もっと慎重に、コツコツ続けていきたいと思います。
12.10 '05 13:37:27 たかみちえ
 はじめまして、たかみちえと申します。現在作成中のサイトにて使用させて頂いています。
 さて、拙作プラグインのチェック中に見つけたんですが、どうやら、行頭に>(実体参照ではない)のある行が、リンクでなくても削除されてしまうようです。
 プラグインの実行優先度を変更すれば問題ありませんので、支障はありませんが、一応予期した動作ではないのではないかと思い、連絡させて頂きました。
 どうやらaddKeywordLinkメソッドが原因のようですが、PHPの知識が足りないため、断念いたしました。
12.11 '05 01:47:18 佐藤(な)
8-|わ、たかみちえさんだ。
はじめまして。

> 行頭に>(実体参照ではない)のある行が、リンクでなくても削除されてしまうようです。
わぉ!本当だ!気が付きませんでした。ありがとうございます。:-D
自分ひとりでは、なかなか不具合を見つけきれませんので、本当にありがたいです。
行の途中に半角>がある場合、その位置から後が削除されるようですねぇ。:ase:

> プラグインの実行優先度を変更すれば問題ありませんので、支障はありませんが、
あれ?!他のプラグインとの相性が関係しますか?!
もしよろしければ、順番等の詳細を教えていただけるとありがたいです。すみません。

実は、addKeywordLinkメソッドは、Nucleusのコア部分の「nucleus/libs/grobalfunctions.phpのhighlightファンクション」を基盤にしているんです。
先ほど確認しましたところ、highlightファンクションにも、同様の問題があるみたいで、Nucleusの検索結果のアイテム内に、半角>があると同じ現象が起きるかと思います。

Nucleus v3.21だと、418行目になるかと思いますが、
preg_match_all('/(<[^>]+>)([^<>]*)/', $text, $matches);
の、正規表現に問題があるかと。。。
たかみちえさんの得意分野ですねー。(僕の苦手分野:ase:
([^<>]*)の部分、([^<]*)の方が良いような。次の検索('/(<[^>]+>)は、<で始まる訳だから。
preg_match_all('/(<[^>]+>)([^<]*)/', $text, $matches);
でちょっとテストした感じでは、問題ないような気がしますが、どうでしょう?(あつかましくすみません。)

p.s. NP_HatenaLike、ねらってます。:-D
01.01 '06 17:39:52 たかみちえ
> NP_HatenaLike、ねらってます
そうですか(^-^;まあ、WikiStyle等と比べれば機能的に弱いですが、今後もいろいろやっていきたいと思います(^_^;)

>プラグインとの相性
それは拙作NP_HatenaLikeの(スーパー)PRE記法です。
PRE記法は>| ~ <|なので、>が消えてしまうと開始文字列が出てこなくなってしまう と。
NP_HatenaLikeをこれより先に実行すれば問題ないです。

> 正規表現
 わたしも別に正規表現が得意なわけじゃないですが…(^-^;
 PHPは好きじゃないので、他に比べたら出来るかな、と言うくらいです。未だに正規表現雑技のような高度な表現には手も足も出ません(^_^;)

なるほど、修正してみましたがうまくいっているようです。ありがとうございます。

はてなリングのNucleusリングは、おんぷ村公開後に改めて登録させて頂きます。
01.01 '06 18:32:10 佐藤(な)
> NP_HatenaLikeをこれより先に実行すれば問題ないです。
なるほど。分かりました。

> なるほど、修正してみましたがうまくいっているようです。ありがとうございます。
次のバージョンアップの際には、修正します。
おかげで、Nucleusコア部分のバグも発見できました。
一応、Nucleus(JP)フォーラムに、あげておきました。Nucleusの次のバージョンで改善されるかな?

> はてなリングのNucleusリングは、おんぷ村公開後に改めて登録させて頂きます。
よろしくお願いします。
予想以上に登録していただける方が多くて、びっくりしています。はてなは注目されていますね。:-D

コメント追加



プレビュー

コメント追加通知RSS:
↑このフィードをRSSリーダーに登録しておくと、この記事へのコメント追加をチェックすることができます。
コメント追加後の、返事待ちなどにお使い下さい。
なお、コメントチェックの必要がなくなった際には、このRSSを削除して下さいね。
不要なトラフィックを避けるために、ご協力お願いいたします。

トラックバック

トラックバック
顔はやめときな、ボディーにしな、ボディーに。
Nucleus キーワードリンクプラグイン...: Nucleusにも用意されていた... ●Nucleus キーワードリンクプラグインNP_znKeywordLinkバージョンアップ - wa - Nucleusやウェブネタなど
2005/12/14 21:09
→C↓C←C↑C
NP_znKeywordLink: http://wa.otesei.com/item/264 管理画面にキーワードとリンク先を登録しておくと、記事に書いたキーワードを自動検知してリンクをはってくれるプラグインです。気分ははてなダイアリー。しかも自分が好きなキーワ...
2005/11/08 22:10
このトラックバックURLを使ってこの記事にトラックバックを送ることができます。 もしあなたのブログがトラックバック送信に対応していない場合にはこちらのフォームからトラックバックを送信することができます。.
トラックバックURL:
PluginGenerator znBackup znItemFieldEX znCustomAdmin znBackup znSmiley znShowDraft yuiCalendar znSpeedCubing znKeywordLink znCommentRSS znCCitation znItemParts znMCList znHatenaExist znQuestionnaire znFlash