nDiki : ライティングアプリ

2017年8月24日 (木)

Alfred から一発で日時ファイル名のファイルを新規作成し Ulysses で開けるようにする

Mac ではもっぱらライティングアプリ Ulyssesノートをとっています。さっとメモをする時はあとで整理しやすいように日時がファイル名になっているファイル(シート)をぱっと新規作成して開きたいなと思っていたので方法を調べてみました。

x-callback-url が使える

UlyssesMac アプリケーションでも iOS アプリと同様に x-callback-url に対応しているようなのでこれを使うことにしました。

ターミナルで

 open ulysses://x-callback-url/new-sheet?group=/home/workspace/note\&index=1000\&text=`date +@:%Y-%m-%d-%H%M%S`

とすると外部フォルダ home の中の workspace/note の中に今の日時に合わせて 2017-08-24-130102.md のようなファイルが作成され、 Ulysses がアクティブになりそのシートが開いた状態になります。便利。

ちなみに Ulysses の外部フォルダ上のシートを新規作成して開くなら、同様の日時ファイル名テキストファイルを作成し

 open -a UlyssesMac ファイル名

で開くようなスクリプトを書くのでも OK です。

Alfred から呼べるようにする

動作することがわかったので Alfred 3 for Mac から呼び出せるようにしました。

今日 Alfred を初めて入れてみたので workflow などの機能については良くわかっていません。まずは先のコマンド実行をアプリケーションにして Alfred から呼び出せるようにします。

アプリケーションを作る

  1. Automator を起動
  2. 新規ワークフローを作成
  3. シェルスクリプト実行」アクションを右のペインにドラッグ&ドロップ
  4. シェルスクリプトとして前述の1行コマンドを入力
  5. 右上の実行ボタンを押して動作することを確認
  6. フォーマットに「アプリケーション」選択し ~/local/Applications/new-note.app として保存(Alfred の初期設定ではホームディレクトリ以下ならどこでも OK)

これで option + shift で Alfred を表示したあとに new-note と入れて実行するれば、新しい日時ファイル名のファイルが作成されて Ulysses 上でシートが開いた状態になります。

これで Ulysses でさっとメモを取るのが一気に楽になりました。

[ ノート・日記はテキストファイルに ]

スポンサード リンク
[ 8月24日全て ]

2018年2月26日 (月)

Markdown で書いているノートWeb ブラウザで見るのに MkDocs を使う

ノート/メモははライティングアプリ Ulysses を使い Markdown で書いていて、検索・閲覧・整理も Ulysses で基本済ませています。ただいくつかの良く参照するファイルはブックマークやハイパーリンクから Web ブラウザでさっと表示させたかったりします。なので以前は Plack::App::Directory::Markdown を使った自作 PSGI アプリケーションを使ってました。

が、セットアップしたり保守したりという手間を今とれないなと思って、 Markdown ビューアを探してみたところ MkDocs が良さそうなので試してみました。

  • http://www.mkdocs.org/ (公式サイト自体が MkDocs で作られているのでどのような表示になるか確認できます)

MkDocs を Homebrew で入れてみる

MacBook ProHomebrew で入れて動かしてみます。

 $brew install MkDocs
 $mkdir -p ~/var/mkdocs
 $cd ~/var/mkdocs
 $mkdocs new local
 $cd local
 $mkdocs serve

Web サーバが立ち上がるので http://127.0.0.1:8000/ にアクセスすると ~/var/mkdocs/local/docs/index.md の内容を HTML に変換したものが表示されます。お手軽! 設定変更は ~/var/mkdocs/local/mkdocs.yml できます。

あとは docs の下に Markdown ファイルを置いておけば Web ブラウザで閲覧できます。docs の下に既存の Markdown ファイルノートディレクトリへシンボリックリンクを作ればそれらも辿って表示されます。

pip で入れ直す

試していてブラウザでのレンダリング表示が重いなと思って HTML ソースを見たら同じ JavaScript ファイルを何十回も読み込んでいて何か変ぽかったので Homebrew のをやめて pip で入れなおしました。どちらも現在 mkdocs 0.17.2 ですが pip で入れた方は問題なかったのでこちらを使うことにします。

 $brew uninstall mkdocs
 $brew install python
 $pip2 install mkdocs

MkDown は静的サイトジェネレータで、プレビューサーバは補助的機能ですがまずまず使えそうです。

[ 2月26日全て ]

2018年5月30日 (水)

Ulysses 13 が fenced code block に対応

愛用している Markdownライティングアプリ Ulysses がバージョン 13 になってついに fenced code block に対応しました。

今までは行頭に '' を入力して(と行頭にタブ文字が入る)コードを書くという形式のみしかサポートしていなかったので結構不便でした。 fenced code block に対応してくれたことで、コンピュータ関連のノートを取る時に Ulysses だとちょっとなぁというのがだいぶ解消されました。良かった良かった。

[ 5月30日全て ]

2018年7月25日 (水)

ノート日記テキストファイルGoogle ドライブ

今までノート日記テキストファイルDropbox で同期していました。 Dropbox の同期については満足しているのですが Android スマートフォンで全文検索でファイルを探して開くということができないのはやはり不便なので Google ドライブに同期するように変更しました。

iOSUlysses で閲覧・編集できなくなるは許容

UlyssesDropbox を同期しておくこと iPhoneノート日記テキストファイルの全文検索・編集ができていたのですが、今回の Google ドライブへの同期先変更でそれができなくなります。

今は Android スマートフォンメインで使っているのでこちらは諦めることにします。

拡張子を txt にする

Google ドライブテキストファイルとして扱ってもらうためには Markdown ファイルの拡張子を md ではなく txt にする必要があります。

過去 txt ファイルに統一して Google ドライブに同期していた事もあったのですが、その時はテキストエディタライティングアプリの都合で結局戻しました。今回全文検索が使えることを優先し、再度 Markdown 形式のノート・日記テキストファイル拡張子を txt に変更しました。

MacUlysses ではそのようなファイルを保存している外部フォルダの「新規シートのファイル拡張子」設定を .txt に変更し、「標準テキスト (.txt) ファイルを Markdown として編集」設定をオンにしておきます。

Android のテキストエディタから直接 Google ドライブの編集を選んで編集する

JotterPadiA Writer・Jota+ が Google ドライブにアクセスできるので、これらでブラウズしてファイルを開き編集できます。

AndroidGoogle ドライブアプリで全文検索してからファイルを開いて編集する

全文検索でファイルを探してから開いて編集するというのは JotterPadiA Writer ではできません。

Google ドライブアプリで全文検索してファイルを選んだあとに Jota+ に渡すと、Jota+ で編集・保存で Google ドライブに書き戻すことができます。全文検索からはこの流れで扱うことにします。単独のライティングアプリで全文検索から直接編集といかないのでちょっと手間ではありますが、今までは探すことすらできなかったのでかなり助かります。

これでどこでもパーソナルナレッジベースにアクセスできるようになりました。やはり過去のノート日記をどこでも検索できるというのは便利でいいですね。

[ ノート・日記はテキストファイルに ]

[ 7月25日全て ]

2018年10月13日 (土)

Ulysses で TextBundle を使うのどうなのか調べてみた

Markdown 形式ファイルと、そこから参照されている画像ファイルを1つにまとめて管理する形式として TextBundle がある。ライティングアプリ Ulysses が対応しているのでちょっといじってみた。

TextBundle は package format と compressed format がある。 package format は macOS のパッケージの形になっていて、 textbundle という拡張子をつけたディレクトリの中に info.json と text.* (Markdown なら text.md)、それからテキストファイルから参照しているファイルを asserts/ サブディレクトリに置くという仕様である。macOS の Finder からは1つのファイルのように表示される。

TextBundle を使うメリット

メリットは以下。

  • テキストファイルと参照されている画像ファイルを一緒に管理できる(ばらけないで移動したりできる)。
  • TextBundle に対応していないテキストエディタでも text.md を簡単に開いて編集できる。

TextBundle を使うデメリット

非対応アプリケーションから使う場合にデメリットを感じる。

  • 非対応アプリからみると TextBundle 毎にディレクトリがあることになるので、ディレクトリだらけな感じになる。ドキュメント毎にディレクトリを開いて中のテキストファイルにアクセスする必要がある。
  • Markdown ファイル名が text.md 固定なので、ファイル名だけでは区別できなくなる。

Ulysses for Mac の場合

Ulysses は TextBundle に対応しているので通常の Markdown ファイルと同様1つのシートとして自然に扱える。

普段 Ulysses for Mac では Dropbox の中のディレクトリを外部フォルダとして指定して使っているので以下、外部フォルダの時の話し。

Ulysses の外部フォルダ上の Markdown ファイルに貼った画像エディタ上でプレビューできるのは現状 TextBundle だけ。エクスポート時も TextBundle 内の画像ファイルは書き出されれるけれど、(相対パス・絶対パス問わず)ファイル名で参照しているものは書き出されない(http/https な URL で指定した画像HTML でエクスポートする際は画像が貼られる形になるが PDF ではだめ)。Ulysses だけを使って画像を扱いたいなら TextBundle を使う以外選択がない感じだ。

Ulysses 上で TextBundle なシートを保存するたびに参照されている画像ファイルを残して他は assets/ から消されてしまう。なので assets/ の下に画像作成に使ったソース・ファイル(マインドマップファイル)を一緒に置いておくおような管理はできない。そもそもテキスト編集で間違えて画像参照を消して保存実行してしまうと、画像ファイルだって消えてしまうので、画像ファイルだってオリジナルを別で保存しておく必要がある。

TextBundle は使うのは控えた方が良さそうだ。

[ 10月13日全て ]

2018年10月14日 (日)

Marked 2 で Markdown プレビュー時に自動的に画像を探すようにした

image:/nDiki/2018/10/14/Marked-2-1200x900.png

ライティングアプリ Ulysses for Mac では画像ファイルのプレビューがいい感じじゃなかったので、 Markdown プレビューアの Marked 2 を使うことにした。

Marked 2 は相対パス指定・絶対パス指定のローカルの画像ファイルや URL で指定したネットワーク上の画像もきちんと扱ってくれるので便利だ。

画像ファイルをどこにおいておくか

さて Markdown ファイルから参照している画像ファイルをどこに置いておくか。Markedown ファイルと同じディレクトリに置くのが素朴だが以下の点で却下。

  • Markdown ファイルを別のディレクトリに移動する時に参照している画像ファイルを一緒に動かすのが面倒。
  • Markdown で書いた日別のノートファイルがたくさんあるようなディレクトリでは画像ファイルが邪魔。

別のところにまとめて置いておくのがよさそうだけれど、そうするとパス指定の問題が出てくる。ファイル移動時の参照書き換えをするは面倒なので嫌。

どうしようかなと思っていたら、 Marked 2 のプリプロセッサ機能で画像のパスを書き換える例を発見。その記事ではローカルホストでのプレビュー時とサイト公開時とでパスが違うことの解決に利用していたんだけれど、ローカルホスト上でも応用できるな。

パス指定はプリプロセッサにやらせてしまえばいいじゃない。画像ファイル名をユニークにしておき(もともとそうしている) Markdown ファイル上ではそのファイル名だけで画像参照として書く。プレビュー時に画像ファイルをローカルホスト上で検索して見つかったパスで書き換えてやれば良いなと。

さっそく Perl プログラムとしてプリプロセッサを作成。 Markdown ファイル中の画像参照があったら、Markdown ファイルのあるディレクトリレクトリ以下および指定したパス以下のディレクトリから File:Find::find で探し、見つかればそのパスに書き換えるようにしてみた。

あ、これ便利。

画像ファイルをいちいち Markdown ファイルの近くにエクスポートするとか、一緒に移動させるとかする必要なくてめちゃくちゃいいわ。

[ 10月14日全て ]

2018年10月19日 (金)

アウトライナーとして TaskPaper をまた使うことにした

頭に浮かんだことを書き留め、整理しながら思考していくツールとしてアウトライナーをまた利用したくなった。 WorkFlowy や Dynalist が人気のあるアウトライナーだけれど、 個人的にテキストファイルとして管理できる方が好きなのでまた TaskPaper を使うことにした。

去年アウトライナーとして使い始めたあとに、タスク管理の統合を試みたもののタスク管理Remember The Milk に戻したタイミングでアウトライナーとしても使わなくなっちゃってた。

今回は TaskPaper

に絞って活用するつもり。inbox・ノートツールは Ulysses (ライティングアプリ)、タスク管理Remember The Milk 中心で。プロジェクトノートに使うかはまだ迷い中。

[ ノート・日記はテキストファイルに ]

[ 10月19日全て ]

2019年1月20日 (日)

Ulysses がまた重くなってきた

ライティングアプリ Ulysses for Mac がまた重くなってきた。特にシート追加をするとしばらく待たされる。シート数が多くなりすぎてきたのかな。外部フォルダをいくつか外してみた。

それから効果があるかはわからないけれど、「イメージのプレビューをオフにする」のと「シートプレビュー行数を減らす」というのもしてみた。

あ、それから Ulysses 以外のアプリケーションが動きすぎというのもあったのかも、他のアプリケーション片っ端から止めて様子みてみることにする。

[ 1月20日全て ]

2019年1月31日 (木)

iA WriterUlysses のライブラリ機能の違いで使い分け

最近 Ulysses for Macばかり使っていて出番が減っているライティングアプリ iA Writer for Mac だけれど、ライブラリ機能が Ulysses と違うので使い分けでまた使ってもいいかなって。

Ulyssesテキストファイルしかシートリスト(ファイルリスト)に表示されないのに対して、 iA Writer ではその他のファイルもファイルリストに表示されるのでその存在を意識できる。

画像ファイルやスプレッドシートなどその他のファイルが混在している

  • Google スプレッドシートなども一緒に置いてある Google ドライブ上のフォルダ
  • Deckset スライドのための画像ファイルがあるフォルダ

のようなフォルダ上の Markdown ファイルの編集には iA Writer の方が便利そう。またちょこちょこ使ってみることにする。

[ Mac アプリケーション ]

[ 1月31日全て ]

2019年2月19日 (火)

neutriNote + Texpand Plus で日時ファイル名テキストファイルにさっとキャプチャする

image:/nDiki/2019/02/19/neutriNote-Texpand-Plus.png

Android デバイスでさっと現在日時をファイル名にしたファイルを作成してメモするに今はライティングアプリ JotterPad を使っている。今の手順。

  1. JotterPad を開く。
  2. ノートフォルダを開いていなければ移動。
  3. (+) で新規ドキュメントを作成。
  4. タイトルにカーソルをあわせて Gborad で「にちじ」と入力し現在日時を選んで入力確定(JotterPad で無効な文字と表示されて / と : が - に置き換えられる)。
  5. メモを入力
  6. (レ)をタップして保存。
  7. (←) をタップしてファイル一覧に戻る。

ちょっと長い。最近使い始めた Android アプリの neutriNote が軽快でいい感じなのでキャプチャツールを neutriNote にすることにした。

ただ neutriNote だとタイトル(= ファイル名)に使えない文字があると「Invalid title」と表示されて保存できないので、きちんと現在日時を入力できる手段が必要になる(neutriNote には柔軟な text expansion 機能があるのだけれど、本文でしか使えなかった)。指定フォーマットで現在日時を文字列化するアプリはいろいろあるが「クリップボードに生成するものは手順が多くなる」「Gboard はマッシュルーム未対応」ということで使い勝手のアプリを探してみたところ Texpand が良さそう。

テキスト入力中に登録した Texpand に登録したフレーズがあるとフローティングボタンが表示されるのでこれをタップすると入力が置き換えられる。置換時の年月日時分秒をテンプレート設定できるので「にちじ」と入力さいたら現在日時文字列になるようにした。

これで

  1. neutriNote を開く(あるいは Android のクイック設定に置いた New note をタップで次のステップまで同時に)。
  2. (+) 新規ノートを作成。
  3. タイトルにカーソルをあわせて「にちじ」と入力。Textpan の (レ)をタップして現在日時に置き換え。
  4. メモを入力。
  5. (←) をタップしてノート一覧に戻る。

でキャプチャできるようになった。neutriNote 良い。

[ ノート・日記はテキストファイルに ] [ ファイル名の先頭を日付に ]

[ 2月19日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

※内容は個人的見解であり所属組織とは関係ありません。

follow us in feedly

月別インデックス
Process Time: 0.079269s / load averages: 1.55, 0.97, 0.68
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker