Scrapboxの用法

Drafts5からScrapboxに書き込むアクション

よし、じゃあ、書いてみますか。

経過は以下。

Drafts5からScrapboxに追記するAction – 考えて、生み出す技術(TAC)

まず、無料ユーザーの場合はアクションのカスタマイズができないっぽいので、以下の神アクションを導入。

Drafts5で作ろう、自作アクション入門(1) – W&R : Jazzと読書の日々

上のページにある「ActionMaker」を登録するところまでが下準備。これでDraft5に書いたコードをアクションとして登録できるようになります。一行目がタイトルとして使用されるので注意してください。

で、実際のコード。たとえば「「どうせ記事にしきれないメモたち」の供養祭 – 倉下忠憲の発想工房」に追記する場合は以下のようになります。

goScrapbox
text = editor.getText();
const homeUrl = 'https://scrapbox.io/rashitamemo/%E3%80%8C%E3%81%A9%E3%81%86%E3%81%9B%E8%A8%98%E4%BA%8B%E3%81%AB%E3%81%97%E3%81%8D%E3%82%8C%E3%81%AA%E3%81%84%E3%83%A1%E3%83%A2%E3%81%9F%E3%81%A1%E3%80%8D%E3%81%AE%E4%BE%9B%E9%A4%8A%E7%A5%AD';
url = homeUrl +"?body=" + encodeURIComponent(text);
app.openURL(url);
editor.focus();

なので、homeUrlのところに、ご自分の追記したいページのURLをぶっこんでもらえればOKです。あと、最初のhttps:の部分をsbporter:に差し替えると、SafariではなくPorter for Scrapboxで開くので、その辺はお好みで。

で、上記だと「あらかじめ指定してあるページに追記」しかできないので、少し動作を増やしたバージョンも。

goScrapbox
//プロジェクトのURLを設定。
//https:をsbporter:にすればPorter for Scrapboxでひらきます
const homeUrl = 'https://scrapbox.io/rashitamemo/';
//本文に追記したい要素を(ex.[drafts],\n[drafts] 。必要なければこのままで
const tag = "";
const itemList = [];
itemList.push('「どうせ記事にしきれないメモたち」の供養祭');//追記したい固定ページのタイトルを入力する
itemList.push('新規');//一行目をタイトルにしてページを作る
itemList.push('日記');//その日の日記ページに追記(存在なければ新規作成)
p = Prompt.create();
p.title = "?";
for(i=0; i < itemList.length; i++) p.addButton(itemList[i]);
p.show();
s = p.buttonPressed;
const now = new Date();
const year = now.getFullYear();
const month = now.getMonth()+1;
const date = now.getDate();
const dateT = ["日","月","火","水","木","金","土"];
const day = dateT[now.getDay()];
const hours = now.getHours();
const minutes = now.getMinutes();
const seconds = now.getSeconds();
text = editor.getText();
lines = text.split(/\r\n|\r|\n/);
if (s == itemList[0]){
url = homeUrl + encodeURIComponent(s) + "?body=" + encodeURIComponent(text);
}else if (s == itemList[1]){
title = lines[0] == "" ? "無題ノート" : lines[0].trim()
url = homeUrl + encodeURIComponent(title) + "?body=" + encodeURIComponent(text + tag);
}else if (s == itemList[2]){
diaryTitle = year + "/" +  month + "/" +  date;
url = homeUrl + encodeURIComponent(diaryTitle) + "?body=" + encodeURIComponent(text + tag) ;
}
app.openURL(url);
editor.focus();

これで三種類の動作から選択できます。

上から、「指定してあるページへのつき」「一行目をタイトルにして新規ページの作成」「その日の日付をタイトルにしたページを作成」の三種類です。日付のタイトルについては、 下の方に出てくる diaryTitle = year + “/” + month + “/” + date; のところをいじってもらえば間の記号やらなんやらは変更できます。

というわけで、おおむね機能するアクションが書けたわけですが、「書き込みが終わったら、Drafts5に戻ってくる」という動作の指定方法がぜんぜんわかりませんでした。なにせアクションを書いたのはこれが初めてなのです。

なんとか、x-success というキーワードには辿り着きましたが、そこで力尽きました。

まあ、左上からDrafts5に戻れますので、とりあえずはそれで良しとしておきましょう。

▼こんなやりかたも:

Drafts 5からScrapboxの特定のページに追記 ノンプログラミング版 – #ToDo 関連のメモ ( #sorashima )

▼こんな一冊も:

Scrapbox情報整理術
Scrapbox情報整理術

posted with amazlet at 19.05.31
シーアンドアール研究所 (2018-08-16)
売り上げランキング: 68,823

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です