Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add negative tags #952

Closed
wants to merge 9 commits into from

Conversation

rio-raimundo
Copy link

@rio-raimundo rio-raimundo commented May 8, 2024

This PR adds support for 'negative' tags when choosing which whole notes should be reviewed.

This was added because it is sometimes useful to exclude notes with a specific tag from review.

For example, I use spaced repetition to review notes associated with academic papers, tagged with #paper. However, I sometimes create these notes before reading the paper so that I can link them to other notes; in these cases they are tagged #unread and I do not want them to show up for review, but I also want them to keep the paper tag.

image

Now you can ignore a subset of notes by adding a 'negative' tag to the settings, formatted like -#unread (shown above). This gives users more options if they want to review notes using an existing tag system, instead of having to manually cultivate a tag just for reviewed notes.

[[Edit: I rewrote this to better document the changes and explain why they're useful]]

Copy link
Collaborator

@ronzulu ronzulu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @bitesizing, thanks for this.

Since you implemented this, the code base (beta) has changed considerably, primarily due to:
Feat 878 Refactor code to support diff methods of storing the scheduling info, and diff SR algorithms #1006

  1. So I think we need to extract the logic that you implemented and move to a new spot, possibly something in the new SettingsUtil class. There is an existing method filterForNoteReviewTag that may be of interest.

The latest beta code is available at:
Beta release of outstanding PRs #1011

  1. We also should add a couple of unit test cases.

  2. I wonder if there are better terms positive/negative. For example perhaps exclusion tag conveys the meaning better than negative.

@rio-raimundo
Copy link
Author

Hi @ronzulu, thanks for this! It seems like you've done loads of impressive work on the repo:)

Just to be clear because I'm quite new to contributing, are the changes to the code base that you mentioned reflected in the newest pushes to the master branch? I.e., can I just fork the repo and reintegrate my changes into the new structure. Or do I need to access the source code for the beta release directly?

@ronzulu
Copy link
Collaborator

ronzulu commented Jul 9, 2024

Hi @bitesizing , thanks for the feedback :-)

This is new territory for me as well actually. The changes to the code base haven't been integrated into the master repository https://github.com/st3v3nmw/obsidian-spaced-repetition. Unfortunately the project owner @st3v3nmw has been out of contact, so we don't know when this would happen.

I've merged in a few different outstanding PRs into the "beta code" on my repository. I was able to do that without involving the PR contributor as those changes affected different parts of the code.

So this is the first time your question has come up. I guess there are 2 options:

  1. Wait and see when Stephen is back on board and has integrated other PRs including [FEAT] Refactor code to support diff methods of storing the scheduling info, and diff SR algorithms #878 into st3v3nmw/obsidian-spaced-repetition. and then git update your branch from it.
  2. Fork from my repository, and make the necessary changes to incorporate your work. I would then merge your changes into my "beta branch".

If you choose 2, let me know if you have trouble as no one has needed to do this before.

Cheers
Ronny

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants