Evernoteに素早くコンテンツをクリップするGreasemonkeyスクリプト

最近Evernote使い始めまして。ときどきウェブページをクリップするぐらいで、あとはもっぱらテキストとかメモとかその他いろいろの方が中心。

こんな使い方ですからEvernote全自動なんちゃらして情報収集とかやるほどのことはない。が、たまのウェブページのクリップでも簡単にしたい。選択するのめんどくさい。

というわけで、MacBook airの慣れも兼ねて素早くコンテンツ選択してぶっこめるGreasemonkeyスクリプトを書きました。というかMacBook air買いました。かなり前に。のろのろいじってます。

スクリプト

用途別に一応用意。

ブックマークレット

これはコンテンツを選択するだけ。アドオンとか自分でコピーして貼り付けする場合。

javascript:(function(c,i){var%20n=["section","div","article","table"],q=function(){function%20h(){var%20b=c.evaluate("//"+n.join("|//"),c,null,7,null),a;for(a%20in%20l)i.appendChild(c.createTextNode("."+a+"%20{"+l[a].val+"}"));a=0;for(var%20f=b.snapshotLength,e,j;a<f;a++){e=b.snapshotItem(a);j=o(e);j.className="everclipplusplate";j.addEventListener("click",function(d){var%20g=d.currentTarget.parentNode;g.style.outline="";g.style.background="";k();d=c.createRange();d.setStart(g,0);d.setEnd(g,g.childNodes.length);g=getSelection();%20g.removeAllRanges();g.addRange(d)},false);j.addEventListener("mouseover",function(d){d.currentTarget.parentNode.style.outline="solid%202px%20blue";d.currentTarget.parentNode.style.background="rgba(200,100,100,0.2)"},false);j.addEventListener("mouseout",function(d){d.currentTarget.parentNode.style.outline="";d.currentTarget.parentNode.style.background=""},false);e.insertBefore(j,e.firstChild)}}function%20k(){if(m=!m)h();else%20for(var%20b=c.evaluate('//div[@class="everclipplusplate"]',c,null,7,null),a=0,f=b.snapshotLength,%20e;a<f;a++){e=b.snapshotItem(a);e.parentNode.removeChild(e)}}function%20p(){var%20b=c.createElement("span");b.innerHTML="\u00d7";b.className="everclipplustooltip";b.addEventListener("click",function(a){a.currentTarget.parentNode.style.display="none";a.stopPropagation()},false);return%20b}function%20o(b){var%20a=c.createElement("div"),f=c.defaultView.getComputedStyle(b.parentNode,"").position,e=b.nodeName.toLowerCase();a.appendChild(c.createTextNode(e+"#"+(b.id||"noneId")));a.appendChild(p());if(f==="static"||%20f===""){f=b.parentNode.className||"";b.parentNode.className=f+"%20everclipplusparent"}return%20a}var%20m=true,l={everclipplusplate:{num:0,val:"font-size:13px;color:#fff;background:rgba(0,0,0,0.6);border:#fff%20solid%201px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;position:absolute;top:0;left:0;cursor:pointer;z-index:50000;"},everclipplusparent:{num:1,val:"position:relative;"},everclipplustooltip:{num:2,val:"text-align:center;width:15px;color:#000;font-size:11px;border:#000%20solid%201px;font-weight:bold;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;background:rgba(255,0,0,0.6);cursor:pointer;margin:0%202px;display:inline-block;"},%20"everclipplusplate:hover":{num:3,val:"background:rgba(150,200,50,1);"},"everclipplustooltip:hover":{num:4,val:"background:rgba(255,0,0,1);color:#fff;"}};h();return{display:k}}();window.addEventListener("keydown",function(h){var%20k=h.ctrlKey?true:false;h.target.tagName==="INPUT"||h.target.tagName==="TEXTAREA"||h.keyCode!==69||k||q.display()},false)})(document,function(){var%20c,i;c=document.getElementsByTagName("head")[0];i=document.createElement("style");i.type="text/css";c.insertBefore(i,c.firstElementChild);%20return%20i}());
Greasemonkey

公式のブックマークレットと連動させてクリップ。

install

使い方

グリモンだとウェブページ上でキーボードの「e」を1回押すとHTMLタグのボタンが表示されます。ブックマークレットはクリックすれば出てきます。表示非表示は同じく「e」。今のところdiv,section,article,tableのタグに反応します。テキストを入力するフィールドでは反応しません。

その他表示タグがある場合はソースコードにつけたしてください。

表示されたタグのボタンに対してカーソル載せると具体的に選択する部分をわかりやすくハイライトします。んでその範囲でおっけーだったらクリックすると選択して投稿されます。

コンテンツだけ選択するブックマークレットだとアドオンのボタン押すなり右クリックでコピーするなり。ただまあ選択の精度についてはそのウェブページのコーディングによりますのであまり期待しないです。あと元々グリモン向けだったのでIEとか考えてません。ブックマークレットはたぶん動かんでしょう。

関係ないけどMacBook air快適。codaも買いまして気に入りました。良いです。うふふ、ぐふふふふ。あとEmacsの環境整えたいんだけど良く解らん。とりあえずmi使ってるけどこれも良く解らん。困った。