fix: autoformat problem block template files using djlint (#37760)
This commit is contained in:
@@ -1,62 +1,61 @@
|
||||
{% load static %}
|
||||
<div class="annotation-input">
|
||||
<div class="script_placeholder" data-src="{% static 'js/capa/annotationinput.js' %}"/>
|
||||
|
||||
<div class="annotation-header">
|
||||
{{ title|safe }}
|
||||
|
||||
{% if return_to_annotation %}
|
||||
<a class="annotation-return" href="javascript:void(0)">Return to Annotation</a><br/>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="annotation-body">
|
||||
|
||||
<div class="block block-highlight">{{ text|safe }}</div>
|
||||
<div class="block block-comment">{{ comment|safe }}</div>
|
||||
|
||||
<div class="block">{{ comment_prompt|safe }}</div>
|
||||
<textarea class="comment" id="input_{{ id }}_comment" name="input_{{ id }}_comment" aria-describedby="answer_{{ id }}">{{ comment_value|safe }}</textarea>
|
||||
|
||||
<div class="block" id="label_{{ id }}">{{ tag_prompt|safe }}</div>
|
||||
<ul class="tags">
|
||||
{% for option in options %}
|
||||
<li>
|
||||
{% if has_options_value %}
|
||||
{% if option.choice == status.classname and status == status.classname %}
|
||||
<span class="tag-status {{ status.classname }}" aria-describedby="input_{{ id }}_comment">
|
||||
{% include "status_span.html" with status=status %}
|
||||
</span>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
<span class="tag
|
||||
{% if option.id in options_value %}
|
||||
selected
|
||||
{% endif %}
|
||||
" data-id="{{ option.id }}">
|
||||
{{ option.description|safe }}
|
||||
</span>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
{% if debug %}
|
||||
<div class="debug-value">
|
||||
Rendered with value:<br/>
|
||||
<pre>{{ value|safe }}</pre>
|
||||
Current input value:<br/>
|
||||
<input type="text" class="value" name="input_{{ id }}" id="input_{{ id }}" value="{{ value }}" />
|
||||
<div class="script_placeholder"
|
||||
data-src="{% static 'js/capa/annotationinput.js' %}" />
|
||||
<div class="annotation-header">
|
||||
{{ title|safe }}
|
||||
{% if return_to_annotation %}
|
||||
<a class="annotation-return" href="javascript:void(0)">Return to Annotation</a>
|
||||
<br />
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="annotation-body">
|
||||
<div class="block block-highlight">{{ text|safe }}</div>
|
||||
<div class="block block-comment">{{ comment|safe }}</div>
|
||||
<div class="block">{{ comment_prompt|safe }}</div>
|
||||
<textarea class="comment"
|
||||
id="input_{{ id }}_comment"
|
||||
name="input_{{ id }}_comment"
|
||||
aria-describedby="answer_{{ id }}">{{ comment_value|safe }}</textarea>
|
||||
<div class="block" id="label_{{ id }}">{{ tag_prompt|safe }}</div>
|
||||
<ul class="tags">
|
||||
{% for option in options %}
|
||||
<li>
|
||||
{% if has_options_value %}
|
||||
{% if option.choice == status.classname and status == status.classname %}
|
||||
<span class="tag-status {{ status.classname }}"
|
||||
aria-describedby="input_{{ id }}_comment">
|
||||
{% include "status_span.html" with status=status %}
|
||||
</span>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
<span class="tag {% if option.id in options_value %}selected{% endif %} "
|
||||
data-id="{{ option.id }}">{{ option.description|safe }}</span>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% if debug %}
|
||||
<div class="debug-value">
|
||||
Rendered with value:
|
||||
<br />
|
||||
<pre>{{ value|safe }}</pre>
|
||||
Current input value:
|
||||
<br />
|
||||
<input type="text"
|
||||
class="value"
|
||||
name="input_{{ id }}"
|
||||
id="input_{{ id }}"
|
||||
value="{{ value }}" />
|
||||
</div>
|
||||
{% else %}
|
||||
<input type="hidden"
|
||||
class="value"
|
||||
name="input_{{ id }}"
|
||||
id="input_{{ id }}"
|
||||
value="{{ value }}" />
|
||||
{% endif %}
|
||||
{% include "status_span.html" with status=status status_id=id %}
|
||||
<p id="answer_{{ id }}" class="answer answer-annotation"></p>
|
||||
</div>
|
||||
{% else %}
|
||||
<input type="hidden" class="value" name="input_{{ id }}" id="input_{{ id }}" value="{{ value }}" />
|
||||
{% endif %}
|
||||
|
||||
{% include "status_span.html" with status=status status_id=id %}
|
||||
|
||||
<p id="answer_{{ id }}" class="answer answer-annotation"></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% if msg %}
|
||||
<span class="message" aria-describedby="label_{{ id }}" tabindex="-1">{{ msg|safe }}</span>
|
||||
{% endif %}
|
||||
{% if msg %}<span class="message" aria-describedby="label_{{ id }}" tabindex="-1">{{ msg|safe }}</span>{% endif %}
|
||||
|
||||
@@ -1,21 +1,19 @@
|
||||
<div id="chemicalequationinput_{{ id }}" class="chemicalequationinput">
|
||||
<div class="script_placeholder" data-src="{{ previewer }}"/>
|
||||
|
||||
<div class="script_placeholder" data-src="{{ previewer }}" />
|
||||
<div class="{{ status.classname }}">
|
||||
|
||||
<input type="text" name="input_{{ id }}" id="input_{{ id }}" aria-label="{{ response_data.label|striptags }}"
|
||||
aria-describedby="answer_{{ id }}" data-input-id="{{ id }}" value="{{ value }}"
|
||||
{% if size %}
|
||||
size="{{ size }}"
|
||||
{% endif %}
|
||||
/>
|
||||
|
||||
<p class="indicator-container">
|
||||
{{ value }}
|
||||
{% include "status_span.html" with status=status status_id=id %}
|
||||
</p>
|
||||
|
||||
<div id="input_{{ id }}_preview" class="equation"></div>
|
||||
<p id="answer_{{ id }}" class="answer"></p>
|
||||
</div>
|
||||
<input type="text"
|
||||
name="input_{{ id }}"
|
||||
id="input_{{ id }}"
|
||||
aria-label="{{ response_data.label|striptags }}"
|
||||
aria-describedby="answer_{{ id }}"
|
||||
data-input-id="{{ id }}"
|
||||
value="{{ value }}"
|
||||
{% if size %}size="{{ size }}"{% endif %} />
|
||||
<p class="indicator-container">
|
||||
{{ value }}
|
||||
{% include "status_span.html" with status=status status_id=id %}
|
||||
</p>
|
||||
<div id="input_{{ id }}_preview" class="equation"></div>
|
||||
<p id="answer_{{ id }}" class="answer"></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,46 +1,41 @@
|
||||
<div class="choicegroup capa_inputtype" id="inputtype_{{ id }}">
|
||||
<fieldset {{ describedby_html }}>
|
||||
{% if response_data.label %}
|
||||
<legend id="{{ id }}-legend" class="response-fieldset-legend field-group-hd">{{ response_data.label }}</legend>
|
||||
{% endif %}
|
||||
{% for description_id, description_text in response_data.descriptions.items %}
|
||||
<p class="question-description" id="{{ description_id }}">{{ description_text|safe }}</p>
|
||||
{% endfor %}
|
||||
{% for choice_id, choice_label in choices %}
|
||||
<div class="field">
|
||||
<input type="{{ input_type }}" name="input_{{ id }}{{ name_array_suffix }}" id="input_{{ id }}_{{ choice_id }}"
|
||||
class="field-input input-{{ input_type }}{% if input_type == 'radio' and choice_id == value or input_type != 'radio' and choice_id in value %} submitted{% endif %}" value="{{ choice_id }}"
|
||||
{# If the student selected this choice... #}
|
||||
{% if input_type == 'radio' and choice_id == value or input_type != 'radio' and choice_id in value %}
|
||||
checked="true"
|
||||
{% elif input_type != 'radio' and choice_id in value %}
|
||||
checked="true"
|
||||
{% endif %}
|
||||
/><label id="{{ id }}-{{ choice_id }}-label" for="input_{{ id }}_{{ choice_id }}"
|
||||
class="response-label field-label label-inline{% if choice_id in value and status.classname and show_correctness != 'never' %} choicegroup_{{ status.classname }}{% endif %}"
|
||||
{{ describedby_html }}
|
||||
>
|
||||
<div>
|
||||
{{ choice_label|safe }}
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
{% endfor %}
|
||||
<span id="answer_{{ id }}"></span>
|
||||
</fieldset>
|
||||
<div class="indicator-container">
|
||||
{% if show_correctness != 'never' %}
|
||||
{% include "status_span.html" with status=status status_id=id %}
|
||||
{% else %}
|
||||
{% include "status_span.html" with status=status status_id=id hide_correctness=True %}
|
||||
{% if response_data.label %}
|
||||
<legend id="{{ id }}-legend" class="response-fieldset-legend field-group-hd">{{ response_data.label }}</legend>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if show_correctness == "never" %}
|
||||
{% if value or status != "unsubmitted" %}
|
||||
<div class="capa_alert">{{ submitted_message|safe }}</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if msg %}
|
||||
<span class="message" aria-describedby="{{ id }}-legend" tabindex="-1">{{ msg|safe }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% for description_id, description_text in response_data.descriptions.items %}
|
||||
<p class="question-description" id="{{ description_id }}">{{ description_text|safe }}</p>
|
||||
{% endfor %}
|
||||
{% for choice_id, choice_label in choices %}
|
||||
<div class="field">
|
||||
<input type="{{ input_type }}" name="input_{{ id }}{{ name_array_suffix }}" id="input_{{ id }}_{{ choice_id }}"
|
||||
class="field-input input-{{ input_type }}{% if input_type == 'radio' and choice_id == value or input_type != 'radio' and choice_id in value %} submitted{% endif %}" value="{{ choice_id }}"
|
||||
{# If the student selected this choice... #}
|
||||
{% if input_type == 'radio' and choice_id == value or input_type != 'radio' and choice_id in value %}
|
||||
checked="true"
|
||||
{% elif input_type != 'radio' and choice_id in value %}
|
||||
checked="true"
|
||||
{% endif %}
|
||||
/>
|
||||
<label id="{{ id }}-{{ choice_id }}-label"
|
||||
for="input_{{ id }}_{{ choice_id }}"
|
||||
class="response-label field-label label-inline{% if choice_id in value and status.classname and show_correctness != 'never' %} choicegroup_{{ status.classname }}{% endif %}"
|
||||
{{ describedby_html }}>
|
||||
<div>{{ choice_label|safe }}</div>
|
||||
</label>
|
||||
</div>
|
||||
{% endfor %}
|
||||
<span id="answer_{{ id }}"></span>
|
||||
</fieldset>
|
||||
<div class="indicator-container">
|
||||
{% if show_correctness != 'never' %}
|
||||
{% include "status_span.html" with status=status status_id=id %}
|
||||
{% else %}
|
||||
{% include "status_span.html" with status=status status_id=id hide_correctness=True %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if show_correctness == "never" %}
|
||||
{% if value or status != "unsubmitted" %}<div class="capa_alert">{{ submitted_message|safe }}</div>{% endif %}
|
||||
{% endif %}
|
||||
{% if msg %}<span class="message" aria-describedby="{{ id }}-legend" tabindex="-1">{{ msg|safe }}</span>{% endif %}
|
||||
</div>
|
||||
|
||||
@@ -1,72 +1,61 @@
|
||||
{% load i18n %}
|
||||
{% load static %}
|
||||
|
||||
{% with element_checked=False %}
|
||||
{% for choice_id, _ in choices %}
|
||||
{% if choice_id in value %}
|
||||
{% with element_checked=True %}
|
||||
{% endwith %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
<section id="choicetextinput_{{ id }}" class="choicetextinput">
|
||||
<div class="choicetextgroup capa_inputtype" id="inputtype_{{ id }}">
|
||||
<div class="script_placeholder" data-src="{% static 'js/capa/choicetextinput.js' %}"/>
|
||||
|
||||
<fieldset aria-label="{{ response_data.label|striptags }}">
|
||||
{% for choice_id, choice_description in choices %}
|
||||
<section id="forinput{{ choice_id }}"
|
||||
{% if input_type == 'radio' and choice_id in value %}
|
||||
{% if status.classname %}
|
||||
class="choicetextgroup_{{ status.classname }}"
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
>
|
||||
<input class="ctinput" type="{{ input_type }}" name="choiceinput_{{ id }}" id="{{ choice_id }}" value="{{ choice_id }}"
|
||||
|
||||
{% if choice_id in value %}
|
||||
checked="true"
|
||||
{% endif %}
|
||||
/>
|
||||
|
||||
{% for content_node in choice_description %}
|
||||
{% if content_node.type == 'text' %}
|
||||
<span class="mock_label">
|
||||
{{ content_node.contents }}
|
||||
</span>
|
||||
{% else %}
|
||||
{% with my_id=content_node.contents|default:'' %}
|
||||
{% with my_val=value.my_id|default:'' %}
|
||||
<input class="ctinput" type="text" name="{{ content_node.contents }}" id="{{ content_node.contents }}" value="{{ my_val }}"/>
|
||||
{% endwith %}
|
||||
{% endwith %}
|
||||
{% endif %}
|
||||
<span class="mock_label">
|
||||
{{ content_node.tail_text }}
|
||||
</span>
|
||||
|
||||
{% endfor %}
|
||||
<p id="answer_{{ choice_id }}" class="answer"></p>
|
||||
</section>
|
||||
|
||||
{% endfor %}
|
||||
<span id="answer_{{ id }}"></span>
|
||||
</fieldset>
|
||||
<input class= "choicetextvalue" type="hidden" name="input_{{ id }}{}" id="input_{{ id }}" value="{{ value }}" />
|
||||
|
||||
<div class="indicator-container">
|
||||
{% if input_type == 'checkbox' or not value or status.classname == 'incomplete' or status.classname == 'unsubmitted' or status.classname == 'unanswered' %}
|
||||
{% include "status_span.html" with status=status status_id=id %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% if show_correctness == "never" %}
|
||||
{% if value or status != "unsubmitted" %}
|
||||
<div class="capa_alert">{{ submitted_message }}</div>
|
||||
{% for choice_id, _ in choices %}
|
||||
{% if choice_id in value %}
|
||||
{% with element_checked=True %}{% endwith %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if msg %}
|
||||
<span class="message" tabindex="-1">{{ msg|safe }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
</section>
|
||||
{% endfor %}
|
||||
<section id="choicetextinput_{{ id }}" class="choicetextinput">
|
||||
<div class="choicetextgroup capa_inputtype" id="inputtype_{{ id }}">
|
||||
<div class="script_placeholder"
|
||||
data-src="{% static 'js/capa/choicetextinput.js' %}" />
|
||||
<fieldset aria-label="{{ response_data.label|striptags }}">
|
||||
{% for choice_id, choice_description in choices %}
|
||||
<section id="forinput{{ choice_id }}"
|
||||
{% if input_type == 'radio' and choice_id in value %} {% if status.classname %}class="choicetextgroup_{{ status.classname }}"{% endif %}
|
||||
{% endif %}>
|
||||
<input class="ctinput"
|
||||
type="{{ input_type }}"
|
||||
name="choiceinput_{{ id }}"
|
||||
id="{{ choice_id }}"
|
||||
value="{{ choice_id }}"
|
||||
{% if choice_id in value %}checked="true"{% endif %} />
|
||||
{% for content_node in choice_description %}
|
||||
{% if content_node.type == 'text' %}
|
||||
<span class="mock_label">{{ content_node.contents }}</span>
|
||||
{% else %}
|
||||
{% with my_id=content_node.contents|default:'' %}
|
||||
{% with my_val=value.my_id|default:'' %}
|
||||
<input class="ctinput"
|
||||
type="text"
|
||||
name="{{ content_node.contents }}"
|
||||
id="{{ content_node.contents }}"
|
||||
value="{{ my_val }}" />
|
||||
{% endwith %}
|
||||
{% endwith %}
|
||||
{% endif %}
|
||||
<span class="mock_label">{{ content_node.tail_text }}</span>
|
||||
{% endfor %}
|
||||
<p id="answer_{{ choice_id }}" class="answer"></p>
|
||||
</section>
|
||||
{% endfor %}
|
||||
<span id="answer_{{ id }}"></span>
|
||||
</fieldset>
|
||||
<input class="choicetextvalue"
|
||||
type="hidden"
|
||||
name="input_{{ id }}{}"
|
||||
id="input_{{ id }}"
|
||||
value="{{ value }}" />
|
||||
<div class="indicator-container">
|
||||
{% if input_type == 'checkbox' or not value or status.classname == 'incomplete' or status.classname == 'unsubmitted' or status.classname == 'unanswered' %}
|
||||
{% include "status_span.html" with status=status status_id=id %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if show_correctness == "never" %}
|
||||
{% if value or status != "unsubmitted" %}<div class="capa_alert">{{ submitted_message }}</div>{% endif %}
|
||||
{% endif %}
|
||||
{% if msg %}<span class="message" tabindex="-1">{{ msg|safe }}</span>{% endif %}
|
||||
</div>
|
||||
</section>
|
||||
{% endwith %}
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
<span class="clarification" tabindex="0" role="note" aria-label="Clarification">
|
||||
<span data-tooltip="{{ clarification }}" data-tooltip-show-on-click="true"
|
||||
class="fa fa-info-circle" aria-hidden="true"></span>
|
||||
<span class="clarification"
|
||||
tabindex="0"
|
||||
role="note"
|
||||
aria-label="Clarification">
|
||||
<span data-tooltip="{{ clarification }}"
|
||||
data-tooltip-show-on-click="true"
|
||||
class="fa fa-info-circle"
|
||||
aria-hidden="true"></span>
|
||||
<span class="sr">({{ clarification }})</span>
|
||||
</span>
|
||||
|
||||
@@ -1,46 +1,31 @@
|
||||
{% load i18n %}
|
||||
<div id="textbox_{{ id }}" class="capa_inputtype textbox cminput">
|
||||
{% if response_data.label %}
|
||||
<label class="problem-group-label" for="cm-textarea-{{ id }}">{{ response_data.label }}</label>
|
||||
{% else %}
|
||||
<label class="sr problem-group-label" for="cm-textarea-{{ id }}">{% trans "Code Editor" as editor_label %}{{ editor_label|force_escape }}</label>
|
||||
{% endif %}
|
||||
<textarea rows="{{ rows }}" cols="{{ cols }}" name="input_{{ id }}"
|
||||
aria-label="{{ aria_label }}"
|
||||
aria-describedby="answer_{{ id }}"
|
||||
id="input_{{ id }}"
|
||||
tabindex="0"
|
||||
data-mode="{{ mode }}"
|
||||
data-tabsize="{{ tabsize }}"
|
||||
{% if linenumbers %}
|
||||
data-linenums="true"
|
||||
{% endif %}
|
||||
{% if hidden %}
|
||||
style="display:none;"
|
||||
{% endif %}
|
||||
>{{ value }}</textarea>
|
||||
<span class="cm-editor-exit-message capa-message" id="cm-editor-exit-message-{{ id }}">
|
||||
{{ code_mirror_exit_message }}
|
||||
</span>
|
||||
|
||||
<div class="grader-status" tabindex="-1">
|
||||
|
||||
{% include "status_span.html" with status=status status_id=id %}
|
||||
|
||||
{% if status == 'queued' %}
|
||||
<span style="display:none;" class="xqueue" id="{{ id }}">{{ queue_len }}</span>
|
||||
{% if response_data.label %}
|
||||
<label class="problem-group-label" for="cm-textarea-{{ id }}">{{ response_data.label }}</label>
|
||||
{% else %}
|
||||
<label class="sr problem-group-label" for="cm-textarea-{{ id }}">
|
||||
{% trans "Code Editor" as editor_label %}{{ editor_label|force_escape }}
|
||||
</label>
|
||||
{% endif %}
|
||||
|
||||
{% if hidden %}
|
||||
<div style="display:none;" name="{{ hidden }}" inputid="input_{{ id }}" />
|
||||
{% endif %}
|
||||
|
||||
<p class="debug">{{ status.display_name }}</p>
|
||||
</div>
|
||||
|
||||
<span id="answer_{{ id }}"></span>
|
||||
|
||||
<div class="external-grader-message">
|
||||
{{ msg|safe }}
|
||||
</div>
|
||||
<textarea rows="{{ rows }}"
|
||||
cols="{{ cols }}"
|
||||
name="input_{{ id }}"
|
||||
aria-label="{{ aria_label }}"
|
||||
aria-describedby="answer_{{ id }}"
|
||||
id="input_{{ id }}"
|
||||
tabindex="0"
|
||||
data-mode="{{ mode }}"
|
||||
data-tabsize="{{ tabsize }}"
|
||||
{% if linenumbers %} data-linenums="true" {% endif %}
|
||||
{% if hidden %} style="display:none;" {% endif %}>{{ value }}</textarea>
|
||||
<span class="cm-editor-exit-message capa-message"
|
||||
id="cm-editor-exit-message-{{ id }}">{{ code_mirror_exit_message }}</span>
|
||||
<div class="grader-status" tabindex="-1">
|
||||
{% include "status_span.html" with status=status status_id=id %}
|
||||
{% if status == 'queued' %}<span style="display:none;" class="xqueue" id="{{ id }}">{{ queue_len }}</span>{% endif %}
|
||||
{% if hidden %}<div style="display:none;" name="{{ hidden }}" inputid="input_{{ id }}" />{% endif %}
|
||||
<p class="debug">{{ status.display_name }}</p>
|
||||
</div>
|
||||
<span id="answer_{{ id }}"></span>
|
||||
<div class="external-grader-message">{{ msg|safe }}</div>
|
||||
</div>
|
||||
|
||||
@@ -1,29 +1,29 @@
|
||||
<section id="inputtype_{{ id }}" class="capa_inputtype" >
|
||||
<div class="crystalography_problem" style="width:{{ width }};height:{{ height }}"></div>
|
||||
|
||||
{% load static %}
|
||||
<section id="inputtype_{{ id }}" class="capa_inputtype">
|
||||
<div class="crystalography_problem"
|
||||
style="width:{{ width }};
|
||||
height:{{ height }}"></div>
|
||||
<div class="input_lattice">
|
||||
Lattice: <select></select>
|
||||
Lattice:
|
||||
<select></select>
|
||||
</div>
|
||||
|
||||
<div class="script_placeholder" data-src="/static/js/raphael.js"></div>
|
||||
<div class="script_placeholder" data-src="/static/js/sylvester.js"></div>
|
||||
<div class="script_placeholder" data-src="/static/js/crystallography.js"></div>
|
||||
|
||||
<div class="script_placeholder" data-src="{% static 'js/raphael.js' %}"></div>
|
||||
<div class="script_placeholder" data-src="{% static 'js/sylvester.js' %}"></div>
|
||||
<div class="script_placeholder"
|
||||
data-src="{% static 'js/crystallography.js' %}"></div>
|
||||
{% if status == 'unsubmitted' or status == 'correct' or status == 'incorrect' or status == 'partially-correct' or status == 'incomplete' %}
|
||||
<div class="status {{ status.classname }}" id="status_{{ id }}">
|
||||
{% endif %}
|
||||
|
||||
<input type="text" name="input_{{ id }}" aria-describedby="answer_{{ id }}" id="input_{{ id }}" value="{{ value }}" style="display:none;"/>
|
||||
|
||||
{% include "status_span.html" with status=status status_id=id %}
|
||||
|
||||
<p id="answer_{{ id }}" class="answer"></p>
|
||||
|
||||
{% if msg %}
|
||||
<span class="message" tabindex="-1">{{ msg|safe }}</span>
|
||||
{% endif %}
|
||||
|
||||
{% if status == 'unsubmitted' or status == 'correct' or status == 'incorrect' or status == 'partially-correct' or status == 'incomplete' %}
|
||||
{% endif %}
|
||||
<input type="text"
|
||||
name="input_{{ id }}"
|
||||
aria-describedby="answer_{{ id }}"
|
||||
id="input_{{ id }}"
|
||||
value="{{ value }}"
|
||||
style="display:none" />
|
||||
{% include "status_span.html" with status=status status_id=id %}
|
||||
<p id="answer_{{ id }}" class="answer"></p>
|
||||
{% if msg %}<span class="message" tabindex="-1">{{ msg|safe }}</span>{% endif %}
|
||||
{% if status == 'unsubmitted' or status == 'correct' or status == 'incorrect' or status == 'partially-correct' or status == 'incomplete' %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</section>
|
||||
|
||||
@@ -1,19 +1,25 @@
|
||||
{% load static %}
|
||||
<section id="designprotein2dinput_{{ id }}" class="designprotein2dinput">
|
||||
<div class="script_placeholder" data-src="/static/js/capa/protex/protex.nocache.js?raw"/>
|
||||
<div class="script_placeholder" data-src="{{ applet_loader }}"/>
|
||||
|
||||
<div class="script_placeholder"
|
||||
data-src="{% static 'js/capa/protex/protex.nocache.js' %}" />
|
||||
<div class="script_placeholder" data-src="{{ applet_loader }}" />
|
||||
{% if status == 'unsubmitted' or status == 'correct' or status == 'incorrect' or status == 'partially-correct' or status == 'incomplete' %}
|
||||
<div class="{{ status.classname }}" id="status_{{ id }}">
|
||||
{% endif %}
|
||||
|
||||
<div id="protex_container"></div>
|
||||
<input type="hidden" name="target_shape" id="target_shape" value ="{{ target_shape }}"></input>
|
||||
<input type="hidden" name="input_{{ id }}" id="input_{{ id }}" aria-describedby="answer_{{ id }}" value="{{ value }}"/>
|
||||
|
||||
<div class="{{ status.classname }}" id="status_{{ id }}">
|
||||
{% endif %}
|
||||
<div id="protex_container"></div>
|
||||
<input type="hidden"
|
||||
name="target_shape"
|
||||
id="target_shape"
|
||||
value="{{ target_shape }}">
|
||||
</input>
|
||||
<input type="hidden"
|
||||
name="input_{{ id }}"
|
||||
id="input_{{ id }}"
|
||||
aria-describedby="answer_{{ id }}"
|
||||
value="{{ value }}" />
|
||||
{% include "status_span.html" with status=status status_id=id %}
|
||||
|
||||
<p id="answer_{{ id }}" class="answer"></p>
|
||||
{% if status == 'unsubmitted' or status == 'correct' or status == 'incorrect' or status == 'partially-correct' or status == 'incomplete' %}
|
||||
</div>
|
||||
{% if status == 'unsubmitted' or status == 'correct' or status == 'incorrect' or status == 'partially-correct' or status == 'incomplete' %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</section>
|
||||
|
||||
@@ -1,34 +1,27 @@
|
||||
{% load static %}
|
||||
<div id="inputtype_{{ id }}" class="capa_inputtype">
|
||||
<div class="drag_and_drop_problem_div" id="drag_and_drop_div_{{ id }}"
|
||||
data-plain-id="{{ id }}">
|
||||
</div>
|
||||
|
||||
<div class="drag_and_drop_problem_json" id="drag_and_drop_json_{{ id }}"
|
||||
style="display:none;">{{ drag_and_drop_json|safe }}</div>
|
||||
|
||||
<div class="script_placeholder" data-src="{% static 'js/capa/drag_and_drop.js' %}"></div>
|
||||
|
||||
<div class="drag_and_drop_problem_div"
|
||||
id="drag_and_drop_div_{{ id }}"
|
||||
data-plain-id="{{ id }}"></div>
|
||||
<div class="drag_and_drop_problem_json"
|
||||
id="drag_and_drop_json_{{ id }}"
|
||||
style="display:none">{{ drag_and_drop_json|safe }}</div>
|
||||
<div class="script_placeholder"
|
||||
data-src="{% static 'js/capa/drag_and_drop.js' %}"></div>
|
||||
{% if status == 'unsubmitted' or status == 'correct' or status == 'incorrect' or status == 'partially-correct' or status == 'incomplete' %}
|
||||
<div class="{{ status.classname }}" id="status_{{ id }}">
|
||||
{% endif %}
|
||||
|
||||
|
||||
<input type="text" name="input_{{ id }}" id="input_{{ id }}" aria-describedby="answer_{{ id }}" value="{{ value }}"
|
||||
style="display:none;"/>
|
||||
|
||||
|
||||
<p class="indicator-container drag-and-drop--status" aria-describedby="input_{{ id }}">
|
||||
{% include "status_span.html" with status=status status_id=id %}
|
||||
</p>
|
||||
|
||||
<p id="answer_{{ id }}" class="answer"></p>
|
||||
|
||||
{% if msg %}
|
||||
<span class="message" tabindex="-1">{{ msg|safe }}</span>
|
||||
{% endif %}
|
||||
|
||||
{% if status == 'unsubmitted' or status == 'correct' or status == 'incorrect' or status == 'partially-correct' or status == 'incomplete' %}
|
||||
{% endif %}
|
||||
<input type="text"
|
||||
name="input_{{ id }}"
|
||||
id="input_{{ id }}"
|
||||
aria-describedby="answer_{{ id }}"
|
||||
value="{{ value }}"
|
||||
style="display:none" />
|
||||
<p class="indicator-container drag-and-drop--status"
|
||||
aria-describedby="input_{{ id }}">{% include "status_span.html" with status=status status_id=id %}</p>
|
||||
<p id="answer_{{ id }}" class="answer"></p>
|
||||
{% if msg %}<span class="message" tabindex="-1">{{ msg|safe }}</span>{% endif %}
|
||||
{% if status == 'unsubmitted' or status == 'correct' or status == 'incorrect' or status == 'partially-correct' or status == 'incomplete' %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
@@ -1,23 +1,32 @@
|
||||
<section id="editageneinput_{{ id }}" class="editageneinput">
|
||||
<div class="script_placeholder" data-src="/static/js/capa/genex/genex.nocache.js?raw"/>
|
||||
<div class="script_placeholder" data-src="{{ applet_loader }}"/>
|
||||
|
||||
{% load static %}
|
||||
<section id="editageneinput_{{ id }}" class="editageneinput">
|
||||
<div class="script_placeholder"
|
||||
data-src="{% static 'js/capa/genex/genex.nocache.js' %}" />
|
||||
<div class="script_placeholder" data-src="{{ applet_loader }}" />
|
||||
{% if status == 'unsubmitted' or status == 'correct' or status == 'incorrect' or status == 'partially-correct' or status == 'incomplete' %}
|
||||
<div class="{{ status.classname }}">
|
||||
{% endif %}
|
||||
|
||||
<div id="genex_container"></div>
|
||||
<input type="hidden" name="genex_dna_sequence" id="genex_dna_sequence" value ="{{ genex_dna_sequence }}"></input>
|
||||
<input type="hidden" name="genex_problem_number" id="genex_problem_number" value ="{{ genex_problem_number }}"></input>
|
||||
<input type="hidden" name="input_{{ id }}" aria-describedby="answer_{{ id }}" id="input_{{ id }}" value="{{ value }}"/>
|
||||
|
||||
<p class="indicator-container" aria-describedby="input_{{ id }}">
|
||||
{% include "status_span.html" with status=status status_id=id %}
|
||||
</p>
|
||||
|
||||
<p id="answer_{{ id }}" class="answer"></p>
|
||||
{% if status == 'unsubmitted' or status == 'correct' or status == 'incorrect' or status == 'partially-correct' or status == 'incomplete' %}
|
||||
</div>
|
||||
<div class="{{ status.classname }}">
|
||||
{% endif %}
|
||||
<div id="genex_container"></div>
|
||||
<input type="hidden"
|
||||
name="genex_dna_sequence"
|
||||
id="genex_dna_sequence"
|
||||
value="{{ genex_dna_sequence }}">
|
||||
</input>
|
||||
<input type="hidden"
|
||||
name="genex_problem_number"
|
||||
id="genex_problem_number"
|
||||
value="{{ genex_problem_number }}">
|
||||
</input>
|
||||
<input type="hidden"
|
||||
name="input_{{ id }}"
|
||||
aria-describedby="answer_{{ id }}"
|
||||
id="input_{{ id }}"
|
||||
value="{{ value }}" />
|
||||
<p class="indicator-container" aria-describedby="input_{{ id }}">
|
||||
{% include "status_span.html" with status=status status_id=id %}
|
||||
</p>
|
||||
<p id="answer_{{ id }}" class="answer"></p>
|
||||
{% if status == 'unsubmitted' or status == 'correct' or status == 'incorrect' or status == 'partially-correct' or status == 'incomplete' %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</section>
|
||||
|
||||
|
||||
@@ -1,28 +1,32 @@
|
||||
<section id="editamoleculeinput_{{ id }}" class="editamoleculeinput">
|
||||
<div class="script_placeholder" data-src="{{ applet_loader }}"/>
|
||||
|
||||
<div class="script_placeholder" data-src="{{ applet_loader }}" />
|
||||
{% if status == 'unsubmitted' or status == 'correct' or status == 'incorrect' or status == 'partially-correct' or status == 'incomplete' %}
|
||||
<div class="{{ status.classname }}">
|
||||
<div class="{{ status.classname }}">
|
||||
{% endif %}
|
||||
<div id="applet_{{ id }}"
|
||||
class="applet"
|
||||
data-molfile-src="{{ file }}"
|
||||
style="display:block;
|
||||
width:500px;
|
||||
height:400px"></div>
|
||||
<br />
|
||||
<input type="hidden"
|
||||
name="input_{{ id }}"
|
||||
id="input_{{ id }}"
|
||||
aria-describedby="answer_{{ id }}"
|
||||
value="{{ value }}" />
|
||||
<button id="reset_{{ id }}" class="reset">Reset</button>
|
||||
<p id="answer_{{ id }}" class="answer"></p>
|
||||
<p class="indicator-container" aria-describedby="input_{{ id }}">
|
||||
{% include "status_span.html" with status=status status_id=id %}
|
||||
</p>
|
||||
<div class="error_message"
|
||||
style="padding: 5px 5px 5px 5px;
|
||||
background-color:#FA6666;
|
||||
height:60px;
|
||||
width:400px;
|
||||
display: none"></div>
|
||||
{% if status == 'unsubmitted' or status == 'correct' or status == 'incorrect' or status == 'partially-correct' or status == 'incomplete' %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div id="applet_{{ id }}" class="applet" data-molfile-src="{{ file }}" style="display:block;width:500px;height:400px">
|
||||
</div>
|
||||
|
||||
<br/>
|
||||
|
||||
<input type="hidden" name="input_{{ id }}" id="input_{{ id }}" aria-describedby="answer_{{ id }}" value="{{ value }}"/>
|
||||
|
||||
<button id="reset_{{ id }}" class="reset">Reset</button>
|
||||
|
||||
<p id="answer_{{ id }}" class="answer"></p>
|
||||
|
||||
<p class="indicator-container" aria-describedby="input_{{ id }}">
|
||||
{% include "status_span.html" with status=status status_id=id %}
|
||||
</p>
|
||||
|
||||
<div class="error_message" style="padding: 5px 5px 5px 5px; background-color:#FA6666; height:60px;width:400px; display: none"></div>
|
||||
|
||||
{% if status == 'unsubmitted' or status == 'correct' or status == 'incorrect' or status == 'partially-correct' or status == 'incomplete' %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</section>
|
||||
|
||||
@@ -1,13 +1,16 @@
|
||||
<section id="filesubmission_{{ id }}" class="filesubmission">
|
||||
<div class="grader-status file">
|
||||
|
||||
<span class="{{ status.classname }}" id="status_{{ id }}">{{ status.display_name }}</span>
|
||||
{% if status == 'queued' %}
|
||||
<span style="display:none;" class="xqueue" id="{{ id }}">{{ queue_len }}</span>
|
||||
{% endif %}
|
||||
<p class="debug">{{ status }}</p>
|
||||
|
||||
<input type="file" name="input_{{ id }}" id="input_{{ id }}" value="{{ value }}" multiple="multiple" data-required_files="{{ required_files }}" data-allowed_files="{{ allowed_files }}" aria-label="{{ response_data.label }}"/>
|
||||
</div>
|
||||
<div class="grader-status file">
|
||||
<span class="{{ status.classname }}" id="status_{{ id }}">{{ status.display_name }}</span>
|
||||
{% if status == 'queued' %}<span style="display:none;" class="xqueue" id="{{ id }}">{{ queue_len }}</span>{% endif %}
|
||||
<p class="debug">{{ status }}</p>
|
||||
<input type="file"
|
||||
name="input_{{ id }}"
|
||||
id="input_{{ id }}"
|
||||
value="{{ value }}"
|
||||
multiple="multiple"
|
||||
data-required_files="{{ required_files }}"
|
||||
data-allowed_files="{{ allowed_files }}"
|
||||
aria-label="{{ response_data.label }}" />
|
||||
</div>
|
||||
<div class="message" tabindex="-1">{{ msg|safe }}</div>
|
||||
</section>
|
||||
|
||||
@@ -1,34 +1,29 @@
|
||||
{% load static %}
|
||||
<div id="formulaequationinput_{{ id }}" class="inputtype formulaequationinput" {% if inline %}style="display:inline-block;vertical-align:top"{% endif %}>
|
||||
<div id="formulaequationinput_{{ id }}"
|
||||
class="inputtype formulaequationinput"
|
||||
{% if inline %}style="display:inline-block;vertical-align:top"{% endif %}>
|
||||
<div class="{{ status.classname }}">
|
||||
{% if response_data.label %}
|
||||
<label class="problem-group-label" for="input_{{ id }}" id="label_{{ id }}">{{ response_data.label }}</label>
|
||||
{% endif %}
|
||||
{% if response_data.label %}
|
||||
<label class="problem-group-label" for="input_{{ id }}" id="label_{{ id }}">{{ response_data.label }}</label>
|
||||
{% endif %}
|
||||
{% for description_id, description_text in response_data.descriptions.items %}
|
||||
<p class="question-description" id="{{ description_id }}">{{ description_text }}</p>
|
||||
{% endfor %}
|
||||
<input type="text" name="input_{{ id }}" id="input_{{ id }}"
|
||||
data-input-id="{{ id }}" value="{{ value }}"
|
||||
{{ describedby_html }}
|
||||
{% if size %}
|
||||
size="{{ size }}"
|
||||
{% endif %}
|
||||
/>
|
||||
<input type="text"
|
||||
name="input_{{ id }}"
|
||||
id="input_{{ id }}"
|
||||
data-input-id="{{ id }}"
|
||||
value="{{ value }}"
|
||||
{{ describedby_html }}
|
||||
{% if size %}size="{{ size }}"{% endif %} />
|
||||
<span class="trailing_text" id="trailing_text_{{ id }}">{{ trailing_text }}</span>
|
||||
|
||||
{% include "status_span.html" with status=status status_id=id %}
|
||||
|
||||
<p id="answer_{{ id }}" class="answer"></p>
|
||||
|
||||
<div id="input_{{ id }}_preview" class="equation">
|
||||
\(\)
|
||||
<img src="{% static 'images/spinner.gif' %}" class="loading" alt="Loading"/>
|
||||
<img src="{% static 'images/spinner.gif' %}" class="loading" alt="Loading" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="script_placeholder" data-src="{{ previewer }}"/>
|
||||
|
||||
{% if msg %}
|
||||
<span class="message" aria-describedby="label_{{ id }}" tabindex="-1">{{ msg|safe }}</span>
|
||||
{% endif %}
|
||||
<div class="script_placeholder" data-src="{{ previewer }}" />
|
||||
{% if msg %}<span class="message" aria-describedby="label_{{ id }}" tabindex="-1">{{ msg|safe }}</span>{% endif %}
|
||||
</div>
|
||||
|
||||
@@ -1,45 +1,33 @@
|
||||
{% load static %}
|
||||
<div class="imageinput capa_inputtype" id="inputtype_{{ id }}">
|
||||
<input
|
||||
type="hidden"
|
||||
class="imageinput"
|
||||
src="{{ src }}"
|
||||
name="input_{{ id }}"
|
||||
id="input_{{ id }}"
|
||||
value="{{ value }}"
|
||||
/>
|
||||
<div style="position:relative;">
|
||||
<div
|
||||
id="imageinput_{{ id }}"
|
||||
style="
|
||||
background-image: url('{{ src }}');
|
||||
width: {{ width }}px;
|
||||
height: {{ height }}px;
|
||||
position: relative;
|
||||
left: 0;
|
||||
top: 0;"
|
||||
>
|
||||
<img
|
||||
src="{% static 'images/green-pointer.png' %}"
|
||||
id="cross_{{ id }}"
|
||||
style="position: absolute; top: {{ gy }}px; left: {{ gx }}px;"
|
||||
alt="Selection indicator"
|
||||
/>
|
||||
<input type="hidden"
|
||||
class="imageinput"
|
||||
src="{{ src }}"
|
||||
name="input_{{ id }}"
|
||||
id="input_{{ id }}"
|
||||
value="{{ value }}" />
|
||||
<div style="position:relative;">
|
||||
<div id="imageinput_{{ id }}"
|
||||
style="background-image: url('{{ src }}');
|
||||
width: {{ width }}px;
|
||||
height: {{ height }}px;
|
||||
position: relative;
|
||||
left: 0;
|
||||
top: 0">
|
||||
<img src="{% static 'images/green-pointer.png' %}"
|
||||
id="cross_{{ id }}"
|
||||
style="position: absolute;
|
||||
top: {{ gy }}px;
|
||||
left: {{ gx }}px"
|
||||
alt="Selection indicator" />
|
||||
</div>
|
||||
<div data-width="{{ width }}"
|
||||
data-height="{{ height }}"
|
||||
id="answer_{{ id }}"
|
||||
style="position: absolute;
|
||||
left: 0;
|
||||
top: 0"></div>
|
||||
</div>
|
||||
<div
|
||||
data-width="{{ width }}"
|
||||
data-height="{{ height }}"
|
||||
id="answer_{{ id }}"
|
||||
style="
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;"
|
||||
></div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" charset="utf-8">
|
||||
(new ImageInput('{{ id }}'));
|
||||
</script>
|
||||
|
||||
{% include "status_span.html" with status=status status_id=id %}
|
||||
<script type="text/javascript" charset="utf-8">(new ImageInput('{{ id }}'));</script>
|
||||
{% include "status_span.html" with status=status status_id=id %}
|
||||
</div>
|
||||
|
||||
@@ -1,57 +1,42 @@
|
||||
<div id="inputtype_{{ id }}" class="jsinput"
|
||||
data="{{ gradefn }}"
|
||||
{% if saved_state %}
|
||||
data-stored="{{ saved_state }}"
|
||||
<div id="inputtype_{{ id }}"
|
||||
class="jsinput"
|
||||
data="{{ gradefn }}"
|
||||
{% if saved_state %}data-stored="{{ saved_state }}"{% endif %}
|
||||
{% if initial_state %}data-initial-state="{{ initial_state }}"{% endif %}
|
||||
{% if get_statefn %}data-getstate="{{ get_statefn }}"{% endif %}
|
||||
{% if set_statefn %}data-setstate="{{ set_statefn }}"{% endif %}
|
||||
{% if sop %}data-sop="{{ sop }}"{% endif %}
|
||||
data-processed="false">
|
||||
<div class="script_placeholder" data-src="{{ jschannel_loader }}" />
|
||||
<div class="script_placeholder" data-src="{{ jsinput_loader }}" />
|
||||
{% if status == 'unsubmitted' or status == 'submitted' or status == 'correct' or status == 'incorrect' or status == 'partially-correct' or status == 'incomplete' %}
|
||||
<div class="{{ status.classname }}">
|
||||
{% endif %}
|
||||
<iframe name="iframe_{{ id }}"
|
||||
id="iframe_{{ id }}"
|
||||
sandbox="allow-scripts allow-popups allow-same-origin allow-forms allow-pointer-lock allow-downloads"
|
||||
seamless="seamless"
|
||||
frameborder="0"
|
||||
src="{{ html_file }}"
|
||||
height="{{ height }}"
|
||||
width="{{ width }}"
|
||||
title="{{ title }}" />
|
||||
<input type="hidden"
|
||||
name="input_{{ id }}"
|
||||
id="input_{{ id }}"
|
||||
waitfor=""
|
||||
value="{{ value }}" />
|
||||
<br />
|
||||
<p id="answer_{{ id }}" class="answer"></p>
|
||||
<div class="indicator-container">{% include "status_span.html" with status=status status_id=id %}</div>
|
||||
<div class="error_message"
|
||||
style="padding: 5px 5px 5px 5px;
|
||||
background-color:#FA6666;
|
||||
height:60px;
|
||||
width:400px;
|
||||
display: none"></div>
|
||||
{% if status == 'unsubmitted' or status == 'submitted' or status == 'correct' or status == 'incorrect' or status == 'partially-correct' or status == 'incomplete' %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if initial_state %}
|
||||
data-initial-state="{{ initial_state }}"
|
||||
{% endif %}
|
||||
{% if get_statefn %}
|
||||
data-getstate="{{ get_statefn }}"
|
||||
{% endif %}
|
||||
{% if set_statefn %}
|
||||
data-setstate="{{ set_statefn }}"
|
||||
{% endif %}
|
||||
{% if sop %}
|
||||
data-sop="{{ sop }}"
|
||||
{% endif %}
|
||||
data-processed="false"
|
||||
>
|
||||
|
||||
<div class="script_placeholder" data-src="{{ jschannel_loader }}"/>
|
||||
<div class="script_placeholder" data-src="{{ jsinput_loader }}"/>
|
||||
{% if status == 'unsubmitted' or status == 'submitted' or status == 'correct' or status == 'incorrect' or status == 'partially-correct' or status == 'incomplete' %}
|
||||
<div class="{{ status.classname }}">
|
||||
{% endif %}
|
||||
|
||||
<iframe name="iframe_{{ id }}"
|
||||
id="iframe_{{ id }}"
|
||||
sandbox="allow-scripts allow-popups allow-same-origin allow-forms allow-pointer-lock allow-downloads"
|
||||
seamless="seamless"
|
||||
frameborder="0"
|
||||
src="{{ html_file }}"
|
||||
height="{{ height }}"
|
||||
width="{{ width }}"
|
||||
title="{{ title }}"
|
||||
/>
|
||||
<input type="hidden" name="input_{{ id }}" id="input_{{ id }}"
|
||||
waitfor=""
|
||||
value="{{ value }}"/>
|
||||
|
||||
<br/>
|
||||
<p id="answer_{{ id }}" class="answer"></p>
|
||||
|
||||
<div class="indicator-container">
|
||||
{% include "status_span.html" with status=status status_id=id %}
|
||||
</div>
|
||||
|
||||
<div class="error_message" style="padding: 5px 5px 5px 5px; background-color:#FA6666; height:60px;width:400px; display: none"></div>
|
||||
|
||||
{% if status == 'unsubmitted' or status == 'submitted' or status == 'correct' or status == 'incorrect' or status == 'partially-correct' or status == 'incomplete' %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if msg %}
|
||||
<span class="message" tabindex="-1">{{ msg|safe }}</span>
|
||||
{% endif %}
|
||||
{% if msg %}<span class="message" tabindex="-1">{{ msg|safe }}</span>{% endif %}
|
||||
</div>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<section class="math-string">
|
||||
{% if isinline %}
|
||||
<span>[mathjaxinline]{{ mathstr }}[/mathjaxinline]</span>
|
||||
{% else %}
|
||||
<span>[mathjax]{{ mathstr }}[/mathjax]</span>
|
||||
{% endif %}
|
||||
{% if isinline %}
|
||||
<span>[mathjaxinline]{{ mathstr }}[/mathjaxinline]</span>
|
||||
{% else %}
|
||||
<span>[mathjax]{{ mathstr }}[/mathjax]</span>
|
||||
{% endif %}
|
||||
<span>{{ tail|safe }}</span>
|
||||
</section>
|
||||
|
||||
@@ -1,52 +1,33 @@
|
||||
<section id="textbox_{{ id }}" class="capa_inputtype cminput">
|
||||
<div class="script_placeholder" data-src="{{ matlab_editor_js }}"></div>
|
||||
<textarea
|
||||
rows="{{ rows }}"
|
||||
cols="{{ cols }}"
|
||||
name="input_{{ id }}"
|
||||
aria-describedby="answer_{{ id }}"
|
||||
id="input_{{ id }}"
|
||||
data-tabsize="{{ tabsize }}"
|
||||
data-mode="octave"
|
||||
{% if linenumbers %}
|
||||
data-linenums="true"
|
||||
{% endif %}
|
||||
{% if hidden %}
|
||||
style="display:none;"
|
||||
{% endif %}
|
||||
>{{ value }}</textarea>
|
||||
|
||||
<div class="grader-status" tabindex="-1">
|
||||
|
||||
{% include "status_span.html" with status=status status_id=id %}
|
||||
|
||||
{% if status == 'queued' %}
|
||||
<span style="display:none;" class="xqueue" id="{{ id }}">{{ queue_len }}</span>
|
||||
<div class="script_placeholder" data-src="{{ matlab_editor_js }}"></div>
|
||||
<textarea rows="{{ rows }}"
|
||||
cols="{{ cols }}"
|
||||
name="input_{{ id }}"
|
||||
aria-describedby="answer_{{ id }}"
|
||||
id="input_{{ id }}"
|
||||
data-tabsize="{{ tabsize }}"
|
||||
data-mode="octave"
|
||||
{% if linenumbers %} data-linenums="true" {% endif %}
|
||||
{% if hidden %} style="display:none;" {% endif %}>{{ value }}</textarea>
|
||||
<div class="grader-status" tabindex="-1">
|
||||
{% include "status_span.html" with status=status status_id=id %}
|
||||
{% if status == 'queued' %}<span style="display:none;" class="xqueue" id="{{ id }}">{{ queue_len }}</span>{% endif %}
|
||||
{% if hidden %}<div style="display:none;" name="{{ hidden }}" inputid="input_{{ id }}" />{% endif %}
|
||||
<p class="debug">{{ status.display_name }}</p>
|
||||
</div>
|
||||
<span id="answer_{{ id }}"></span>
|
||||
<div class="external-grader-message" aria-live="polite">{{ msg|safe }}</div>
|
||||
<div class="ungraded-matlab-result" aria-live="polite">{{ queue_msg|safe }}</div>
|
||||
{% if button_enabled %}
|
||||
<div class="plot-button">
|
||||
<input type="button"
|
||||
class="save"
|
||||
name="plot-button"
|
||||
id="plot_{{ id }}"
|
||||
value="Run Code" />
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if hidden %}
|
||||
<div style="display:none;" name="{{ hidden }}" inputid="input_{{ id }}" />
|
||||
{% endif %}
|
||||
|
||||
<p class="debug">{{ status.display_name }}</p>
|
||||
</div>
|
||||
|
||||
<span id="answer_{{ id }}"></span>
|
||||
|
||||
<div class="external-grader-message" aria-live="polite">
|
||||
{{ msg|safe }}
|
||||
</div>
|
||||
<div class="ungraded-matlab-result" aria-live="polite">
|
||||
{{ queue_msg|safe }}
|
||||
</div>
|
||||
|
||||
{% if button_enabled %}
|
||||
<div class="plot-button">
|
||||
<input type="button" class="save" name="plot-button" id="plot_{{ id }}" value="Run Code" />
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<script type="text/javascript">
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
var gentle_alert = function (parent_elt, msg) {
|
||||
if($(parent_elt).find('.capa_alert').length) {
|
||||
@@ -136,5 +117,5 @@
|
||||
$('#plot_{{ id|safe }}').click(plot);
|
||||
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
</section>
|
||||
|
||||
@@ -1,28 +1,20 @@
|
||||
<div class="inputtype option-input {% if inline %}inline{% endif %}">
|
||||
{% if response_data.label %}
|
||||
<label class="problem-group-label" for="input_{{ id }}" id="label_{{ id }}">{{ response_data.label }}</label>
|
||||
{% endif %}
|
||||
|
||||
{% for description_id, description_text in response_data.descriptions.items %}
|
||||
<p class="question-description" id="{{ description_id }}">{{ description_text|safe }}</p>
|
||||
{% endfor %}
|
||||
|
||||
<select name="input_{{ id }}" id="input_{{ id }}" {{ describedby_html }}>
|
||||
<option value="option_{{ id }}_dummy_default">{{ default_option_text }}</option>
|
||||
{% for option_id, option_description in options %}
|
||||
<option value="{{ option_id }}"
|
||||
{% if option_id == value or option_id == answervariable %}
|
||||
selected="true"
|
||||
{% endif %}
|
||||
> {{ option_description }}</option>
|
||||
{% endfor %}
|
||||
{% if response_data.label %}
|
||||
<label class="problem-group-label" for="input_{{ id }}" id="label_{{ id }}">{{ response_data.label }}</label>
|
||||
{% endif %}
|
||||
{% for description_id, description_text in response_data.descriptions.items %}
|
||||
<p class="question-description" id="{{ description_id }}">{{ description_text|safe }}</p>
|
||||
{% endfor %}
|
||||
<select name="input_{{ id }}" id="input_{{ id }}" {{ describedby_html }}>
|
||||
<option value="option_{{ id }}_dummy_default">{{ default_option_text }}</option>
|
||||
{% for option_id, option_description in options %}
|
||||
<option value="{{ option_id }}"
|
||||
{% if option_id == value or option_id == answervariable %}selected="true"{% endif %}>
|
||||
{{ option_description }}
|
||||
</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
|
||||
<div class="indicator-container">
|
||||
{% include "status_span.html" with status=status status_id=id %}
|
||||
</div>
|
||||
<p class="answer" id="answer_{{ id }}"></p>
|
||||
{% if msg %}
|
||||
<span class="message" aria-describedby="label_{{ id }}" tabindex="-1">{{ msg|safe }}</span>
|
||||
{% endif %}
|
||||
<div class="indicator-container">{% include "status_span.html" with status=status status_id=id %}</div>
|
||||
<p class="answer" id="answer_{{ id }}"></p>
|
||||
{% if msg %}<span class="message" aria-describedby="label_{{ id }}" tabindex="-1">{{ msg|safe }}</span>{% endif %}
|
||||
</div>
|
||||
|
||||
@@ -1,94 +1,126 @@
|
||||
{% load i18n %}
|
||||
|
||||
<h3 class="hd hd-3 problem-header" id="{{ short_id }}-problem-title" aria-describedby="{{ id }}-problem-progress" tabindex="-1">
|
||||
{{ problem.name }}
|
||||
</h3>
|
||||
|
||||
<h3 class="hd hd-3 problem-header"
|
||||
id="{{ short_id }}-problem-title"
|
||||
aria-describedby="{{ id }}-problem-progress"
|
||||
tabindex="-1">{{ problem.name }}</h3>
|
||||
<div class="problem-progress" id="{{ id }}-problem-progress"></div>
|
||||
|
||||
<div class="problem">
|
||||
{{ problem.html|safe }}
|
||||
<div class="action">
|
||||
<input type="hidden" name="problem_id" value="{{ problem.name }}" />
|
||||
{% if demand_hint_possible %}
|
||||
<div class="problem-hint">
|
||||
{% include "problem_notifications.html" with notification_name='hint' notification_type='problem-hint' notification_icon='fa-question' notification_message='' %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="problem-action-buttons-wrapper">
|
||||
{% if demand_hint_possible %}
|
||||
<span class="problem-action-button-wrapper">
|
||||
<button type="button" class="hint-button problem-action-btn btn-link btn-small" data-value="{% trans 'Hint' as hint_val %}{{ hint_val|force_escape }}" {% if not should_enable_next_hint %}disabled{% endif %}>{% trans "Hint" as hint_text %}{{ hint_text|force_escape }}</button>
|
||||
</span>
|
||||
{% endif %}
|
||||
{% if save_button %}
|
||||
<span class="problem-action-button-wrapper">
|
||||
<button type="button" class="save problem-action-btn btn-link btn-small" data-value="{% trans 'Save' as save_val %}{{ save_val|force_escape }}">
|
||||
<span aria-hidden="true">{% trans "Save" as save_text %}{{ save_text|force_escape }}</span>
|
||||
<span class="sr">{% trans "Save your answer" as save_sr %}{{ save_sr|force_escape }}</span>
|
||||
</button>
|
||||
</span>
|
||||
{% endif %}
|
||||
{% if attempts_used and reset_button %}
|
||||
<span class="problem-action-button-wrapper">
|
||||
<button type="button" class="reset problem-action-btn btn-link btn-small" data-value="{% trans 'Reset' as reset_val %}{{ reset_val|force_escape }}"><span aria-hidden="true">{% trans "Reset" as reset_text %}{{ reset_text|force_escape }}</span><span class="sr">{% trans "Reset your answer" as reset_sr %}{{ reset_sr|force_escape }}</span></button>
|
||||
</span>
|
||||
{% endif %}
|
||||
{% if answer_available %}
|
||||
<span class="problem-action-button-wrapper">
|
||||
<button type="button" class="show problem-action-btn btn-link btn-small" aria-describedby="{{ short_id }}-problem-title"><span class="show-label">{% trans "Show answer" as show_ans %}{{ show_ans|force_escape }}</span></button>
|
||||
</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="submit-attempt-container">
|
||||
<button type="button" class="submit btn-brand" data-submitting="{{ submit_button_submitting }}" data-value="{{ submit_button }}" data-should-enable-submit-button="{{ should_enable_submit_button }}" aria-describedby="submission_feedback_{{ short_id }}"{% if not should_enable_submit_button %}disabled{% endif %}>
|
||||
<span class="submit-label">{{ submit_button }}</span>
|
||||
</button>
|
||||
|
||||
{% if submit_disabled_cta %}
|
||||
{% if submit_disabled_cta.event_data %}
|
||||
<button class="submit-cta-link-button btn-link btn-small" onclick="emit_event('{{ submit_disabled_cta.event_data }}')">
|
||||
{{ submit_disabled_cta.link_name }}
|
||||
</button>
|
||||
<span class="submit-cta-description" tabindex="0" role="note" aria-label="description">
|
||||
<span data-tooltip="{{ submit_disabled_cta.description }}" data-tooltip-show-on-click="true"
|
||||
class="fa fa-info-circle fa-lg" aria-hidden="true">
|
||||
</span>
|
||||
</span>
|
||||
<span class="sr">({{ submit_disabled_cta.description }})</span>
|
||||
{% else %}
|
||||
<form class="submit-cta" method="post" action="{{ submit_disabled_cta.link }}">
|
||||
{% if submit_disabled_cta.link %}
|
||||
<input type="hidden" id="csrf_token" name="csrfmiddlewaretoken" value="{{ csrf_token }}">
|
||||
{% for form_name, form_value in submit_disabled_cta.form_values.items %}
|
||||
<input type="hidden" name="{{ form_name }}" value="{{ form_value }}">
|
||||
{% endfor %}
|
||||
<button class="submit-cta-link-button btn-link btn-small">
|
||||
{{ submit_disabled_cta.link_name }}
|
||||
</button>
|
||||
{{ problem.html|safe }}
|
||||
<div class="action">
|
||||
<input type="hidden" name="problem_id" value="{{ problem.name }}" />
|
||||
{% if demand_hint_possible %}
|
||||
<div class="problem-hint">
|
||||
{% include "problem_notifications.html" with notification_name='hint' notification_type='problem-hint' notification_icon='fa-question' notification_message='' %}
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="problem-action-buttons-wrapper">
|
||||
{% if demand_hint_possible %}
|
||||
<span class="problem-action-button-wrapper">
|
||||
<button type="button"
|
||||
class="hint-button problem-action-btn btn-link btn-small"
|
||||
data-value="{% trans 'Hint' as hint_val %}{{ hint_val|force_escape }}"
|
||||
{% if not should_enable_next_hint %}disabled{% endif %}>
|
||||
{% trans "Hint" as hint_text %}{{ hint_text|force_escape }}
|
||||
</button>
|
||||
</span>
|
||||
{% endif %}
|
||||
<span class="submit-cta-description" tabindex="0" role="note" aria-label="description">
|
||||
<span data-tooltip="{{ submit_disabled_cta.description }}" data-tooltip-show-on-click="true"
|
||||
class="fa fa-info-circle fa-lg" aria-hidden="true">
|
||||
</span>
|
||||
</span>
|
||||
<span class="sr">({{ submit_disabled_cta.description }})</span>
|
||||
</form>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
<div class="submission-feedback {% if submit_disabled_cta %}cta-enabled{% endif %}" id="submission_feedback_{{ short_id }}">
|
||||
{% comment %} When attempts are not 0, the CTA above will contain a message about the number of used attempts {% endcomment %}
|
||||
{% if attempts_allowed and not submit_disabled_cta or attempts_allowed and attempts_used == 0 %}
|
||||
{% filter force_escape %}{% blocktrans count num_total=attempts_allowed %}You have used {{ attempts_used }} of {{ num_total }} attempt.{% plural %}You have used {{ attempts_used }} of {{ num_total }} attempts{% endblocktrans %}{% endfilter %}
|
||||
{% endif %}
|
||||
{% if grading_method %}
|
||||
<div>{% trans "Grading method:" as grading_text %}{{ grading_text|force_escape }} {{ grading_method }}</div>
|
||||
{% endif %}
|
||||
<span class="sr">{% trans "Some problems have options such as save, reset, hints, or show answer. These options follow the Submit button." as options_sr %}{{ options_sr|force_escape }}</span>
|
||||
</div>
|
||||
{% if save_button %}
|
||||
<span class="problem-action-button-wrapper">
|
||||
<button type="button"
|
||||
class="save problem-action-btn btn-link btn-small"
|
||||
data-value="{% trans 'Save' as save_val %}{{ save_val|force_escape }}">
|
||||
<span aria-hidden="true">{% trans "Save" as save_text %}{{ save_text|force_escape }}</span>
|
||||
<span class="sr">{% trans "Save your answer" as save_sr %}{{ save_sr|force_escape }}</span>
|
||||
</button>
|
||||
</span>
|
||||
{% endif %}
|
||||
{% if attempts_used and reset_button %}
|
||||
<span class="problem-action-button-wrapper">
|
||||
<button type="button"
|
||||
class="reset problem-action-btn btn-link btn-small"
|
||||
data-value="{% trans 'Reset' as reset_val %}{{ reset_val|force_escape }}">
|
||||
<span aria-hidden="true">{% trans "Reset" as reset_text %}{{ reset_text|force_escape }}</span><span class="sr">{% trans "Reset your answer" as reset_sr %}{{ reset_sr|force_escape }}</span>
|
||||
</button>
|
||||
</span>
|
||||
{% endif %}
|
||||
{% if answer_available %}
|
||||
<span class="problem-action-button-wrapper">
|
||||
<button type="button"
|
||||
class="show problem-action-btn btn-link btn-small"
|
||||
aria-describedby="{{ short_id }}-problem-title">
|
||||
<span class="show-label">{% trans "Show answer" as show_ans %}{{ show_ans|force_escape }}</span>
|
||||
</button>
|
||||
</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="submit-attempt-container">
|
||||
<button type="button"
|
||||
class="submit btn-brand"
|
||||
data-submitting="{{ submit_button_submitting }}"
|
||||
data-value="{{ submit_button }}"
|
||||
data-should-enable-submit-button="{{ should_enable_submit_button }}"
|
||||
aria-describedby="submission_feedback_{{ short_id }}"
|
||||
{% if not should_enable_submit_button %}disabled{% endif %}>
|
||||
<span class="submit-label">{{ submit_button }}</span>
|
||||
</button>
|
||||
{% if submit_disabled_cta %}
|
||||
{% if submit_disabled_cta.event_data %}
|
||||
<button class="submit-cta-link-button btn-link btn-small"
|
||||
onclick="emit_event('{{ submit_disabled_cta.event_data }}')">
|
||||
{{ submit_disabled_cta.link_name }}
|
||||
</button>
|
||||
<span class="submit-cta-description"
|
||||
tabindex="0"
|
||||
role="note"
|
||||
aria-label="description">
|
||||
<span data-tooltip="{{ submit_disabled_cta.description }}"
|
||||
data-tooltip-show-on-click="true"
|
||||
class="fa fa-info-circle fa-lg"
|
||||
aria-hidden="true"></span>
|
||||
</span>
|
||||
<span class="sr">({{ submit_disabled_cta.description }})</span>
|
||||
{% else %}
|
||||
<form class="submit-cta"
|
||||
method="post"
|
||||
action="{{ submit_disabled_cta.link }}">
|
||||
{% if submit_disabled_cta.link %}
|
||||
<input type="hidden"
|
||||
id="csrf_token"
|
||||
name="csrfmiddlewaretoken"
|
||||
value="{{ csrf_token }}">
|
||||
{% for form_name, form_value in submit_disabled_cta.form_values.items %}
|
||||
<input type="hidden" name="{{ form_name }}" value="{{ form_value }}">
|
||||
{% endfor %}
|
||||
<button class="submit-cta-link-button btn-link btn-small">{{ submit_disabled_cta.link_name }}</button>
|
||||
{% endif %}
|
||||
<span class="submit-cta-description"
|
||||
tabindex="0"
|
||||
role="note"
|
||||
aria-label="description">
|
||||
<span data-tooltip="{{ submit_disabled_cta.description }}"
|
||||
data-tooltip-show-on-click="true"
|
||||
class="fa fa-info-circle fa-lg"
|
||||
aria-hidden="true"></span>
|
||||
</span>
|
||||
<span class="sr">({{ submit_disabled_cta.description }})</span>
|
||||
</form>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
<div class="submission-feedback {% if submit_disabled_cta %}cta-enabled{% endif %}"
|
||||
id="submission_feedback_{{ short_id }}">
|
||||
{% comment %} When attempts are not 0, the CTA above will contain a message about the number of used attempts {% endcomment %}
|
||||
{% if attempts_allowed and not submit_disabled_cta or attempts_allowed and attempts_used == 0 %}
|
||||
{% filter force_escape %}
|
||||
{% blocktrans count num_total=attempts_allowed %}You have used {{ attempts_used }} of {{ num_total }} attempt.{% plural %}You have used {{ attempts_used }} of {{ num_total }} attempts{% endblocktrans %}
|
||||
{% endfilter %}
|
||||
{% endif %}
|
||||
{% if grading_method %}
|
||||
<div>{% trans "Grading method:" as grading_text %}{{ grading_text|force_escape }} {{ grading_method }}</div>
|
||||
{% endif %}
|
||||
<span class="sr">{% trans "Some problems have options such as save, reset, hints, or show answer. These options follow the Submit button." as options_sr %}{{ options_sr|force_escape }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% include "problem_notifications.html" with notification_type='warning' notification_icon='fa-exclamation-circle' notification_name='gentle-alert' notification_message='' %}
|
||||
{% if answer_notification_type %}
|
||||
{% if answer_notification_type == 'correct' %}
|
||||
@@ -108,14 +140,13 @@
|
||||
{% include "problem_notifications.html" with notification_type='warning' notification_icon='fa-save' notification_name='save' notification_message=save_message is_hidden=False %}
|
||||
{% else %}
|
||||
{% include "problem_notifications.html" with notification_type='warning' notification_icon='fa-save' notification_name='save' notification_message=save_message is_hidden=True %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{# xss-lint: disable=django-trans-missing-escape #}
|
||||
{% trans "Answers are displayed within the problem" as notification_message %}
|
||||
{% with notification_message=notification_message|force_escape %}
|
||||
{% include "problem_notifications.html" with notification_type='general' notification_icon='fa-info-circle' notification_name='show-answer' notification_message=notification_message is_hidden=True %}
|
||||
{% include "problem_notifications.html" with notification_type='general' notification_icon='fa-info-circle' notification_name='show-answer' notification_message=notification_message is_hidden=True %}
|
||||
{% endwith %}
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function emit_event(message) {
|
||||
parent.postMessage(message, '*');
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
<div id="problem_{{ element_id }}" class="problems-wrapper" role="group"
|
||||
<div id="problem_{{ element_id }}"
|
||||
class="problems-wrapper"
|
||||
role="group"
|
||||
aria-labelledby="{{ element_id }}-problem-title"
|
||||
data-problem-id="{{ id }}" data-url="{{ ajax_url }}"
|
||||
data-problem-id="{{ id }}"
|
||||
data-url="{{ ajax_url }}"
|
||||
data-problem-score="{{ current_score }}"
|
||||
data-problem-total-possible="{{ total_possible }}"
|
||||
data-attempts-used="{{ attempts_used }}"
|
||||
|
||||
@@ -1,17 +1,19 @@
|
||||
{% load i18n %}
|
||||
|
||||
<div class="notification {{ notification_type }} notification-{{ notification_name }}
|
||||
{% if is_hidden != False %}is-hidden{% endif %}"
|
||||
<div class="notification {{ notification_type }} notification-{{ notification_name }} {% if is_hidden != False %}is-hidden{% endif %}"
|
||||
tabindex="-1">
|
||||
<span class="icon fa {{ notification_icon }}" aria-hidden="true"></span>
|
||||
<span class="notification-message" aria-describedby="{{ short_id }}-problem-title">{{ notification_message }}
|
||||
</span>
|
||||
<span class="notification-message"
|
||||
aria-describedby="{{ short_id }}-problem-title">{{ notification_message }}</span>
|
||||
<div class="notification-btn-wrapper">
|
||||
{% if notification_name == 'hint' %}
|
||||
<button type="button" class="btn btn-default btn-small notification-btn hint-button">
|
||||
{% trans "Next Hint" as next_hint_text %}{{ next_hint_text|force_escape }}
|
||||
</button>
|
||||
<button type="button"
|
||||
class="btn btn-default btn-small notification-btn hint-button">
|
||||
{% trans "Next Hint" as next_hint_text %}{{ next_hint_text|force_escape }}
|
||||
</button>
|
||||
{% endif %}
|
||||
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">{% trans "Review" as review_text %}{{ review_text|force_escape }}</button>
|
||||
<button type="button"
|
||||
class="btn btn-default btn-small notification-btn review-btn sr">
|
||||
{% trans "Review" as review_text %}{{ review_text|force_escape }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,23 +1,18 @@
|
||||
<div>
|
||||
<div class="script_placeholder" data-src="{{ setup_script }}"/>
|
||||
<input type="hidden"
|
||||
class="schematic"
|
||||
height="{{ height }}"
|
||||
width="{{ width }}"
|
||||
parts="{{ parts }}"
|
||||
analyses="{{ analyses }}"
|
||||
name="input_{{ id }}"
|
||||
id="input_{{ id }}"
|
||||
aria-label="{{ response_data.label|striptags }}"
|
||||
aria-describedby="answer_{{ id }}"
|
||||
value="{{ value }}"
|
||||
initial_value="{{ initial_value }}"
|
||||
submit_analyses="{{ submit_analyses }}"
|
||||
/>
|
||||
|
||||
<span id="answer_{{ id }}"></span>
|
||||
<div class="indicator-container">
|
||||
{% include "status_span.html" with status=status status_id=id %}
|
||||
|
||||
</div>
|
||||
<div class="script_placeholder" data-src="{{ setup_script }}" />
|
||||
<input type="hidden"
|
||||
class="schematic"
|
||||
height="{{ height }}"
|
||||
width="{{ width }}"
|
||||
parts="{{ parts }}"
|
||||
analyses="{{ analyses }}"
|
||||
name="input_{{ id }}"
|
||||
id="input_{{ id }}"
|
||||
aria-label="{{ response_data.label|striptags }}"
|
||||
aria-describedby="answer_{{ id }}"
|
||||
value="{{ value }}"
|
||||
initial_value="{{ initial_value }}"
|
||||
submit_analyses="{{ submit_analyses }}" />
|
||||
<span id="answer_{{ id }}"></span>
|
||||
<div class="indicator-container">{% include "status_span.html" with status=status status_id=id %}</div>
|
||||
</div>
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
{% if status_id == '' %}
|
||||
<span class="status {% if hide_correctness == True %}{% else %}{{ status.classname }}{% endif %}"
|
||||
data-tooltip="{% if hide_correctness == True %}{% else %}{{ status.display_tooltip }}{% endif %}">
|
||||
{% else %}
|
||||
<span class="status {% if hide_correctness == True %}{% else %}{{ status.classname }}{% endif %}" id="status_{{ status_id }}"
|
||||
data-tooltip="{% if hide_correctness == True %}{% else %}{{ status.display_tooltip }}{% endif %}">
|
||||
{% endif %}
|
||||
{% if not hide_correctness %}
|
||||
<span class="sr">{{ status.display_name }}</span><span class="status-icon" aria-hidden="true"></span>
|
||||
{% endif %}
|
||||
</span>
|
||||
<span class="status {% if hide_correctness == True %}{% else %}{{ status.classname }}{% endif %}"
|
||||
data-tooltip="{% if hide_correctness == True %}{% else %}{{ status.display_tooltip }}{% endif %}">
|
||||
{% else %}
|
||||
<span class="status {% if hide_correctness == True %}{% else %}{{ status.classname }}{% endif %}"
|
||||
id="status_{{ status_id }}"
|
||||
data-tooltip="{% if hide_correctness == True %}{% else %}{{ status.display_tooltip }}{% endif %}">
|
||||
{% endif %}
|
||||
{% if not hide_correctness %}
|
||||
<span class="sr">{{ status.display_name }}</span><span class="status-icon" aria-hidden="true"></span>
|
||||
{% endif %}
|
||||
</span>
|
||||
|
||||
@@ -1,49 +1,39 @@
|
||||
<div id="inputtype_{{ id }}" {% if do_math and inline %} class="text-input-dynamath capa_inputtype inline textline" {% elif do_math %} class="text-input-dynamath capa_inputtype textline" {% elif inline %} class=" capa_inputtype inline textline" {% else %} class=" capa_inputtype textline" {% endif %}>
|
||||
{% if preprocessor is not None %}
|
||||
<div class="text-input-dynamath_data {% if inline %}inline{% endif %}" data-preprocessor="{{ preprocessor.class_name }}"/>
|
||||
<div class="script_placeholder" data-src="{{ preprocessor.script_src }}"/>
|
||||
{% endif %}
|
||||
|
||||
{% if status == 'unsubmitted' or status == 'submitted' or status == 'correct' or status == 'incorrect' or status == 'partially-correct' or status == 'incomplete' %}
|
||||
<div class="{{ status.classname }} {% if inline %}inline{% endif %}">
|
||||
{% endif %}
|
||||
|
||||
{% if hidden %}
|
||||
<div style="display:none;" name="{{ hidden }}" inputid="input_{{ id }}" />
|
||||
{% endif %}
|
||||
|
||||
{% if response_data.label %}
|
||||
<label class="problem-group-label" for="input_{{ id }}" id="label_{{ id }}">{{ response_data.label }}</label>
|
||||
{% endif %}
|
||||
|
||||
{% for description_id, description_text in response_data.descriptions.items %}
|
||||
<p class="question-description" id="{{ description_id }}">{{ description_text|safe }}</p>
|
||||
{% endfor %}
|
||||
<input type="text" class="mw-100 {% if do_math %}math{% endif %}" name="input_{{ id }}" id="input_{{ id }}" {{ describedby_html }} value="{{ value }}"
|
||||
{% if size %}
|
||||
size="{{ size }}"
|
||||
<div id="inputtype_{{ id }}"
|
||||
{% if do_math and inline %} class="text-input-dynamath capa_inputtype inline textline" {% elif do_math %} class="text-input-dynamath capa_inputtype textline" {% elif inline %} class=" capa_inputtype inline textline" {% else %} class=" capa_inputtype textline" {% endif %}>
|
||||
{% if preprocessor is not None %}
|
||||
<div class="text-input-dynamath_data {% if inline %}inline{% endif %}"
|
||||
data-preprocessor="{{ preprocessor.class_name }}" />
|
||||
<div class="script_placeholder" data-src="{{ preprocessor.script_src }}" />
|
||||
{% endif %}
|
||||
{% if hidden %}
|
||||
style="display:none;"
|
||||
{% if status == 'unsubmitted' or status == 'submitted' or status == 'correct' or status == 'incorrect' or status == 'partially-correct' or status == 'incomplete' %}
|
||||
<div class="{{ status.classname }} {% if inline %}inline{% endif %}">
|
||||
{% endif %}
|
||||
{% if hidden %}<div style="display:none;" name="{{ hidden }}" inputid="input_{{ id }}" />{% endif %}
|
||||
{% if response_data.label %}
|
||||
<label class="problem-group-label" for="input_{{ id }}" id="label_{{ id }}">{{ response_data.label }}</label>
|
||||
{% endif %}
|
||||
{% for description_id, description_text in response_data.descriptions.items %}
|
||||
<p class="question-description" id="{{ description_id }}">{{ description_text|safe }}</p>
|
||||
{% endfor %}
|
||||
<input type="text"
|
||||
class="mw-100 {% if do_math %}math{% endif %}"
|
||||
name="input_{{ id }}"
|
||||
id="input_{{ id }}"
|
||||
{{ describedby_html }}
|
||||
value="{{ value }}"
|
||||
{% if size %}size="{{ size }}"{% endif %}
|
||||
{% if hidden %}style="display:none;"{% endif %} />
|
||||
<span class="trailing_text" id="trailing_text_{{ id }}">{{ trailing_text }}</span>
|
||||
{% include "status_span.html" with status=status status_id=id %}
|
||||
<p id="answer_{{ id }}" class="answer"></p>
|
||||
{% if do_math %}
|
||||
<div id="display_{{ id }}" class="equation">`{::}`</div>
|
||||
<textarea style="display:none"
|
||||
id="input_{{ id }}_dynamath"
|
||||
name="input_{{ id }}_dynamath"></textarea>
|
||||
{% endif %}
|
||||
{% if status == 'unsubmitted' or status == 'submitted' or status == 'correct' or status == 'incorrect' or status == 'partially-correct' or status == 'incomplete' %}
|
||||
</div>
|
||||
{% endif %}
|
||||
/>
|
||||
<span class="trailing_text" id="trailing_text_{{ id }}">{{ trailing_text }}</span>
|
||||
|
||||
{% include "status_span.html" with status=status status_id=id %}
|
||||
|
||||
<p id="answer_{{ id }}" class="answer"></p>
|
||||
|
||||
{% if do_math %}
|
||||
<div id="display_{{ id }}" class="equation">`{::}`</div>
|
||||
<textarea style="display:none" id="input_{{ id }}_dynamath" name="input_{{ id }}_dynamath"></textarea>
|
||||
{% endif %}
|
||||
|
||||
{% if status == 'unsubmitted' or status == 'submitted' or status == 'correct' or status == 'incorrect' or status == 'partially-correct' or status == 'incomplete' %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if msg %}
|
||||
<span class="message" aria-describedby="label_{{ id }}" tabindex="-1">{{ msg|safe }}</span>
|
||||
{% endif %}
|
||||
|
||||
{% if msg %}<span class="message" aria-describedby="label_{{ id }}" tabindex="-1">{{ msg|safe }}</span>{% endif %}
|
||||
</div>
|
||||
|
||||
@@ -1,34 +1,38 @@
|
||||
<section id="inputtype_{{ id }}" class="capa_inputtype" >
|
||||
<table><tr><td height='600'>
|
||||
<div id="vsepr_div_{{ id }}" style="position:relative;" data-molecules="{{ molecules }}" data-geometries="{{ geometries }}">
|
||||
<canvas id="vsepr_canvas_{{ id }}" width="{{ width }}" height="{{ height }}">
|
||||
</canvas>
|
||||
</div>
|
||||
</td><td valign ='top'>
|
||||
<select class="molecule_select" id="molecule_select_{{ id }}" size="18">
|
||||
</select>
|
||||
</td></tr></table>
|
||||
|
||||
<div class="script_placeholder" data-src="/static/js/vsepr/vsepr.js"></div>
|
||||
|
||||
{% load static %}
|
||||
<section id="inputtype_{{ id }}" class="capa_inputtype">
|
||||
<table>
|
||||
<tr>
|
||||
<td height='600'>
|
||||
<div id="vsepr_div_{{ id }}"
|
||||
style="position:relative"
|
||||
data-molecules="{{ molecules }}"
|
||||
data-geometries="{{ geometries }}">
|
||||
<canvas id="vsepr_canvas_{{ id }}" width="{{ width }}" height="{{ height }}">
|
||||
</canvas>
|
||||
</div>
|
||||
</td>
|
||||
<td valign ='top'>
|
||||
<select class="molecule_select" id="molecule_select_{{ id }}" size="18"></select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="script_placeholder"
|
||||
data-src="{% static 'js/vsepr/vsepr.js' %}"></div>
|
||||
{% if status == 'unsubmitted' or status == 'correct' or status == 'incorrect' or status == 'partially-correct' or status == 'incomplete' %}
|
||||
<div class="{{ status.classname }}" id="status_{{ id }}">
|
||||
<div class="{{ status.classname }}" id="status_{{ id }}">
|
||||
{% endif %}
|
||||
<input type="text"
|
||||
name="input_{{ id }}"
|
||||
id="input_{{ id }}"
|
||||
aria-describedby="answer_{{ id }}"
|
||||
value="{{ value }}"
|
||||
style="display:none" />
|
||||
<p class="status">
|
||||
<span class="sr">{{ status.display_name }}</span>
|
||||
</p>
|
||||
<p id="answer_{{ id }}" class="answer"></p>
|
||||
{% if msg %}<span class="message" tabindex="-1">{{ msg|safe }}</span>{% endif %}
|
||||
{% if status == 'unsubmitted' or status == 'correct' or status == 'incorrect' or status == 'partially-correct' or status == 'incomplete' %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<input type="text" name="input_{{ id }}" id="input_{{ id }}" aria-describedby="answer_{{ id }}" value="{{ value }}"
|
||||
style="display:none;"
|
||||
/>
|
||||
|
||||
<p class="status">
|
||||
<span class="sr">{{ status.display_name }}</span>
|
||||
</p>
|
||||
|
||||
<p id="answer_{{ id }}" class="answer"></p>
|
||||
|
||||
{% if msg %}
|
||||
<span class="message" tabindex="-1">{{ msg|safe }}</span>
|
||||
{% endif %}
|
||||
{% if status == 'unsubmitted' or status == 'correct' or status == 'incorrect' or status == 'partially-correct' or status == 'incomplete' %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</section>
|
||||
|
||||
@@ -1,123 +1,190 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html
|
||||
PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd">
|
||||
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
||||
<head>
|
||||
<meta content="application/xhtml+xml; charset=UTF-8" http-equiv="Content-Type" />
|
||||
<meta content="SnuggleTeX" name="Generator" />
|
||||
<meta content="SnuggleTeX Documentation" name="description" />
|
||||
<meta content="David McKain" name="author" />
|
||||
<meta content="The University of Edinburgh" name="publisher" />
|
||||
<link href="/snuggletex-webapp-1.2.2/includes/core.css" rel="stylesheet" />
|
||||
<link href="/snuggletex-webapp-1.2.2/includes/webapp.css" rel="stylesheet" />
|
||||
<link href="/snuggletex-webapp-1.2.2/includes/snuggletex.css" rel="stylesheet" />
|
||||
<link href="/snuggletex-webapp-1.2.2/includes/jquery-ui-1.7.2.custom.css"
|
||||
rel="stylesheet" /><script src="/snuggletex-webapp-1.2.2/includes/jquery.js" type="text/javascript"></script><script src="/snuggletex-webapp-1.2.2/includes/jquery-ui-1.7.2.custom.js"
|
||||
type="text/javascript"></script><script src="/snuggletex-webapp-1.2.2/includes/webapp.js" type="text/javascript"></script><title>SnuggleTeX - ASCIIMathML Enrichment Demo</title><script src="/snuggletex-webapp-1.2.2/includes/ASCIIMathML.js" type="text/javascript"></script><script src="/snuggletex-webapp-1.2.2/includes/ASCIIMathMLwidget.js"
|
||||
type="text/javascript"></script></head>
|
||||
<body id="asciiMathMLUpConversionDemo">
|
||||
<table border="0" cellpadding="0" cellspacing="0" id="header" width="100%">
|
||||
<tr>
|
||||
<td align="left" id="logo" valign="top"><a class="headertext" href="http://www.ed.ac.uk"><img alt="The University of Edinburgh" height="84"
|
||||
src="/snuggletex-webapp-1.2.2/includes/uoe_logo.jpg"
|
||||
width="84" /></a></td>
|
||||
<td align="left">
|
||||
<h3>THE UNIVERSITY of EDINBURGH</h3>
|
||||
<h1>SCHOOL OF PHYSICS AND ASTRONOMY</h1>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h1 id="location"><a href="/snuggletex-webapp-1.2.2">SnuggleTeX (1.2.2)</a></h1>
|
||||
<div id="content">
|
||||
<div id="skipnavigation"><a href="#maincontent">Skip Navigation</a></div>
|
||||
<div id="navigation">
|
||||
<div id="navinner">
|
||||
<h2>About SnuggleTeX</h2>
|
||||
<ul>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/overview-and-features.html">Overview & Features</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/use-cases.html">Why Use SnuggleTeX?</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/license.html">License</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/release-notes.html">Release Notes</a></li>
|
||||
</ul>
|
||||
<h2>Demos & Samples</h2>
|
||||
<ul>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/MathInputDemo">Simple Math Input Demo</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/FullLaTeXInputDemo">Full LaTeX Input Demo</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/UpConversionDemo">MathML Semantic Enrichment Demo</a></li>
|
||||
<li><a class="selected" href="/snuggletex-webapp-1.2.2/ASCIIMathMLUpConversionDemo">ASCIIMathML Enrichment Demo</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/web-output-samples.html">Web Output Samples</a></li>
|
||||
</ul>
|
||||
<h2>User Guide</h2>
|
||||
<ul>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/getting-snuggletex.html">Getting SnuggleTeX</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/software-requirements.html">Software Requirements</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/your-classpath.html">Setting up Your ClassPath</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/examples.html">Examples</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/basic-usage.html">Basic Usage</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/inputs.html">Parsing LaTeX Inputs</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/xml-or-dom-output.html">Creating XML String or DOM Outputs</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/web-output.html">Creating Web Pages</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/error-reporting.html">Error Reporting</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/supported-latex.html">Supported LaTeX</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/advanced-usage.html">Advanced Usage</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/semantic-enrichment.html">Semantic Enrichment</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/migrating-from-older-versions.html">Migrating from older versions</a></li>
|
||||
<li><a href="http://snuggletex.sourceforge.net/maven/apidocs/index.html">API Documentation<span class="extlink"> </span></a></li>
|
||||
<li><a href="http://snuggletex.sourceforge.net/maven/xref/index.html">Source Code Cross-Reference<span class="extlink"> </span></a></li>
|
||||
</ul>
|
||||
<h2>SnuggleTeX Project Links</h2>
|
||||
<ul>
|
||||
<li><a href="http://sourceforge.net/project/showfiles.php?group_id=221375">Download from SourceForge.net<span class="extlink"> </span></a></li>
|
||||
<li><a href="http://sourceforge.net/projects/snuggletex/">SnuggleTeX on SourceForge.net<span class="extlink"> </span></a></li>
|
||||
<li><a href="http://snuggletex.sourceforge.net/maven/">SnuggleTeX Maven Developer Reports<span class="extlink"> </span></a></li>
|
||||
<li><a href="https://www.wiki.ed.ac.uk/display/Physics/SnuggleTeX">SnuggleTeX Wiki<span class="extlink"> </span></a></li>
|
||||
</ul>
|
||||
<head>
|
||||
<meta content="application/xhtml+xml; charset=UTF-8"
|
||||
http-equiv="Content-Type" />
|
||||
<meta content="SnuggleTeX" name="Generator" />
|
||||
<meta content="SnuggleTeX Documentation" name="description" />
|
||||
<meta content="David McKain" name="author" />
|
||||
<meta content="The University of Edinburgh" name="publisher" />
|
||||
<link href="/snuggletex-webapp-1.2.2/includes/core.css" rel="stylesheet" />
|
||||
<link href="/snuggletex-webapp-1.2.2/includes/webapp.css" rel="stylesheet" />
|
||||
<link href="/snuggletex-webapp-1.2.2/includes/snuggletex.css"
|
||||
rel="stylesheet" />
|
||||
<link href="/snuggletex-webapp-1.2.2/includes/jquery-ui-1.7.2.custom.css"
|
||||
rel="stylesheet" />
|
||||
<script src="/snuggletex-webapp-1.2.2/includes/jquery.js"
|
||||
type="text/javascript"></script><script src="/snuggletex-webapp-1.2.2/includes/jquery-ui-1.7.2.custom.js" type="text/javascript"></script><script src="/snuggletex-webapp-1.2.2/includes/webapp.js" type="text/javascript"></script><title>SnuggleTeX - ASCIIMathML Enrichment Demo</title><script src="/snuggletex-webapp-1.2.2/includes/ASCIIMathML.js" type="text/javascript"></script><script src="/snuggletex-webapp-1.2.2/includes/ASCIIMathMLwidget.js" type="text/javascript"></script>
|
||||
</head>
|
||||
<body id="asciiMathMLUpConversionDemo">
|
||||
<table border="0" cellpadding="0" cellspacing="0" id="header" width="100%">
|
||||
<tr>
|
||||
<td align="left" id="logo" valign="top">
|
||||
<a class="headertext" href="http://www.ed.ac.uk">
|
||||
<img alt="The University of Edinburgh"
|
||||
height="84"
|
||||
src="/snuggletex-webapp-1.2.2/includes/uoe_logo.jpg"
|
||||
width="84" />
|
||||
</a>
|
||||
</td>
|
||||
<td align="left">
|
||||
<h3>THE UNIVERSITY of EDINBURGH</h3>
|
||||
<h1>SCHOOL OF PHYSICS AND ASTRONOMY</h1>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h1 id="location">
|
||||
<a href="/snuggletex-webapp-1.2.2">SnuggleTeX (1.2.2)</a>
|
||||
</h1>
|
||||
<div id="content">
|
||||
<div id="skipnavigation">
|
||||
<a href="#maincontent">Skip Navigation</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="maincontent">
|
||||
<div id="popup"></div>
|
||||
<div id="maininner">
|
||||
<h2>ASCIIMathML Enrichment Demo</h2>
|
||||
<h3>Input</h3>
|
||||
<p>
|
||||
This demo is similar to the
|
||||
<a href="/snuggletex-webapp-1.2.2/UpConversionDemo">MathML Semantic Enrichnment Demo</a>
|
||||
but uses
|
||||
<a href="http://www1.chapman.edu/~jipsen/asciimath.html">ASCIIMathML</a> as
|
||||
an alternative input format, which provides real-time feedback as you
|
||||
type but can often generate MathML with odd semantics in it.
|
||||
SnuggleTeX includes some functionality that can to convert this raw MathML into
|
||||
something equivalent to its own MathML output, thereby allowing you to
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/semantic-enrichment.html">semantically enrich</a> it in
|
||||
certain simple cases, making ASCIIMathML a possibly viable input format
|
||||
for simple semantic maths.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
To try the demo, simply enter some some ASCIIMathML into the box below.
|
||||
You should see a real time preview of this while you type.
|
||||
Then hit <tt>Go!</tt> to use SnuggleTeX to semantically enrich your
|
||||
input.
|
||||
|
||||
</p>
|
||||
<form action="/snuggletex-webapp-1.2.2/ASCIIMathMLUpConversionDemo" class="input"
|
||||
method="post">
|
||||
<div class="inputBox">
|
||||
ASCIIMath Input:
|
||||
<input id="asciiMathInput" name="asciiMathInput" type="text" value="" /><input id="asciiMathML" name="asciiMathML" type="hidden" /><input type="submit" value="Go!" /></div>
|
||||
</form>
|
||||
<h3>Live Preview</h3>
|
||||
<p>
|
||||
This is a MathML rendering of your input, generated by ASCIIMathML as you type.
|
||||
|
||||
</p>
|
||||
<div class="result">
|
||||
<div id="preview"> </div>
|
||||
</div>
|
||||
<p>
|
||||
This is the underlying MathML source generated by ASCIIMathML, again updated in real time.
|
||||
|
||||
</p>
|
||||
<div class="result"><pre id="previewSource"> </pre></div><script type="text/javascript">
|
||||
<div id="navigation">
|
||||
<div id="navinner">
|
||||
<h2>About SnuggleTeX</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/overview-and-features.html">Overview & Features</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/use-cases.html">Why Use SnuggleTeX?</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/license.html">License</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/release-notes.html">Release Notes</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h2>Demos & Samples</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/MathInputDemo">Simple Math Input Demo</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/FullLaTeXInputDemo">Full LaTeX Input Demo</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/UpConversionDemo">MathML Semantic Enrichment Demo</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="selected"
|
||||
href="/snuggletex-webapp-1.2.2/ASCIIMathMLUpConversionDemo">ASCIIMathML Enrichment Demo</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/web-output-samples.html">Web Output Samples</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h2>User Guide</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/getting-snuggletex.html">Getting SnuggleTeX</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/software-requirements.html">Software Requirements</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/your-classpath.html">Setting up Your ClassPath</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/examples.html">Examples</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/basic-usage.html">Basic Usage</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/inputs.html">Parsing LaTeX Inputs</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/xml-or-dom-output.html">Creating XML String or DOM Outputs</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/web-output.html">Creating Web Pages</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/error-reporting.html">Error Reporting</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/supported-latex.html">Supported LaTeX</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/advanced-usage.html">Advanced Usage</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/semantic-enrichment.html">Semantic Enrichment</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/migrating-from-older-versions.html">Migrating from older versions</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://snuggletex.sourceforge.net/maven/apidocs/index.html">API Documentation<span class="extlink"></span></a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://snuggletex.sourceforge.net/maven/xref/index.html">Source Code Cross-Reference<span class="extlink"></span></a>
|
||||
</li>
|
||||
</ul>
|
||||
<h2>SnuggleTeX Project Links</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="http://sourceforge.net/project/showfiles.php?group_id=221375">Download from SourceForge.net<span class="extlink"></span></a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://sourceforge.net/projects/snuggletex/">SnuggleTeX on SourceForge.net<span class="extlink"></span></a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://snuggletex.sourceforge.net/maven/">SnuggleTeX Maven Developer Reports<span class="extlink"></span></a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://www.wiki.ed.ac.uk/display/Physics/SnuggleTeX">SnuggleTeX Wiki<span class="extlink"></span></a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="maincontent">
|
||||
<div id="popup"></div>
|
||||
<div id="maininner">
|
||||
<h2>ASCIIMathML Enrichment Demo</h2>
|
||||
<h3>Input</h3>
|
||||
<p>
|
||||
This demo is similar to the
|
||||
<a href="/snuggletex-webapp-1.2.2/UpConversionDemo">MathML Semantic Enrichnment Demo</a>
|
||||
but uses
|
||||
<a href="http://www1.chapman.edu/~jipsen/asciimath.html">ASCIIMathML</a> as
|
||||
an alternative input format, which provides real-time feedback as you
|
||||
type but can often generate MathML with odd semantics in it.
|
||||
SnuggleTeX includes some functionality that can to convert this raw MathML into
|
||||
something equivalent to its own MathML output, thereby allowing you to
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/semantic-enrichment.html">semantically enrich</a> it in
|
||||
certain simple cases, making ASCIIMathML a possibly viable input format
|
||||
for simple semantic maths.
|
||||
</p>
|
||||
<p>
|
||||
To try the demo, simply enter some some ASCIIMathML into the box below.
|
||||
You should see a real time preview of this while you type.
|
||||
Then hit <tt>Go!</tt> to use SnuggleTeX to semantically enrich your
|
||||
input.
|
||||
</p>
|
||||
<form action="/snuggletex-webapp-1.2.2/ASCIIMathMLUpConversionDemo"
|
||||
class="input"
|
||||
method="post">
|
||||
<div class="inputBox">
|
||||
ASCIIMath Input:
|
||||
<input id="asciiMathInput" name="asciiMathInput" type="text" value="" />
|
||||
<input id="asciiMathML" name="asciiMathML" type="hidden" />
|
||||
<input type="submit" value="Go!" />
|
||||
</div>
|
||||
</form>
|
||||
<h3>Live Preview</h3>
|
||||
<p>This is a MathML rendering of your input, generated by ASCIIMathML as you type.</p>
|
||||
<div class="result">
|
||||
<div id="preview"></div>
|
||||
</div>
|
||||
<p>This is the underlying MathML source generated by ASCIIMathML, again updated in real time.</p>
|
||||
<div class="result">
|
||||
<pre id="previewSource"> </pre>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
registerASCIIMathMLInputWidget('asciiMathInput', 'preview', 'asciiMathML', 'previewSource');
|
||||
var inputChanged = false;
|
||||
// Hide any existing output stuff in page on first change, as it will no longer be in sync
|
||||
@@ -127,13 +194,14 @@
|
||||
inputChanged = true;
|
||||
});
|
||||
});
|
||||
</script><div class="outputContainer">
|
||||
<h3>Enhanced Presentation MathML</h3>
|
||||
<p>
|
||||
This shows the result of attempting to enrich the raw Presentation MathML
|
||||
generated by ASCIIMathML:
|
||||
|
||||
</p><pre class="result"><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
</script>
|
||||
<div class="outputContainer">
|
||||
<h3>Enhanced Presentation MathML</h3>
|
||||
<p>
|
||||
This shows the result of attempting to enrich the raw Presentation MathML
|
||||
generated by ASCIIMathML:
|
||||
</p>
|
||||
<pre class="result"><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mrow>
|
||||
<mrow>
|
||||
<mrow>
|
||||
@@ -199,12 +267,13 @@
|
||||
</mfenced>
|
||||
</mrow>
|
||||
</mrow>
|
||||
</math></pre><h3>Content MathML</h3>
|
||||
<p>
|
||||
This shows the result of an attempted
|
||||
<a href="documentation/content-mathml.html">conversion to Content MathML</a>:
|
||||
|
||||
</p><pre class="result"><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
</math></pre>
|
||||
<h3>Content MathML</h3>
|
||||
<p>
|
||||
This shows the result of an attempted
|
||||
<a href="documentation/content-mathml.html">conversion to Content MathML</a>:
|
||||
</p>
|
||||
<pre class="result"><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<apply>
|
||||
<plus/>
|
||||
<apply>
|
||||
@@ -247,32 +316,34 @@
|
||||
</list>
|
||||
</apply>
|
||||
</apply>
|
||||
</math></pre><h3>Maxima Input Form</h3>
|
||||
<p>
|
||||
This shows the result of an attempted
|
||||
<a href="documentation/maxima-input.html">conversion to Maxima Input syntax</a>:
|
||||
|
||||
</p>
|
||||
<p>
|
||||
The conversion from Content MathML to Maxima Input was not successful for
|
||||
this input.
|
||||
|
||||
</p>
|
||||
<table class="failures">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Failure Code</th>
|
||||
<th>Message</th>
|
||||
<th>XPath</th>
|
||||
<th>Context</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><a href="/snuggletex-webapp-1.2.2/documentation/error-codes.html#UMFG00">UMFG00</a></td>
|
||||
<td>Content MathML element matrix not supported</td>
|
||||
<td>apply[1]/apply[1]/list[1]/matrix[1]</td>
|
||||
<td><pre><matrix>
|
||||
</math></pre>
|
||||
<h3>Maxima Input Form</h3>
|
||||
<p>
|
||||
This shows the result of an attempted
|
||||
<a href="documentation/maxima-input.html">conversion to Maxima Input syntax</a>:
|
||||
</p>
|
||||
<p>
|
||||
The conversion from Content MathML to Maxima Input was not successful for
|
||||
this input.
|
||||
</p>
|
||||
<table class="failures">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Failure Code</th>
|
||||
<th>Message</th>
|
||||
<th>XPath</th>
|
||||
<th>Context</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/error-codes.html#UMFG00">UMFG00</a>
|
||||
</td>
|
||||
<td>Content MathML element matrix not supported</td>
|
||||
<td>apply[1]/apply[1]/list[1]/matrix[1]</td>
|
||||
<td>
|
||||
<pre><matrix>
|
||||
<vector>
|
||||
<cn>1</cn>
|
||||
<cn>0</cn>
|
||||
@@ -281,13 +352,17 @@
|
||||
<cn>0</cn>
|
||||
<cn>1</cn>
|
||||
</vector>
|
||||
</matrix></pre></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="/snuggletex-webapp-1.2.2/documentation/error-codes.html#UMFG00">UMFG00</a></td>
|
||||
<td>Content MathML element matrix not supported</td>
|
||||
<td>apply[1]/apply[2]/list[1]/matrix[1]</td>
|
||||
<td><pre><matrix>
|
||||
</matrix></pre>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/error-codes.html#UMFG00">UMFG00</a>
|
||||
</td>
|
||||
<td>Content MathML element matrix not supported</td>
|
||||
<td>apply[1]/apply[2]/list[1]/matrix[1]</td>
|
||||
<td>
|
||||
<pre><matrix>
|
||||
<vector>
|
||||
<cn>0</cn>
|
||||
<cn>1</cn>
|
||||
@@ -296,16 +371,17 @@
|
||||
<cn>1</cn>
|
||||
<cn>0</cn>
|
||||
</vector>
|
||||
</matrix></pre></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>MathML Parallel Markup</h3>
|
||||
<p>
|
||||
This shows the enhanced Presentation MathML with other forms encapsulated
|
||||
as annotations:
|
||||
|
||||
</p><pre class="result"><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
</matrix></pre>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>MathML Parallel Markup</h3>
|
||||
<p>
|
||||
This shows the enhanced Presentation MathML with other forms encapsulated
|
||||
as annotations:
|
||||
</p>
|
||||
<pre class="result"><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<semantics>
|
||||
<mrow>
|
||||
<mrow>
|
||||
@@ -454,27 +530,27 @@
|
||||
</s:fail>
|
||||
</annotation-xml>
|
||||
</semantics>
|
||||
</math></pre></div>
|
||||
</math></pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="copyright">
|
||||
<p>
|
||||
SnuggleTeX Release 1.2.2 —
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/release-notes.html">Release Notes</a><br />
|
||||
Copyright © 2009
|
||||
<a href="http://www.ph.ed.ac.uk">The School of Physics and Astronomy</a>,
|
||||
<a href="http://www.ed.ac.uk">The University of Edinburgh</a>.
|
||||
<br />
|
||||
For more information, contact
|
||||
<a href="http://www.ph.ed.ac.uk/elearning/contacts/#dmckain">David McKain</a>.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
The University of Edinburgh is a charitable body, registered in Scotland,
|
||||
with registration number SC005336.
|
||||
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</div>
|
||||
<div id="copyright">
|
||||
<p>
|
||||
SnuggleTeX Release 1.2.2 —
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/release-notes.html">Release Notes</a>
|
||||
<br />
|
||||
Copyright © 2009
|
||||
<a href="http://www.ph.ed.ac.uk">The School of Physics and Astronomy</a>,
|
||||
<a href="http://www.ed.ac.uk">The University of Edinburgh</a>.
|
||||
<br />
|
||||
For more information, contact
|
||||
<a href="http://www.ph.ed.ac.uk/elearning/contacts/#dmckain">David McKain</a>.
|
||||
</p>
|
||||
<p>
|
||||
The University of Edinburgh is a charitable body, registered in Scotland,
|
||||
with registration number SC005336.
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,123 +1,190 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html
|
||||
PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd">
|
||||
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
||||
<head>
|
||||
<meta content="application/xhtml+xml; charset=UTF-8" http-equiv="Content-Type" />
|
||||
<meta content="SnuggleTeX" name="Generator" />
|
||||
<meta content="SnuggleTeX Documentation" name="description" />
|
||||
<meta content="David McKain" name="author" />
|
||||
<meta content="The University of Edinburgh" name="publisher" />
|
||||
<link href="/snuggletex-webapp-1.2.2/includes/core.css" rel="stylesheet" />
|
||||
<link href="/snuggletex-webapp-1.2.2/includes/webapp.css" rel="stylesheet" />
|
||||
<link href="/snuggletex-webapp-1.2.2/includes/snuggletex.css" rel="stylesheet" />
|
||||
<link href="/snuggletex-webapp-1.2.2/includes/jquery-ui-1.7.2.custom.css"
|
||||
rel="stylesheet" /><script src="/snuggletex-webapp-1.2.2/includes/jquery.js" type="text/javascript"></script><script src="/snuggletex-webapp-1.2.2/includes/jquery-ui-1.7.2.custom.js"
|
||||
type="text/javascript"></script><script src="/snuggletex-webapp-1.2.2/includes/webapp.js" type="text/javascript"></script><title>SnuggleTeX - ASCIIMathML Enrichment Demo</title><script src="/snuggletex-webapp-1.2.2/includes/ASCIIMathML.js" type="text/javascript"></script><script src="/snuggletex-webapp-1.2.2/includes/ASCIIMathMLwidget.js"
|
||||
type="text/javascript"></script></head>
|
||||
<body id="asciiMathMLUpConversionDemo">
|
||||
<table border="0" cellpadding="0" cellspacing="0" id="header" width="100%">
|
||||
<tr>
|
||||
<td align="left" id="logo" valign="top"><a class="headertext" href="http://www.ed.ac.uk"><img alt="The University of Edinburgh" height="84"
|
||||
src="/snuggletex-webapp-1.2.2/includes/uoe_logo.jpg"
|
||||
width="84" /></a></td>
|
||||
<td align="left">
|
||||
<h3>THE UNIVERSITY of EDINBURGH</h3>
|
||||
<h1>SCHOOL OF PHYSICS AND ASTRONOMY</h1>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h1 id="location"><a href="/snuggletex-webapp-1.2.2">SnuggleTeX (1.2.2)</a></h1>
|
||||
<div id="content">
|
||||
<div id="skipnavigation"><a href="#maincontent">Skip Navigation</a></div>
|
||||
<div id="navigation">
|
||||
<div id="navinner">
|
||||
<h2>About SnuggleTeX</h2>
|
||||
<ul>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/overview-and-features.html">Overview & Features</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/use-cases.html">Why Use SnuggleTeX?</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/license.html">License</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/release-notes.html">Release Notes</a></li>
|
||||
</ul>
|
||||
<h2>Demos & Samples</h2>
|
||||
<ul>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/MathInputDemo">Simple Math Input Demo</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/FullLaTeXInputDemo">Full LaTeX Input Demo</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/UpConversionDemo">MathML Semantic Enrichment Demo</a></li>
|
||||
<li><a class="selected" href="/snuggletex-webapp-1.2.2/ASCIIMathMLUpConversionDemo">ASCIIMathML Enrichment Demo</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/web-output-samples.html">Web Output Samples</a></li>
|
||||
</ul>
|
||||
<h2>User Guide</h2>
|
||||
<ul>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/getting-snuggletex.html">Getting SnuggleTeX</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/software-requirements.html">Software Requirements</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/your-classpath.html">Setting up Your ClassPath</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/examples.html">Examples</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/basic-usage.html">Basic Usage</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/inputs.html">Parsing LaTeX Inputs</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/xml-or-dom-output.html">Creating XML String or DOM Outputs</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/web-output.html">Creating Web Pages</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/error-reporting.html">Error Reporting</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/supported-latex.html">Supported LaTeX</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/advanced-usage.html">Advanced Usage</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/semantic-enrichment.html">Semantic Enrichment</a></li>
|
||||
<li><a href="/snuggletex-webapp-1.2.2/documentation/migrating-from-older-versions.html">Migrating from older versions</a></li>
|
||||
<li><a href="http://snuggletex.sourceforge.net/maven/apidocs/index.html">API Documentation<span class="extlink"> </span></a></li>
|
||||
<li><a href="http://snuggletex.sourceforge.net/maven/xref/index.html">Source Code Cross-Reference<span class="extlink"> </span></a></li>
|
||||
</ul>
|
||||
<h2>SnuggleTeX Project Links</h2>
|
||||
<ul>
|
||||
<li><a href="http://sourceforge.net/project/showfiles.php?group_id=221375">Download from SourceForge.net<span class="extlink"> </span></a></li>
|
||||
<li><a href="http://sourceforge.net/projects/snuggletex/">SnuggleTeX on SourceForge.net<span class="extlink"> </span></a></li>
|
||||
<li><a href="http://snuggletex.sourceforge.net/maven/">SnuggleTeX Maven Developer Reports<span class="extlink"> </span></a></li>
|
||||
<li><a href="https://www.wiki.ed.ac.uk/display/Physics/SnuggleTeX">SnuggleTeX Wiki<span class="extlink"> </span></a></li>
|
||||
</ul>
|
||||
<head>
|
||||
<meta content="application/xhtml+xml; charset=UTF-8"
|
||||
http-equiv="Content-Type" />
|
||||
<meta content="SnuggleTeX" name="Generator" />
|
||||
<meta content="SnuggleTeX Documentation" name="description" />
|
||||
<meta content="David McKain" name="author" />
|
||||
<meta content="The University of Edinburgh" name="publisher" />
|
||||
<link href="/snuggletex-webapp-1.2.2/includes/core.css" rel="stylesheet" />
|
||||
<link href="/snuggletex-webapp-1.2.2/includes/webapp.css" rel="stylesheet" />
|
||||
<link href="/snuggletex-webapp-1.2.2/includes/snuggletex.css"
|
||||
rel="stylesheet" />
|
||||
<link href="/snuggletex-webapp-1.2.2/includes/jquery-ui-1.7.2.custom.css"
|
||||
rel="stylesheet" />
|
||||
<script src="/snuggletex-webapp-1.2.2/includes/jquery.js"
|
||||
type="text/javascript"></script><script src="/snuggletex-webapp-1.2.2/includes/jquery-ui-1.7.2.custom.js" type="text/javascript"></script><script src="/snuggletex-webapp-1.2.2/includes/webapp.js" type="text/javascript"></script><title>SnuggleTeX - ASCIIMathML Enrichment Demo</title><script src="/snuggletex-webapp-1.2.2/includes/ASCIIMathML.js" type="text/javascript"></script><script src="/snuggletex-webapp-1.2.2/includes/ASCIIMathMLwidget.js" type="text/javascript"></script>
|
||||
</head>
|
||||
<body id="asciiMathMLUpConversionDemo">
|
||||
<table border="0" cellpadding="0" cellspacing="0" id="header" width="100%">
|
||||
<tr>
|
||||
<td align="left" id="logo" valign="top">
|
||||
<a class="headertext" href="http://www.ed.ac.uk">
|
||||
<img alt="The University of Edinburgh"
|
||||
height="84"
|
||||
src="/snuggletex-webapp-1.2.2/includes/uoe_logo.jpg"
|
||||
width="84" />
|
||||
</a>
|
||||
</td>
|
||||
<td align="left">
|
||||
<h3>THE UNIVERSITY of EDINBURGH</h3>
|
||||
<h1>SCHOOL OF PHYSICS AND ASTRONOMY</h1>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h1 id="location">
|
||||
<a href="/snuggletex-webapp-1.2.2">SnuggleTeX (1.2.2)</a>
|
||||
</h1>
|
||||
<div id="content">
|
||||
<div id="skipnavigation">
|
||||
<a href="#maincontent">Skip Navigation</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="maincontent">
|
||||
<div id="popup"></div>
|
||||
<div id="maininner">
|
||||
<h2>ASCIIMathML Enrichment Demo</h2>
|
||||
<h3>Input</h3>
|
||||
<p>
|
||||
This demo is similar to the
|
||||
<a href="/snuggletex-webapp-1.2.2/UpConversionDemo">MathML Semantic Enrichnment Demo</a>
|
||||
but uses
|
||||
<a href="http://www1.chapman.edu/~jipsen/asciimath.html">ASCIIMathML</a> as
|
||||
an alternative input format, which provides real-time feedback as you
|
||||
type but can often generate MathML with odd semantics in it.
|
||||
SnuggleTeX includes some functionality that can to convert this raw MathML into
|
||||
something equivalent to its own MathML output, thereby allowing you to
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/semantic-enrichment.html">semantically enrich</a> it in
|
||||
certain simple cases, making ASCIIMathML a possibly viable input format
|
||||
for simple semantic maths.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
To try the demo, simply enter some some ASCIIMathML into the box below.
|
||||
You should see a real time preview of this while you type.
|
||||
Then hit <tt>Go!</tt> to use SnuggleTeX to semantically enrich your
|
||||
input.
|
||||
|
||||
</p>
|
||||
<form action="/snuggletex-webapp-1.2.2/ASCIIMathMLUpConversionDemo" class="input"
|
||||
method="post">
|
||||
<div class="inputBox">
|
||||
ASCIIMath Input:
|
||||
<input id="asciiMathInput" name="asciiMathInput" type="text" value="" /><input id="asciiMathML" name="asciiMathML" type="hidden" /><input type="submit" value="Go!" /></div>
|
||||
</form>
|
||||
<h3>Live Preview</h3>
|
||||
<p>
|
||||
This is a MathML rendering of your input, generated by ASCIIMathML as you type.
|
||||
|
||||
</p>
|
||||
<div class="result">
|
||||
<div id="preview"> </div>
|
||||
</div>
|
||||
<p>
|
||||
This is the underlying MathML source generated by ASCIIMathML, again updated in real time.
|
||||
|
||||
</p>
|
||||
<div class="result"><pre id="previewSource"> </pre></div><script type="text/javascript">
|
||||
<div id="navigation">
|
||||
<div id="navinner">
|
||||
<h2>About SnuggleTeX</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/overview-and-features.html">Overview & Features</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/use-cases.html">Why Use SnuggleTeX?</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/license.html">License</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/release-notes.html">Release Notes</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h2>Demos & Samples</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/MathInputDemo">Simple Math Input Demo</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/FullLaTeXInputDemo">Full LaTeX Input Demo</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/UpConversionDemo">MathML Semantic Enrichment Demo</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="selected"
|
||||
href="/snuggletex-webapp-1.2.2/ASCIIMathMLUpConversionDemo">ASCIIMathML Enrichment Demo</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/web-output-samples.html">Web Output Samples</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h2>User Guide</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/getting-snuggletex.html">Getting SnuggleTeX</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/software-requirements.html">Software Requirements</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/your-classpath.html">Setting up Your ClassPath</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/examples.html">Examples</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/basic-usage.html">Basic Usage</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/inputs.html">Parsing LaTeX Inputs</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/xml-or-dom-output.html">Creating XML String or DOM Outputs</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/web-output.html">Creating Web Pages</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/error-reporting.html">Error Reporting</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/supported-latex.html">Supported LaTeX</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/advanced-usage.html">Advanced Usage</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/semantic-enrichment.html">Semantic Enrichment</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/migrating-from-older-versions.html">Migrating from older versions</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://snuggletex.sourceforge.net/maven/apidocs/index.html">API Documentation<span class="extlink"></span></a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://snuggletex.sourceforge.net/maven/xref/index.html">Source Code Cross-Reference<span class="extlink"></span></a>
|
||||
</li>
|
||||
</ul>
|
||||
<h2>SnuggleTeX Project Links</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="http://sourceforge.net/project/showfiles.php?group_id=221375">Download from SourceForge.net<span class="extlink"></span></a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://sourceforge.net/projects/snuggletex/">SnuggleTeX on SourceForge.net<span class="extlink"></span></a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://snuggletex.sourceforge.net/maven/">SnuggleTeX Maven Developer Reports<span class="extlink"></span></a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://www.wiki.ed.ac.uk/display/Physics/SnuggleTeX">SnuggleTeX Wiki<span class="extlink"></span></a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="maincontent">
|
||||
<div id="popup"></div>
|
||||
<div id="maininner">
|
||||
<h2>ASCIIMathML Enrichment Demo</h2>
|
||||
<h3>Input</h3>
|
||||
<p>
|
||||
This demo is similar to the
|
||||
<a href="/snuggletex-webapp-1.2.2/UpConversionDemo">MathML Semantic Enrichnment Demo</a>
|
||||
but uses
|
||||
<a href="http://www1.chapman.edu/~jipsen/asciimath.html">ASCIIMathML</a> as
|
||||
an alternative input format, which provides real-time feedback as you
|
||||
type but can often generate MathML with odd semantics in it.
|
||||
SnuggleTeX includes some functionality that can to convert this raw MathML into
|
||||
something equivalent to its own MathML output, thereby allowing you to
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/semantic-enrichment.html">semantically enrich</a> it in
|
||||
certain simple cases, making ASCIIMathML a possibly viable input format
|
||||
for simple semantic maths.
|
||||
</p>
|
||||
<p>
|
||||
To try the demo, simply enter some some ASCIIMathML into the box below.
|
||||
You should see a real time preview of this while you type.
|
||||
Then hit <tt>Go!</tt> to use SnuggleTeX to semantically enrich your
|
||||
input.
|
||||
</p>
|
||||
<form action="/snuggletex-webapp-1.2.2/ASCIIMathMLUpConversionDemo"
|
||||
class="input"
|
||||
method="post">
|
||||
<div class="inputBox">
|
||||
ASCIIMath Input:
|
||||
<input id="asciiMathInput" name="asciiMathInput" type="text" value="" />
|
||||
<input id="asciiMathML" name="asciiMathML" type="hidden" />
|
||||
<input type="submit" value="Go!" />
|
||||
</div>
|
||||
</form>
|
||||
<h3>Live Preview</h3>
|
||||
<p>This is a MathML rendering of your input, generated by ASCIIMathML as you type.</p>
|
||||
<div class="result">
|
||||
<div id="preview"></div>
|
||||
</div>
|
||||
<p>This is the underlying MathML source generated by ASCIIMathML, again updated in real time.</p>
|
||||
<div class="result">
|
||||
<pre id="previewSource"> </pre>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
registerASCIIMathMLInputWidget('asciiMathInput', 'preview', 'asciiMathML', 'previewSource');
|
||||
var inputChanged = false;
|
||||
// Hide any existing output stuff in page on first change, as it will no longer be in sync
|
||||
@@ -127,32 +194,36 @@
|
||||
inputChanged = true;
|
||||
});
|
||||
});
|
||||
</script><div class="outputContainer">
|
||||
<h3>Enhanced Presentation MathML</h3>
|
||||
<p>
|
||||
This shows the result of attempting to enrich the raw Presentation MathML
|
||||
generated by ASCIIMathML:
|
||||
|
||||
</p><pre class="result"><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
</script>
|
||||
<div class="outputContainer">
|
||||
<h3>Enhanced Presentation MathML</h3>
|
||||
<p>
|
||||
This shows the result of attempting to enrich the raw Presentation MathML
|
||||
generated by ASCIIMathML:
|
||||
</p>
|
||||
<pre class="result"><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<mn>2</mn>
|
||||
</math></pre><h3>Content MathML</h3>
|
||||
<p>
|
||||
This shows the result of an attempted
|
||||
<a href="documentation/content-mathml.html">conversion to Content MathML</a>:
|
||||
|
||||
</p><pre class="result"><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
</math></pre>
|
||||
<h3>Content MathML</h3>
|
||||
<p>
|
||||
This shows the result of an attempted
|
||||
<a href="documentation/content-mathml.html">conversion to Content MathML</a>:
|
||||
</p>
|
||||
<pre class="result"><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<cn>2</cn>
|
||||
</math></pre><h3>Maxima Input Form</h3>
|
||||
<p>
|
||||
This shows the result of an attempted
|
||||
<a href="documentation/maxima-input.html">conversion to Maxima Input syntax</a>:
|
||||
|
||||
</p><pre class="result">2</pre><h3>MathML Parallel Markup</h3>
|
||||
<p>
|
||||
This shows the enhanced Presentation MathML with other forms encapsulated
|
||||
as annotations:
|
||||
|
||||
</p><pre class="result"><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
</math></pre>
|
||||
<h3>Maxima Input Form</h3>
|
||||
<p>
|
||||
This shows the result of an attempted
|
||||
<a href="documentation/maxima-input.html">conversion to Maxima Input syntax</a>:
|
||||
</p>
|
||||
<pre class="result">2</pre>
|
||||
<h3>MathML Parallel Markup</h3>
|
||||
<p>
|
||||
This shows the enhanced Presentation MathML with other forms encapsulated
|
||||
as annotations:
|
||||
</p>
|
||||
<pre class="result"><math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<semantics>
|
||||
<mn>2</mn>
|
||||
<annotation-xml encoding="MathML-Content">
|
||||
@@ -161,27 +232,27 @@
|
||||
<annotation encoding="ASCIIMathInput"/>
|
||||
<annotation encoding="Maxima">2</annotation>
|
||||
</semantics>
|
||||
</math></pre></div>
|
||||
</math></pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="copyright">
|
||||
<p>
|
||||
SnuggleTeX Release 1.2.2 —
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/release-notes.html">Release Notes</a><br />
|
||||
Copyright © 2009
|
||||
<a href="http://www.ph.ed.ac.uk">The School of Physics and Astronomy</a>,
|
||||
<a href="http://www.ed.ac.uk">The University of Edinburgh</a>.
|
||||
<br />
|
||||
For more information, contact
|
||||
<a href="http://www.ph.ed.ac.uk/elearning/contacts/#dmckain">David McKain</a>.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
The University of Edinburgh is a charitable body, registered in Scotland,
|
||||
with registration number SC005336.
|
||||
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</div>
|
||||
<div id="copyright">
|
||||
<p>
|
||||
SnuggleTeX Release 1.2.2 —
|
||||
<a href="/snuggletex-webapp-1.2.2/documentation/release-notes.html">Release Notes</a>
|
||||
<br />
|
||||
Copyright © 2009
|
||||
<a href="http://www.ph.ed.ac.uk">The School of Physics and Astronomy</a>,
|
||||
<a href="http://www.ed.ac.uk">The University of Edinburgh</a>.
|
||||
<br />
|
||||
For more information, contact
|
||||
<a href="http://www.ph.ed.ac.uk/elearning/contacts/#dmckain">David McKain</a>.
|
||||
</p>
|
||||
<p>
|
||||
The University of Edinburgh is a charitable body, registered in Scotland,
|
||||
with registration number SC005336.
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
<div class="choicegroup">
|
||||
<label for="input_1_1_1"><input type="checkbox" name="input_1_1" id="input_1_1_1" value="1"> One</label>
|
||||
<label for="input_1_1_2" class="choicegroup_correct"><input type="checkbox" name="input_1_1" id="input_1_1_2" value="2"> Two <span class="status correct"></span></label>
|
||||
<label for="input_1_1_3"><input type="checkbox" name="input_1_1" id="input_1_1_3" value="3"> Three</label>
|
||||
</div>
|
||||
<label for="input_1_1_1">
|
||||
<input type="checkbox" name="input_1_1" id="input_1_1_1" value="1">
|
||||
One
|
||||
</label>
|
||||
<label for="input_1_1_2" class="choicegroup_correct">
|
||||
<input type="checkbox" name="input_1_1" id="input_1_1_2" value="2">
|
||||
Two <span class="status correct"></span>
|
||||
</label>
|
||||
<label for="input_1_1_3">
|
||||
<input type="checkbox" name="input_1_1" id="input_1_1_3" value="3">
|
||||
Three
|
||||
</label>
|
||||
</div>
|
||||
|
||||
@@ -1,21 +1,20 @@
|
||||
<div id="textbox_101" class="capa_inputtype textbox cminput">
|
||||
<label class="problem-group-label" for="cm-textarea-101">question label here</label>
|
||||
<textarea rows="40" cols="80" name="input_101"
|
||||
aria-label="python editor"
|
||||
aria-describedby="answer_101"
|
||||
id="input_101"
|
||||
tabindex="0"
|
||||
data-mode="python"
|
||||
data-tabsize="4"
|
||||
data-linenums="true"
|
||||
>write some awesome code</textarea>
|
||||
<span class="cm-editor-exit-message capa-message" id="cm-editor-exit-message-101">
|
||||
Press ESC then TAB or click outside of the code editor to exit
|
||||
</span>
|
||||
|
||||
<div class="grader-status" tabindex="-1">
|
||||
<span id="status_101" class="correct" aria-describedby="input_101">
|
||||
<span class="status sr">correct</span>
|
||||
</span>
|
||||
</div>
|
||||
<label class="problem-group-label" for="cm-textarea-101">question label here</label>
|
||||
<textarea rows="40"
|
||||
cols="80"
|
||||
name="input_101"
|
||||
aria-label="python editor"
|
||||
aria-describedby="answer_101"
|
||||
id="input_101"
|
||||
tabindex="0"
|
||||
data-mode="python"
|
||||
data-tabsize="4"
|
||||
data-linenums="true">write some awesome code</textarea>
|
||||
<span class="cm-editor-exit-message capa-message"
|
||||
id="cm-editor-exit-message-101">Press ESC then TAB or click outside of the code editor to exit</span>
|
||||
<div class="grader-status" tabindex="-1">
|
||||
<span id="status_101" class="correct" aria-describedby="input_101">
|
||||
<span class="status sr">correct</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,35 +1,30 @@
|
||||
<!-- ${id} = 12345 -->
|
||||
<!-- ${width} = 300 -->
|
||||
<!-- ${height} = 400 -->
|
||||
|
||||
<div class="imageinput capa_inputtype" id="inputtype_12345">
|
||||
<input
|
||||
type="hidden"
|
||||
class="imageinput"
|
||||
src=""
|
||||
name="input_12345"
|
||||
id="input_12345"
|
||||
value=""
|
||||
/>
|
||||
|
||||
<input type="hidden"
|
||||
class="imageinput"
|
||||
src=""
|
||||
name="input_12345"
|
||||
id="input_12345"
|
||||
value="" />
|
||||
<div style="position:relative;">
|
||||
<div
|
||||
id="imageinput_12345"
|
||||
style="width: 300px; height: 400px; position: relative; left: 0; top: 0; visibility: hidden;"
|
||||
>
|
||||
<div id="imageinput_12345"
|
||||
style="width: 300px;
|
||||
height: 400px;
|
||||
position: relative;
|
||||
left: 0;
|
||||
top: 0;
|
||||
visibility: hidden">
|
||||
<!-- image will go here -->
|
||||
</div>
|
||||
<div id="answer_12345" data-width="100" data-height="100"></div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- status == 'unsubmitted' -->
|
||||
<span
|
||||
class="unanswered"
|
||||
style="display: inline-block;"
|
||||
id="status_12345"
|
||||
aria-describedby="input_12345"
|
||||
>
|
||||
<span class="sr">Status: unanswered</span>
|
||||
</span>
|
||||
<span class="unanswered"
|
||||
style="display: inline-block"
|
||||
id="status_12345"
|
||||
aria-describedby="input_12345">
|
||||
<span class="sr">Status: unanswered</span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -1,35 +1,30 @@
|
||||
<!-- ${id} = 12345 -->
|
||||
<!-- ${width} = 300 -->
|
||||
<!-- ${height} = 400 -->
|
||||
|
||||
<div class="imageinput capa_inputtype" id="inputtype_<%-id%>">
|
||||
<input
|
||||
type="hidden"
|
||||
class="imageinput"
|
||||
src=""
|
||||
name="input_<%-id%>"
|
||||
id="input_<%-id%>"
|
||||
value=""
|
||||
/>
|
||||
|
||||
<div style="position:relative;">
|
||||
<div
|
||||
id="imageinput_<%-id%>"
|
||||
style="width: <%-width%>px; height: <%-height%>px; position: relative; left: 0; top: 0; visibility: hidden;"
|
||||
>
|
||||
<!-- image will go here -->
|
||||
<input type="hidden"
|
||||
class="imageinput"
|
||||
src=""
|
||||
name="input_<%-id%>"
|
||||
id="input_<%-id%>"
|
||||
value="" />
|
||||
<div style="position:relative;">
|
||||
<div id="imageinput_<%-id%>"
|
||||
style="width: <%-width%>px;
|
||||
height: <%-height%>px;
|
||||
position: relative;
|
||||
left: 0;
|
||||
top: 0;
|
||||
visibility: hidden">
|
||||
<!-- image will go here -->
|
||||
</div>
|
||||
<div id="answer_<%-id%>" data-width="100" data-height="100"></div>
|
||||
</div>
|
||||
<div id="answer_<%-id%>" data-width="100" data-height="100"></div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- status == 'unsubmitted' -->
|
||||
<span
|
||||
class="unanswered"
|
||||
style="display: inline-block;"
|
||||
id="status_<%-id%>"
|
||||
aria-describedby="input_<%-id%>"
|
||||
>
|
||||
<!-- status == 'unsubmitted' -->
|
||||
<span class="unanswered"
|
||||
style="display: inline-block"
|
||||
id="status_<%-id%>"
|
||||
aria-describedby="input_<%-id%>">
|
||||
<span class="sr">Status: unanswered</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,53 +1,60 @@
|
||||
<h3 class="hd hd-3 problem-header">Custom Javascript Display and Grading</h3>
|
||||
|
||||
<div class="problem">
|
||||
<div>
|
||||
<span>
|
||||
<section data-processed="true" data-sop="false" data-setstate="WebGLDemo.setState"
|
||||
data-getstate="WebGLDemo.getState"
|
||||
data-stored=""
|
||||
data="WebGLDemo.getGrade" class="jsinput"
|
||||
id="inputtype_1_">
|
||||
<section data-processed="true"
|
||||
data-sop="false"
|
||||
data-setstate="WebGLDemo.setState"
|
||||
data-getstate="WebGLDemo.getState"
|
||||
data-stored=""
|
||||
data="WebGLDemo.getGrade"
|
||||
class="jsinput"
|
||||
id="inputtype_1_">
|
||||
<div id="status_1_" class="correct">
|
||||
<iframe width="400" height="400" frameborder="0" src="https://studio.edx.org/c4x/edX/DemoX/asset/webGLDemo.html"
|
||||
<iframe width="400"
|
||||
height="400"
|
||||
frameborder="0"
|
||||
src="https://studio.edx.org/c4x/edX/DemoX/asset/webGLDemo.html"
|
||||
seamless="seamless"
|
||||
sandbox="allow-scripts allow-popups allow-same-origin allow-forms allow-pointer-lock"
|
||||
id="iframe_1_"
|
||||
name="iframe_1_">
|
||||
</iframe>
|
||||
<input type="hidden"
|
||||
value=""
|
||||
waitfor="" id="input_1_1"
|
||||
name="input_1_1">
|
||||
</div>
|
||||
<input type="hidden" value="" waitfor="" id="input_1_1" name="input_1_1">
|
||||
</div>
|
||||
</section>
|
||||
</span>
|
||||
|
||||
<span>
|
||||
<section data-processed="true" data-sop="false" data-setstate="WebGLDemo.setState"
|
||||
data-getstate="WebGLDemo.getState"
|
||||
data-stored=""
|
||||
data="WebGLDemo.getGrade" class="jsinput"
|
||||
id="inputtype_1_">
|
||||
<section data-processed="true"
|
||||
data-sop="false"
|
||||
data-setstate="WebGLDemo.setState"
|
||||
data-getstate="WebGLDemo.getState"
|
||||
data-stored=""
|
||||
data="WebGLDemo.getGrade"
|
||||
class="jsinput"
|
||||
id="inputtype_1_">
|
||||
<div id="status_1_" class="incorrect">
|
||||
<iframe width="400" height="400" frameborder="0"
|
||||
src="https://studio.edx.org/c4x/edX/DemoX/asset/webGLDemo.html" seamless="seamless"
|
||||
<iframe width="400"
|
||||
height="400"
|
||||
frameborder="0"
|
||||
src="https://studio.edx.org/c4x/edX/DemoX/asset/webGLDemo.html"
|
||||
seamless="seamless"
|
||||
sandbox="allow-scripts allow-popups allow-same-origin allow-forms allow-pointer-lock"
|
||||
id="iframe_1_"
|
||||
name="iframe_1_">
|
||||
</iframe>
|
||||
<input type="hidden"
|
||||
value=""
|
||||
id="input_1_2"
|
||||
name="input_1_2">
|
||||
<input type="hidden" value="" id="input_1_2" name="input_1_2">
|
||||
</div>
|
||||
</section>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="action">
|
||||
<input type="hidden" value="Custom Javascript Display and Grading" name="problem_id">
|
||||
<input type="hidden"
|
||||
value="Custom Javascript Display and Grading"
|
||||
name="problem_id">
|
||||
<input type="button" value="Reset" class="reset">
|
||||
<button class="show"><span aria-hidden="true" class="show-label">Show Answer</span> <span class="sr">Reveal Answer</span></button>
|
||||
<button class="show">
|
||||
<span aria-hidden="true" class="show-label">Show Answer</span> <span class="sr">Reveal Answer</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,46 +1,48 @@
|
||||
<div class="problem">
|
||||
<div>
|
||||
<span>
|
||||
<section id="textbox_test_matlab_plot1_2_1" class="capa_inputtype cminput">
|
||||
<textarea rows="10" cols="80" name="input_i4x-MITx-2_01x-problem-test_matlab_plot1_2_1"
|
||||
aria-describedby="answer_i4x-MITx-2_01x-problem-test_matlab_plot1_2_1"
|
||||
id="input_i4x-MITx-2_01x-problem-test_matlab_plot1_2_1" data-tabsize="4" data-mode="octave"
|
||||
data-linenums="true" style="display: none;">This is the MATLAB input, whatever that may be.
|
||||
</textarea>
|
||||
|
||||
<div class="grader-status" tabindex="-1">
|
||||
<span id="status_test_matlab_plot1_2_1" class="processing" aria-describedby="input_test_matlab_plot1_2_1">
|
||||
<span class="status sr">processing</span>
|
||||
</span>
|
||||
<span style="display:none;" class="xqueue" id="test_matlab_plot1_2_1">1</span>
|
||||
<p class="debug">processing</p>
|
||||
</div>
|
||||
<span id="answer_test_matlab_plot1_2_1"></span>
|
||||
|
||||
<div class="external-grader-message" aria-live="polite">
|
||||
Submitted. As soon as a response is returned, this message will be replaced by that feedback.
|
||||
</div>
|
||||
<div class="ungraded-matlab-result" aria-live="polite">
|
||||
</div>
|
||||
|
||||
<div class="plot-button">
|
||||
<input type="button" class="save" name="plot-button" id="plot_test_matlab_plot1_2_1" value="Run Code">
|
||||
</div>
|
||||
</section>
|
||||
</span>
|
||||
</div>
|
||||
<div class="action">
|
||||
<input type="hidden" name="problem_id" value="Plot a straight line">
|
||||
<button class="reset" data-value="Reset">Reset<span class="sr"> your answer</span></button>
|
||||
<button class="show"><span class="show-label">Show Answer</span> </button>
|
||||
</div>
|
||||
|
||||
<div class="notification warning notification-gentle-alert is-hidden" tabindex="-1">
|
||||
<span class="icon fa fa-exclamation-circle" aria-hidden="true"></span>
|
||||
<span class="notification-message" aria-describedby="title">
|
||||
</span>
|
||||
<div class="notification-btn-wrapper">
|
||||
<button class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
|
||||
<div>
|
||||
<span>
|
||||
<section id="textbox_test_matlab_plot1_2_1" class="capa_inputtype cminput">
|
||||
<textarea rows="10" cols="80" name="input_i4x-MITx-2_01x-problem-test_matlab_plot1_2_1" aria-describedby="answer_i4x-MITx-2_01x-problem-test_matlab_plot1_2_1" id="input_i4x-MITx-2_01x-problem-test_matlab_plot1_2_1" data-tabsize="4" data-mode="octave" data-linenums="true" style="display: none;">This is the MATLAB input, whatever that may be.
|
||||
</textarea>
|
||||
<div class="grader-status" tabindex="-1">
|
||||
<span id="status_test_matlab_plot1_2_1"
|
||||
class="processing"
|
||||
aria-describedby="input_test_matlab_plot1_2_1">
|
||||
<span class="status sr">processing</span>
|
||||
</span>
|
||||
<span style="display:none;" class="xqueue" id="test_matlab_plot1_2_1">1</span>
|
||||
<p class="debug">processing</p>
|
||||
</div>
|
||||
<span id="answer_test_matlab_plot1_2_1"></span>
|
||||
<div class="external-grader-message" aria-live="polite">
|
||||
Submitted. As soon as a response is returned, this message will be replaced by that feedback.
|
||||
</div>
|
||||
<div class="ungraded-matlab-result" aria-live="polite"></div>
|
||||
<div class="plot-button">
|
||||
<input type="button"
|
||||
class="save"
|
||||
name="plot-button"
|
||||
id="plot_test_matlab_plot1_2_1"
|
||||
value="Run Code">
|
||||
</div>
|
||||
</section>
|
||||
</span>
|
||||
</div>
|
||||
<div class="action">
|
||||
<input type="hidden" name="problem_id" value="Plot a straight line">
|
||||
<button class="reset" data-value="Reset">
|
||||
Reset<span class="sr">your answer</span>
|
||||
</button>
|
||||
<button class="show">
|
||||
<span class="show-label">Show Answer</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="notification warning notification-gentle-alert is-hidden"
|
||||
tabindex="-1">
|
||||
<span class="icon fa fa-exclamation-circle" aria-hidden="true"></span>
|
||||
<span class="notification-message" aria-describedby="title"></span>
|
||||
<div class="notification-btn-wrapper">
|
||||
<button class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
<textarea class="markdown-box">markdown</textarea>
|
||||
<textarea class="xml-box" rows="8" cols="40">xml</textarea>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
@@ -2,4 +2,4 @@
|
||||
<div class="row">
|
||||
<textarea class="xml-box" rows="8" cols="40">xml only</textarea>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
<section class='xblock xblock-student_view xmodule_display xmodule_CapaModule' data-type='Problem'>
|
||||
<section id='problem_1'
|
||||
class='problems-wrapper'
|
||||
data-problem-id='i4x://edX/101/problem/Problem1'
|
||||
data-url='/problem/Problem1'>
|
||||
</section>
|
||||
</section>
|
||||
<section class='xblock xblock-student_view xmodule_display xmodule_CapaModule'
|
||||
data-type='Problem'>
|
||||
<section id='problem_1'
|
||||
class='problems-wrapper'
|
||||
data-problem-id='i4x://edX/101/problem/Problem1'
|
||||
data-url='/problem/Problem1'>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
@@ -1,40 +1,44 @@
|
||||
<h3 class="hd hd-3 problem-header">Problem Header</h3>
|
||||
|
||||
<div class='problem-progress'></div>
|
||||
|
||||
<div class="problem">
|
||||
<p>${_("Problem Content")}</p>
|
||||
|
||||
<div class="action">
|
||||
<input type="hidden" name="problem_id" value="1">
|
||||
|
||||
<input type="text" name="input_example_1" id="input_example_1" value="" class="math" />
|
||||
<span id="display_example_1"></span>
|
||||
<span id="input_example_1_dynamath"></span>
|
||||
|
||||
<div class="problem-action-buttons-wrapper">
|
||||
<span class="problem-action-button-wrapper">
|
||||
<button class="reset btn-default btn-small">Reset</button>
|
||||
</span>
|
||||
<span class="problem-action-button-wrapper">
|
||||
<button class="save btn-default btn-small">Save</button>
|
||||
</span>
|
||||
<span class="problem-action-button-wrapper">
|
||||
<button class="show btn-default btn-small"><span class="show-label">Show Answer(s)</span> <span class="sr">(for question(s) above - adjacent to each field)</span></button>
|
||||
</span>
|
||||
<p>${_("Problem Content")}</p>
|
||||
<div class="action">
|
||||
<input type="hidden" name="problem_id" value="1">
|
||||
<input type="text"
|
||||
name="input_example_1"
|
||||
id="input_example_1"
|
||||
value=""
|
||||
class="math" />
|
||||
<span id="display_example_1"></span>
|
||||
<span id="input_example_1_dynamath"></span>
|
||||
<div class="problem-action-buttons-wrapper">
|
||||
<span class="problem-action-button-wrapper">
|
||||
<button class="reset btn-default btn-small">Reset</button>
|
||||
</span>
|
||||
<span class="problem-action-button-wrapper">
|
||||
<button class="save btn-default btn-small">Save</button>
|
||||
</span>
|
||||
<span class="problem-action-button-wrapper">
|
||||
<button class="show btn-default btn-small">
|
||||
<span class="show-label">Show Answer(s)</span> <span class="sr">(for question(s) above - adjacent to each field)</span>
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
<button class="submit btn-brand"
|
||||
data-submitting="Submitting"
|
||||
data-value="Submit"
|
||||
data-should-enable-submit-button="True">
|
||||
<span class="submit-label">Submit</span><span class="sr">your answer</span>
|
||||
</button>
|
||||
<a href="/courseware/6.002_Spring_2012/${ explain }" class="new-page">Explanation</a>
|
||||
<div class="submission-feedback"></div>
|
||||
</div>
|
||||
<button class="submit btn-brand" data-submitting="Submitting" data-value="Submit" data-should-enable-submit-button="True"><span class="submit-label">Submit</span><span class="sr"> your answer</span></button>
|
||||
|
||||
<a href="/courseware/6.002_Spring_2012/${ explain }" class="new-page">Explanation</a>
|
||||
<div class="submission-feedback"></div>
|
||||
</div>
|
||||
|
||||
<div class="notification warning notification-gentle-alert is-hidden" tabindex="-1">
|
||||
<span class="icon fa fa-exclamation-circle" aria-hidden="true"></span>
|
||||
<span class="notification-message" aria-describedby="title">
|
||||
</span>
|
||||
<div class="notification-btn-wrapper">
|
||||
<button class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
|
||||
<div class="notification warning notification-gentle-alert is-hidden"
|
||||
tabindex="-1">
|
||||
<span class="icon fa fa-exclamation-circle" aria-hidden="true"></span>
|
||||
<span class="notification-message" aria-describedby="title"></span>
|
||||
<div class="notification-btn-wrapper">
|
||||
<button class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,22 +1,23 @@
|
||||
<h3 class="hd hd-3 problem-header">Problem Header</h3>
|
||||
|
||||
<div class='problem-progress'></div>
|
||||
|
||||
<div class="problem">
|
||||
<p>${_("Problem Content")}</p>
|
||||
|
||||
<div class="action">
|
||||
<input type="hidden" name="problem_id" value="1">
|
||||
|
||||
<input type="text" name="input_example_1.Test" id="input_example_1.Test" value="" class="math" />
|
||||
<span id="display_example_1"></span>
|
||||
<span id="input_example_1_dynamath"></span>
|
||||
|
||||
<input class="check" type="button" value="Check">
|
||||
<input class="reset" type="button" value="Reset">
|
||||
<input class="save" type="button" value="Save">
|
||||
<button class="show"><span class="show-label">Show Answer(s)</span> <span class="sr">(for question(s) above - adjacent to each field)</span></button>
|
||||
<a href="/courseware/6.002_Spring_2012/${ explain }" class="new-page">Explanation</a>
|
||||
<div class="submission_feedback"></div>
|
||||
</div>
|
||||
<p>${_("Problem Content")}</p>
|
||||
<div class="action">
|
||||
<input type="hidden" name="problem_id" value="1">
|
||||
<input type="text"
|
||||
name="input_example_1.Test"
|
||||
id="input_example_1.Test"
|
||||
value=""
|
||||
class="math" />
|
||||
<span id="display_example_1"></span>
|
||||
<span id="input_example_1_dynamath"></span>
|
||||
<input class="check" type="button" value="Check">
|
||||
<input class="reset" type="button" value="Reset">
|
||||
<input class="save" type="button" value="Save">
|
||||
<button class="show">
|
||||
<span class="show-label">Show Answer(s)</span> <span class="sr">(for question(s) above - adjacent to each field)</span>
|
||||
</button>
|
||||
<a href="/courseware/6.002_Spring_2012/${ explain }" class="new-page">Explanation</a>
|
||||
<div class="submission_feedback"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
<div class="choicegroup">
|
||||
<label for="input_1_1_1"><input type="radio" name="input_1_1" id="input_1_1_1" value="1"> One</label>
|
||||
<label for="input_1_1_2" class="choicegroup_correct"><input type="radio" name="input_1_1" id="input_1_1_2" value="2"> Two <span class="status correct"></span></label>
|
||||
<label for="input_1_1_3"><input type="radio" name="input_1_1" id="input_1_1_3" value="3"> Three</label>
|
||||
</div>
|
||||
<label for="input_1_1_1">
|
||||
<input type="radio" name="input_1_1" id="input_1_1_1" value="1">
|
||||
One
|
||||
</label>
|
||||
<label for="input_1_1_2" class="choicegroup_correct">
|
||||
<input type="radio" name="input_1_1" id="input_1_1_2" value="2">
|
||||
Two <span class="status correct"></span>
|
||||
</label>
|
||||
<label for="input_1_1_3">
|
||||
<input type="radio" name="input_1_1" id="input_1_1_3" value="3">
|
||||
Three
|
||||
</label>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user