Comments (5)
One great feature of this pretty-printed JSON is that git recognizes changes to single fields in Anki, and commiting those changes to git results in really small changes, because only one single line is changed.
I realize I'm commenting on an closed issue 4 years later, but for informational purposes I'd like to point out that git commits are like a series of snapshots, rather than delta-based like other VCS
from crowdanki.
The exported JSON is not meant to be edited manually by "unqualified" users. So I don't understand why verbosity should be a necessary feature.
One great feature of this pretty-printed JSON is that git recognizes changes to single fields in Anki, and commiting those changes to git results in really small changes, because only one single line is changed.
If you want to see an example of what I mean: In this commit, I added a new note in Anki (the big green block at the top) and changed a few other single fields, which are those one-line updates at the bottom.
Of course your suggested FAQ format would result only in one-line updates as well, but such a hand-crafted format is always inferior to robust formats like JSON.
from crowdanki.
I forgot that JSON can be formatted in a similar way as other line-oriented formats. In that case it is possible to collaborate via DVCS.
from crowdanki.
FAQ format may not be restricted to single line.
Common approach is folding like a usage of leading space in https://tools.ietf.org/html/rfc2822#section-2.2.3
Another example is indentation used by YAML.
In any way you are not interested in human editable source format but in intermediate format and JSON can serve this purpose well.
from crowdanki.
Hey @gavenkoa. Thank you for your feedback! π
You can find my email at my github profile page :).
As @dayjaby mentioned the main purpose here was not to provide a human readable format for users to create cards (though I kept that at the back of my mind and done some work towards enabling this type of cards creation), but the format that will allow people to effectively collaborate via tools like github. While doing most of the card editing inside of the Anki (and having all reach tools to do that at their disposal).
I also do handle updates of the notes with the same uuid without losing progress. You can look at the code to get more details on this one.
Thank you again for sharing your thoughts and perspective.
I'm looking forward to your feedback on using the plugin!
from crowdanki.
Related Issues (20)
- Display CrowdAnki export in the new (non-legacy) export dialog (2.1.55)
- 1788670778\config\config_ui.py:78:'Qt.Horizontal' will stop working. Please use 'Qt.Orientation.Horizontal' instead.
- upgrading through anki or installing from the website gets me an old release HOT 3
- "maximum recursion depth exceeded" error when I try to export to JSON HOT 3
- Allow testing against both Qt5 and Qt6
- RecursionError: maximum recursion depth exceeded / Conflict with Enhanced Cloze? HOT 4
- Add test for running `fetch_dependencies.sh` (building `dist/`)
- Upgrade to python 3.9
- Can't export in Version β¨2.1.55+ HOT 2
- Export sort method doesn't sort subdecks HOT 2
- Note count in import dialog doesn't include subdecks HOT 1
- Wiki locked? HOT 5
- Keep individual spaced repetition progress on import? HOT 2
- Add-on fails to load on Anki startup HOT 1
- βCard template β¨1β© in notetype 'β¨[β¦]' has a problem.β HOT 1
- Anki crashes on start HOT 8
- Git import that involves a redirect (uses a non-canonical path) fails
- Convert deck to use CrowdAnki HOT 3
- JSON export does not include FSRS weights. field `"fsrsWeights"` seems to always be empty []. HOT 3
- Feature sugestion: Exclude decks from snapshots HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from crowdanki.