chrisgrieser / shimmering-obsidian

Alfred Workflow with dozens of features for controlling your Obsidian vault.
https://alfred.app/workflows/chrisgrieser/shimmering-obsidian/
MIT License
817 stars 40 forks source link

Feature Request: Revisit Periodic Notes Support? #161

Closed weklund closed 7 months ago

weklund commented 7 months ago

Feature Requested

I recently started using this workflow (and Obsidian) and I'm trying to find a way to navigate to daily/weekly/etc notes using Alfred.

Would we be willing to entertain period notes feature support again? I see you've already covered this in a previous request: https://github.com/chrisgrieser/shimmering-obsidian/issues/45

I actually discovered https://github.com/hauselin/obsidian-alfred before this repo, and have forked and already fixed a few bugs on my own. Having to do lots of refactoring and clean up.

Reasons to revisit:

  1. Appears hauselin/obsidian-alfred is stale/dead? and hasn't responded to my pings.
  2. Discovered several bugs in addition to stale issues that's currently blocking a working solution for Obsidian users
  3. I'm happy to own and PR the feature since I've already implemented daily & weekly
    • I would prefer to use your code patterns than do refactoring on a fork
  4. I would like to add a pattern for having common javascript functions, and unit tests for them in CI. Why? I end up duplicating a lot of functions, so would like to consider using another file as a Library - Jumping into JXA for the first time so happy to use a better mechanism if one exists.

I have several design questions before I would begin the feature, and happy to write up thoughts to get alignment.

Thanks!

Relevant Screenshot

No response

Checklist

chrisgrieser commented 7 months ago

Hi, yeah, the main reason for deprecating anything daily- or weekly note related was that they are quite high maintenance (tons of different formats, a lot of date-related edge cases, etc.), while at the same time, I don't use daily notes at all.

If you are willing to PR and maintain the feature, I don't mind adding support for them again. 🙂

I would like to add a pattern for having common javascript functions, and unit tests for them in CI. Why? I end up duplicating a lot of functions, so would like to consider using another file as a Library - Jumping into JXA for the first time so happy to use a better mechanism if one exists.

To be honest, using JXA wasn't the best solution in hindsight. I started creating the workflow when I started out to learn programming, just used JXA because it was JavaScript that I could use without installing anything on my Mac. (Due to the fact that a lot of code was written when I was just starting to learn to code, there are probably quite a few places with rather badly written code from that time. 😅)

One of the big issues was that JXA does not supportimport, restricting you to single file. It is mostly due to Alfred connecting different pipes, that the workflow nevertheless is modularized into different files – however, there is virtually no sharing of common functionality between the files, and therefore a good amount of redundant code. I was actually considering migrating the code base to typescript at some point in the future, but I wasn't aware of those script libraries you linked. If they indeed allow for proper shared functionality, that'd be awesome.

weklund commented 7 months ago

If you are willing to PR and maintain the feature, I don't mind adding support for them again. 🙂

Sweet! Is this thread a good place to review with you my approach, proposed feature, and shortkeys?

Also do you have a good release version I can check out for the previous daily note feature?

I was actually considering migrating the code base to typescript at some point in the future, but I wasn't aware of those script libraries you linked. If they indeed allow for proper shared functionality, that'd be awesome.

I'll do a quick POC and make sure it's what we want, but from the docs it appears like a good way to share functionality across the code base.

chrisgrieser commented 7 months ago

Sweet! Is this thread a good place to review with you my approach, proposed feature, and shortkeys?

Nah, issues are more "user-facing" so to speak. Think a (draft) PR might make most sense, I think.

Also do you have a good release version I can check out for the previous daily note feature?

Don't think it's gonna help much. Those daily note features were from a time when the workflow was structured very differently, so it'd be hard to move just part of them to the present. Also, they were pretty bare bones "create file with today's date and append to it" anyway.