blob: 45eb44d35465ba77a23aba8cf64bd3fc10b83e43 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
# README
This program provides a fast local dictionary, with the option to add any word & its definition to Anki.
You'll need a working Go runtime in order to build this program. Usually you can get this from your distribution's package manager, or from https://go.dev/doc/install.
## Getting started
You need a copy of https://kaikki.org/frwiktionary/raw-wiktextract-data.jsonl.gz. Uncompress it to raw-wiktextract-data.jsonl. This is a structured dump of French wiktionary.
To be able to add Anki cards, you need to install the `anki-connect` extension. You can find instructions to do so here: https://git.sr.ht/~foosoft/anki-connect When you're running this app, you'll also need to have Anki open (with the `anki-connect` plugin installed) in order to add new cards.
Also from Anki, take note of the name of the Deck where you want to add new cards, and the `Type` of these cards (appears in the upper-left of the 'add new cards' dialog in Anki).
(Note: currently this application assumes that your card type has two fields: "Front" and "Back". Eventually, this may be configurable. If the fields are called something else in your card type, you'll currently have to update the json tags for the `fields` struct in `add.go`.)
With all this done, you can now run the app! The first time you run it, the app will build a SQLite database of words and definitions from the Wiktionary data, which will take a minute or two. From the root of this repository, you can use a command like this to start the app:
```
go run . -rawDictionary=raw-wiktextract-data.jsonl -deck="Français" -model="Basic-830ae"
```
## Usage
```
Usage of french-wiktionary-flashcards:
-apiURL string
Base URL to access the anki-connect plugin API. (default
"http://localhost:8765")
-deck string
Name of the deck where new Anki cards will be created.
-dictionary string
Path to the parsed dictionary data. This will be generated
from rawDictionary. (default "dictionary.sqlite3")
-model string
Name of the card type ('model') for new Anki cards.
-rawDictionary string
Path to the raw wiktionary data. You can get this by
downloading and unzipping
https://kaikki.org/frwiktionary/raw-wiktextract-data.jsonl.gz
(for French). (default "raw-wiktextract-data.jsonl")
```
# TODO
- render HTML entities in definitions
- italicise part-of-speech, and maybe remove numbers from them
|