Jazzと読書の日々

iPadを筆記具として使う方法を模索します

Obsidianでアプリ紹介カードを作るスクリプト

apiに問い合わせてみた。

Obsidian

AppStoreを検索してアプリ紹介用のカードを埋め込みます。

HTTPリクエストを組み込んでいます。 ネットにつないだ状態でお使いください。

appSearch.md

カーソル行を対象にアプリを検索します。 「obsidian」と書けばObsidianのカードができる。 最初にヒットしたアプリを返します。

基本はiPhoneアプリの検索です。 iPadアプリはアプリ名を選択状態にしてください。

<%*
// カードのスタイル (${url} ${title} ${icon} ${version} ${name} ${genre} ${price})

CARD = "<div name='${title}' style='font-family:sans-serif;font-size:medium;background:ghostwhite;height:auto;padding:10px;border-radius:5px;border:1px solid silver;'><a href='${url}' style='color:darkblue;'><img src='${icon}' style='width:60px;float:left;border-radius:5px;margin:1px 15px 1px 1px;box-shadow:1px 2px 3px gray;'><b>${title} ${version}</b></a><br/><div style='font-family:serif;color:black;font-size:small;'>分類: ${genre}<br/>価格: ${price} (${name})</div clear=all></div>\n";


// スクリプト本体
t = "iPadSoftware";
d = document.getSelection();
s = d.toString();
if(!s){
  t = "software";
  d.modify("move", "left", "paragraphboundary");
  d.modify("extend", "right", "paragraphboundary");
  s = d.toString();
}
url = "https://itunes.apple.com/search?country=JP&entity=" + t + "&limit=1&term=" + encodeURIComponent(s);
x = await tp.obsidian.request({url});
a = JSON.parse(x).results[0];
s = CARD.replace(/\${url}/g, a.trackViewUrl).replace(/\${title}/g, a.trackName).replace(/\${icon}/g, a.artworkUrl60).replace(/\${version}/g, a.version).replace(/\${price}/g, a.formattedPrice).replace(/\${name}/g, a.artistName).replace(/\${genre}/g, a.genres);

return s;
%>

アプリ名は正確に。

Import Obsidian: appSearch

実行例

Obsidian - Connected Notes 1.4.1
分類: 仕事効率化,辞書/辞典/その他
価格: 無料 (Dynalist Inc.)

こんな感じのカードが埋め込まれます。 アイコンの画像は軽いサイズにしたので少しボケてます。 カードのスタイルはカスタマイズできるので、ご自由に。

まとめ

面白そうなapiはないかなあ。