srg-kostyrko / obsidian-journal

MIT License
70 stars 7 forks source link

[FR] Configurable properties and values #58

Closed ChristinWhite closed 1 week ago

ChristinWhite commented 1 week ago

I was going to mention this on #39 but I have a bit different of a request so I'll avoid going off topic there.

Request

I also would like to have configurable properties and values. I don't necessarily need to make them removable, just configure them to use my existing structure that is already structured around Metadata Menu. Since I've already configured Dataview queries, Templater and QuickAdd templates and Modal Form) to use this structure they would all need to be refactored to avoid duplicated semantic categorization.

Examples

For example: I already have class: Journal/Daily-Note, class: Journal/Weekly-Note and so on. I'd prefer to be able configure Journals to point to those rather than repeating them in journal-section.

While I don't currently have journal analog in my properties I have been thinking about splitting my periodic notes a little more into different categories, Journals is providing me a push to refactor that. However, my OCD tendencies are really unhappy with it not matching my existing casing conventions, I know, it may seem stupid but it absolutely creates friction for me.

You already let me set the journal name, I'd just prefer you not stringToLower() it and respect the category as I have it written. I know converting it reduces the likelihood of user error and maybe that's not ultimately a positive trade-off but I'd rather be responsible for my own potential stupidity and have the option.

Conclusion

All that said, I do understand the complexity of those changes, I suspect they would benefit other users but I get it if this isn't where you want to invest your time; Either way, I appreciate your hard work making an excellent plugin and I plan to continue using it for now, I just hope I can clean up my journals down the road.

srg-kostyrko commented 1 week ago

Lets me rephrase to make sure that I understand your request - you want ability to change names of properties in frontmatter that are used to connect note to journal (like journal, journal-start-date etc)? do you want that to be on per journal level? or rather one setting for all?

As for section and ability to move it to id - I plan to remove that property at all as part of changes I described in https://github.com/srg-kostyrko/obsidian-journal/issues/54 (as there will be no several sections in one journal anymore)

ChristinWhite commented 1 week ago

I hadn't considered changing the journal substring across each property, what I had been thinking is to be able to rename properties individually, I think that would provide the most flexibility to integrate the properties that share the same semantic meaning (my class vs your journal-section).

I don't see any issue with changing the property names globally across all journals rather than individually.

With that said, if you're eliminating journal-section that resolves my need for property-name changes as all of your other fields do not have existing parallels in my existing note classes.

My only remaining request would be not to change the casing on Journal name.

srg-kostyrko commented 1 week ago

Hmm, there should be no changes to name casing. Do you probably have journal ID similar to name just lower case?

ChristinWhite commented 1 week ago

Interesting, maybe I'm looking at the wrong setting?

CleanShot 2024-07-07 at 20 07 24@2x CleanShot 2024-07-07 at 20 07 47@2x

I don't see any other fields where I've set Personal (or personal).

srg-kostyrko commented 1 week ago

ID is configured when you create journal and cannot be changed afterwards as of now (I consider allowing it as a special flow as it requires changing all notes in journal)

Screenshot 2024-07-08 at 9 12 12 AM

Most likely this is how you created your journal

ChristinWhite commented 1 week ago

Thank you, that was the piece I was missing and it's now working exactly how I want it to! You are awesome!