Converting a frontmatter tag into a frontmatter property?

Edit: I added a ‘?’ to the end of the title of this post cuz I realized some people might think I was posting a “how to”, when I’m really looking for help.

What I’m trying to do

I have many notes, each with many tags in the note bodies.

I’m confident I can get linter to copy those tags into the frontmatter tags property.

Now, one of those tags, I’d like to change to be the value of some other frontmatter property.

EG, given (after using linter) tags: AAA BBB CCC, I’d like to end up with something like

tags: AAA, CCC
my-property: BBB

Things I have tried

I haven’t tried anything yet. I can probably write a python utility to bulk change the .md files. But before I do that, I’m wondering if someone else has already had and solved this problem.

What I’m hoping is that someone knows of a plugin or a utility (e.g., a python script) that already can do this.

Bulk change with Python and adjust any templates to synchronize into what you want.
Nobody knows here what condition is to be fulfilled to have something be under my-property or tags.

I know of Linter, File Cooker and Multi Properties (and now Notebook Navigator) as plugins that have any functionality toward bulk modifying property keys and/or values but they are all clunky.
I think it’s better if you survey what needs be done rather than try to align your thinking to what any plugin does.

These changes are usually a one-time bulk change.

As for inline tags on certain blocks: some of those may stay in place, depending on the workflow. I like to use blockID’s on blocks and with my plugin\* I build those into collections, which is, again, another workaround which as a public plugin again would need the user to align their thinking to mine.

So all in all, I think it’s better to use your initiative or build your own tools, which is a cinch now with AI help.


\* Plugin: https://forum.obsidian.md/t/block-collections-plugin-block-level-linking-using-collections/113124

@0TT0_FL0TT Thanks for input.

I have quite a precise notion of which (currently inline) tags I want to change to property values, and I know which new properties I want. I was just being generic in the OP to not distract.

I agree with you that these changes will likely be one-time only - unless I change my workflow yet again a second time in the future.

I appreciate the pointers to those plugins of which I wasn’t aware. I’ll look into them ASAP. I’ve yet to find a use case in my own workflow for block-level linking, so I think I’ll stick to whole-file stuff for now.

Again, thanks for the advice.

1 Like

If you have long notes, or you have been at a loss (as I was) to properly name a note (not knowing certain aspects of seemingly different things overlap), you will not be able to spare block level linking and Obsidian doesn’t allow a comfortable overview of these together, which is why I had to build a workaround with canvas cards. But that’s a different topic.

  • My biggest issue is being put on the spot to come up with a good term to manually type in Search panes or Local Graph filters, for instance.

I wanted to use tags (you can use inline tags in Zotero as well and pull them in with Zotero Integration) but I never was a huge tagger person. Tagging is useful but also makes you lazy; it’s a sort of procastrination. My block level linker solution entails adding keywords as card labels, so it’s like multiple custom tags (not real Obsidian tags) describing a topic and all keywords will be searched with one of my Meta Edit buttons.
E.g. Milky Way, stars, milk, straw, campus-stellae, and in that card I’ll have the overlapping topics in blocks in various notes.
Clunky? Yes. Automated? Yes.
I don’t need to do searches anymore, the buttons in the canvas cards will do that.

Again, I appreciate the input. I just don’t need that functionality now. Nonetheless, I’ve bookmarked your github site for future reference. Thanks again.