これ。
./rl2pocket
というコマンドを実行するとmailto:
のリンクを開くのでMail.appやブラウザが起動するのでそのまま送信する
サイトが特殊なタイプのリンクを開くことを許可する(ハンドラ) - Chrome ヘルプ
Setup
https://github.com/laiso/rl2pocket/releases からダウンロードしてTerminalから実行。
- Pocketにメールで投稿できるようにしておく
Motivation
- iPhoneでいろんなアプリからPocketに登録するよりリーディングリストへの追加のが手軽だから使っていた
- しかしRead it LaterはPocketに集約したい
- それPla(plagger.orgはそれどころではないよの略)
Improvements
- 認証機能つけて自働化できるようにする
- 差分で送信して同期するしくみをつける
- 黒い画面を見なくてもよくする
Code
Swiftで簡単に書けた
import Foundation import Cocoa func putPocket(readingList: [[String: AnyObject]]){ let urls = readingList.map({ (item) -> String in item["URLString"] as String }) let body = "\n".join(urls).stringByAddingPercentEncodingWithAllowedCharacters(.URLHostAllowedCharacterSet())! let url = "mailto:add@getpocket.com?subject=rl2pocket&body=\(body)" NSWorkspace.sharedWorkspace().openURL(NSURL(string: url)!) println("Sending... \(urls.count) urls") } if let plist = NSDictionary(contentsOfFile: NSHomeDirectory()+"/Library/Safari/Bookmarks.plist") { let bookmarks = plist["Children"] as [AnyObject] if let readingList = bookmarks.filter({$0["Title"] as String? == "com.apple.ReadingList"}).first?["Children"] as? [[String: AnyObject]] { putPocket(readingList) } println("done") }