summaryrefslogtreecommitdiff
path: root/README.md
blob: 89d6ef5fbb31dd543a387eb3dcfd922ef054b44e (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
# README

This program provides a fast local dictionary, with the option to add any word & its definition to Anki.

## 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:
  -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

- clear the screen after we finish the initial import, probably?