インターフェイスは、short-url-dwim関数で表されます。 カーソルがURLの上にあるときに呼び出された場合(プロトコルが必要)、URLは短いリンクに置き換えられます。 別のケースでは、ミニバッファーにURLを入力するように求められ、カーソルの位置に短いリンクが挿入されます。
エラーメッセージはミニバッファーに表示されます。
スクリプトコード:
(defvar short-url-user "emacsshorturl")
(defvar short-url-apiKey "R_ac13b2e481b5a73db361ddfa1430fef5")
(defun short-url (url place-url)
(unless url (error "Url is nil"))
(let ((reply (replace-regexp-in-string
"\n" ""
(shell-command-to-string
(concat "curl --url \"api.bit.ly/shorten\" -F version=\"2.0.1\" -F"
"longUrl=\"" url "\""
" -F login=\"" short-url-user
"\" -F apiKey=\"" short-url-apiKey
"\" 2> /dev/null")))))
(when (string-match ".*\"errorMessage\": \"\\([^\"]+\\)\".*" reply)
(error (concat
"ERROR: "
(replace-regexp-in-string
".*\"errorMessage\": \"\\([^\"]+\\)\".*"
"\\1" reply))))
(let ((shortUrl (replace-regexp-in-string
".*\"shortUrl\": \"\\([^\"]*\\)\".*"
"\\1" reply)))
(when place-url
(delete-region (car place-url) (cdr place-url)))
(insert shortUrl))))
(defun short-url-dwim ()
(interactive)
(let ((bounds-url (bounds-of-thing-at-point 'url)))
(if bounds-url
(short-url (thing-at-point 'url) bounds-url)
(short-url-user-url (read-from-minibuffer "URL: ")))))
(provide 'short-url)
インストールとセットアップ
コードは、load-pathフォルダーの「short-url.el」という名前のファイルに配置する必要があります。 次に、次のコードを.emacsに追加します。
(require 'short-url)
bit.lyで登録し、アカウントにスクリプトを設定することを強くお勧めします。 これには少なくとも2つの理由があります。
- リンクへのアクセスに関する統計があります。
- デフォルトのアカウントで何かが変更されても、何も落ちません。
これを行うには、次を.emacsに追加します。
(setq short-url-user < >)
(setq short-url-apiKey < apiKey>)