Hi everyone, I’ve been working on my Obsidian vault for tracking reading for a while, and thought since I’ve gotten so much help from many people on this forum over the past year, that maybe other people would appreciate this. Or maybe it’ll just give someone ideas for how to do it better
Here’s a link to the sample vault on Github.
If you have any questions, please let me know, you can also open an issue in the Github repo and/or fork it or make a pull request or whatever.
My Dataview queries are far less intricate. Lots of ideas to learn from in your vault. Thanks for sharing.
Enjoying The Pillars of the Earth? The fourth book in the series, The Evening and The Morning, is a prequel to the first book (as you probably know). If I had known that when I first wandered into Kingsbridge, I would have started with that and read chronologically through the history of the town. (Or is the reference to the book just dummy text in the vault? Doh!)
```dataview
TABLE WITHOUT ID
Author,
link(file.link, Alias) AS Title
FROM
"2 Book Log"
SORT
Author ASC
```
```dataview
TABLE WITHOUT ID
("") as Cover,
link(file.link, Alias) AS Title,
Author,
DateStarted AS Started,
DateFinished AS Finished
FROM
"2 Book Log"
SORT
DateFinished ASC
```
Hard enough to keep track of all the folk wandering around Kingsbridge let alone those in other books at the same time.
Yes, adapted to your vault. On every author page, I also use Dataview to pull together all the books by that author. Raw from my vault:
```dataview
TABLE WITHOUT ID
cover AS Cover,
file.link AS "Title",
published AS Published
FROM
"books"
WHERE
author = this.file.link
SORT
started
DESC
```
Apologies for not replying sooner; not been online.
Not sure how everything works in Dataview, but this is how I can get an author page to list works in your sample vault:
Author page
---
Name: Ken Follett
Years:
Photo:
Tags:
Country:
---
#### Notes
```dataview
TABLE WITHOUT ID
("") as Cover,
link(file.link, Alias) AS Title
FROM
"1 Currently Reading"
OR
"2 Book Log"
WHERE
author = this.file.link
SORT
DateStarted
DESC
```
Book pages
The only thing to change on the book pages is the YAML syntax for:
Author: "[[Ken Follett]]"
And that allows Dataview to curate all the books written by the author whose name is used as the title of the note. Not everyone needs or wants this, of course. I like it as it just gives me another view of what I have read.
In my own notes, I also use the link syntax in the YAML of my author note.
---
title: "[[Ken Follett]]"
---
I think this means that I can use the name as a WikiLink in other Dataview queries. But I really don’t know what I am doing. Others on the forum will be better placed to explain.
An example of where this can help with navigation (query localized for your sample vault):
```dataview
TABLE WITHOUT ID
("") as Cover,
link(file.link, Alias) AS Title,
Author,
DateStarted AS Started,
DateFinished AS Finished
FROM
"1 Currently Reading"
OR
"2 Book Log"
WHERE
file.name !="0 Currently Reading"
SORT
Author
Asc
```
Oh wow, making the author clickable has been on my ToDo for a while, awesome!! Thanks! Now I just have to go through all my books and change it to this new format haha.
Currently I have a link in the Note itself (not the frontmatter), as [[lastname, firstname]], which has the added bonus of being alphabetic. But honestly I like the clickable author more than being able to alphabetize it. Thanks!
Hey, I actually found a solution where I don’t need to figure out regex:
Instead of this.file.link we can use
WHERE Author = this.Name
This will compare the author note’s key Name values to the book notes key Author values, which has the same effect, but without having to add the "[[]]" to all the author names
This has the benefit that I don’t need to rename all my author files.