Easily create book notes.
0.5.8 (2022-09-13)
- Add locale selection for Google searches.
- Can use the Templater plugin with.
- Enables Inline scripts for templates.
-.-2022-08-17-.-12.19.21.mp4
Use to query book using :
- A book title, author, publisher or ISBN (10 or 13).
Use Google Books API to get the book information.
Click the link to install the Book Search plugin: Install Link
Or, Search in the Obsidian Community plugin. And install it.
Set the folder location where the new file is created. Otherwise, a new file is created in the Obsidian Root folder.
You can set the file name format. The default format is {{title}} - {{author}}
.
You can use {{DATE}}
or {{DATE:YYYYMMDD}}
to set a unique file name.
You can set the template file location. There is an example template at the bottom.
You can set up the services that you use to search for books. Only Google and Naver(네이버) are available now. To use Naver Book Search, clientId and clientSecret are required. I will explain how to get clientId and clientSecret from Naver on my blog.
You can add the following to the default Front Matter, or create a new Front Matter with the structure you want. Please use the template file described below.
You can add text to the content for Dataview inline metadata. Please use the template file described below.
Please also find a definition of the variables used in this template below (see: Template variables definitions).
---
tag: 📚Book
title: "{{title}}"
author: [{{author}}]
publisher: {{publisher}}
publish: {{publishDate}}
total: {{totalPage}}
isbn: {{isbn10}} {{isbn13}}
cover: {{coverUrl}}
status: unread
created: {{DATE:YYYY-MM-DD HH:mm:ss}}
updated: {{DATE:YYYY-MM-DD HH:mm:ss}}
---
![cover|150]({{coverUrl}})
# {{title}}
Here is the dataview query used in the demo
# 📚 My Bookshelf
```dataview
TABLE WITHOUT ID
status as Status,
rows.file.link as Book
FROM #📚Book
WHERE !contains(file.path, "Templates")
GROUP BY status
SORT status
```
## List of all books
```dataview
TABLE WITHOUT ID
status as Status,
"![|60](" + cover + ")" as Cover,
link(file.link, title) as Title,
author as Author,
join(list(publisher, publish)) as Publisher
FROM #📚Book
WHERE !contains(file.path, "Templates")
SORT status DESC, file.ctime ASC
```
The banner at the top of the document is rendered using Obsidian-banners plugin.
Please find here a definition of the possible variables to be used in your template. Simply write {{name}}
in your template, and replace name by the desired book data, including:
name | description |
---|---|
title | The title of the book. |
author | The name of the book author. It can be multiple people. |
category | Book category. |
description | Book description. |
publisher | The publisher of the book. |
totalPage | The total number of pages in the book. |
coverUrl | Book cover image URL. |
publishDate | The year the book was published. |
isbn10 | ISBN10 |
isbn13 | ISBN13 |
```json
<%=book%>
```
or
```json
<%=JSON.stringify(book, null, 2)%>
```
---
authors: <%=book.authors.map(author=>`\n - ${author}`).join('')%>
---
authors: <%=book.authors.map(author => `[[${author}]]`).join(', ')%>
Obsidian Book Search Plugin is licensed under the GNU AGPLv3 license. Refer to LICENSE for more information.
Feel free to contribute.
You can create an issue to report a bug, suggest an improvement for this plugin, ask a question, etc.
You can make a pull request to contribute to this plugin development.
If this plugin helped you and you wish to contribute :)
Buy me coffee on buymeacoffee.com/anpigon