? ¡Finalmente está aquí! Puede crear tarjetas ANKI automáticamente desde su aplicación C#. ?
Estoy buscando algunos desarrolladores para desarrollar la versión Java, JavaScript y Python, si está interesado en él, contácteme aquí: https://clement-jean.github.io/contact/
Puede encontrar una lista de tareas pendientes aquí: para hacer la lista de tareas
Ankisharp está usando Sourcelink (https://github.com/dotnet/sourcelink). Le ayuda a depurar su programa usando este Nuget.
Si te encuentras con una excepción proveniente de ankisharp:
- Put a breakpoint on the function which as a problem
- Once on the breakpoint, click on the 'Step Into' button (F11)
Luego será redirigido en el código ankisharp nuget. Finalmente, informe el problema y comience a contribuir.
Este repositorio como wiki: wiki. Puede ver cualquier función individualmente o seguir la guía de la guía haciendo clic en el siguiente enlace al final de cada página.
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 ) ;
.. .El audio actual tiene muestras por segundo de 8000, 16 bits por muestra y está en canal mono. Si desea cambiarlo, puede hacerlo así (tenga en cuenta que la calidad aumenta o disminuye rápidamente el tamaño de su mazo):
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_ ) ;