ブログトップ 記事一覧 ログイン 無料ブログ開設

そっと×× このページをアンテナに追加 RSSフィード

2010-06-14

はてブのコメント引用HTMLを生成する、なでしこスクリプト

 twitterつぶやき引用するはてな記法がある一方で、はてなブックマークつぶやき引用するのが意外と面倒臭いです。上限100文字のコメント文だけでなく、タグや、ユーザーアイコンも含めた形で、手軽に引用できるツールが欲しいなと。イメージは、twitter引用HTMLを出力するツールです。

 そこで日本語プログラム言語なでしこ」を使って、やっつけ仕事スクリプトを書いてみました。

【追記】twitterはてなハイクブックマークつぶやき引用するツールが、一応、完成

 引用したい複数のつぶやき(twitterはてなハイクはてなブックマーク対応)のステータスURLを改行区切りで指定すると、ブログ(基本的に、はてなダイアリーを想定)に貼り付け可能なHTMLを生成します。

 例えば、

http://b.hatena.ne.jp/mame-tanuki/20100331#bookmark-20432948

というブックマークコメントへの固定リンクURLを指定すると、


mame-tanuki

/

はてブストック。でも検索が貧弱なのでフローにしかなっていないのがはてブの残念な現状な気も▼はてな財産WebアイデンティティーとしてのはてなID。それがtwitterアカウントに奪われることこそ存亡の危機では?

(2010/03/31 )

link

…のようにコメント文、タグユーザーアイコンブックマークコメントへのリンクを表示するHTMLが出力されます。

スクリプトソースコード

テンプレートは「<table border="1" bgcolor="#FFFFFF"><tr>
<td width="32" height="32"><img src="http://www.st-hatena.com/users/★id頭2桁★/★id★/profile.gif" width="32" height="32"></td>
<td><a href="http://b.hatena.ne.jp/★id★">★id★</a></td>
<td>
★コメント★
</td>
<td><a href="★ブコメURL★">link</a></td>
</tr></table>」

■ブックマーク
    ・{非公開}FURL
    ・ユーザーID
    ・ブックマーク文字列
    ・タグ
    ・コメント
    ・タイムスタンプ

    ・URL取得〜それはFURL
    ・URL設定(V)〜FURL=V。ブックマーク設定。
    ・{非公開}ブックマーク設定〜
        ユーザーID設定。
        ブックマーク文字列設定。
        タグ設定。
        コメント設定。
        タイムスタンプ設定。
    ・{非公開}ユーザーID設定〜
        URLからURL基本パス抽出。
        それの「{URLからURLドメイン名抽出}」を「」に置換。
        それの「/」を「」に置換。
        それの「http:」を「」に置換。
        それを自身→ユーザーIDに代入。
    ・{非公開}ブックマーク文字列設定〜
        検索文字列=URLからHTTPデータ取得してSJIS変換。
        正規表現命令文は「<a class="username" href="/{ユーザーID}/{URLからURLファイル名抽出}">.*[\r\n]+(.*[\r\n]+){波カッコ}1,4{波カッコ閉じ}」。
        検索文字列を正規表現命令文で正規表現マッチ。
        それを自身→ブックマーク文字列に代入。
    ・{非公開}タグ設定〜
        ブックマーク文字列を「<span class="tags">.*」で正規表現マッチ。
        それから「span/a」の階層タグ切り出す。
        それの「href="」を「href="http://b.hatena.ne.jp」に置換。
        それの「{改行}」を「/」に置換。
        それを自身→タグに代入。
    ・{非公開}コメント設定〜
        ブックマーク文字列を「<span class="comment">.*」で正規表現マッチしてタグ削除。
        それの「((b:)*?)id:entry:([0-9]+)」を「<a href="http://b.hatena.ne.jp/entry/$3">$2id:entry:$3</a>」へ正規表現置換。
        #IDコール抑止
        それの「id:([a-zA-Z][a-zA-Z0-9_-]{波カッコ}1,30{波カッコ閉じ}[a-zA-Z0-9])」を「<a href="http://b.hatena.ne.jp/$1">id:$1</a>」へ正規表現置換。
        それを自身→コメントに代入。
    ・{非公開}タイムスタンプ設定〜
        ブックマーク文字列を「<span class="timestamp">.*」で正規表現マッチしてタグ削除。
        それを自身→タイムスタンプに代入。

    ・URL    ←URL設定    →URL取得    デフォルト


#ここから、メイン処理
「URLは?」と尋ねて、入力URLに代入。
もし、入力URLが「」でないならば
    ブックマーク=入力URL。
    
    出力メモは、テンプレートの「★id★」をブックマークのユーザーIDに置換。
    出力メモは、出力メモの「★id頭2桁★」を「{ブックマークのユーザーIDから2文字左部分}」に置換。
    出力メモは、出力メモの「★ブコメURL★」をブックマークのURLに置換。
    コメント=「<span style="font-style:italic;">{ブックマークのタグ}</span>
    {ブックマークのコメント}
    ({ブックマークのタイムスタンプ})」。
    出力メモは、出力メモの「★コメント★」をコメントに置換。
    出力メモのメモ記入
ここまで。

母艦を閉じる。

■使い方

日本語プログラム言語なでしこ」のインストール

 本スクリプトを使うためには、日本語プログラム言語なでしこ」をインストールする必要があります。「なでしこ」の動作環境は「Windows98/Me/2000/XP/2003/Vista/7」です。

スクリプトの起動】

 上記のスクリプトを『なでしこエディタ』にコピーペーストして起動するか、拡張子は「.nako」で適当ファイル名を付けてテキストファイルに保存して起動します。

【起動したスクリプトの使い方】

 まず、引用したいブックマークコメントへの固定リンクURLをコピーします。

f:id:mame-tanuki:20100615011606j:image

 スクリプトを起動するとポップアップするURLを尋ねる入力フォームに、引用したいブックマークコメントへの固定リンクURLを貼り付けて「決定」ボタンを押下します。

f:id:mame-tanuki:20100615011607j:image

 すると、通信処理中のダイアログポップアップするので、そのまましばらく待ちます。

f:id:mame-tanuki:20100615011608j:image

 処理が終わると指定したブックマークコメント引用するHTML文が表示されます。

f:id:mame-tanuki:20100615011609j:image

 スクリプトの終了は、ウィンドウ右上の「×」ボタンの押下、「決定」ボタンや「取消」ボタンの押下のいずれを用いても構いません。

 このスクリプトを使えば、例えば次のように「何だか知らないけどkanose村長からIDコールが来たよ!記念にブログ引用しておこう」みたいな事も気軽に出来ます。

mame-tanuki

『もし、はてブの釣師がドラッカーの「マネジメント」を読んだら』釣師にとって顧客とは誰か?顧客を楽しませるとは何か?釣り方を忘れて弱小化した釣師がドラッカーを読み、ブログ記事をホッテントリーへと導く…

(2010/06/10 )

link
kanose

id:mame-tanuki 新たな鉱脈発見だ!

(2010/06/14 )

link

はてなブックマーク - はてなブックマーク - 最近ブログを書きにくくなりました - ハックルベリーに会いに行く

http://b.hatena.ne.jp/entry/b.hatena.ne.jp/entry/d.hatena.ne.jp/aureliano/20100609/1276055513

【追記】

 もし今後、機能拡張する場合は、こちらに書く予定。


【関連リンク

ekken

/

確か、アイディアにそういう要望があったような。単独ページから一覧ページへワンクリック移動できるようになるのなら、買い。 idea:24353

(2010/06/14 )

link


【参考記事】


いつか、はてなウェブサービスAPIを使いたくなったら、参考にしたい。


【関連記事】


投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証