kaegi / MorphMan

Anki plugin that reorders language cards based on the words you know
Other
261 stars 66 forks source link

Morphman Roadmap #299

Closed mortii closed 1 year ago

mortii commented 1 year ago

This would be better placed in discussions, but It's not activated for the repo. Anyway, here are my thoughts on some potential next steps for the project:

  1. This is pretty trivial but the ‘.ankiaddon’ file uploaded to ankiweb only needs to contain ‘__init__.py’ and the ‘morph’-folder, not the entire git repo if we don't care about being able to share it outside of ankiweb.
  2. If there are any repo permisson problems on github due to having an absent owner then we should just migrate to a fork and replace the readme with a link to said fork.
  3. The Refold MorphMan Addon Guide is stunningly good, and we should ask them if we can use it in our official guide. As for the official guide we could use something like mbook and host it for free with Github Pages, e.g. rustup guide. In addition to the Refold guide it could maybe also contain: changelog, known problems, roadmap/todos, list of contributors. We can then link to this in ankiweb and declutter the description there.
  4. The 'Browse' actions either don't work or have some less than ideal implementations. I think the L’ -key should bring up ‘vocab cards' i.e. i+1 cards that you can learn immediately instead of all cards with the same focus morph. Showing all cards with the same focus morph should be moved to a different key like 'A'. The actions are also hidden in the 'Edit' menu, maybe there is a technical reason for this but it would be infinitely better to have it in a separate 'Morph' menu, and it would also be especially useful to see the actions on the cards' right-click context menu if feasible.
  5. There should be a setting to automatically 'recalc' before sync happens or something to that affect, it's so easy to forget when you have to do it manually.
  6. The codebase is a hot mess of inconsistencies and inefficencies.
    1. The preferences.py and config.py files stand out to me as particularly insane, the hardcoded deck overrides in the bottom of config.py is absolutely criminal. Everything in config.py should be made public facing by moving them to the preferences gui.
    2. We should introduce a mypy config file and then gradually increase its strictness as we add type annotations to the codebase.

Thoughts @landonepps ?

mortii commented 1 year ago

Update on the 3rd point: I reached out to the author of the MIA guide (Matt Vs Japan), and he gave us permission to use the material! I told him we would put the following credits at the start of the guide: "A huge thank you to Matt Vs Japan (Youtube, Twitter) for his absolutely amazing work on the original version of this guide!"

I have a working skeleton over on my 'website' branch, and its Github Pages are live here: https://mortii.github.io/MorphMan/

I'll start fleshing it with the MIA guide soon.

FilinMX commented 1 year ago

Are there any plans to fix issues mentioned in #290 ?

UPD. It was actually alredy fixed

mortii commented 1 year ago

@FilinMX The issue tracking is messy right now, but I'll go through the backlog once I finish making the guide.

mortii commented 1 year ago

Update:

I am almost completely done with the guide! (preview: https://mortii.github.io/MorphMan/)

Writing guides for broken features felt pretty nonsensical and unsatisfying so I made some changes to the code too:

The parts of the guide that are missing that I need some inputs on are:

I also haven't filled in the changelog section yet, but it should be pretty straight forward.

mortii commented 1 year ago

After some consideration I have decided to stop working on MorphMan and publish my own fork (AnkiMorphs) instead.