Skip Navigation

Search

Quotes and books in Logseq - My way off from Notion and Obsidian?

Hello all, I am donating to Logseq since some time to support the development. However I am not actively using it and are still stuck with Obsidian and/or Notion since I am missing a good structure to organize my books and quotes.

I really want to switch but I can't figure this out. For storing books that's fine. I can create a page per book and give it some metadata that I can then use to filter and search. Like that:

!

Now however as you can see I'm writing quotes (Zitate in German) and my opinion on them (Meinung in German) in the book's page.

And here comes the tricky part:

  • I want a general overview of all quotes that I can search
  • I want an overview of quotes per author (the author is in the page properties so it has to basically do something like "select all pages of typ = book where autor = author and collect all quotes on them (page reference #Zitate)"

In Notion I currently have a general database of quotes:

!

In each of these quotes there is my opinion written in the page.

And then there's the book database that has dedicated book pages to it which look like this and reference the quotes coming from that page:

!

Those are generated automatically when creating a book since I use a template for that but I know that Logseq supports templates, too so that should be fine.

For looking up quotes by the author due to how databases in Notion work I could just filter for it in the quotes database. However I also do the same with the quotes in the author's page that I am doing in the book's page. Thus when I open up the page of an author I can instantly see all their books, their current status (if I have read them or not etc.) and all their quotes that I have stored:

!

So yeah I am trying to find some kind of structure since ages now within Logseq to be able to replicate something like that, solving my only issue that keeps me from switching. Maybe there is some way with queries but I haven't found one. I also don't want to rely on custom CSS since I want to have something that is natively working without eventually failing in the future for some reason.

2

Essential tools for retaining sanity and productivity between contracts:

Essential tools for retaining sanity and productivity between contracts: \- sunsama daily planning \- trello + #GTD method \- @logseq for notes & journalling

Trello+GTD info here: https://timwise.co.uk/2020/09/15/effective-gtd-with-trello/

0

Question on Logseq advanced query. Can anybody help here? 😩

5

Is there a way to add multiple templates to the daily journal?

Hi all, I've been getting into logseq over the past month, and it's what I've always wanted for many reasons.

For my work instance, I would really like to have it just pop up with this in the morning 2024-04-15

  • [[project a]]
  • [[project b]]
  • [[project c]] etc...

But, I've looked at config.edn to find :default-templates {:journals "project a"}

Which works, but I can't figure out if it's possible to add multiple. I've tried spaces, commas, multiple lines, and it all kicks back errors. Anyone have any idea?

2

Been trying trying out . I love that I can just dump everything and it will organize it for me! What I like: #notes are stored locally in markdown files (can backup w github), #orgmode

Been trying trying out @logseq. I love that I can just dump everything and it will organize it for me! What I like: #notes are stored locally in markdown files (can backup w github), #orgmode compatibility, and ofc #foss. Althought I'd love to see a #vim editing plugin :) https://logseq.com/

0

EN: A question for the LogSeq experts: is it possible to design the different graphs differently? I always have several graphs open at the same time and would like to recognise immediately which graph

EN: A question for the LogSeq experts: is it possible to design the different graphs differently? I always have several graphs open at the same time and would like to recognise immediately which graph I am in. \--- DE: Eine Frage an die LogSeq-Experten: gibt es die Möglichkeit, die verschiedenen Graphen optisch unterschiedlich zu gestalten? Ich habe ständig mehrere Graphen parallel offen und möchte sofort erkennen, in welchem Graphen ich mich befinde.

\#LogSeq

6

LogseqTimes 2023-12-16: Logseq Updates, Working with PDFs, Portable Version, New UI buttons, Free Sync Alternative, Plugins and More

LogseqTimes 2023-12-16: Logseq Updates, Working with PDFs, Portable Version, New UI buttons, Free Sync Alternative, Plugins and More

https://www.logseqtimes.com/logseqtimes-2023-12-16-logseq-updates/

The latest Logseq news, updates and thoughts during the past week. LogseqTimes 2023-12-16: Logseq Updates, Working with PDFs, Portable Version, New UI buttons, Free Sync Alternative, Plugins and More

by @ednico #logseq #pkm [email protected] @[email protected]

4

LogseqTimes 2023-12-09: Logseq Updates, Logseq vs Obsidian, Database, Busy Professional Note Takers, Quick Capture, All Pages, Plugins and More

LogseqTimes 2023-12-09: Logseq Updates, Logseq vs Obsidian, Database, Busy Professional Note Takers, Quick Capture, All Pages, Plugins and More

https://www.logseqtimes.com/logseqtimes-2023-12-09/

The latest Logseq news, updates and thoughts during the past week. LogseqTimes 2023-12-09: Logseq Updates, Logseq vs Obsidian, Database, Busy Professional Note Takers, Quick Capture, All Pages, Plugins and More

by @ednico #logseq #pkm [email protected] @[email protected]

0

LogseqTimes 2023-12-02: Logseq 0.10.0, Flashcards Setup, Learning Queries, Logseq Spa (Github and CLI), Calendar and Task Management, Plugins and Themes and more

LogseqTimes 2023-12-02: Logseq 0.10.0, Flashcards Setup, Learning Queries, Logseq Spa (Github and CLI), Calendar and Task Management, Plugins and Themes and more

https://www.logseqtimes.com/logseqtimes-2023-12-02/

The latest Logseq news, updates and thoughts during the past week. LogseqTimes 2023-12-02: Logseq 0.10.0, Flashcards Setup, Learning Queries, Logseq Spa (Github and CLI), Calendar and Task Management, Plugins and Themes and more

by @ednico #logseq #pkm [email protected] @[email protected]

0

(https://mastodon.social/tags/OmnivoreApp) and (https://mastodon.social/tags/logseq) ((https://lemmy.ml/c/logseq)) : A Complete Guide

0

LogseqTimes 2023-11-25: Logseq 0.10.0, Sync, Logseq to Apple Reminders, Logseq & Obsidian, Cornell Notes, Updated Plugins and much more

LogseqTimes 2023-11-25: Logseq 0.10.0, Sync, Logseq to Apple Reminders, Logseq & Obsidian, Cornell Notes, Updated Plugins and much more

https://www.logseqtimes.com/logseqtimes-2023-11-25/

The latest Logseq news, updates and thoughts during the past week. LogseqTimes 2023-11-25: Logseq 0.10.0, Sync, Logseq to Apple Reminders, Logseq & Obsidian, Updated Plugins and much more.

by @ednico #logseq #pkm [email protected] @[email protected]

0

Hm, (https://lemmy.ml/c/logseq) requires a contributors license agreement (CLA (https://mastodon.social/tags/cla) ) to sign over all contributor's code to the company, so does the [@jop

Hm, @logseq requires a contributors license agreement (CLA #cla ) to sign over all contributor's code to the company, so does the @joplinapp, with @joplinapp also having the server component source-available.

@obsidian is closed-source, wants $50/yr for a commercial license, paired with their $10/mo for sync - that's a lot of dollars for note taking.

Alternatives, anyone? Ideally open source to which I can contribute financially, without a CLA that will inevitably mean a change in licensing.

4

(https://lemmy.ml/c/logseq) is incredibly good. Just sayin'.

@logseq is incredibly good. Just sayin'.

\#logseq #enthusiastic

0

Switching from Readwise Reader + (https://mas.to/@obsidian) to (https://pkm.social/@omnivore) + (https://lemmy.ml/c/logseq) is a bit bumpy, but worth it to support [#Ope

Switching from Readwise Reader + @obsidian to @omnivore + @logseq is a bit bumpy, but worth it to support #OpenSource.

1

Ugh. So frustrated with iClouds unreliable syncing across devices. I use (https://lemmy.ml/c/logseq), but it relies on iCloud doing its job. Which it ain't.

Ugh. So frustrated with iClouds unreliable syncing across devices. I use @logseq, but it relies on iCloud doing its job. Which it ain't.

Looks like I'll have to move to Dropbox for syncing, which means reinstalling it everywhere since there's no config setting (that I can find) to tell it where to look for its files.

5

I'been using (https://lemmy.ml/c/logseq) for a couple of weeks. In the beginning it was kind of unusual. Then, I got used to it and now I feel myself comfortable. I love notetaking again.

I'been using @logseq for a couple of weeks. In the beginning it was kind of unusual. Then, I got used to it and now I feel myself comfortable. I love notetaking again.

2

Liebe (https://lemmy.ml/c/logseq) , weil ich damit so schön YouTube Videos kommentieren kann. Cooles Tool.

Liebe @logseq , weil ich damit so schön YouTube Videos kommentieren kann. Cooles Tool.

3

(https://lemmy.ml/c/logseq) hi guys, when will we see the implementation of the new logo?

@logseq hi guys, when will we see the implementation of the new logo?

0
Quotes and books in Logseq - My way off from Notion and Obsidian?
  • I hope this helps, I'm not entirely sure what/how you want to search on the all quotes page, but there seems to be enough power with advanced queries to get you there.

    I tinkered a bit and seem to have found a way, but not sure how powerful the searching needs to be. The rule is overboard as it is showing some techniques for grabbing the data, transforming it and making a custom view. There are extra fields that aren't used, but might be easier to update the :view to include extra fields as needed.

    #+BEGIN_QUERY
    {
      :title [:h3 "Author Quotes"]
        :inputs ["Anotherauthor"]          ; could be set to :current-page if included on the Authors page
        :query [
        :find (pull ?b [*]) ?p ?author ?rating ?topics ?pagecount
          :in $ ?authorquery            ; name of the input
          :keys block book author rating topics pagecount 
          :where 
          [?t :block/name "quote"]      ; id of [[Quote]]
          [?b :block/refs ?t ]          ; block referencing [[Quote]]
            [?b :block/page ?p]         ; get id of page
              [?b :block/page ?page]
                [?p :block/properties ?pageprops]
                  [(get ?pageprops :type) ?pagetype]
                    (or [(= ?pagetype "Book")] [(contains? ?pagetype "Book")])         ; is this a Book?
                      [(get ?pageprops :author) ?author]
                    (or [(= ?author ?authorquery)] [(contains? ?author ?authorquery)]) ; is this by input Author? -- comment out line to make all books
                      [(get ?pageprops :topics) ?topics]
                      [(get ?pageprops :pages) ?pagecount]
                      [(get ?pageprops :rating) ?rating]
        ]
          :result-transform (fn [result] 
              (for [row (sort-by :date result)] 
               (let [block-map (get row :block)
                current-properties (:block/properties block-map)
                block-page (:block/page block-map)
                book (:block/original-name block-page)
                authors (:author row)
                updated-properties (assoc current-properties   ; attach book properties to block
                  :booktitle book
                  :topics (:topics row)
                  :pagecount (:pagecount row) 
                  :rating (:rating row)
                  :author authors
                  )]
                (assoc block-map :block/properties updated-properties)
               ) ;end let
              ) ;end for
              ) ;end fn
          ;:view :pprint   ; raw data view for debugging
          :view (fn [rows] [:table   ; uncomment lines below to include author column
              [:thead [:tr 
              [:th "💬Quote"]
              [:th "📖Book"]
    ;          [:th "✏️Author"] 
              ]] [:tbody (for [r rows] [:tr
                [:td [:a 
                    {:href (str "#/page/" (get-in r [:block/uuid]))} 
                    (clojure.string/replace (get-in r [:block/content]) "#Quote" "")
                ]]
                [:td [:a 
                    {:href (str "#/page/" (clojure.string/replace (get-in (get-in r [:block/properties]) [:booktitle]) "/" "%2F"))} 
                    (clojure.string/replace (get-in (get-in r [:block/properties]) [:booktitle]) "Book/" "")
                ]]
    ;            [:td (for [author (get-in (get-in r [:block/properties]) [:author])]
    ;              [:span [:a 
    ;                {:href (str "#/page/" (clojure.string/replace (str author) "/" "%2F"))} 
    ;                (clojure.string/replace (str author) "Author/" ""
    ;                )] 
    ;                (if-not (= author (last (get-in (get-in r [:block/properties]) [:author]))) ", ")]
    ;            )]
              ])]
          ])
    }
    #+END_QUERY
    
  • How do you handle quotes in Logseq?
  • Well here I am about one year later after switching accounts finally seeing your comment... :D This helped!

    However, would it be possible to only show the last "depth" of that query so it only queries the actual quotes? I.e. instead of:

    It would be better if it would look like:

    Since the query basically is looking up the quotes by that author (I left the book out in that one) and is being put on the page of the author it is clear what it is and it should only display the actual quotes and the book's name.

    It's not that big of an issue if that isn't possible but it would improve it visually in case you have several books with many quotes etc.

  • Question on Logseq advanced query. Can anybody help here? 😩
  • I did a lot of tinkering around recently to get an advanced query working for me which ended up being quite tricky to work through. I have Project pages (eg [[12335]] ) and on journal pages I have job note blocks for specific jobs ie #12335 Notes with a :job property so the block title can change if needed. There are multiple levels of notes / subnotes / tasks here and I was attempting to do the below query before I learned or-join, but the query was fragile & failing if tasks weren't at a specific indent level. I ended up spending a Sunday afternoon deep diving into this stuff to figure this out.


    • As I understand it, the datomic data model is just a HUUGE list of 'datoms' which are super basic [element-id|attribute|value] rows for everything.
    • There is some concept of 'unifying' which is a variable that appears twice in a :where represents the same value across all clauses.
    • Something like (or-join) allows you to control this unification to selected sub items.
      • My visualization on the query is a graph of conditions
      • The :find (?task) element is absolutely required
      • There are 'facts' you want to satisfy [(get ?prop :job) ?job] [(contains? #{"TODO" "WAITING" "DOING"} ?marker)].
      • ?task → ?prop (through or-join) → ?prop must contain :job with value :current-page
      • . ↳ ?marker -> must be one of TODO / WAITING / DOING
    #+BEGIN_QUERY
    {
      :title [:h3 "📅 Outstanding Tasks"]
      :inputs [:current-page]
      :query [
        :find (pull ?task [*])
        :in $ ?job
        :where
          (or-join [?task ?prop]        ; only care that ?task and ?prop are 'unified' with rest of clauses
           (and
            [?task :block/page ?page]
            [?page :block/properties-text-values ?prop]    ; does page have :job property?
            )
           (and
            [?task :block/parent ?tp]
            [?tp :block/properties-text-values ?prop]    ; does task parent have :job property?
            )
           (and
            [?task :block/parent ?tp]
            [?tp :block/parent ?tpp]
            [?tpp :block/properties-text-values ?prop]    ; does task grand-parent contain :job prop?
            )
           (and
            [?task :block/parent ?tp]
            [?tp :block/parent ?tpp]
            [?tpp :block/parent ?tppp]
            [?tppp :block/properties-text-values ?prop]    ; does task great-grand-parent contain :job prop?
            )
          )
          [(get ?prop :job) ?job]                           ; does one-of ?props from above contain :job <%current page%>?
          [?task :block/marker ?marker]                                   
          [(contains? #{"TODO" "WAITING" "DOING"} ?marker)]  ; ?task:block/marker must match one of these
      ]
      :table-view? false
      :result-transform (fn [result]
          (sort-by (fn [m]
                    (get m :block/marker)) > result
          )
          )
      :breadcrumb-show? false
      :collapsed? false
    }
    #+END_QUERY
    
  • I try now #Logseq and this is #OpenSource and I would like to like it but somewhere I can't manage to understand and use it. I don't just want to write down my thoughts and #ideas, I also want to be
  • 🧵 …I learn @logseq and a nice example about is:

    "Start small. Don't try to build a system overnight. Doing so will make both adopting the tool harder and take you down a rabbithole of customisations you don't need."

    👉 https://dev.to/vivekkodira/logseq-for-task-management-3d4d


    #todo #learn #work #tool #logsec #later #now #doing #note #structur #shedul

  • I try now #Logseq and this is #OpenSource and I would like to like it but somewhere I can't manage to understand and use it. I don't just want to write down my thoughts and #ideas, I also want to be
  • @rallo ich möchte mit @logseq gerne auch meine Struktur für Arbeit und Freizeit gerne unter einem Tool verarbeiten (sofern dies geht) und dies ohne all zu grossen Aufwand im Nachhinein – MD und Co. sind ein Teil davon mMn.

  • I try now #Logseq and this is #OpenSource and I would like to like it but somewhere I can't manage to understand and use it. I don't just want to write down my thoughts and #ideas, I also want to be
  • @kubikpixel @logseq I use it mainly as a todo list, works well. I created a page for “doing” “ongoing” etc, then a query page to put all the todos together. This way you get your journal with ongoing tasks already surfaced, and when you need to see something else there’s a page for it :) find it flexible and good.

  • Question on Logseq advanced query. Can anybody help here? 😩
  • @[email protected] looks good! I am fluent in regex and SQL and I know some Clojure, but these datalog queries are still a bit of mystery to me... that's the thing I need to visualise!

  • Question on Logseq advanced query. Can anybody help here? 😩
  • @Deebster I also found this website pretty cool to help me visualize what a regex does. https://regex-vis.com/

  • Question on Logseq advanced query. Can anybody help here? 😩
  • @Deebster Very interesting. While I was reading, I always thought whether I could use regex. Now here it is. Thanks a lot!

  • Question on Logseq advanced query. Can anybody help here? 😩
  • I'm no expert in advanced queries, but just to note that you could make things simpler (well, shorter at least) by using a regex to handle all those starts-with lines.

    This selects all pages that don't start with 0-9 or @:

    #+BEGIN_QUERY
    {
      :title [:h2 "Query Results"]
      :query [
        :find (pull ?p [*])
        :where
        [?p :page/name ?page_name]
        [(re-pattern "^[^0-9@].*") ?regex]
        [(re-matches ?regex ?page_name)]
      ]
    }
    #+END_QUERY
    

    You could also extend the regex to handle the "includes _ or -" bit too:

        [(re-pattern "^[^0-9@_-][^_-]*") ?regex]
    
  • EN: A question for the LogSeq experts: is it possible to design the different graphs differently? I always have several graphs open at the same time and would like to recognise immediately which graph
  • @jeff @logseq have a css snippet that sets a custom background color on the header bar. I use different colors on the different graphs for exactly this purpose.

    .cp__header {
    background-color: pink;
    }

  • LogseqTimes 2023-12-16: Logseq Updates, Working with PDFs, Portable Version, New UI buttons, Free Sync Alternative, Plugins and More
  • @[email protected] @ednico @[email protected] Thx, some interesting stuff. But why is it that so many howtos nowadays are videos? Text with some screenshots are much easier to digest.

  • Hm, [@logseq](https://lemmy.ml/c/logseq) requires a contributors license agreement (CLA [#cla](https://mastodon.social/tags/cla) ) to sign over all contributor's code to the company, so does the [@jop
  • @fourstepper @logseq @obsidian That would be a good question for big open source projects who may have lawyers to advise them. For Joplin, this was mostly my decision and done "just in case". AGPL is suitable but not perfect - if a better license comes up later on, then we can switch to it. With a CLA we can do this, without it we're stuck with the same license pretty much permanently.