? Finalmente está aqui! Você pode criar cartões ANKI automaticamente a partir do seu aplicativo C#. ?
Estou procurando alguns desenvolvedores para desenvolver a versão Java, JavaScript e Python, se você estiver interessado, entre em contato comigo aqui: https://clement-jean.github.io/contact/
Você pode encontrar uma lista para fazer aqui: para fazer a lista
Ankisharp está usando o Sourcelink (https://github.com/dotnet/sourcelink). Ajuda você a depurar seu programa usando este NUGET.
Se você encontrar uma exceção vindo de Ankisharp:
- Put a breakpoint on the function which as a problem
- Once on the breakpoint, click on the 'Step Into' button (F11)
Em seguida, você será redirecionado no código Nuget Ankisharp. Por fim, relate o problema e comece a contribuir.
Este repo como um wiki: wiki. Você pode observar qualquer função individualmente ou seguir o tour guia clicando no próximo link no 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 ) ;
.. .O áudio atual possui amostras por segundo de 8000, 16 bits por amostra e está no canal mono. Se você deseja alterá -lo, pode fazê -lo assim (esteja ciente de que a qualidade aumenta rapidamente ou diminui o tamanho do seu baralho):
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_ ) ;