きっかけはtypora
Markdownエディタです。最近の流行りに乗っており以下のような機能を持ってます。
- GFM
- mermaidでグラフが綺麗
- WYSIWYGエディタ(これまで使ってきたものの中では一番ストレスなく動いてくれる)
- Win/OSX/Linux
詳細は以下。
これが設定としてjpgなどをイメージを読み込むときに、指定のフォルダにコピーを作ってくれるのだけど、いちいちディレクトリを作り、YAMLを書き込むのがめんどくさいので自動にやって欲しい。
やったこと
"サービス"で指定したフォルダを受け取る
シェルスクリプトを実行して、フォルダ名とファイル名を取得
入力は引数として引き渡す。
AppleScriptを実行
ここでダイアログを表示して、作成したいものの名前を取得
on run {input, parameters}
set arg2 to item 2 of input
set dpath to arg2 & "/"
set theResult to display dialog "New Note Name" & return & "in " & dpath with title "New Note" buttons {"Cancel", "Create"} default answer ""
set buttonText to button returned of theResult
set dname to text returned of theResult
if buttonText is "Cancel" then
quit me
end if
if dname is "" then
quit me
end if
set container to {dpath, dname}
return container
end run
フォルダとファイルを作成
スペースはハイフンで置換、作成したmarkdownファイルに、イメージをどこに保存するのかについて、YAMLの設定を記述しておく。
cd $1
dname=(`echo $2 | tr -s " " "-"`)
mkdir $dname
fname="${dname}.md"
cd $dname
touch $fname
mkdir src
echo -e "---\ntypora-copy-images-to:./src\n---" >> $fname
open -a "typora" $fname
結果できるもの
.
├── src
└── test.md
今回やらなかった事
- 現在アクティブなウィンドウとディレクトリを読み込み、そこに作成する。
OSXのファインダーのcommand+shift+N
でフォルダを作れるように、指定したものをつくりたかった。
なんで現在の状態だと、ノートを作りたいところの一個上の階層のディレクトリに対して操作を行わないと、ノートを作りたい階層を正確に取得出来ないんですよね...まぁ困ってはいませんが。