mirror of
https://github.com/ankitects/anki.git
synced 2025-09-18 14:02:21 -04:00
add file layout visualization from aracelix
https://github.com/ankitects/anki/issues/1010#issuecomment-1032248683
This commit is contained in:
parent
b64c179609
commit
4653873db9
2 changed files with 8 additions and 4 deletions
|
@ -6,7 +6,11 @@ Very brief notes for now.
|
|||
|
||||
At the highest level, Anki is logically separated into two parts.
|
||||
|
||||
### Library
|
||||
A neat visualization
|
||||
of the file layout is available here:
|
||||
<https://octo-repo-visualization.vercel.app/?repo=ankitects%2Fanki>
|
||||
|
||||
### Library (rslib & pylib)
|
||||
|
||||
The Python library (pylib) exports "backend" methods - opening collections,
|
||||
fetching and answering cards, and so on. It is used by Anki’s GUI, and can also
|
||||
|
@ -19,7 +23,7 @@ These days, the majority of backend logic lives in a Rust library (rslib, locate
|
|||
|
||||
pylib contains a private Python module called rsbridge (`pylib/rsbridge/`) that wraps the Rust code, making it accessible in Python.
|
||||
|
||||
### GUI
|
||||
### GUI (aqt & ts)
|
||||
|
||||
Anki's _GUI_ is a mix of Qt (via the PyQt Python bindings for Qt), and
|
||||
TypeScript/HTML/CSS. The Qt code lives in `qt/aqt/`, and is importable in Python
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
For info on contributing things other than code, such as translations, decks
|
||||
and add-ons, please see https://docs.ankiweb.net/contrib
|
||||
|
||||
With most users now on 2.1, the past year has been focused on paying down some
|
||||
With most users now on 2.1, the past 2 years have been focused on paying down some
|
||||
of the technical debt that Anki's codebase has built up over the years, and making
|
||||
changes that will make future maintenance and refactoring easier. A lot of Anki's
|
||||
"business logic" has been migrated to Rust, which AnkiMobile and AnkiDroid
|
||||
|
@ -13,7 +13,7 @@ Considerable effort has also been put into improving the Python side of things,
|
|||
with type hints added to the majority of the codebase, automatic linting/formatting,
|
||||
and refactoring of parts of the code.
|
||||
|
||||
The scheduling code and import/export code remains to be done, and this will likely
|
||||
The import/export code remains to be done, and this will likely
|
||||
take a number of months to work through. Until that is complete, new features
|
||||
will not be the top priority, unless they are easy wins as part of the refactoring
|
||||
process.
|
||||
|
|
Loading…
Reference in a new issue