Web Analytics Made Easy -
StatCounter

メモ・備忘録(設定ファイル・スクリプト類・ブックマーク)

数年後の自分が首を捻らなくて済むようにするために残す、自分で使うためのアプリの設定やスクリプト類のメモ。改変等ご自由に / 内容が古いまま、間違ったままもあるので注意 / 書いている途中や、途中で放置もあり / 対象の仕様変更で動かなくなったもの多々。特に、WorkFlowyを対象として作ったものは全滅。

Drafts 5からScrapboxの特定のページに追記 ノンプログラミング版

Drafts 4の公開が終了してしまったので、この方法は、Drafts 4を以前購入したことのある人しか使えなくなってしまった。
残念。


Drafts5からScrapboxに書き込むアクションは、倉下氏がプログラミングで実現されていた

結構需要がありそうな件。
こちらでは別方向からのアプローチとして、ノンプログラミングでやる方法を紹介しておきます。(曜日表示が必要なときのみ、やむをえず1行のScriptステップが必要ですが)

二つの方法の違いは、スクリプトの使えるアプリを使うか?、それとも、ショートカットアプリを使うか?の違いに似ています。
プログラミングでやる方は、処理の自由度が高いので細かいところまで自分仕様に煮詰めていくことできますが、Javascriptの知識が要ります。
こちらの方は、簡単に作れますが自由度はあまり高くありません。 どちらも一長一短です。

こちらの方法を要約すると、
無料開放になったDrafts 4でアクションを作り、それをDrafts 5にMigrateする」
となります。




では、作っていきます。

まず、Drafts 4で、

新しいアクションを作成開始

名前を決め、アクションのステップを作成開始

URLステップを作ります

この例では「hogefuga」がプロジェクト名、「決め打ちメモ」が書き込み先のページ名になってます。ご自分の使用状況に合わせて書き換えて下さい。「Open in Drafts」をオンにしてSafariではなくDrafts内蔵のブラウザでScrapboxを表示させるようにしています

このアクションを最初に実行すると、

内蔵ブラウザでScrapboxを使用するためにGoogleでログインしろと言ってきます

指示に従ってログインします

次に実行するとScrapboxに書き込まれます。左上の「完了」で、いつものDraftsの編集画面に戻ります

更に追記するとこんな感じ

こんなではなく、書き込み日時くらいは欲しいし、書き込みと書き込みの間に隙間くらいは欲しいという場合は、

こんな風にtimeタグや改行を加えます。使えるタグは右下のTag Helpに書かれています

書き換えたURLで投稿すると、

こんな感じになります




さてアクションも動いたことですし、Drafts 5にMigrateしたいところですが、その前にやることがあります。
アクションはいずれかのグループに入っていないとMigrateされないようなので、今作ったアクションをグループに入れます。

アクションの設定に戻り、グループ設定を開きます

ここでは新しく「Scrapbox」というグループを作ってみます

Scrapboxグループを作り

作ったアクションのグループをScrapboxグループにします




いよいよDrafts 5にMigrateします。Drafts 5を起動し、

設定の「Migrate from Drafts 4」を選択します

Migrate Actions and Keysを選びます

Migrate Actionsを選びます

更に確認されるので、同じくMigrate Actionsをタップします

すると、

Migrateされたもようです

アクションメニューの下の方にDrafts 4の5つのグループがMigrateされていました

Scrapboxグループに作成したアクションが入っています。複数の書き込み先ページがある場合は、書き込み先のページごとにアクションを作り、このScrapboxグループにまとめると良いでしょう




追記ではなく、新しいページを作りたい場合は

このようなURLになります。Draftsに記入した1行目がタイトルで、残りの行が本文になります。同じタイトルのページが既に存在している時は追記されます




曜日を入れたいときは、

曜日を取得するScriptステップをURLステップの前に入れます

「DofW」というタグで曜日を得られるようにするスクリプトです

スクリプトの内容は、

draft.defineTag('DofW', ['日','月','火','水','木','金','土'][new Date().getDay()])

それを反映したURLステップは、

このようになります。[[DofW]]と書かれた部分が曜日に置き換わります

曜日を取得するScriptステップは必ずURLステップの前にあること

こんな感じになります




日付をタイトルにしたページを作り、それに追記していきたい場合は、

上記の曜日を取得するScriptステップと組み合わせるURLステップはこのようになります。

アクションリストから実行すると

このようになります




IFTTTやショートカットアプリのレシピ作成に似た感じだったではないでしょうか。

以上、無理版の範囲内でできることを書きました。
Drafts Proを継続課金している場合は、たぶん、ここに書いたDrafts 4上でのアクションの作成と同じような操作で、Drafts 5上でアクションが作成できるのではないでしょうか。




X-CallbackでScrapboxを呼び出し*1に関しては、

作者のTweet

読まずに書けてしまう機能を実装してはならない

このような哲学の元にScrapboxは作られているので、自動書き込みを助長するX-Callbackで呼ばれ戻す仕組みの実装の有無は……たぶん想像される通りじゃないでしょうか。

結果的に、この制限下でやれる範囲内では、書きっぱなしは許されず、必ず自分が書き込んだり追記した内容と「向き合わないと」終われない。「読んだよ」を表す「完了」や「戻る」ボタン押下を省略できないと。

もしかしたらScrapboxのUserScriptで、

  • 書き込みが完了した事を確認でき
  • x-successパラメータに書かれたURLに跳ぶことが可能

だったらできるのかもしれないけど。

*1:Scrapboxの画面を見ること無しに書き込みを続ける