Logseq – Creating a Reading List with Templates, Page Properties and Queries

Hi everyone, as it’s been a while since I’ve done a Logseq video I thought I would do one to showcase my reading list and my set up and how you create the same or something similar with a few steps.

What I will try to cover in this video whilst creating the reading list are:

  • Templates
  • Page Properties 
  • Queries

Let’s get started. 


We will start off by creating a new page called Templates. I find it so much easier and simpler to have a page for all of my templates. In this way I can have them all in one page and not dotted all over the place.

The first block I will call “Books” and then we’ll put a couple of subheadings called underneath it. The first one I like to call “Meta”. This is where I store the meta information I want to extract on the the book properties. 

After having the Meta block, we Shift + Enter to create a new line and this is where we will store our properties. I like to have the following:

  • Type:: 
  • Status:: 
  • Cover:: ![Image]( ){:height 172, :width 98}
  • Title:: 
  • Author:: 
  • Link:: [Goodreads]()
  • Start:: 
  • End:: 
  • Year::

Be sure to add a space after each so that when you insert the template on a page you can just get writing as opposed to having to add a space. This is especially true with properties as ones without a space cause issues.

In terms of what I keep in each, a completed version might look like the following:

Of course you can play around with the list and remove anything that is superfluous or add anything additional that you might want to capture. Just test it out a few times to see what works for you to set up the template early on. It is so much easier making a tweak on a few pages than having to go back and change hundreds, or live knowing that all pages are not quite the same.

The above would be displayed under a Meta heading and I would then have a Book or Content heading where I will add my book notes or any annotations.

Now to turn the above into a Template we need to :

  • Right Click on the first bullet
  • Click make template
  • Give it a name (I call mine Book Template)
  • Decide whether you want to include or exclude the parent block (I exclude it)
  • Create

I like to have a heading for the template so that I can then collapse them all and see the Templates that I have. This is purely personal preference, I just find it helps a lot.

Book Page

Now that we have the template set up, we need to create a page for the book in question.

Taking the example of a book called “Thinking Fast and Slow”, we can click the bottom left “New Page” button and type the title out. As we do not have a page called this we are only given the option to create the new page. The New Page option doubles up as a search.

On the page we now write /Template(Slash and then template) and then select our chosen template. As you can see the page gets auto populated with our properties.

We just have to fill in the meta data in line with our template.

Once we do this for a few books and start to build up a library, we can run a query to easily showcase our reading list.


To create a query we simply need to use the curly brackets {{}} with a few key words. 

As we want to retrieve our Books pages, we need to make the query aware of our criteria. To do this we simply add the words query and books like so:

  • {{query [[Books]]}}

The syntax is simply telling Logseq to Query all the pages with Books as a property.

You can do deeper in the query by adding Boolean search terms such as And or Or like so:

  • {{query (and [[Books]] “2022”)}}

This will now return the list of books, but only those with 2022. 


There are a significant amount of powerful features under the Logseq hood. Don’t be afraid to test these out as they could make your notetaking experience so much better. 

A video of the above process is included here:

I hope you found this useful and thanks for reading / watching.