? C'est enfin là! Vous pouvez créer des cartes Anki automatiquement à partir de votre application C #. ?
Je recherche des développeurs pour développer la version Java, JavaScript et Python, si vous y êtes intéressé, veuillez me contacter ici: https://clement-jean.github.io/contact/
Vous pouvez trouver une liste à faire ici: Liste de faire
Ankisharp utilise SourceLink (https://github.com/dotnet/sourcelink). Il vous aide à déboguer votre programme à l'aide de ce NuGet.
Si vous rencontrez une exception provenant d'Ankisharp:
- Put a breakpoint on the function which as a problem
- Once on the breakpoint, click on the 'Step Into' button (F11)
Ensuite, vous serez redirigé dans le code NuGet Ankisharp. Enfin, veuillez signaler le problème et commencer à contribuer.
Ce repo en tant que wiki: wiki. Vous pouvez consulter n'importe quelle fonction individuellement ou suivre le guide en cliquant sur le lien suivant à la fin de chaque page.
AnkiSharp . Anki test = new AnkiSharp . Anki ( _NAME_OF_ANKI_PACKAGE_ ) ;
test . AddItem ( "Hello" , "Bonjour" ) ;
test . AddItem ( "How are you ?" , "Comment ca va ?" ) ;
test . AddItem ( "Flower" , "fleur" ) ;
test . AddItem ( "House" , "Maison" ) ;
test . CreateApkgFile ( _PATH_FOR_ANKI_FILE_ ) ; AnkiSharp . Anki test = new AnkiSharp . Anki ( _NAME_OF_ANKI_PACKAGE_ ) ;
//Permits to set more than two fields
test . SetFields ( "English" , "Spanish" , "French" ) ;
test . AddItem ( "Hello" , "Hola" , "Bonjour" ) ;
test . AddItem ( "How are you ?" , "Como estas?" , "Comment ca va ?" ) ;
test . AddItem ( "Flower" , "flor" , "fleur" ) ;
test . AddItem ( "House" , "Casa" , "Maison" ) ;
test . CreateApkgFile ( _PATH_FOR_ANKI_FILE_ ) ; AnkiSharp . Anki test = new AnkiSharp . Anki ( _NAME_OF_ANKI_PACKAGE_ ) ;
//Permits to change the css of your cards by providing it a css string
test . SetCss ( _CSS_CONTENT_ ) ;
test . AddItem ( "Hello" , "Bonjour" ) ;
test . AddItem ( "How are you ?" , "Comment ca va ?" ) ;
test . AddItem ( "Flower" , "fleur" ) ;
test . AddItem ( "House" , "Maison" ) ;
test . CreateApkgFile ( _PATH_FOR_ANKI_FILE_ ) ; AnkiSharp . Anki test = new AnkiSharp . Anki ( _NAME_OF_ANKI_PACKAGE_ ) ;
test . SetFields ( "English" , "Spanish" , "French" ) ;
//Everything before '<hr id=answer>' is the front of the card, everything after is the behind
test . SetFormat ( "{0} - {1} \ n<hr id=answer> \ n {2}" ) ;
test . AddItem ( "Hello" , "Hola" , "Bonjour" ) ;
test . AddItem ( "How are you ?" , "Como estas?" , "Comment ca va ?" ) ;
test . AddItem ( "Flower" , "Flor" , "fleur" ) ;
test . AddItem ( "House" , "Casa" , "Maison" ) ;
test . CreateApkgFile ( _PATH_FOR_ANKI_FILE_ ) ; Anki test = new Anki ( _NAME_OF_ANKI_PACKAGE_ , new ApkgFile ( _PATH_TO_APKG_FILE_ ) ) ) ;
// Be careful, keep the same format !
test . AddItem ( "Fork" , "El tenedor" , "La fourchette" ) ;
test . AddItem ( "Knife" , "El cuchillo" , "Le couteau" ) ;
test . AddItem ( "Chopsticks" , "Los palillos" , "Les baguettes" ) ;
test . CreateApkgFile ( _PATH_FOR_ANKI_FILE_ ) ; Anki test = new Anki ( _NAME_OF_ANKI_PACKAGE_ , new ApkgFile ( _PATH_TO_APKG_FILE_ ) ) ;
// Be careful, keep the same fields !
var item = test . CreateAnkiItem ( ( "Fork" , "El tenedor" , "La fourchette" ) ;
if ( test . ContainsItem ( ankiItem ) == false ) // will not add if the card is entirely the same (same fields' value)
test . AddItem ( ankiItem ) ;
test . CreateApkgFile ( _PATH_FOR_ANKI_FILE_ ) ; Anki test = new Anki ( _NAME_OF_ANKI_PACKAGE_ , new ApkgFile ( _PATH_TO_APKG_FILE_ ) ) ;
var item = test . CreateAnkiItem ( "Hello" , "Bonjour" ) ;
if ( test . ContainsItem ( x => { return Equals ( item [ "FrontSide" ] , x [ "FrontSide" ] ) ; } ) == false ) // will not add if front of the card already exists
test . AddItem ( item ) ;
test . CreateApkgFile ( _PATH_FOR_ANKI_FILE_ ) ; MediaInfo info = new MediaInfo ( )
{
cultureInfo = new System . Globalization . CultureInfo ( _CULTURE_INFO_STRING_ ) ,
field = _FIELD_IN_WHICH_THE_AUDIO_WILL_BE_PLAYED_
} ;
Anki ankiObject = new Anki ( _NAME_OF_ANKI_PACKAGE_ , info ) ;
.. .L'audio actuel a des échantillons par seconde de 8000, 16 bits par échantillon et est dans le canal mono. Si vous souhaitez le changer, vous pouvez le faire comme ceci (sachez que la qualité augmente ou diminue rapidement la taille de votre deck):
MediaInfo info = new MediaInfo ( )
{
cultureInfo = new System . Globalization . CultureInfo ( _CULTURE_INFO_STRING_ ) ,
field = _FIELD_IN_WHICH_THE_AUDIO_WILL_BE_PLAYED_ ,
audioFormat = new SpeechAudioFormatInfo ( _SAMPLES_PER_SECOND_ , _BITS_PER_SAMPLE_ , _AUDIO_CHANNEL_ )
} ;
Anki ankiObject = new Anki ( _NAME_OF_ANKI_PACKAGE_ , info ) ;
.. . Anki test = new Anki ( _NAME_OF_ANKI_PACKAGE_ ) ;
test . SetFields ( "Front" , "hint:Hint" , "Back" ) ;
test . SetFormat ( "{0} - {1} \ n<hr id=answer(.*?)> \ n {2}" ) ;
test . AddItem ( "好的" , "ok" , "d'accord" ) ;
test . CreateApkgFile ( _PATH_FOR_ANKI_FILE_ ) ;