MarsEditのブックマークレットを少しカスタマイズしたら便利になった!
普段ブログを書くのにMarsEditを利用しています。
以前は、ReederからMarsEditの連携ができたので快適でしたが、Mojaveになった際に連携できなくなってしまいました。
その後は、ReederからChromeを開き、MarsEditのブックマークレットを起動するようにしていました。
以前の環境が快適だったため、ReederからMarsEditを呼び出すアプリを作ろうと思いました。
しかし、どうがんばっても選択範囲を取得することができませんでした。
プログラム的に言うと、「Share Extension」のアプリからWebPageが取得できればjavascriptでタイトルや選択範囲を取得し、MarsEditを起動ができると考えました。
現実は、Reederから取得できるのがWebPageではなくURLのみでした。
それだと選択範囲は消えてしまうので、残念ながら求める機能にはならないので諦めました。
Safariなら実装できたので残念でした。
ここでやめてしまうのは勿体ないので、少しでも便利にするために、MarsEditのブックマークレットをいじることにしました。
公式のブックマークレットだと、タイトル(#title#)、選択範囲(#body#)、ページのURL(#url#)は取得できますが、「#sourceHomeURL#」と「#sourceName#」は取得していませんので空欄になってしまいます。
そこで「#sourceHomeURL#」はURLの最初からドメインまでを取得し、「#sourceName#」は「og:site_name」が設定されていれば、「og:site_name」の値、設定されていなければドメイン名をセットするようにしました。
例えば当サイトの場合では、「#sourceHomeURL#」は「https://another.rocomotion.net」、「#sourceName#」は「og:site_name」を設定しているので「Another Rocomotion」となります。
仮に「og:site_name」が設定されていない場合は、「another.rocomotion.net」がセットされます。
これで少し便利になりました。
ソースとしてはこんな感じです。
javascript:(function(){ var baseUrl = 'marsedit:'; var url = baseUrl; var title = document.title; url = url + 'title=' + encodeURIComponent (title); var currentUrl = document.location.href; url = url + '&url=' + encodeURIComponent (currentUrl); var selectedText; selectedText = getSelection(); if (selectedText != '') url = url + '&text=' + encodeURIComponent (selectedText); url = url + '&sourceHomeURL=' + document.location.protocol+'//'+document.domain; var sourceName = document.domain; var items = document.getElementsByTagName('meta'); for(i=0;i<items.length;i++){ if(items[i].getAttribute('property')=='og:site_name'){ sourceName = items[i].getAttribute('content'); } } url = url + '&sourceName=' + sourceName; document.location.href=url; })();
このブックマークレットをご利用の方は、こちらをコピーするなりブックマークへ直接入れることで利用できるようになります。
(ChromeとFireFoxでは動きましたが、Safariでは動きませんでしたのでご注意ください。)
--
ReederからMarsEdit連携が戻ってくると良いのですが・・・
そしてぜひ戻るときは、QuickPostに準じて頂けると幸いです。
- MarsEdit 4
- 無料 at 2019/07/17
- Red Sweater Software
- posted with Rocolinker
- Reeder 4
- 1,200円 at 2019/07/17
- Silvio Rizzi
- posted with Rocolinker
- アフィリエイトで夢を叶えた元OLブロガーが教える 本気で稼げる アフィリエイトブログ 収益・集客が1.5倍UPするプロの技79
- posted with Rocolinker
- ソーテック社 2018-03-10
- Amazon
- 楽天市場
- Yahooショッピング