System for Using Obsidian for Talking Points/Debate

There’s a recent post that’s on Kialo, but I wanted to do something similar, but a little different.

When I’m making literature/permanent notes on various books, articles, debates, etc. I find I want to be able to cull the best arguments so I can use them as talking points in another talking points document on a subject.

But I struggle with an efficient system to do this. I could create a page w/ foldable question headings and write or copy/paste retorts to common arguments, but I’d like to do something more integrated with other notes.

Let’s say I have a note on a youtube video debate on the existence of God by two prominent thinkers. I would have a note for each debater (which would include more info and links than just this debate), a note for the debate itself, and then a talking point note that would contain not only what I learned in that debate, but other debates by different people, other books, etc.

I often get confused as to where to put basic information. Let’s say I quote one of the debate participants, should that be on the participants note and then block referenced in the debate and talking points? Or shoudl the quote be it’s own note and block referenced in the person’s note as well as wherever else it might show up? Or does it live in the debate note and block referenced in the person’s note and elsewhere?

Or are block refs. not the way to go? can this be done w/ dataview (non-complicated for a non-coder).

Basically, what’s the best way to structure this information so I’m not doing double-triple work copying or blocking referencing data in too many places?


1 Like

I think each scenario (articles, books, videos) might call for a different approach. Taking you debate video example, I would treat that video as if it was an article, therefore, there is a note for that video that has links to the debaters, the facilitator, relevant topics, projects/areas of interest to you, etc. Whatever your system for linking things is. Then, I will have “blocks” that refer to each of the debaters claims. You can begin/end the block with a link to the debater. That way, you can create a Dataview table that takes all the claims from each debater across this particular debate (meaning, pulling from the debate note) and compares them 1:1.

Also, check out this Dataview query builder. It might make the process of creating queries much easier for you :slight_smile:

yes, that would be cool to be able to use dataview to do that, and I’ll def. check out the query builder. But just conceptually, I’m confused. I’ve used dataview to show a list of pages that contains a certain person link and/or tag, but what you are saying is that I can have multiple blocks (paragraphs?) on one debate page and then put the debater’s name on each block and then generate a page w/ all the arguments in some order? Hard for me to visualize but sounds interesting.

Can one pull arguments from different people in different notes using dataview? or would manually inserting block quotes be better?
e.g. Does God exist?

Argument from Person 1 in Debate 1 Note
Argument from Person 1 in Debate 2 Note
Argument from Person 2 in Book 1 Note
Argument from Person 3 in Debate Article 1 Note

Argument from Person 4 in Debate 1 Note
Argument from Person 5 in Debate 3 Note
Argument from Person 6 in Book 2 Note
Argument from Person 7 in Debate Article 2 Note

You can pull any block information into Dataview tables. The way I do it is by using inline fields (e.g. #literature-notes:: text of my note here). Unfortunately, I don’t have a dummy note to show you but look at this garbled table:

What is happening here is a simple Dataview query that pulls all the blocks (with inline fields at the beginning of the block), from all the files in my Technical Area folder (these files have a YAML field Technical Area) that have the inline fields key-ideas, top-quotes and analysis. This is how that query looks like:

TABLE key-ideas, top-quotes, analysis
WHERE area = "Technical Area"

So, you can start your blocks like person-1:: text here, person-2:: different text here, and then pull all these block across any set of notes you want.

ok, this seems very cool, and exciting, but still missing something. I dont write my tags w/ two colons; is that necessary? at the end or your reply, you dont have a hashtag at all…

Does the tag have to go at the beginning? I usually put them at the end, but I saw somwhere that results might look better if they’re are at the front. I’m not familiar with the “area” code… why wouldn’t you just point to the folder? WHERE=“Technical Area”.

Can you give me a very specific example, no need to show the results, but e.g. I want to look at all my notes globally or just in a folder where the beginning of the block has #argument and #counter-argument. In what order would these pull in? Or your key-ideas, how does it arrange the results across the rows and columns.


I tried a couple things but came up empty… table has no data…I created a couple notes in my inbox and another dataview note with this:

TABLE key-idea, quote, fact
WHERE area = "Notes/Inbox"

my two test notes have a few blocks that look like this with the above different tags-i tried the below w/ a hashtag in front of “fact” and w/o hashtag:

#fact:: Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of “de Finibus Bonorum et Malorum” (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, “Lorem ipsum dolor sit amet…”, comes from a line in section 1.10.32.

Great questions.

  1. You do need the two colons. That is what makes something an inline field which is the only way Dataview will pick up something outside of YAML
  2. It doesn’t have to be a tag. I use things like #literature-notes:: so that I get the benefit of both tags and inline fields. But this could perfectly be literature-notes:: and it would still work
  3. For readability, putting tags at the beginning works better for this particular case. But I’d encourage you to test and see how it looks for you. It might not be such a big deal.
  4. The area on the query is saying look for notes where the YALM field “area” equals “Technical Area” which gives me the possibility to query across all my notes. But, as you said, if you have all the files you want to query in one folder called “Technical Area”, your solution will be perfectly valid.
  5. The arrangement on the query table will be in the order you call the fields. For example, I have three notes (files), all of them have a YAML field area: Technical Area and each note has blocks that begin #key-ideas:: text, #top-quotes:: more text and `#analysis:: even more text. When I apply the query I showed you, the table is presented this way:
key-ideas top-quotes analysis
Filename 1 Text More text Diff text
Filename 2 Other text
Filename 3

I hope that makes sense :slight_smile:

so this is a game changer, thanks! but seems just the tip of the iceberg! much to learn.

One thing is that if I have several facts on one note, they just stack on each other in the table column… Is there a way to create space between them?

Next question would be about the possibility of writing a tag in the middle of the block. I read that “If you want to embed metadata inside sentences, or multiple fields on the same line, you can use the bracket syntax:”

I would rate this a [rating:: 9]! It was [mood:: acceptable].

what are the use-cases for that—seems if you have a tag in the middle or end, you have to populate it with the text you want and single brackets. You can just have it pull in the text that follows it (so it seems).

can you have nested tags or inline tags? I couldn’t get that to work w/ or w/o the hashtag.

Sorry to bug so much, but this gave me another use-case, but not sure how to approach it. Let’s say I have quotes throughout my database in various kinds of notes. How would I set it up, either tags and/or YAML, so I could say show me every quote from every note that is tagged #religious-argument or every quote by Carl Sagan.

Currently when I have a quote, I put that quote in a block w/ the > symbol. Then at the end of my note I write #pin/quote… this was useful to find notes w/ quotes and I could further narrow it down. But now if I can actually display that quote along with the note and the name of the person, etc. that would be really cool.

So would I then put quote:: or #quote:: at the beginning of the block? (can i have a nested tag?)… then what would the query look like to display all the quotes. Would it be best to have the other data in YAML?


I think I’m getting somewhere, though it’s a bit of a tangent from the first order of business—but it’s headed toward a unified solution, I hope.

I’ve now been able to cull quotes on a particular topic from 3 different test notes. As long as the note has Quote:: at the beginning of the block, and then #pin/quote & #pin/topic/god at the bottom, followed by Source:: [[Sagan, Carl]] on another line, I can get it to work. But not sure if this is the most elegant solution. E.g. This is in my note:

Quote:: “Another quote about God.” — [[Sagan, Carl|Carl Sagan]]

Source:: [[Sagan, Carl]]
Topic:: #pin/topic/god

(It’s a bit redundant to have the name 2x, but in the note I like to have the name next to the quote for when I use that quote as a block reference. I like to sort by last name however.

This is my code:

TABLE WITHOUT ID Source, link(, Title) AS "Note", Quote
FROM #pin/quote AND #pin/topic/god 

The problem I’m having (see screenshot) is that when there are two quotes in the same note, they stack on each other like in my prev. post and it’s not the most elegant looking. Wish I could create some separation. Also the source names get bunched together and the sort doesn’t seem to be working (not sure which name it is supposed to be soting on.

Is there a way to do this more cleanly and sort by source?


  1. For the space, you can use this css snippet. I use Minimal which might make things different but test it and see if it works. You can adjust the padding to your liking
.markdown-preview-view ol>li, .markdown-preview-view ul>li, .markdown-source-view ol>li, .markdown-source-view ul>li, .mod-cm6 {
  padding-bottom: 29px;
  1. I have never used mid-block tags or inline fields. It’ll reduce readability for me, so I never considered it. Plus, I reuse blocks in different places so I want to have single blocks instead of having to parse blocks in different pieces.

  2. AFAIK, Dataview does not support nested tags for this case. You can log a FR in their Github, I can see how this would be useful

The way I would do it (biased by the way I currently approach this problem), is I would start each quote with a #quote:: inline field. Then in the YAML you hold all the other data you want to query (e.g. author, year, etc). This will give you great flexibility for traversing your vault while narrowing down based on YAML fields.

Well, the Source field can go in the YAML since you already have the name of the author at the end of the note. And, unless you absolutely need the Topic and nested tags on a per block basis, I would also host those in the YAML (it does support nested tags too!).

hello and again, thanks. I would need to do it on a block by block basis as one note can have multiple quotes by different or the same people and they can have multiple subjects too, so a quote can be about God, Ethics and another Ethics and Atheism. And I might want to see both if I query quotes about ethics.

I’m entertaining making a permanent note for favorite quotes and then I think doing it all in YAML would be the cleanest… but I’m thinking that if a note has two or three quotes, I might only pull one for a permanent note. I guess still figuring it all out.

I like the idea too of putting a dataview table in the person note and aggragating all the quotes by that person from different sources.

This inline tagging opens up a whole new world now that I can actually pull the content and not just find that page that has that tag!

Do you know what I’m doing wrong w/ my sorting by source (dont seem to be sorting at all), and also what happens when there are two names like I have in the example? Which does it use for sorting? Or would grouping by source or note be a better method here? If so, how would that be done?

It would be cool if it was possible to make a new row for each quote in the same note instead of the CSS option. Can that be done?

it’s not such a big deal, but this didn’t have any affect. am using minimal theme also and tried a few other snippets I found, but they have zero affect on my dataview table. thanks though.

You can sort of filename using SORT ASC. This blog post has several examples that can be of help to you.

1 Like

p.s. I have another thread going that might solve the problem of multiple items in one row. Instead of trying to use padding to separate the items, FLATTEN & GROUP might be able to create unique rows which would be much better and also solve the sorting when there are two sources for two quotes. Can’t yet get it work, but it’s a promising solution if possible with inline quotes used in this way.

Thanks again,


1 Like