arxivとACL Anthologyのpdfページからワンクリックでランディングページに遷移するボタン


arxivACL Anthologyでpdfを見ているときに、bibとかが欲しくてランディングページに行きたいことがよくあります。(e.g., pdfページからランディングページ
このちっちゃい煩わしさを解消するためのボタンを、chromeに設置したのでまとめます。

chromeのブックマークボタンでjsを動かせる

URLバーの下にある「よく使うサイト」をおいておくブックマークですが、そのターゲットリンクをjavascript:...とすることで、jsをかんたんに動かせます。
(html内の<a href="javasctipt:...">と同じです。)

これを使えば、ボタンを押したときにURLをチェックし、pdfページだったら対応するランディングページに遷移するボタンが作れます。

作ったもの

正規表現を使ってやってみました(他の方法でも全然できます)

 const acl_pattern = /(https:\/\/www.aclweb.org\/anthology\/[A-Z][0-9]{2}-[0-9]{4})\.pdf/;
 const arxiv_pattern = /https:\/\/arxiv\.org\/pdf\/([0-9\.]+?)\.pdf/;

 const acl_match = window.location.href.match(acl_pattern);
 if (acl_match !== null) {
    window.location.href = acl_match[1];
 }

 const arxiv_match = window.location.href.match(arxiv_pattern);
 if (arxiv_match !== null) {
    window.location.href = 'https://arxiv.org/abs/' + arxiv_match[1];
 }

(普段jsを書かないので、constにすべきかvarにすべきかよくわからなかったが動いたのでokにする)

これを適当にminifyして、ブックマークに追加(javascript:......にminifyした文字列を入れる)すると完成です!
minifyはjs minifierでぐぐるとツールがたくさん見つかります。

正規表現を追加していけば他のサイトにも対応できます。

終わりに

  • 論文がpdfのURLで共有されたときに、内心「めんどいな」と思っていたので、同じことを感じている人もいるかと思い共有しました。
  • 正規表現はちゃんとチェックしてないので、動かないページもあるかもしれません。
  • ブックマークで指定できるURLの長さに制限があると、あんまりたくさんのサイトは追加できないかもしれないです。
  • 論文の情報が乗ってるページってランディングページっていうのだろうか?