Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/steve2955/md2apkg

📝 A simple markdown to anki-deck converter without any weird custom syntax
https://github.com/steve2955/md2apkg

anki apkg markdown md

Last synced: 2 days ago
JSON representation

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

Awesome Lists containing this project

README

        



md2apkg

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


npm test

## Install

```text
npm install -g md2apkg
```

## Usage

Basic Usage

```text
md2apkg -o deck.apkg README.md
```

Advanced options

```text
-i, --input markdown file path
-o, --output apkg file path (default: "./output.apkg")
-n, --deck-name name of the deck (otherwise defaults to first heading)
--ignore-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.

```html

```

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

```md
## Example Header

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

The back starts here.
```

Using `%` instead of `` works as well.

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

```html

```

### 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 `` 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).

```md
## Cities of Germany

Which of the following cities are located within Thuringia?

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

- [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.

```md
## Cities of Germany

Which of the following cities are located within Thuringia?

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