Hi! I’ve created a Book collection and, with Dataview, I’ve created also a table with a link to a folder containing one file for each author (where I can find all the book I have read or want to read belonging to this author). So I have a folder with the books and a folder with the authors. How can I create a table (or something similar, maybe a Kanban Board?) where I can see, for each author, the book in my folder. Hope to have explained clearly what I have in mind: sorry, English is not my mother-language as you can easily guess Thanks in advance for any help

  • dakerDraws
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    2 years ago

    Just to make sure I understand, you want your Author notes to have a Dataview table containing all the books they’ve written?

    For each Book note, do you have a field (either in YAML or inline Dataview) pointing to the Author note? What I personally do is have an inline field that links to the Author note:

    Author:: [[Stephen King]]

    Then in the Author note I’ll have this:

    table without id link(file.link,title) AS Book, Year FROM "BOOK FOLDER" WHERE contains(Author, this.file.link)

    Replace BOOK FOLDER with wherever your books are. Then you can paste this into all your Author notes. Even better, make an Author template so you don’t have to type it each time you make an Author note.

    • ilbradipo@feddit.itOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      2 years ago

      Thanks a lot for your promt reply. Obviously I was not so clear in explaining what I’m looking for, sorry. I already have an “author folder” with the same output you indicate (one note for each author. I have also an “Author Gallery” with a list of all the authors with this dataview code: TABLE genre as Genere FROM "autori" SORT file.name I wish to have, instead of genre a list of all “my” books from this author. Could this be possible?

      • dakerDraws
        link
        fedilink
        English
        arrow-up
        1
        ·
        2 years ago

        Do you want to do something like this?

        table without ID file.link AS "Author",
        filter(file.inlinks,(x)=>contains(x.Author,file.link) & contains(x.file.path,"Book Folder")) AS "Books"
        from "Author Folder"
        sort file.name
        

        The only thing you would need to change in this code is the Book Folder and Author Folder.

        But if you would like it to be a more visually appealing gallery, there may be some community plug ins you’ll have to try.

        • ilbradipo@feddit.itOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          2 years ago

          Thank a lot! Exactly what I’m looking for! Where can I learn about the “query language” you’ve used? Can you point me also to the plugins I can try? Thanks in advance!

          • biscotty666@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 year ago

            Here’s the documentation https://blacksmithgu.github.io/obsidian-dataview/.

            I also want to suggest that you consider not basing queries on folders but using tags instead. Simply putting #author in the notes would mark it as an author note allowing you to simplify your query and make it work no matter where the file is located. Obsidian doesn’t really care about folders although we do always use them. So I don’t think it’s good practice to base queries on them. Just my 2 cents.

        • ilbradipo@feddit.itOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          2 years ago

          Just a question: if a book have more than one author, how do you suggest to modify your code or the YAML in order to show the books?