島根の司法書士、坂根(@sakane0958)です。
最近のEvernoteのWindowsクライアントのアップデートにて、ノートリンクのフォーマットが変更になったようです。
現時点では新旧の型のノートリンクが機能します。
元のフォーマットのリンクの方が便利な面もあり、その双方を行ったり来たりする仕組みを、Windowsのクリップボード履歴ソフト「clibor」の「クリップボードテキスト自動整形」機能を使って考えました。
(正規表現による置換が可能なクリップボード履歴ソフトがあれば、Macでも同様のことができるかもしれません)
周辺情報と併せて紹介してみます。
Evernoteのノートリンクのフォーマットが変わった
これまでのノートリンクは「evernote:///」から始まる形式(以後「evernote型リンク」と呼びます)でしたが、現在Windowsクライアントからノートリンクを取得すると「https://」から始まる形式(以後「https型リンク」と呼びます)のノートリンクになります。
なお、ノートテキストのリンクの造りについては、下記の記事から多くの情報を得ました。
作業を始める前に、一読しておくと理解が早いと思います。
Web版Evernoteでノートリンクを作成する – s_z_k_3’s Scripts in Tumblr.com
ノートリンクの造りを理解するのに、とても役に立った情報です。
リンク形式の相互変換の手順
まず、自分のノートリンクのパーツを確認します。
ノートリンクのうち、末尾の長い文字列(abcd1234-5555-6666-ef78-9999ghijklmn)はノートの固有IDと思われるもの、そこまでの部分(https://www.evernote.com/shard/s999/nl/99999999/)がアカウント情報を表していると思われます。
私の方法では、アカウント情報部分をキーにして、クリップボードに入って来たテキストがノートリンクかどうかを判定します。
さて、具体的な手順に入る前にcliborはダウンロード、インストールしておいてください。
Clibor | amuns:code
シンプルで高機能なクリップボード履歴ソフトです。 Cliborはフリーソフトです。
https型リンクからevernote型リンクへの置換
ご自分のノートリンクを取得して、アカウント情報部分の:や/や.のような、いわゆる「記号」の前に「\(半角の¥又はバックスラッシュ)」を挿入した文字列を用意して下さい。
https\:\/\/www\.evernote\.com\/shard\/s999\/nl\/99999999\/
その後ろに「(.*)」を付けたものが、ノートリンクのノート固有IDを探すための検索構文になります。
https\:\/\/www\.evernote\.com\/shard\/s999\/nl\/99999999\/(.*)
次に、それを従来のevernote型リンクに変換するための構文を作ります。
もし従来のevernote型リンクがどこかに残っていれば、それを持ってくると楽ですが、残っていなければhttps型リンクから切り貼りして、下記のようなアカウント情報部分を作ります(こちらには\は不要)。
evernote:///view/99999999/s999/
これに「$1/$1/」をくっつけたものが、置換先の構文です。
evernote:///view/99999999/s999/$1/$1/
これをcliborの「整形の編集」機能に、下記のように新規追加してやります(「正規表現を使用する」は有効に)。
(スクリーンショットのために「置換前」に改行を入れていますが、本来は折り返さずに右の方へはみ出すはずです)
登録後は、「クリップボードテキスト自動整形」機能から上記整形を選択し、ノートリンクをコピーするとクリップボードの中でhttps型リンクからevernote型リンクへの置換が行われ、貼り付け時にはevernote型のリンクが出てきます。
ちなみに私はよくクリップボードテキスト自動整形をオフにし忘れます。
Excelのセルがコピーできなくなったり、特有の症状が出るので気付くのですが。
皆様もご注意下さい。
evernote型リンクからhttps型リンクへの置換
パーツの構成がわかっていれば、逆の置換も簡単です。
evernote\:[\/]*view\/99999999\/s999\/[^/]*/(.*)
を検索して
に置換する整形を作ります。
https型リンクとevernote型リンクの特徴
https型リンクの特徴
ノートリンクを取得しただけで公開ノートになるわけではない
https型リンクは、従来の公開ノートのフォーマットに似ているので、「公開するつもりじゃないのに、公開ノートになっちゃったの?」と不安になりますが、権限が無いユーザにはノートは表示されないようです(Evernoteを使っていないPCでリンクを開いても、ノートの中身は表示されなかったので)。
また、全てのノートを対象に「公開ノート」を検索してみてもヒットしないので、https型リンクを取得しただけでノートが公開されるわけではないと考えて良さそうです。
意外なノートが公開されていませんか?Evernoteの共有ノートを調べる方法 [ とゆ空間 ]
検索窓に「sharedate:*」と入力。
なお、単なるノートリンクの取得でなく「共有」をしてしまうとノートが公開されます。
その違いには重々ご注意を。
evernote型リンクをリンクと認識しないアプリにおいてもノートを紐付けられるようになる
例えばevernote型リンクをGoogleカレンダーの「説明」欄に入力しても、AndroidのGoogleカレンダーアプリではリンクとして認識されず、ノートを紐付けることができませんでした。
しかし、https型リンクはきちんとリンクとして機能します。
ToodledoをAndroidで扱うことができるUltimateToDoリスト等のアプリでも、同様にhttps型リンクならノートを開くことができますが、evernote型リンクだとリンクになりません。
そういう意味ではhttps型リンクの方が、潰しが効くというか、汎用性があります。
いったんブラウザでノートを開いてからアプリでノートが開く
https型リンクの唯一の欠点がこれです。
evernote型リンクであれば、リンクをクリックするとWindowsやAndroidのEvernoteクライアントが直接開いていたのに対し、https型リンクをクリックした場合には、いったんブラウザでノートが開き、その直後に各クライアントでノートが開かれます(ブラウザから各クライアントを開くことを許可した場合)。
ブラウザで開いたノートは自動で閉じられたりはせず、残ったりするので、ブラウザでなくアプリをメインに使っている場合には少しウザいと思います。
evernote型リンクの特徴
evernote型リンクのメリット、デメリットはhttps型リンクの裏返しと思ってもらえば良いと思います。
直接アプリでノートが開く
evernote型リンクの最大のメリットは、「直接アプリでノートが開く」というストレートさにあります。
普段使っているパソコンやスマホでノートを開く場合、それぞれのEvernoteクライアントで直接開く方が便利だと思います。
アプリによってはリンクであると認識しないことがある
例えば、AndroidのGoogleカレンダーアプリではevernote型リンクは、リンクとして機能しません。
コピペしてブラウザに突っ込めば、Evernoteアプリがノートを表示してくれますが、これは面倒ですね。
evernote型リンクを認識しないアプリとノートを紐付けるにはhttps型リンクを使うと良いです。
いつか使えなくなるかもしれない
Evernote側でユーザに何の断りも無くevernote型リンクからhttps型リンクへの切替が行われたことから推測するに、いつの日かevernote型リンクはアプリのアップデートに伴い、一括置換で勝手にhttps型リンクに変換されてしまう可能性はあると思います。
そして外部に貼ったevernote型リンクは、そのタイミングで使えなくなるかもしれません。
いつまでも、古い時代にしがみついていてもいけないのかもしれません。
その覚悟はしておくべきかもしれませんね。
編集後記
このノートリンクのフォーマット変更に最初に気付いたときには、「よけいなことをしやがって」と思いました。
正直、ろくでもないアップデートだと感じました。
でも、このアップデートが無かったらAndroid環境のToodledoからノートを参照する術が無く、途方に暮れるところでした。
双方の型のノートリンクを使っているうちに、それぞれの利点・欠点も見えてきて、最終的には良いアップデートだったのではないかと私は思っています。
願わくば、今後もevernote型リンクも使い続けられると良いです。
関連記事
[Evernote]Bluewindから新規ノート作成、直後にノートリンク取得するスクリプトを自作しました(その1)
今回同様、ノートリンクをいじくった話です。
同期されていないノートのノートリンクを取得しようとすると、性質の悪い同期が始まります(同期が終わるまでEvernote操作ができなくなる)。
私の運用では、よく新規にノートを作ってノートリンクを取得する、という流れがあります。
そこをスムーズにするためにスクリプトを作ってみました、という話です。
アップデートによる仕様変更で、記事の通りにやってももう動かないと思いますが、「ノートの固有ID部分をログから拾ってきて、自分のアカウント情報と繋げればノートリンクができる」という大きな方針は、まだ現役で使えるやり方ですね。
ちなみに3部作です。
[Evernote]Bluewindから新規ノート作成、直後にノートリンク取得するスクリプトを自作しました(その2)
[Evernote]Bluewindから新規ノート作成、直後にノートリンク取得するスクリプトを自作しました(その3)
[追記]しごたのさんがEverntoe型ノートリンクを簡単に取得する方法を発見
Evernoteのノートリンクが「https:~」になって困っている人へ | じゃーなる
メニューから「ノートリンクをコピー」を選択する際にCtrlキーを押しながらだと、ローカルリンクになります。 …
”メニューから「ノートリンクをコピー」を選択する際にCtrlキーを押しながらだと、ローカルリンクになります。”
これを使えば私が紹介したような小難しいことをしなくても、従来型のevernote型のノートリンクを得ることができます。
便利。
[2014年4月19日追記]
コメント
[…] [Evernote]ノートリンクをhttps型からevernote型に変換する方法(Win) – cliborの自動整形機能の活用 | 流れるような一日を […]