#daiizメモ

Scrapboxに夢中

紙にURLをメモするときのちょっとした便利ツール

講義ノートの余白に,復習時に読みたい参考ウェブページのURLを書いておきたい場面がときどきあるのですが,URLは長いので手書きでメモすると結構大変です.

そこで,URLに自分だけの適当な数字を割り当てるツールをつくって,試用していました.意外と使える気がしたのでツールの作り方を共有したいと思います.

以下の手順で自作することができます.

基本的な機能はGoogle Apps Script で書いています.以下の記事の内容が関連しています.

daiiz.hatenablog.com

Step 1. スプレッドシートを用意する

登録するURLはGoogle スプレッドシートで管理します.シートは最左端のA列のみを使います.A列N行目のセルにURLが書き込まれたとき,「N」を「URLの番号」と呼ぶことにします.これから,「URLを登録して番号Nを得る」「番号Nに対応するURLを得る」の2つのことができるプログラムを作ります.

適当な名前の空のスプレッドシートをGoogleドライブ上に作成して,共有状態を「リンクを知っている全員が閲覧可」にしてください.つまり,シートに登録された内容は一般公開になります.パスワードなど他人に見られて困る情報を書き込まないように注意してください.

また,生成されたスプレッドシートの共有URLをコピーして控えておきます.

Step 2. Google Apps Script (GAS) を書く

上で紹介した記事を参考にして,GASのエディタ画面を開いて,下記の内容を貼り付けて保存して,ウェブアプリケーションとして導入します.

gist.github.com

以上で完成です.

Step 3-A. ブラウザで実行

URLを登録する場合は,アプリケーションのURLの?uri=パラメータに登録したいウェブページのURLを与えます.番号Nを振られたURLを取得したいときは,?num=NをアプリケーションのURLの末尾に付加します.URLをブラウザのアドレスバーに入力してアクセスすると,それぞれ以下のようなJSONデータが返され,実行結果を確認できます.

// ?uri=https://inbox.google.com/ を付加した例
{
    uri: "https://inbox.google.com/",
    num: 54
}

// ?num=54 を付加した例
{
    uri: "https://inbox.google.com/",
    num: 54
}

Step 3-B. ターミナルで実行

下記のRubyプログラムを実行すると,簡単に,URLの登録や取得を行うことができます.

gist.github.com

URLを登録する場合はオプション-uを使います.

$ ruby urinum.rb -u http://miil.me/timeline/
55

番号からURLを取得するときはオプション-nを使います.

$ ruby urinum.rb -n 55
http://miil.me/timeline/

登録したURLを削除したい場合は,スプレッドシートを直接触って内容を消します. スマートフォンからも簡単に扱えるように,QRコードでURLを読み取ったら登録して番号を返すようなアプリも用意しようと考えています.