This is work in development. Use it at your own risk.
This is a plugin example for gitbook and allows you to:
- Create
{% regexp %}
exercises: The answer to the posed question is validated using a regular expresion written by the gitbook author (Using XRegExp) - Create
{% questionjs %}
exercises: The answer to the psoed question is validated using a JavaScript function written by the gitbook author
To use the jazer
plugin in your Gitbook project, add the jazer
plugin to the book.json
file, then install the plugins using gitbook install
.
{
"plugins": ["jazer"]
}
{% regexp %}
¿Who discovered America?
{% solution %}
Christopher Columbus
{% validation %}
/(\s*(Crist[oó]bal\s+)?Col[oó]n\s*)|((Christopher\s+)?Columbus)/i
{% endregexp %}
regexp
example using XRegExp:
You can also use XRegExp:
{% regexp %}
Who were the Spanish kings when America was discovered?
{% solution %}
Catholic Monarchs, also called Catholic Kings, or Catholic Majesties, Spanish Reyes Católicos, Ferdinand II of Aragon and Isabella I of Castile
{% validation %}
/
(Catholic\s+Monarchs) |
(Catholic\s+Kings) |
(Catholic\s+Majesties) |
((Spanish)?\s+Reyes\s+Católicos) |
(Ferdinand(\s+II)?(\s+of\s+Aragon)?(\s+and)?(\s+Isabella)(\s+I)?(\s+of\s+Castill?e) |
(Isabella)(\s+I)?(\s+of\s+Castill?e)(\s+and)?\s+(Ferdinand(\s+II)?(of\s+Aragon)?
/ix
{% endregexp %}
{% questionjs width="30%", height="10%", color="#BB504B"%}
Who were the Spanish kings when America was discovered?
{% solution %}
Catholic Monarchs, also called Catholic Kings, or Catholic Majesties, Spanish Reyes Católicos, Ferdinand II of Aragon and Isabella I of Castile
{% validation %}
function(answer) {
if (answer.match(/Catholic\s+(Monarchs|Kings|Majesties)/i)) return true;
if (answer.match(/(Spanish\s+)?Reyes\s+Cat[oó]licos/i)) return true;
if (answer.match(/isabel|isabella/i && respuesta.match(/fernando|ferdinand/i) )) return true;
}
{% endquestionjs %}
For each exercise you can specify four parameters: width
, height
, color and
gutter`
{% questionjs width="30%", height="10%", color="#BB504B", gutter="true"%}
- The
width
andheight
must be a percentage, color
can be any CSS valid value andgutter
must betrue
orfalse
(whether to show or not thegutter
).
- For
regexp
questions analert
window will open in case the XRegExp has errors. - For
questionjs
questions analert
window will open in case the function code has errors.
In the following regular expression the open parenthesis has no matching closing parenthesis:
{% regexp %}
¿Quienes reinaban en España cuando se descubrió America?
{% solution %}
Los Reyes Católicos
{% validation %}
/
(Isabel\s+ # paréntesis abrir
y
\s+Fernando # sin
|
Reyes\s+Cat[oó]licos # paréntesis cerrar
/ix
{% endregexp %}
When the plugin is processed it emits an alert
with the error message: