amazon_link.rb

script # use Format link as org-mode on Chrome browser. require 'clipboard' link = Clipboard.paste link.match(/\[\[https:\/\/www\.amazon\.co\.jp(?:\/.*)?\/(?:dp|product)\/(\w{10}).*\]\[Amazon(?:\.co\.jp)?(?:\s?(?:\||:)\s)(.*)\]\]/) if $1 && $2 Clipboard.copy(%Q[{{< amazon asin="#{$1}" title="#{$2}" >}}]) # 実際の使用の際は"/*" "*/"を外す puts %Q[#{Clipboard.paste} が clipboard に入ったよ〜] else puts %Q(Check! Clipboard, press [M-y]) end 参考 Rubular: a Ruby regular expression editor 変更履歴 2024/12/03: amazon.co.jp/dp パターンに対応 2024/11/18: 正規表現の変更(dp|product)と(\||:)など 2024/11/09: amazon_link.rbを抜き出す。正規表現をちょっと変更。 example example_1 link [[https://www.amazon.co.jp/%E3%81%9D%E3%82%89%E3%81%9D%E3%81%86%E3%82%84-%E5%8D%98%E8%A1%8C%E6%9C%AC-%E9%BB%92%E5%B7%9D-%E5%8D%9A%E8%A1%8C/dp/4120058352/ref=sr_1_1?dib=eyJ2IjoiMSJ9.TC_AIKR0Y1knl64SMxUkY2Dy_JBtQ07x0bdozqo4m3wpSje5ubc9rrZFuO-uxYws7Ck9iNZYb2YLhqatEohN8xPXoknP-fqMlmU8I7As4mKiWMA-xdPris3pFv6by4bjaU2pOGT7ha--k4L24j7rh1PyBVryLiD1jvHbRfgVpw-bSHsvrYTfJj0-fOVYLLx2-aAHmEWMfyZkzTtPmeosXDJEBr-MJN_rjMkmPbO4-Jc1sE3bZVFSZOEctWaGllRkDAqF35nBYbOZk_N3Ct4yu8ujjaOdcKBGA4tkmRKaN4g.P3p3JvqO4opZV8PLDk01FoT4R4tbM2Wfpc4GOBxYRrA&dib_tag=se&keywords=%E9%BB%92%E5%B7%9D&qid=1731119937&sr=8-1][Amazon.co.jp: そらそうや (単行本) : 黒川 博行: 本]] result source {{< amazon asin="4120058352" title="そらそうや (単行本) : 黒川 博行: 本" >}} sample そらそうや (単行本) : 黒川 博行: 本 amazon.co.jp example_2 link [[https://www.amazon.co.jp/%E3%82%BF%E3%82%AB%E3%83%93%E3%82%B7%E5%8C%96%E5%AD%A6-%E3%82%AB%E3%82%A4%E3%83%AD%E7%94%A8NT%E3%83%99%E3%83%B3%E3%82%B8%E3%83%B3-500ml/dp/B005CIVO78?pd_rd_w=l2kWN&content-id=amzn1.sym.cd47c52a-1e28-4096-8155-47f0b4df2bea&pf_rd_p=cd47c52a-1e28-4096-8155-47f0b4df2bea&pf_rd_r=YPX29E65CY57QSW77FRD&pd_rd_wg=z1hN4&pd_rd_r=5e242759-dc85-4ff9-930b-a6481a155388&pd_rd_i=B005CIVO78&ref_=pd_bap_d_grid_rp_0_1_ec_pr_bnp_bia_i&th=1][Amazon | タカビシ化学 カイロ用NTベンジン 500ml | タカビシ化学 | 使い捨てカイロ]] result source {{< amazon asin="B005CIVO78" title="タカビシ化学 カイロ用NTベンジン 500ml | タカビシ化学 | 使い捨てカイロ" >}} sample タカビシ化学 カイロ用NTベンジン 500ml | タカビシ化学 | 使い捨てカイロ amazon.co.jp

11月 9, 2024 · @tsut

2024-10-04 Friday

今日の一行ニュース 所信表明 「石破カラー」封印なぜ - Yahoo!ニュース 何も変えられない。何も変えさせない。 今日のhugoさん アマゾン アフィリエイトのショートコードを作るスクリプト。 amazon_link.rb 適当な名前…。 ChromeのFormat link拡張でorg-mode用のリンクをクリップボードに入れる設定の人、つまり俺、が対象。クリップボードに入ったリンクを加工する。 2024-11-09: amazon_link.rbとして独立移動。 # use Format link as org-mode on Chrome browser. require 'clipboard' str = Clipboard.paste # str.match("\\[{2}https://www\.amazon\.co\.jp/.+/dp/(.{10})[^\\]]+\\]\\[Amazon\.co\.jp: ([^\\]]+)\\]{2}") # urlとタイトルの区切りに"|"を使うパターンほかに対応。いろんな書き方あるな〜。 2024-10-08 Tue str.match("\\[{2}https://www\.amazon\.co\.jp/?.*/dp/(.{10})[^\\]]+\\]\\[Amazon(?:\.co\.jp)?\s?[:|\\|]\s([^\\]]+)\\]{2}") if $1 && $2 Clipboard.copy(%Q[{{< amazon asin="#{$1}" title="#{$2}" >}}]) # 使うときは "/*" "*/" を外す puts %Q[#{Clipboard.paste} が clipboard に入ったよ〜] else puts %Q(Check! Clipboard, press [M-y]) end で、使ってみた。 今日の欲しい物 ENGINEER エンジニア 鉄腕ハサミGTギガレッド PH55GCR : DIY・工具・ガーデン amazon.co.jp 今日のごはん 朝: ハム 焼きキャベツ 南瓜マッシュ 目玉焼き トースト 昼: アジフライ 南瓜マッシュ ひじき いんげん胡麻和え ご飯 (お弁当) 晩: カレー マカロニサラダ 今日もとりあえず飲まない 故あってしばらく飲まない…(つもり) ...

10月 4, 2024 · @tsut

2024-07-27 Saturday

今日のあれこれ 雨雲レーダーに翻弄されて出かけそびれた。オリンピックの開会式観たり、録画番組観たり。 今日のでっち上げ chromebookで、なんでかeasy-hugo.elが動かない。M-x easy-hugo-newpostできないのは面倒なので、やっつけ仕事った。 # ruby easyHugoNew.rb # filename myfilename = "journal.org" # entryを置く場所 mypath = "~/blog/content/posts" # 時刻取得 time = Time.now # タイトル用日付 mytitle = time.strftime("%Y-%m-%d %A") # ISO8601拡張形式 JST 2024-07-28T22:00:00+09:00 mydate = time.strftime("%Y-%m-%dT%R:%S+09:00") # format time to slug myslug = time.strftime( "%Y%m%d%H%M" ) # path+filename mypost = "#{mypath}/#{myslug}.#{myfilename}" # fileを作る file = File.open(File.expand_path(mypost), "w") # front matter myheader = <<EOF ,#+title: #{mytitle} ,#+subtitle: hogemoge diary ,#+date: #{mydate} ,#+publishdate: #{mydate} ,#+lastmod: ,#+categories[]: journal ,#+draft: true ,#+tags[]: memo ,#+author: @tsut ,#+slug: #{myslug} EOF # front matter を書き込む file.puts myheader file.close どうでしょう? ...

7月 27, 2024 · @tsut

hugo_insert_image.rb

画像をリサイズして取ってくるやつその2 require 'rmagick' require 'date' require 'fileutils' require 'optparse' # gem install clipboard; 要 gem # sudo apt install xsel; 要 xsel require 'clipboard' # default resize 大きさ = 480 mysize = 480 opt = OptionParser.new opt.on('-r', '--resize VALUE', 'リサイズする大きさ(px)') { |v| mysize = v.to_i } # opt.on('-t', '--target DIR', '出力先ディレクトリ') { |v| target = v.to_s } begin opt.parse(ARGV) rescue OptionParser::InvalidOption => e abort "無効なオプション指定が含まれています" end # 移動先は /yymmdd/ date_dir = %Q(#{Date.today.strftime("%Y%m%d")}) # target_dir = ~/blog/static/images/yymmdd target_dir = File.expand_path("~/blog/static/images/#{date_dir}") # ディレクトリが無ければ作る FileUtils.mkdir_p(target_dir) unless File.exist?(target_dir) ARGV.each do |f| if File.extname(f).downcase =~ /.jpe?g|.png/ then #add .png img = Magick::ImageList.new(f) # mysizeより小さい画像は大きくなるのでresizeしない。 img = img.resize_to_fit(mysize, mysize) if [img.rows, img.columns].max > mysize img = img.auto_orient.strip! image_file_name = %Q(#{File.basename(f, ".*")}.webp) img.write(target_dir + "/" + image_file_name) # Clipboardにshortcodeを入れる 実際の使用には '/*'と'*/'を削除する必要あり Clipboard.copy(%Q({{< figure src="/images/#{date_dir}/#{image_file_name}" alt="" title="" width="#{img.rows}" height="#{img.columns}" >}})) # メッセージ puts %Q[#{Clipboard.paste} が clipboard に入ったよ〜] end end 変更履歴 2024-10-14 Monday 画像サイズを指定する ...

6月 5, 2024 · @tsut

満年齢早見表

満年齢早見表 rubyです。どうでしょう? require 'date' this_year = Date.today.year def wareki(y) nengo_eiji_kanji = { 'M' => '明治', 'T' => '大正', 'S' => '昭和', 'H' => '平成', 'R' => '令和'} # 大晦日現在の年号を得る input = Date.new(y,12,31).jisx0301 input = input.split(".") # ["R06", "12", "31"] nengo = input[0].split(//) # ["R", "0", "6"] nengo[0] = nengo_eiji_kanji[nengo[0]] nengo = nengo.join end def eto(y) eto = '子丑寅兎辰巳午未申酉戌亥'.split(//) eto = eto[y.modulo(12)-4] end 120.times do |i| year = this_year - i # printf("%3d年前\t", i) # puts "#{year}年\t#{wareki(year)}年" # printf("%s年(%s) %d年 %3d歳\n" ,wareki(year), eto(year), year, i) printf("%d年 %s年(%s) %3d歳\n" ,year, wareki(year), eto(year), i) end

4月 16, 2024 · @tsut