èªæ¸ã®æ¥ã ã
Book Search
Book Searchãã©ã°ã¤ã³ã使ãã¨èµæ¸ãã¼ã¿ãã¼ã¹ãä½ãããããªãã¾ãã ã¿ã¤ãã«ãèè åãåºç社ã¨ãã£ãæ å ±ãæ¾ã£ã¦ãããã
ã§ãDataviewã§è¡¨ã«ããããã§ããããããé²åãã¾ããã
Books.md
ä¸è¨ã¹ã¯ãªãããè²¼ãä»ãã¦ãã ããã
```dataviewjs const p = dv.el("input") p.placeholder = "..." p.style = "font-size:large;border-radius:3px;" const btn = dv.el("button", "ï¼") btn.style = "font-size:small;margin:5px;width:40px;" const b = dv.el("div", "") b.style = "max-height:14000px;" disp() p.onkeyup = () => disp() btn.onclick = () =>{ navigator.clipboard.writeText(p.value) s = "obsidian-book-search-plugin:open-book-search-modal" app.commands.executeCommandById(s) } function disp(){ const d = dv.pages('"book"') .filter(x => x.file.name.includes([p.value])) .sort(x => x.file.ctime, "desc") .map(x => "<tr style='font-size:small;padding:4px;'><td><a class=internal-link href=\"" + x.file.name + "\"><img style='width:60px;' src=" + x.coverSmallUrl + "></a></td><td>" + x.title + "</td><td>" + x.author + "</td><td>" + (x.publisher || "") + "</td><td>" + x.publishDate.toLocaleString() + "</td></tr>") b.innerHTML = "<br><table style='width:100%;'>" + d.join("\n") + "</table>" } ```
éä¸ const d = dv.pages('"book"')
ã®ã¨ããã
Book Search ã®ä¿åå
ãbookãã©ã«ãã«ãã¦ããã®ã§ "book"
ã«ãªã£ã¦ã¾ãããããã¯ãèªåã®ç°å¢ã«åããã¦æ¸ãæãã¦ãã ããã
ä½¿ãæ¹
ãã¡ã¤ã«ã®ä¿®æ£æ¥é ã«ä¸¦ã¶ãã¨ã«ãã¾ããã å·¦ç«¯ã®æ¸å½±ãã¿ããããã¨å ã®ãã¡ã¤ã«ãéãããã«ãã¦ããã ã¡ã¢ãæ¸ãå ããã¨ãã®ãã¡ã¤ã«ãä¸ã«æ¥ãä»çµã¿ã
æ¤ç´¢æ¬ã«ã¿ã¤ãã«ãèè åãæ¸ãã¨çµãè¾¼ã¿ããã¾ãã
æ¤ç´¢æ¬ã®å³ã«ãããï¼ããã¿ãããã㨠Book Search ãèµ·åãã¾ãã ãã®ã¨ãæ¤ç´¢æ¬ã®å 容ãã¯ãªãããã¼ãã«å ¥ã£ã¦ããã®ã§ããã®ã¾ã¾ãã¼ã¹ããã¦ãã ããã
ããã§ã©ãã©ããã¼ã¿ãã¼ã¹ãå å®ãã¾ãã
ã¾ã¨ã
æè¿ããªã¼ã¬ã³ãè¦å§ãããã©ãæã£ã以ä¸ã«ãã£ãããããã¡ã³ã¿ã¸ã¼ã ã£ãã ãã³åã§ã®ã£ã°ã·ã¼ã³ã ãæµãã¦ãããä¾®ã£ã¦ã¾ããã
ã人ã®å¿ãã¯ã人ã¨ã®åºä¼ããã§è½çããã ããã追æ¶ã¨ãã¦ã