HUGOの記事にamazonアソシエイトリンクを貼る際に、取得したリンクを加工するのが面倒だったので、pythonで書きました
tkinterでGUIにしています
なんてことはない、中身は文字列を切って貼ってをしているだけです
コマンドで起動するのは面倒なので、バッチファイルで起動するようにしています
作ろうとしているリンク こんな見た目
古風だけど自分はこれが好き
実際のリンクはこれ↓(リンク切れていたらスミマセン)
使い方 「Amazonアソシエイトツールバー」の「テキストと画像」タブを開いて、生成されたリンクをコピー(下画像の「これをコピー」部分) pythonプログラムを起動するとこれが現れる↓ コピーしたリンクをそのまま貼り付ける エンターキーを押すと、クリップボードにコピーされる 記事内に貼り付ける
コピーされた文字列例↓(表示の都合上、先頭の{は全角になっていますが、実際は半角{です)
{{< Amazon src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=アソシエイトID&language=ja_JP&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=B088PGN64G&linkId=2ef7d1928670c9537cf1976fdc5a5b37" >}}
クリアボタンを押すと消える
2回目以降は「クリップボードにコピーしました!」は消えないので注意
プログラム クリップボードを扱うライブラリー(pyclip)はインストールが必要です
表示の都合上、一部の{は全角になっていますが、実際は半角{です。使用の際は半角{に直してお使いください
# -*- coding: utf-8 -*- """ アマゾンの商品リンクをhugoに貼る形に変換する エンターで変換 クリップボードにコピーされる """ import tkinter as tk import pyclip root = tk.Tk() root.geometry('500x90') root.title('Amazon affiリンク変換(hugo用)') def func(event): global label1 text1 = entry1.get() # amazon アソシエイトツールバー テキストと画像のリンク target = 'src="' # src="より後ろを抽出 idx = text1.find(target) r = text1[idx + len(target):] r = r[:-10] # 後ろの ></iframe> を削除 r = 'src="' + str(r) # 整形 r = '{{< Amazon ' + r + ' >}}' # 整形 pyclip.copy(r) # copy data to the clipboard label1 = tk.Label(text='クリップボードにコピーしました!') label1.place(x=10,y=60) def buttonclk(): global label1 entry1.delete(0,tk.END) label1.destroy() entry1 = tk.Entry(width = 80) entry1.place(x = 10 , y = 40) entry1.bind('<Return>', func) button = tk.Button(root,text='クリア',command=buttonclk) button.place(x=10,y=10) root.mainloop() 参考 エンターキー入力を拾う方法
...