# $Id: bookstore.rb,v 1.9 2003/01/22 13:03:25 not Exp $ # いじりました。by ippo 2003.2.7-2003.2.14 =begin usage: (ISBN4-04-873259-5) とか書いとくと各オンライン書店へのリンクに変換 アソシエイト・プログラムに参加している場合は ndiary.conf に以下の行を追加 もちろん自分の ID に直して。 # bk1 BOOKSTORE_BK1_ID = 'p-not00114' # amazon BOOKSTORE_AMAZON_ID = 'notsfragmen-22' # review-link REVIEWER_CODE = '一歩' REVIEWLINK_LINK = true #書店リンクのうちに書評リンクも含める 松下さん(http://www.alles.or.jp/~akihisa/)のオンライン書店へのリンクを 参考に作成。 その後、細井さん(http://www.fan.gr.jp/~hosoi/diary/diary.html)による洋書 のリンクを追加。 その後、書評リンク用に一歩がいじる。 =end class Filter BOOKSTORE = Regexp::compile(/[\((]ISBN(\d-[\d-]{9}-\w)[\))]/) # BOOKSTORE = Regexp::compile(/[\((]ISBN[:|:]?\s?(\d-[\d-]{9}[-]?[\w]?)[\))]/) #表記方法によってはこちら def bookstore(str, type) bk1_id = @diary.config['BOOKSTORE_BK1_ID'].to_s amazon_id = @diary.config['BOOKSTORE_AMAZON_ID'].to_s reviewer_code = @diary.config['REVIEWER_CODE'].to_s flag_reviewlinklink = @diary.config['REVIEWLINK_LINK'] flag_rl_url = @diary.config['PARAGRAPH_ANCHOR'] reviewlink_url = 'http://ippo.s5.xrea.com/x/rl/index.cgi' =begin #あるいは、ndiary.confを触るのが好みでない場合、ここで直接定義して下さい。 bk1_id = 'p-ippo00145' amazon_id = 'ipposjunkbox-22' reviewer_code = '一歩' flag_reviewlinklink = true =end bk1_id = 'aid=' + bk1_id + '&' unless bk1_id.empty? case type when :P, :UL, :DL str.gsub!(BOOKSTORE){ isbn = $1 isbn2 = isbn.delete('-') rl_str = [] rl_str << "ISBN#{isbn}" rl_str << "reviewer=#{reviewer_code}" unless reviewer_code.empty? rl_str = '' if isbn2 =~ /^4/ t = rl_str t << '【 ' t << 'bk1 / ' t << 'amazon / ' t << 'Yahoo! / ' t << '旭屋 / ' t << 'Jbook / ' t << '紀伊國屋 / ' t << '楽天 / ' t << 'skysoft ' t << "/ rl " if flag_reviewlinklink t << '】 ' elsif isbn2 =~ /^0/ t = rl_str t << '【 ' t << 'skysoft / ' t << 'amazon.co.jp / ' t << 'amazon.com / ' t << 'Barnes & Noble / ' t << 'A1Books / ' t << 'Powells.com / ' t << 'Borders / ' t << '紀伊國屋 / ' t << '丸善 ' t << "/ rl " if flag_reviewlinklink t << '】 ' elsif isbn2~ /^1/ t = rl_str t << '【 ' t << 'amazon.co.uk / ' t << 'The Internet Bookshop / ' t << 'bol ' t << "/ rl " if flag_reviewlinklink t << '】 ' end } when :AFTER_P, :AFTER_UL, :AFTER_DL if flag_rl_url str.gsub!(//) { tagcode = $1 if str =~ // urlcode = $1 tagcode += ':url=' + urlcode end t = "" } end end end end