md2apkg

1.3.0 • Public • Published

md2apkg

A simple markdown to anki-deck converter without any weird custom syntax.

npm test

Install

npm install -g md2apkg

Usage

Basic Usage

md2apkg -o deck.apkg README.md

Advanced options

  -i, --input <path>            markdown file path
  -o, --output <path>           apkg file path (default: "./output.apkg")
  -n, --deck-name <name>        name of the deck (otherwise defaults to first heading)
  --ignore-levels <levels>      list of heading levels to ignore
  --include-empty               include empty cards in the deck
  --ignore-latex-dollar-syntax  $\LaTeX$-Syntax will not be converted to \(\LaTeX\)-Syntax supported by anki
  --code-style                  highlight.js style for code syntax highlighting (defaults to "github")

How are cards created?

Cards are created for each individual heading. The heading itself is used as the front, whereas the back contains everything following the heading.

Custom Markdown Extensions

You may want to exlude certain parts of your markdown document. To not create a card for a particular heading simply include the following html-comment in its body.

<!-- md2apkg ignore-card -->

In some cases you might want to include more than the heading on the front of the card.

## Example Header

This paragraph should be on the front in addition to the heading.

<!-- md2apkg split -->

The back starts here.

Using % instead of <!-- md2apkg split --> works as well.

Tags for your cards are supported as well, just use the following html-comment.

<!-- md2apkg tags tagA tagB tagC tagD -->

Advanced Card Types

Multiple Choice

md2apkg supports multiple choice cards. The following example shows how they can be used. The front of the card always shows all the answers with unticked checkboxes. The back contains the same answers with correctly ticked checkboxes. All answers are shuffled in a random order (use <!-- md2apkg type multiple-choice-no-shuffle --> to disable this behavior). When switching the sides of the cards answers are automatically compared and highlighted in red/green. For this to work both sides have to contain the same answers with the same exact formating (including capitalization).

## Cities of Germany

<!-- md2apkg type multiple-choice -->

Which of the following cities are located within Thuringia?

- [ ] Erfurt
- [ ] Frankfurt
- [ ] Munich
- [ ] Dresden
- [ ] Gera

<!-- md2apkg split -->

- [X] Erfurt
- [ ] Frankfurt
- [ ] Munich
- [ ] Dresden
- [X] Gera

A simplification of this syntax is available as well. It's applied if the front of a multiple choice card does not contain a list of answers. Therefore the following example has the exact same outcome as the above.

## Cities of Germany

<!-- md2apkg type multiple-choice -->

Which of the following cities are located within Thuringia?

- [X] Erfurt
- [ ] Frankfurt
- [ ] Munich
- [ ] Dresden
- [X] Gera

Readme

Keywords

Package Sidebar

Install

npm i md2apkg

Weekly Downloads

1

Version

1.3.0

License

GPL-3.0-only

Unpacked Size

59.4 kB

Total Files

11

Last publish

Collaborators

  • steve2955