指定のMarkdown書類をメモ.app(Notes.app)に新規エントリとして登録するAppleScriptです。
▲テストに使ったMarkdown書類
Markdown書類をUTF-8のテキストとして読み込み、それをHTMLに変換し、そのままメモ.app(Notes.app)に新規エントリとして登録します。Markdown書類のHTMLへの解釈はオープンソースのMMMarkdownを利用しています。
自分はMarkdownエディタにMacDownを用いているため、使用しているMarkdown書類もMacDownが解釈する、割と自由度の高い(HTMLコードをそのまま書いておいても許容するような)Markdownのコードを与えて処理してみましたが、これらはMMMarkdownでHTML変換する際にスルーされたせいか、装飾がかなり再現されているように感じます。
Markdownタグの互換性はエディタごとに大きく異なるため、確認はお手元のエディタ用のMarkdown書類で行なってください。
–> Download MMMarkdown.framework (To ~/Library/Frameworks/)
▲MMMarkdownを用いてMarkdown書類をHTMLに変換し、メモ.app(Notes.app)に登録した内容。表以外はけっこう反映できている
タイトルやメモ.app(Notes.app)上の登録先などは適宜変更してみてください。
何も考えずに、手元にあったMarkdown書類を処理してみたところ、http://のリンクや、applescript://のリンクなどもそのまま反映。色情報もそのまま反映されているようです。
▲macOS 10.14.5上で、Applet形式で実行。表も反映されている
macOS 10.14上では、①Script Debuggerを用いて実行 ②Frameworkを含めてApplet形式に書き出して実行 ③SIPを解除してスクリプトエディタ上で実行 のどちらか好きなものを選んでください。
Framework入りでAppletに書き出したものをダウンロードできるようにしておきました。macOS 10.14以降ではこちらもお試しください。
2019/6/15 フレームワークのリンク先が間違っていたようで、バイナリを書き出しし直しました。また、macOS 10.14環境で一部Scripterが言っているような「アプリケーション操作の認証を再度求められる」ような現象には遭遇していません。
AppleScript名:Markdown書類をメモ.appに新規エントリで登録する.scptd |
— Created 2019-06-11 by Takaaki Naganoya — 2019 Piyomaru Software use AppleScript version "2.4" use scripting additions use framework "Foundation" use framework "MMMarkdown" –https://github.com/mdiep/MMMarkdown property NSUUID : a reference to current application’s NSUUID –Markdown書類の読み込み set aFile to choose file of type {"net.daringfireball.markdown"} tell current application set aStr to (read aFile as «class utf8») end tell –Markdown to HTML set htmlString to current application’s MMMarkdown’s HTMLStringWithMarkdown:aStr |error|:(missing value) –メモ.app(Notes.app)に新規エントリを作成する set aUUID to NSUUID’s UUID()’s UUIDString() as text –UUIDを作成する tell application "Notes" make new note at folder "Notes" of account "iCloud" with properties {name:"TEST Notes_" & aUUID, body:(htmlString as string)} end tell |