Quizzes
.cloze (gap text)
Status: Release Candidate v1
Defines a cloze (gap text) to be filled by short free text.
bitmark Markup
[.cloze] This sentence is a [_cloze][_gap text][!noun] with [_two][?one or two] gaps including an instruction for the first and a hint for the second gap.
cloze bitmark Cheatsheet | Description |
---|---|
[_...] |
A gap of a cloze. "..." defines the correct answer. |
[_...][_...]... |
One gap with several correct answers. Several answers are defined by chained gap tags. |
[_] |
Use empty gaps for free text answers. |
[!...] |
Instruction Instruction of the quiz or of the chained gap. [_...][!...] |
[?...] |
Hint Hint tag of the quiz or of the chained gap. [_...][?...] |
=== |
Card Separator - Cloze quiz does not support several cards. Therefore, this separator is not allowed. |
bitmark JSON
{
"markup": "[.cloze] This sentence is a [_cloze][_gap text][!noun] with [_two][?one or two] gaps including an instruction for the first and a hint for the second gap.",
"bit": {
"type": "cloze",
"format": "text",
"item": [],
"lead": [],
"instruction": [],
"hint": [],
"body": [
{ "type": "text", "text": "This sentence is a " },
{
"type": "gap",
"solutions": ["cloze", "gap text"],
"item": [],
"instruction": [ { "type": "text", "text": "noun" } ],
"hint": [],
"isCaseSensitive": true,
"isExample": false,
"example": []
},
{ "type": "text", "text": " with " },
{
"type": "gap",
"solutions": ["two"],
"item": [],
"instruction": [ { "type": "text", "text": "noun" } ],
"hint": [ { "type": "text", "text": "one or two" } ],
"isCaseSensitive": true,
"isExample": false,
"example": []
},
{ "type": "text", "text": " gaps including an instruction for the first and a hint for the second gap." }
]
},
...
}
bit | Data Type, Description |
---|---|
body | Array of Strings and Objects |
Contains the text and the gap objects. |
Gap Object | Data Type, Description |
---|---|
type | "gap", String |
solutions | Array of String |
Contains the solutions of a gap. Must contain at least one element. | |
item | String, the "number" (alphanumeric) of the gap. Example "a" |
instruction | String, |
hint | String, |
isCaseSensitive | boolean, defines if solutions are case sensitive. Default true. |
example | String, bitmark-- |
Example solution | |
Cloze does not allow line breaks in example solutions | |
isExample | boolean |
For this gap, the solution is already filled in for the user. If several solutions are provided, the first one is taken. | |
If the example property does not contain an empty string. This string is used instead of the solution. |
Resources
This bit supports resources.
.cloze-instruction-grouped
Status: Release Candidate v1
Please see cloze for the documentation of all tags. This section contains the additional tags only.
All instructions [!...] of the cloze are collected and displayed together as a help for the user.
[.cloze-instruction-grouped] Der Fußball [_erfreut][!erfreuen][@example] sich nicht nur in Deutschland besonderer Beliebtheit, er [_steht][!stehen] auch in vielen anderen Ländern in der Rangliste der beliebtesten Sportarten ganz oben. ...
Flags | Description |
---|---|
[@countInstructions] |
boolean |
Instructions will be counted and the count will be displayed by the client. Default is false. |
.cloze-solution-grouped
All solutions [_...] of the cloze are collected and displayed together as a help for the user.
[.cloze-solution-grouped] Der Fußball [_erfreut] sich nicht nur in Deutschland besonderer Beliebtheit, er [_steht] auch in vielen anderen Ländern in der Rangliste der beliebtesten Sportarten ganz oben. ...
Please see cloze for the documentation of all tags.
[@countSolutions: true]
Soluttions will be counted and have to be displayed by the client (in the grouped solutions)
[@additionalSolutions: This is another potential solution, which is not part of any quiz]
Sometimes you need to provide more potential solutions for a quiz than actually exist. For example, all quizzes have the solution true, but ylu need to provide the potential solution false for the quiz to make sense.
.multiple-choice, .multiple-choice-1
Status: Release Candidate v1
Defines a multiple choice quiz.
A multiple choice quiz gives you multiple potential answers to select from, but only one is correct.
In german speaking countries, this is called a "single choice quiz".
Please see multiple-response for quizzes with more than one answer.
Note
Multiple choice quizzes are sometimes used as true/false quizzes. There is no problem with that. However, please be aware that bitmark JSON defines a true/false quiz for this.
[.multiple-choice-1]
[!What color is milk?]
[?Cows produce milk.]
[+white]
[-red]
[-blue]
{
"markup": "[.multiple-choice-1]\n[!What color is milk?]\n[+white]\n[-red]\n[-blue]",
"bit": {
"type": "multiple-choice-1",
"format": "text",
"item": [],
"instruction": [ { "type": "text", "text": "What color is milk?" } ],
"body": [],
"choices": [
{ "choice": "white", "item": [], "isCorrect": true },
{ "choice": "red", "item": [], "isCorrect" : false },
{ "choice": "blue", "item": [], "isCorrect" : false }
],
"hint": [ { "type": "text", "text": "Cows produce milk." } ],
"isExample": false,
"example": []
}
}
[.multiple-choice]
[@id:249506]
[%A1]
[!What color do the following beverages have?]
Be careful and think twice.
===
[!Milk]
[+white]
[-red]
[-blue]
===
[!Red Wine]
[+red]
[-white][%12]
[-green][@example]
===
{
"markup": "[.multiple-choice]\n[!What color do the following beverages have?]\n===\n[!Milk]\n[+white]\n[-red]\n[-blue]\n===\n[!Red Wine]\n[+red]\n[-white]\n[-green]\n===",
"bit": {
"type": "multiple-choice",
"format": "text",
"item": [ { "type": "text", "text": "A1" } ],
"instruction": [ { "type": "text", "text": "What color do the following beverages have?" } ],
"body": [ { "type": "text", "text": "Be careful and think twice." } ],
"footer": [ { "type": "text", "text": "That's it!" } ],
"hint": [],
"quizzes": [
{
"item": [ { "type": "text", "text": "a" } ],
"instruction": [ { "type": "text", "text": "Milk" } ],
"choices": [
{ "choice": "white", "instruction": [], "hint": [], "item": [ { "type": "text", "text": "1" } ], "isCorrect": true },
{ "choice": "red", "instruction": [], "hint": [], "item": [ { "type": "text", "text": "2" } ], "isCorrect": false },
{ "choice": "blue", "instruction": [], "hint": [], "item": [ { "type": "text", "text": "3" } ], "isCorrect": false }
],
"hint": [],
"isExample": true,
"example": []
},
{
"item": [ { "type": "text", "text": "b" } ],
"instruction": [ { "type": "text", "text": "Red Wine" } ],
"choices": [
{ "choice": "red", "instruction": [], "hint": [], "item": [ { "type": "text", "text": "1" } ], "isCorrect": true },
{ "choice": "white", "instruction": [], "hint": [], "item": [ { "type": "text", "text": "2" } ], "isCorrect": false },
{ "choice": "green", "instruction": [], "hint": [], "item": [ { "type": "text", "text": "3" } ], "isCorrect": false }
],
"hint": [],
"isExample": false,
"example": []
}
],
},
}
.multiple-response, .multiple-response-1
Status: Release Candidate v1
Defines a multiple response quiz.
A multiple response quiz gives you multiple potential answers to select from.
Please see multiple-choice for quizzes with only one answer.
[.multiple-response-1]
[!What colours can cows have in Switzerland?]
[+brown]
[+purple]
[-blue]
[-green]
{
"markup": "[.multiple-response-1]\n[!What colours can cows have in Switzerland?]\n[+brown]\n[+purple]\n[-blue]\n[-green]",
"bit": {
"type": "multiple-response-1",
"format": "text",
"item": [],
"instruction": [ { "type": "text", "text": "What colours can cows have in Switzerland?" } ],
"body": [],
"hint": [],
"responses": [
{ "response": "brown", "item": [], "isCorrect": true },
{ "response": "purple", "item": [], "isCorrect": true },
{ "response": "blue", "item": [], "isCorrect": false },
{ "response": "green", "item": [], "isCorrect": false }
],
"isExample": false,
"example": []
}
}
[.multiple-response]
[!What colors can animals have in Switzerland?]
===
[!What colours can cows have in Switzerland?]
[+brown]
[+purple][?In chocolate ads]
[-blue]
===
[!What colours can cats have in Switzerland?]
[+brown]
[+black]
[+blue]
[+green]
===
{
"markup": "[.multiple-response]\n[!What colors can animals have in Switzerland?]\n...",
"bit": {
"type": "multiple-response",
"format": "text",
"item": [],
"instruction": [ { "type": "text", "text": "What colors can animals have in Switzerland?" } ],
"body": [],
"footer": [],
"hint": [],
"quizzes": [
{
"item": [],
"instruction": [ { "type": "text", "text": "What colours can cows have in Switzerland?" } ],
"responses": [
{ "response": "brown", "instruction": [], "hint": [], "item": [], "isCorrect": true },
{ "response": "purple", "instruction": [], "hint": [ { "type": "text", "text": "In chocolate ads" } ], "item": [], "isCorrect": true },
{ "response": "blue", "instruction": [], "hint": [], "item": [], "isCorrect": false }
],
"hint": [],
"isExample": true,
"example": []
},
{
"item": [ { "type": "text", "text": "b" } ],
"instruction": [ { "type": "text", "text": "What colours can cats have in Switzerland?" } ],
"responses": [
{ "response": "brown", "instruction": [], "hint": [], "item": [], "isCorrect": true },
{ "response": "black", "instruction": [], "hint": [], "item": [], "isCorrect": true },
{ "response": "blue", "instruction": [], "hint": [], "item": [], "isCorrect": true },
{ "response": "green", "instruction": [], "hint": [], "item": [], "isCorrect": false }
],
"hint": [],
"isExample": false,
"example": []
}
],
},
}
Note
In order to be able to distinguish between unselected and unprocessed answers in the evaluation, sometimes two boxes per question are used for "yes" and "no"". Please refer to true/false quiz
.multiple-choice-text
Status: Release Candidate v1
Defines a multiple choice quiz where the choices are embedded in a text.
[.multiple-choice-text:bitmark--]
The students ['complete][+d][-t][-s] the [+cloze][-cloth][-close] with the correct verb forms.
{
"markup": "[.multiple-choice-text:bitmark--]\nThe students ['complete][+d][-t][-s] the [+cloze][-cloth][-close] with the correct verb forms.",
"bit": {
"type": "multiple-choice-text",
"format": "bitmark--",
"body": [
{ "type": "text", "text": "The students " },
{
"type": "multiple-choice",
"choices": [
{ "choice": "d", "instruction": [], "hint": [], "isCorrect": true },
{ "choice": "t", "instruction": [], "hint": [], "isCorrect": false },
{ "choice": "s", "instruction": [], "hint": [], "isCorrect": false }
],
"item": [],
"prefix": [ { "type": "text", "text": "complete" } ],
"postfix": [],
"hint": [],
"instruction": [],
"isExample": false,
"example": []
},
{ "type": "text", "text": " the " },
{
"type": "multiple-choice",
"choices": [
{ "choice": "cloze", "instruction": [], "hint": [], "isCorrect": true },
{ "choice": "cloth", "instruction": [], "hint": [], "isCorrect": false },
{ "choice": "close", "instruction": [], "hint": [], "isCorrect": false }
],
"item": [],
"prefix": [],
"postfix": [],
"hint": [],
"instruction": [],
"isExample": false,
"example": []
},
{ "type": "text", "text": " with the correct verb forms." }
],
...
},
}
.cloze-and-multiple-choice-text
Status: Release Candidate v1
This is the combination of cloze and multiple choice text.
[.cloze-and-multiple-choice-text]
The students completed the [_cloze] with the correct verb [+forms][-formats].
{
"markup": "[.cloze-and-multiple-choice-text]\nThe students completed the [_cloze] with the correct verb [+forms][-formats].",
"bit": {
"type": "cloze-and-multiple-choice-text",
"format": "text",
"body": [
{ "type": "text", "text": "The students completed the " },
{
"type": "cloze",
"solutions": ["cloze"],
"item": [],
"instruction": [],
"hint": [],
"isCaseSensitive": true,
"isExample": false,
"example": []
},
{ "type": "text", "text": " with the correct verb " },
{
"type": "multiple-choice",
"choices": [
{ "choice": "forms", "instruction": [], "hint": [], "isCorrect": true },
{ "choice": "formats", "instruction": [], "hint": [], "isCorrect": false }
],
"item": [],
"prefix": [],
"postfix": [],
"instruction": [],
"hint": [],
"isExample": false,
"example": []
},
{ "type": "text", "text": "." }
],
...
},
}
Please refer to the description of cloze and multiple choice text for more details.
.highlight-text
Status: Draft v1
highlight-text allows for highlight groups without any correct answer (nothing to highlight). However, at least one highlight per whole quiz is mandatory.
[.highlight-text]
She went to the [+mall][-sea] and ate [+breakfast][-fish][-trees].
{
"markup": "[.highlight-text]\nShe went to the [+mall][-sea] and ate [+breakfast][-fish][-trees].",
"bit": {
"type": "highlight-text",
"format": "text",
"body": [
{ "type": "text", "text": "She went to the " },
{
"type": "highlight",
"texts": [
{ "text": "mall", "instruction": [], "hint": [], "isHighlighted": true },
{ "text": "sea", "instruction": [], "hint": [], "isHighlighted": false }
],
"item": [],
"hint": [],
"instruction": [],
"isExample": false,
"example": []
},
{ "type": "text", "text": " and ate " },
{
"type": "highlight",
"texts": [
{ "text": "breakfast", "instruction": [], "hint": [], "isHighlighted": true },
{ "text": "fish", "instruction": [], "hint": [], "isHighlighted": false },
{ "text": "trees", "instruction": [], "hint": [], "isHighlighted": false }
],
"item": [],
"hint": [],
"instruction": [],
"isExample": false,
"example": []
},
{ "type": "text", "text": "." }
],
...
},
...
}
{
"$schema": "https://json-schema.org/draft-07/schema",
"$id": "https://getmorebrain.com/bitmark-schemas/v2/highlight-text.json",
"title": "bitmark .highlight-text schema",
"description": "Schema for the bitmark .highlight-text bit.",
"required": [
"bit"
],
...
"additionalProperties": true
}
.essay
Status: Draft v1
Describes an essay.
[.essay]
[!What is an essay?]
{
"markup": "[.essay]\n[!What is an essay?]",
"bit": {
"type": "essay",
"format": "text",
"instruction": [ { "type": "text", "text": "What is an essay?" } ],
"partialAnswer": [],
"body": [],
"item": [],
"hint": [],
"sampleSolution": [],
"isExample": false,
"example": []
},
...
}
Essay with an image.
[.essay&image]
[!Beschreiben Sie die Grafik. Was haben Sie erwartet, was hat Sie überrascht?]
[&image:https://cdn.bitmark.cloud/publishers/3/books/26363/statistik.jpg]
Essay with full featured bitmark content
[.essay&article]
[!Fassen Sie den Text kurz mit eigenen Worten zusammen.]
[&article:
**Erfolg um jeden Preis**
Immer, wenn ein Dopingfall durch die Medien geht, melden sich auch die Moralisten zu Wort.
(&image:https://cdn.bitmark.json.education/publishers/3/books/26363/erfolg.jpg)
Was sind dagegen ein paar anabole Steroide?
]
Essay with an image and sample solution (in bitmark--) and some text in the body.
[.essay:bitmark--&image]
[!Describe the graphic. What did you expect, what surprised you?]
[@partialAnswer:This is a ...]
[&image:https://cdn.bitmark.cloud/publishers/3/books/26363/statistics_en.jpg]
[@sampleSolution:
This is a **really** nice graphic!
It really surprised me, that the chosen color of the graph is blue.
]
bitmark | Description |
---|---|
[@psampleSolution:...] |
Sample Solution |
[@partialAnswer:...] |
Partial Answer |
This is the start of a user input |
.interview
Describes a interview.
An interview is like a sequence of several short essays.
Markup
[.interview&audio]
[!Sie hören jetzt einen Text zum Thema __Einkommen von Spitzensportlern.__ Hören Sie den Text zweimal und ergänzen Sie die Informationen zu den angegebenen Punkten.]
[&audio:https://cdn.bitmark.cloud/publishers/3/books/26363/einkommen_spitzensportler.mp3]
===
zwei Leben der Sportler
===
durchschnittliches monatliches Bruttoeinkommen von Spitzensportlern[@shortAnswer]
===
Zeit für Berufstätigkeit
===
[.interview]
[!This is a job interview.]
===
What was your last job?[@example:I worked at Miller's as an internal lawyer.]
===
Why did you quit your last job?
===
How much did you earn in your last job?
===
[.interview]
[!This is a job interview.]
===
What was your last job?[!Please answer in one short sentence]
===
Why did you quit your last job?[!Please answer in one short sentence]
===
How much did you earn in your last job?[!Please use Euro as a currency][@shortAnswer]
===
[.interview]
[!This is a job interview with an example, model answers and line "numbers".]
===
[%a)]What was your last job?[!Please answer in one short sentence]
[@sampleSolution:I worked as a project manager.][@example:I worked as a project manager.][@shortAnswer]
===
[%b)]Why did you quit your last job?[!Please answer in several short sentences]
[@sampleSolution:I was mobbed by my coworkers.]
===
[%c)]How much did you earn in your last job?[!Please use Euro as a currency][@shortAnswer]
[@sampleSolution:EUR 3'000 per month.]
===
{
"markup": "[.interview]\n[!This is a job interview with an example, model answers and line \"numbers\".]\n\n===\n[%a)]What was your last job?[!Please answer in one short sentence]...",
"bit": {
"type": "interview",
"format": "text",
"item": [],
"instruction": [ { "type": "text", "text": "This is a job interview with an example, model answers and line \"numbers\"." } ],
"body": [],
"footer": [],
"hint": [],
"questions": [
{
"item": [ { "type": "text", "text": "a)" } ],
"question": [ { "type": "text", "text": "What was your last job?" } ],
"instruction": [ { "type": "text", "text": "Please answer in one short sentence" } ],
"hint": [],
"isExample": true,
"example": [ { "type": "text", "text": "I worked as a project manager." } ],
"sampleSolution": [ { "type": "text", "text": "I worked as a project manager." } ],
"partialAnswer": [],
"isShortAnswer": true
},
{
"item": [ { "type": "text", "text": "b)" } ],
"question": [ { "type": "text", "text": "Why did you quit your last job?" } ],
"instruction": [ { "type": "text", "text": "Please answer in several short sentences" } ],
"hint": [],
"isExample": false,
"example": [],
"sampleSolution": [ { "type": "text", "text": "I was mobbed by my coworkers." } ],
"partialAnswer": [],
"isShortAnswer": false
},
{
"item": [ { "type": "text", "text": "a)" } ],
"question": [ { "type": "text", "text": "What was your last job?" } ],
"instruction": [ { "type": "text", "text": "Please use Euro as a currency" } ],
"hint": [],
"isExample": false,
"example": [],
"sampleSolution": [ { "type": "text", "text": "EUR 3'000 per month." } ],
"partialAnswer": [],
"isShortAnswer": true
}
]
},
}
.interview-instruction-grouped
Describes a interview. An interview is like a sequence of several short essays.
All instructions [!...] are grouped in the header instead of displayed individually.
Markup
[.interview-instruction-grouped]
[!Please rewrite the following sentences by using one of the verbs above.]
===
Ich habe den Mörder sofort erkannt.[!identifizieren]
===
Der Umsatz hat in den letzten zehn Jahren stark zugenommen.[!steigern]
===
...
===
...
Flags | Description |
---|---|
[@countInstructions] |
boolean |
Instructions will be counted and the count will be displayed by the client. Default is false. |
.match, .match-all, .match-reverse, .match-all-reverse
Describes a match quiz.
For .match, one of the values (solutions) must match. For .match-all, all values must match.
Markup
Simple text match quiz with titles and example
[.match]
[!Wie heißen die passenden Nomen?]
===
[#Adjektiv]
==
[#Nomen]
===
talentiert[@example]
==
das Talent
===
ausdauernd
==
die Ausdauer
===
fleißig
==
der Fleiß
===
kämpferisch
==
der Kampf
===
.match
Status: Release Candidate v1
match-reverse, match-all-reverse
Status: Release Candidate v1
Key is displayed at the end. Order of key and value do not change in the bitmark description. Key always comes first.
Simple text match quiz with titles and example
[.match]
[%A2a]
[!Wie heißen die passenden Nomen?]
===
[#Adjektiv]
==
[#Nomen]
===
[%a]talentiert[@example]
==
das Talent
===
[%b]ausdauernd
==
die Ausdauer
===
[%c]fleißig
==
der Fleiß
--
der Fleiss
===
[%d]kämpferisch
==
der Kampf
===
{
"type": "match",
"format": "text",
"item": [ { "type": "text", "text": "A2a" } ],
"lead": [],
"instruction": [ { "type": "text", "text": "Wie heißen die passenden Nomen?" } ],
"hint": [],
"heading": {
"forKeys": [ { "type": "text", "text": "Adjektiv" } ],
"forValues": [ { "type": "text", "text": "Nomen" } ],
},
"pairs": [
...
{
"key": "ausdauernd",
"values": ["die Ausdauer"],
"item": [ { "type": "text", "text": "b" } ],
"isCaseSensitive": true,
"hint": [],
"isExample": false,
"example": [],
"isLongAnswer": false,
},
{
"key": "fleißig",
"values": ["der Fleiß", "der Fleiss"],
"item": [ { "type": "text", "text": "c" } ],
"isCaseSensitive": true,
"hint": [],
"isExample": false,
"example": [],
"isLongAnswer": false,
},
...
]
}
Simple text match quiz with alternative solutions
[.match]
[!Please translate.]
===
Fussball
==
football
--
soccer
===
.match-matrix
Status: Release Candidate v1
Describes a match quiz with multiple values per key.
Markup
[.match-matrix]
[!Bring the german verbs into the correct tense.]
===
[#Verb]
==
[#Future, 1st Person, Singular]
==
[#Past, 3rd Person, Plural]
===
gehen
==
ich werde gehen
==
sie gingen
===
sprechen
==
ich werde sprechen
==
sie sprachen
===
Responsive representation in desktop browser
Responsive representation on smart phone
{
"type": "match-matrix",
"format": "text",
"item": [],
"lead": [],
"instruction": [ { "type": "text", "text": "Bring the german verbs into the correct tense." } ],
"hint": [],
"heading": {
"forKeys": [ { "type": "text", "text": "Verb" } ],
"forValues": [ [ { "type": "text", "text": "Future, 1st Person, Singular" } ], [ { "type": "text", "text": "Past, 3rd Person, Plural" } ] ],
},
"matrix": [
...
{
"key": "gehen",
"cells": [
{
"item": [],
"instruction": [],
"values": ["ich werde gehen"],
"isCaseSensitive": true,
"hint": [],
"isExample": false,
"example": []
},
{
"item": [],
"instruction": [],
"values": ["sie gingen"],
"isCaseSensitive": true,
"hint": [],
"isExample": false,
"example": []
},
],
"item": [],
"isLongAnswer": false,
"instruction": [],
"hint": []
},
{
"key": "sprechen",
"cells": [
{
"item": [],
"instruction": [],
"values": ["ich werde sprechen"],
"isCaseSensitive": true,
"hint": [],
"isExample": false,
"example": []
},
{
"item": [],
"instruction": [],
"values": ["sie sprachen"],
"isCaseSensitive": true,
"hint": [],
"isExample": false,
"example": []
},
],
"item": [],
"isLongAnswer": false,
"instruction": [],
"hint": []
},
...
]
}
Match Matrix with instructions and item properties
[.match-matrix]
[!Bring the german verbs into the correct tense.]
===
[#Verb]
==
[#Future, Singular]
==
[#Past, Plural]
===
gehen
==
[!ich] werde gehen [%a1]
==
[!sie] gingen [%a2]
===
sprechen
==
[!ich] werde sprechen [%b1]
==
[!sie] sprachen [%b2]
===
Responsive representation in desktop browser
.match-picture
Status: Release Candidate v1
Describes a match quiz where you match images to text.
Markup
[.match-picture]
[!Name the animals on the pictures.]
===
[&image:https://cdn.bitmark.cloud/books/com.firstpub.book98789/animals/cat.jpg]
==
cat
===
[&image:https://cdn.bitmark.cloud/books/com.firstpub.book98789/animals/cat.jpg]
==
tiger
===
{
"type": "match-picture",
"format": "text",
"item": [],
"lead": [],
"instruction": [ { "type": "text", "text": "Name the animals on the pictures." } ],
"hint": [],
"pairs": [
...
{
"keyImage": {
"width": 200,
"height": 150,
"src":"https://cdn.bitmark.cloud/books/com.firstpub.book98789/animals/cat.jpg",
"src1x":"https://cdn.bitmark.cloud/books/com.firstpub.book98789/animals/cat.jpg"
},
"values": ["cat"],
"item": [],
"instruction": [],
"isCaseSensitive": true,
"hint": [],
"isExample": false,
"example": [],
"isLongAnswer": false,
},
{
"keyImage": {
"width": 200,
"height": 150,
"src":"https://cdn.bitmark.cloud/books/com.firstpub.book98789/animals/tiger.jpg",
"src1x":"https://cdn.bitmark.cloud/books/com.firstpub.book98789/animals/tiger.jpg"
},
"values": ["tiger"],
"item": [],
"instruction": [],
"isCaseSensitive": true,
"hint": [],
"isExample": false,
"example": [],
"isLongAnswer": false,
},
...
]
}
.match-audio
Status: Draft
Describes a match quiz where you match audio to text.
Markup
[.match-audio]
[Listen to the audio and name the animal you are hearing.]
===
[&audio:https://cdn.bitmark.cloud/publishers/3/books/26363/miau.mp3]
==
cat
===
{
"type": "match-audio",
"format": "bitmark--",
"item": [],
"lead": [],
"instruction": [ { "type": "text", "text": "Listen to the audio and name the animal you are hearing." } ],
"hint": [],
"pairs": [
{
"keyAudio": {
"format": "mp3",
"src": "https://cdn.bitmark.cloud/publishers/3/books/26363/miau.mp3"
},
"values": ["cat"],
"item": [],
"instruction": [],
"isCaseSensitive": true,
"hint": [],
"isExample": false,
"example": [],
"isLongAnswer": false,
}
]
}
.match-solution-grouped
Describes a match quiz with grouped solutions.
Markup
match-solution-grouped quiz with titles
[.match-solution-grouped]
[!Wie heißen die passenden Nomen?]
===
[#Adjektiv]
==
[#Nomen]
===
talentiert
==
das Talent
===
ausdauernd
==
die Ausdauer
===
fleißig
==
der Fleiß
===
kämpferisch
==
der Kampf
===
match-solution-grouped supports multiple solutions.
.true-false-1
Status: Draft v1
Describes a super simple true/false quiz. Please also see true-false for a more powerful format.
[.true-false-1]
[+Ein Elefant ist grösser als eine Maus.]
{
"markup": "[.true-false-1]\n[+Ein Elefant ist grösser als eine Maus.]",
"bit": {
"type": ".true-false-1",
"format": "text",
"item": [],
"lead": [],
"instruction": [],
"hint": [],
"statement": [ { "type": "text", "text": "Ein Elefant ist grösser als eine Maus." } ],
"isCorrect": true,
"isExample": false,
...
}
}
<!-- DITA 1.3 True - False Interaction -->
<lcTrueFalse id="tf1">
<title></title>
<lcQuestion>Ein Elefant ist grösser als eine Maus.</lcQuestion>
<lcAnswerOptionGroup>
<lcAnswerOption>
<lcAnswerContent>True</lcAnswerContent>
<lcCorrectResponse/>
</lcAnswerOption>
<lcAnswerOption>
<lcAnswerContent>False</lcAnswerContent>
</lcAnswerOption>
</lcAnswerOptionGroup>
<lcFeedbackIncorrect>Nein, ein Elefant ist grösser als eine Maus.</lcFeedbackIncorrect>
<lcFeedbackCorrect>Ja, ein Elefant ist grösser als eine Maus.</lcFeedbackCorrect>
</lcTrueFalse>
.true-false
Status: Draft v1
Describes a true/false quiz. It allows for several true-false quizzes in a bit and provides support for alternative labels for the values true and false. Please also see true-false-1 for a simpler format.
[.true-false]
[@labelTrue:rather yes][@labelFalse:rather no]
===
[+A house is bigger than a car.]
===
[+A tiger is bigger than a cat.]
===
[-A cow is bigger than a dog.]
===
{
"markup": "...",
"bit": {
"type": "true-false",
"format": "text",
"item": [],
"lead": [],
"instruction": [],
"hint": [],
"hint": [],
"labelTrue": [ { "type": "text", "text": "rather yes" } ],
"labelFalse": [ { "type": "text", "text": "rather no" } ],
"statements": [
{
"statement": [ { "type": "text", "text": "A house is bigger than a car." } ],
"isCorrect": true,
"isExample": false
},
{
"statement": [ { "type": "text", "text": "A tiger is bigger than a cat." } ],
"isCorrect": true,
"isExample": false
},
{
"statement": [ { "type": "text", "text": "A cow is bigger than a dog." } ],
"isCorrect": true,
"isExample": false
}
],
...
},
...
}
Multiple true/false statements and an instruction
[.true-false]
[!What colors can cows have in Switzerland?]
===
[+brown]
===
[+purple, but only in chocolate ads]
===
[-blue]
===
[-green]
===
Simple true/false image quiz
[.true-false&image]
[&image:https://cdn.bitmark.cloud/cat.jpg]
===
[-On the picture, you see a mouse.]
===
[+There is a cat on the picture.]
===
Applications must translate the values true and false into the language of the user interface when displaying.
.sequence
Status: Draft v1
Describes a sequence quiz.
[.sequence]
===
Ein Elefant
--
ist
--
grösser als
--
eine Maus.
===
{
"markup": "[.sequence]\n===\nEin Elefant\n--\nist\n--\ngrösser als\n--\neine Maus.\n===",
"bit": {
"type": "sequence",
"format": "text",
"instruction": [],
"body": [],
"elements": [
[ { "type": "text", "text": "Ein Elefant" } ],
[ { "type": "text", "text": "ist" } ],
[ { "type": "text", "text": "grösser als" } ],
[ { "type": "text", "text": "eine Maus." } ]
],
"item": [],
"hint": [],
"isExample": false,
"example": []
},
...
}
Sequence quiz with bitmark--
[.sequence:bitmark--]
===
**zu oberst**
Dach
--
**oben**
3. Stock
--
**in der Mitte**
2. Stock
--
**in der Mitte**
1. Stock
--
**unten**
Erdgeschoss
--
**zu unterst**
Keller
===
{
"markup": "[.sequence:bitmark--]\n===\n**zu oberst**\nDach\n--\n**oben**\n3. Stock\n--\n**in der Mitte**\n2. Stock\n--\n**in der Mitte**\n1. Stock\n--\n**unten**\nErdgeschoss\n--\n**zu unterst**\nKeller\n===",
"bit": {
"type": "sequence",
"format": "bitmark--",
"instruction": [],
"body": [],
"elements": [
[ { "marks": [ { "type": "bold" } ], "text": "zu oberst", "type": "text" }, { "text": "\n", "type": "text" }, { "text": "Dach", "type": "text" } ],
[ { "marks": [ { "type": "bold" } ], "text": "oben", "type": "text" }, { "text": "\n", "type": "text" }, { "text": "3. Stock", "type": "text" } ],
[ { "marks": [ { "type": "bold" } ], "text": "in der Mitte", "type": "text" }, { "text": "\n", "type": "text" }, { "text": "2. Stock", "type": "text" } ],
[ { "marks": [ { "type": "bold" } ], "text": "in der Mitte", "type": "text" }, { "text": "\n", "type": "text" }, { "text": "1. Stock", "type": "text" } ],
[ { "marks": [ { "type": "bold" } ], "text": "unten", "type": "text" }, { "text": "\n", "type": "text" }, { "text": "nErdgeschoss", "type": "text" } ],
[ { "marks": [ { "type": "bold" } ], "text": "zu unterst*", "type": "text" }, { "text": "\n", "type": "text" }, { "text": "nKeller", "type": "text" } ]
],
"item": [],
"hint": [],
"isExample": false,
"example": []
},
...
}
.correction
Correction exercise
Markup
[.correction]
[!Please correct the following text.]
[-This Text meight has some speling and grammar mistakes.]
Correction with solution
[.correction]
[!Please correct the following text.]
[-This Text meight has some speling and grammar mistakes.]
[+This Text might have some spelling and grammar mistakes.]
Punctuation quiz
[.correction]
[!Please enter the punctuation marks (,.!?"").]
[-Yeah she shouted]
[+"Yeah!", she shouted.]
Capitalization quiz
[.correction]
[!Please correct the upper and lower case..]
[-in der Deutschen sprache spielt die Gross- und kleinschreibung eine Grosse Rolle.]
[+In der deutschen Sprache spielt die Gross- und Kleinschreibung eine grosse Rolle.]
.mark
Mark exercise.
Markup
[.mark]
[!Please mark all ==verbs==(=blue) and ==nouns==(=red).]
When Diaz returned and seated himself to play the Berceuse, I saw that he could look at me without turning his head.
Mark exercise with solution
[.mark]
[!Please mark all ==verbs==(=blue) and ==nouns==(=red).]
When ==Diaz==(=red) ==returned==(=blue) and ==seated==(=blue) himself to ==play==(=blue) the ==Berceuse==(=red), I ==saw==(=blue) that he ==could==(=blue) ==look==(=blue) at me without ==turning==(=blue) his ==head==(=red).
bitmark JSON
{
"markup": "[.mark]\n[!Please mark all ==verbs==(=blue) and ==nouns==(=red).]\n\nWhen ==Diaz==(=red) ==returned==(=blue) and ==seated==(=blue) himself to ==play==(=blue) the ==Berceuse==(=red), I ==saw==(=blue) that he ==could==(=blue) ==look==(=blue) at me without ==turning==(=blue) his ==head==(=red).",
"bit": {
"type": "mark",
"format": "text",
"item": [],
"lead": [],
"instruction": [ { "type": "text", "text": "Please mark all ==verbs==(blue)== and ==nouns==(red)==." } ],
"hint": [],
"body": [
{ "type": "text", "text": "When " },
{
"type": "mark",
"text": "Diaz",
"color": "red",
"item": [],
"instruction": [],
"hint": [],
"isExample": false,
"example": []
},
{ "type": "text", "text": " " },
{
"type": "mark",
"text": "returned",
"color": "blue",
"item": [],
"instruction": [],
"hint": [],
"isExample": false,
"example": []
},
{ "type": "text", "text": " and " },
...
],
...
},
...
}
Please note, that mark quizzes support marks in the instruction and hint as well.
.document-upload
Markup
[.document-upload:mp3]
[!Please upload your favorite song (as mp3-file).]
Do you like music?
.take-picture
Markup
[.take-picture]
[!Take a picture of your art work.]
.record-audio
Markup
[.record-audio]
[!Say "hello"]
.preparation-note
Markup
[.preparation-note]
[!Prepare to discuss this question in the next session. Take some notes to help you.]
Do you like music?
.assignment
Markup
[.assignment]
[!Read the following text.]
Once upon a time...
Assignment is very close to an article. The difference is, that this is a "quiz" and therefore has an instruction property. The distinction is important for display, sharing, ...
.flashcard-1, .flashcard
Flashcards contain one question ("front side" of the card) and one or more answers ("back side").
.flashcard-1 describes simple text only flashcards.
.flashcard adds support for pictures (on both sides) and instructions to describe optional details.
Markup
Simple Flashcard
[.flashcard-1]
====
date
--
A sweet, dark brown oval fruit containing a hard stone, usually eaten dried.
Flashcard with several alternative answers
[.flashcard-1]
====
date
--
The day of the month or year as specified by a number.
++
A social or romantic appointment or engagement.
++
A sweet, dark brown oval fruit containing a hard stone, usually eaten dried.
~~~~
Optional Footer
Flashcard with several alternative answers and pictures for some of the answers
[.flashcard]
Some body
====
date
--
The day of the month or year as specified by a number.
[&image:https://cdn.bitmark.cloud/pictures/calendar.jpg]
++
A social or romantic appointment or engagement.
++
A sweet, dark brown oval fruit containing a hard stone, usually eaten dried.
[&image:https://cdn.bitmark.cloud/pictures/fruit.jpg]
====
Question 2?
--
Answer 2
with second line
~~~~
Optional Footer
.vocabulary, .vocabulary-1
Vocabulary bits are like flash cards for language learning with 3 sides. The first one for the term ("question"), the second one for the definition ("answer(s)") and an optional third one for an example sentence.
Every side supports an image file and multiple audio files for sample pronunciations, both optional.
Instructions, phonetics (International Phonetic Alphabet (IPA)) and part of speech meta data are supported as well.
Markup
Vocabulary
[.vocabulary]
Basic english vocabulary
===
Woche
[&image:media/images/calendar_week.jpg]
[@language:de]
[@pos:noun]
[@gender:f]
[@number:singular]
==
week
[@language:en]
[@ipa:'wi:k]
[@pronunciation:media/audio/week.mp3]
==
Alex tells Sandra that his band will be playing in Kensington next week.
[@language:en]
===
feste Freundin
[@language:de]
[@pos:noun]
==
girlfriend [!m. boyfriend]
[@language:en]
[@ipa:ˈɡɜːlfrɛnd]
[@pronunciation:media/audio/girlfriend.mp3]
==
Alex tells Sandra that his band will be playing in Kensington next week.
[@language:en]
===
Vocabulary with several answers
[.vocabulary-1]
Seitenlinie
[@language:de]
==
side line
[@language:en-gb]
[@ipa:ˈsʌɪdlʌɪn]
[@pronunciation:media/audio/sideline_brit.mp3]
--
side line
[@language:en-us]
[@ipa:ˈssaɪdlaɪn]
[@pronunciation:media/audio/sideline_us.mp3]
--
touch line
[@language:en]
bitmark Tags | JSON Properties, Description, Example |
---|---|
[@pos:...] |
pos, string (id) |
Defines the part of speech (pos) of the term. | |
Supported values are adj (adjective), adp (adposition), adv (adverb), aux (auxiliary), cconj (coordinating conjunction), det (determiner), intj (interjection), noun (noun), num (numeral), part (particle), pron (pronoun), propn (proper noun), punct (punctuation), sconj (subordinating conjunction), sym (symbol), verb (verb) and x (other). | |
https://universaldependencies.org/u/pos/ | |
[@number:...] |
number, string (id) |
Defines the term's grammatical number. | |
Supported values are singular, plural and dual (used in languages, such as Arabic). | |
[@person:...] |
person, string (id) |
Defines the term's grammatical person. | |
Supported values are 1st, 2nd, 3rd and reflexive. | |
[@gender:...] |
gender, string (id) |
Defines the term's grammatical gender. | |
Supported values are f, m and n. | |
[@case:...] |
case, string (id) |
Defines the term's grammatical case. | |
Supported values are accusative, adverbial, complementive, dative, genitive, instrumental, locative, nominative, oblique, partitive, prepositional, reflexive, relative and vocative. | |
[@tense:...] |
tense, string (id) |
Defines the term's grammatical tense. | |
Supported values are conditional, future, imperfect, past, pluperfect and present. | |
[@lemma:...] |
lemma, string |
Defines the word's lemma. | |
Example: ran [@lemma:run] |
|
[@pronunciation:...][@speaker:...] |
pronunciation, string speaker, string, optionally chained |
URL of an audio file with a sample pronunciation and optional display name of the speaker/voice. Multiple pronunciation audio files are supported. | |
[@ipa:...] |
ipa string |
Phonetics (International Phonetic Alphabet (IPA)) |