Setup
-
Use
cmd + k
to create the [[Book]] page for those reading statuses query sections and the [[Resonance Book]] page for the overall view of books -
[[Book]] and [[Resonance Book]] pages are simple and only have queries
-
Hide any property in the query-table as needed.
-
Property
-
Book Properties
``` title:: status:: type:: book format:: year:: topics:: genre:: tags:: icon:: đ author:: url:: recommendedBy:: start:: end:: rating:: âď¸ digested:: ```
- Property Attributes
- Array of genre i.e: Self-Help, Personal Growth
-
status::
One of the following values: toread, reading, Read -
rating::
from one to five star -
tags::
uses a backlink to a theme : [[Spirituality]]
-
-
Pages
-
Resonance Books
- List of all books
- Based on a query that pulls all books from their respective atomic page by leveraging the block-property
type:: book
- Based on a query that pulls all books from their respective atomic page by leveraging the block-property
- List of all books
-
Books
- Current Reading
- List of books that I am reading, queried by
type:: book
andstatus:: reading
- List of books that I am reading, queried by
- Future Reading
- List of books that I plan to read, queried by
type:: book
andstatus:: toread
- List of books that I plan to read, queried by
- Finished Reading
- List of books that I have finished, queried by
type:: book
andstatus:: reading
. All properties of the book page [[Book/Book Name]] block-property should be populated at this level. And subsequent block (Quotes, SummaryâŚ) should have relevant details about the book.
- List of books that I have finished, queried by
- Current Reading
-
-
Query
-
Books
-
#+BEGIN_QUERY {:title [:h2 "Currently Reading"] :query [:find (pull ?b [*]) :where [?b :block/properties ?props] [(get ?props :type) ?type] [(get ?props :status) ?st] [(= #{"reading"} ?st)]]} #+END_QUERY
-
#+BEGIN_QUERY {:title [:h2 "Future Reading"] :query [:find (pull ?b [*]) :where [?b :block/properties ?props] [(get ?props :type) ?type] [(get ?props :status) ?st] [(= #{"toread"} ?st)]]} #+END_QUERY
-
#+BEGIN_QUERY {:title [:h2 "Finished Reading"] :query [:find (pull ?b [*]) :where [?b :block/properties ?props] [(get ?props :type) ?type] [(get ?props :status) ?st] [(= #{"read"} ?st)]]} #+END_QUERY
-
-
Resonance Books
-
{:title [:h2 "Resonance Books"] :query [:find (pull ?b [*]) :where [?b :block/properties ?props] [(get ?props :type) ?type] [(get ?props :status) ?status] [(contains? #{"book"} ?type)] (not [(empty? ?status)])]}
-
-
-
Template
-
Getting Started
How to add a new book?
-
Use
cmd + k
to create a page for a book as [[Book/Book Title]] -
Use the book template to populate the page page
Have fun!