1. Before you start
What a deck is
A deck is a named collection of cards. Each card has a Title (list label, spoken first) and Content (main body; Markdown supported). Deck Reader prepares speech audio (M4A) so you can study hands-free — like a playlist of topics.
Free vs Plus (authoring limits)
| Free | Plus | |
|---|---|---|
| Decks | Up to 3 | Unlimited |
| Cards per deck | Up to 50 | Unlimited |
| Title length | 100 characters | 100 characters |
| Content while editing | 150 characters | Unlimited |
| Markdown toolbar | Plain text + clipboard | Full formatting |
| Export CSV / images / audio | — | ✓ |
Import is available on Free within those limits.
Pretty mode vs tags
In the card editor, the markdown icon toggles Pretty (formatted preview; images as [Alt: filename] chips) and tags visible (raw source). Turn tags visible when editing [caption] regions — Pretty hides them entirely.
2. How to create a deck
- Open the Deck library (home screen).
- Tap + (create) on the bottom toolbar.
- Enter a deck name → confirm.
- Tap the new deck to open the card list.
Optional later: rename in library edit mode; turn Auto-generate on the card list so missing audio prepares when you open the deck or save cards; use library Import for .deckreader.csv or ZIP bundles; browse the catalog via Download decks.
Use a clear unique name (import matches by name). When you publish updates, bump Deck Version (MAJOR.MINOR.PATCH) so existing readers can choose Update.
3. How to create a simple card
Goal: plain text only — no Markdown required.
- Open a deck → card list.
- Tap + to Add topic (or open a card → Edit).
- Fill Title (required to save).
- Fill Content with ordinary paragraphs. Separate ideas with a blank line.
- Tap Save.
Title: Photosynthesis
Content:
Plants convert light into chemical energy.
They use carbon dioxide and water.
Oxygen is released as a by-product.
Optional: set language/voice on the microphone chips; use deck Auto-generate or the list ↺ to prepare speech. On Free, Content stops at 150 characters while editing.
4. How to create formatted cards (Markdown)
Deck Reader stores Markdown in Title and Content. Delimiters must touch the text (**bold**, not ** bold **). Use the bottom toolbar (Text, Paragraph, Insert, Tables, Ω) or type markup with tags visible.
4.1 Text formatting
| Effect | How | Example |
|---|---|---|
| Bold | Text → Bold, or **…** | **important** |
| Italic | Text → Italic, or *…* | *note* |
| Underline | Text → Underline, or ++…++ | ++review++ |
| Strikethrough | Text → Strikethrough, or ~~…~~ | ~~old~~ |
| Inline code | Backticks | `formula` |
| Color | Text → Color, or [RED]…[/] | [GREEN]Pass[/] |
| Heading size | Text → size, or # … ######## | ## Section |
Colors: Black, Gray, Brown, Blue, Cyan, Green, Purple, Red, Pink, Orange, Yellow, White. Always close with [/]. Speech reads the inner words only.
Headings: one to eight # at the start of a line, then a space (H1–H6, then B1 / B2 below body size).
4.2 Paragraphs and structure
| Effect | How |
|---|---|
| New paragraph | Blank line between blocks |
| Align left / center / right | Paragraph menu, or :- / :-: / -: |
| Indent / Outdent | Paragraph menu (four spaces per level) |
| Bulleted / numbered list | - / 1. (nest with four-space indent) |
| Blockquote | Prefix > (nest with >>) |
| Code block | Fenced ``` or ~~~ |
| Horizontal rule | Alone: --- / *** / ___ or === (silent in speech) |
Multi-paragraph quotes keep > on the blank lines between paragraphs. A blank line without > ends the quote.
> First paragraph.
>
> Second paragraph.
4.3 Inserting elements
Links
- Link →
[label](https://example.com) - Quick link → URL as both label and target
- Same card link →
[label](#heading-anchor)from a heading in the same card
- Email →
<name@example.com> - Quick email → bare address
Images
- Insert → Image.
- Pick a file or reuse a deck library image.
- Optional size in dp:
{w:240},{h:200}, or both; optional border keys.
{w:240}
- Multiple images on the same line render side by side; images work in table cells.
- Inside code fences or inline code, image syntax stays literal (not drawn as a bitmap).
- Missing files show a red warning with the full markdown source on the player.
- Speech: localized image word + alt, then optional
[caption].
Symbols (Ω)
Math, symbols, and box-drawing characters. On tablets, the side toolbox inserts the same glyphs quickly.
4.4 Tables
Use the Tables menu (Plus) or type a GFM-style grid:
| Term | Meaning |
| :--- | :--- |
| ATP | Energy currency |
| Chlorophyll | Light-absorbing pigment |
- Column align:
:---/:---:/---:; optional width % digits in the dashes. - Optional style row before the header:
|{w:200; t:1; b:1}|(width in characters). - Continue a cell: end with
^^then continue on the next row. [br]starts a visual paragraph in a cell (speech joins with a space).- Table
w:is characters; image{w:}is dp — do not mix the units.
4.5 Special Deck Reader speech tags
From the Paragraph menu:
| Tag | Menu | On card | In audio |
|---|---|---|---|
[skip]…[/skip] |
Skip from audio | Visible | Says Skipping segment + ~¼ s silence |
[mute]…[/mute] |
Mute from audio | Visible | Dropped — no announcement, no pause |
[caption]…[/caption] |
Caption for audio | Hidden | Inner text is spoken |
- Skip — omit a section but tell the listener something was skipped.
- Mute — teacher notes or spoilers on screen only; seamless audio.
- Caption — describe a chart or image in speech without cluttering the card.
{w:280}
[caption]The line climbs steadily from left to right.[/caption]
[GREEN]Pass[/] criteria met. [skip](see appendix)[/skip] Next topic.
[mute]Teacher note: discuss edge cases here.[/mute] Continue with examples.
Do not confuse image alt text, the Pretty-mode image chip, and [caption] — alt is the short on-card/spoken label; caption is the longer audio-only description.
5. Speech, voices, and preparing audio
- App default voice — Settings → Configure speech voice.
- Per-field chips — Title and Content can use different languages/voices (bilingual study).
- Auto-generate — card list toggle; queues missing audio on deck open / after save.
- Generate on save — editor top bar when auto-generate is on (skip speech for one save).
- Manual ↺ — queue or refresh; tap the spinner/ring to remove from the queue.
Prefer clear sentences; hard line breaks become separate spoken sentences. [br] is visual only. Horizontal rules and box-drawing are silent/omitted in speech.
6. Import, export, and deck versions
Export (Plus): text-only .deckreader.csv, text + images .deckreader.images.zip, or text + images + M4A .deckreader.media.zip.
Import: Library → Import → pick CSV or ZIP. Same deck name:
- Higher Deck Version → Update (matching titles replaced) or Cancel.
- Same / lower version → Merge (adds cards; colliding different content gets a suffix) or Cancel.
Bump SemVer when you publish an improved deck so readers get the Update path.
7. Tips, escapes, and common pitfalls
Show syntax as literal text
Prefer inline code for examples, or backslash-escape markup characters (\*, \[, \{, …).
Strict pairing
**bold** works; ** bold** does not.
Word wrap
Editor wrap is on by default. Turn it off to scroll wide tables horizontally.
Save vs speech rebuild
Existing audio is kept when spoken text, link targets, and voice settings are unchanged. Joining lines without a period typically rebuilds speech.
Polished-card checklist
- Clear Title.
- Structure Content with headings / lists where helpful.
- Images sized in dp; table widths in characters.
- Captions for charts via
[caption]. - Mute or skip teacher-only notes.
- Preview speech chips if bilingual.
- Save → confirm audio prepares or queue ↺.
8. Quick reference
Toolbar map
| Menu | Typical actions |
|---|---|
| Text | Bold, italic, underline, strike, colors, heading size |
| Paragraph | Align, lists, code, blockquote, indent, skip / mute / caption |
| Insert | Link, email, image, same-card link |
| Ω | Math / symbols / box drawing |
| Tables | Insert and edit grids, merges, separators |
| Clipboard | Cut, copy, paste, undo, redo |
Markup cheat sheet
**bold** *italic* ++underline++ ~~strike~~ `code`
[RED]colored[/]
# H1 … ######## B2
:- :-: -:
- bullet 1. numbered
> quote
[label](https://…) [label](#anchor) <a@b.c>
{w:240}
[skip]…[/skip] [mute]…[/mute] [caption]…[/caption]
\ escapes the next markup character
9. Creating a deck outside Deck Reader (text editor + ZIP)
You can author on a computer (text editor, spreadsheet, or scripts) and import with Library → Import — the same formats Deck Reader exports.
Choose a format
| Goal | What to ship |
|---|---|
| Text only | A single {name}.deckreader.csv (no ZIP) |
| Text + images | {name}.deckreader.images.zip |
| Text + images + prepared speech | {name}.deckreader.media.zip (advanced) |
ZIP layout (CSV + images)
Put these entries at the top level of the ZIP (not inside an extra folder):
| Entry | Required | Purpose |
|---|---|---|
deck.csv | Yes | Deck name, metadata, one row per card |
media/ | If you use images | PNG / JPG / WebP files |
manifest.json | Recommended | Bundle description; empty cards array when there is no bundled M4A |
audio/ | Media ZIP only | {topicId}.m4a files matching the CSV Topic Id column |
Minimal manifest.json (images only, speech later in the app):
{
"formatVersion": 1,
"bundleType": "text_only",
"deckName": "My deck",
"cardCount": 2,
"cards": []
}
deck.csv basics
- Save as UTF-8 (UTF-8 with BOM is fine from Excel).
- Include metadata lines when possible (Deck Version as
MAJOR.MINOR.PATCH). Missing version is treated as1.0.0. - Header row needs at least Title and Content (legacy Definition still imports).
- Optional locale / voice / rate / pitch columns — leave blank for app defaults.
Images
- Place files under
media/(e.g.media/badge.png). - Reference them in markdown:
(optional{w:240}size in dp). - Deck Reader rewrites storage names on import. Missing files show a red warning on the player.
Build and import
- Zip
deck.csv,media/(if any), andmanifest.jsonas{name}.deckreader.images.zip. - Copy the file to the device.
- Deck library → Import → select the CSV or ZIP.
Tip: Export a small deck once from Deck Reader and open the ZIP on your PC — that is the easiest template for naming and metadata.
10. Suggestion: HTML → Markdown → deck
If you already have notes as HTML (exports from Docs, Notion, a website, or a personal wiki), a practical pipeline is:
- HTML → Markdown — use a reputable online converter (or a local tool such as Pandoc) so the body becomes Markdown Deck Reader can store.
- Clean the Markdown — check headings, lists, links, and tables; replace remote images with files in
media/anddeckimg:references; add[skip]/[mute]/[caption]where useful. - Split into cards — one topic per card (clear Title, body in Content). Number titles (
01:,02:, …) if you want alphabetical order to match your outline. - Build the CSV or ZIP — as in section 9, then Import into Deck Reader and generate speech.
Online converters vary in quality. Prefer tools that preserve headings and links, then spot-check a few cards in the app before publishing a full deck. Always keep a copy of your original HTML until the import looks right.