fix: autoformat problem block template files using djlint (#37760)

This commit is contained in:
Irtaza Akram
2026-01-06 17:55:30 +05:00
committed by GitHub
parent 87bf1003b7
commit fd33d80fb7
39 changed files with 1444 additions and 1322 deletions

View File

@@ -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 %}

View File

@@ -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>

View File

@@ -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>

View File

@@ -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 %}

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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, '*');

View File

@@ -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 }}"

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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 &amp; 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 &amp; 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 &amp; 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 &amp; 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">&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;
</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">&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;
&lt;mrow&gt;
&lt;mrow&gt;
&lt;mrow&gt;
@@ -199,12 +267,13 @@
&lt;/mfenced&gt;
&lt;/mrow&gt;
&lt;/mrow&gt;
&lt;/math&gt;</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">&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;
&lt;/math&gt;</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">&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;
&lt;apply&gt;
&lt;plus/&gt;
&lt;apply&gt;
@@ -247,32 +316,34 @@
&lt;/list&gt;
&lt;/apply&gt;
&lt;/apply&gt;
&lt;/math&gt;</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>&lt;matrix&gt;
&lt;/math&gt;</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>&lt;matrix&gt;
&lt;vector&gt;
&lt;cn&gt;1&lt;/cn&gt;
&lt;cn&gt;0&lt;/cn&gt;
@@ -281,13 +352,17 @@
&lt;cn&gt;0&lt;/cn&gt;
&lt;cn&gt;1&lt;/cn&gt;
&lt;/vector&gt;
&lt;/matrix&gt;</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>&lt;matrix&gt;
&lt;/matrix&gt;</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>&lt;matrix&gt;
&lt;vector&gt;
&lt;cn&gt;0&lt;/cn&gt;
&lt;cn&gt;1&lt;/cn&gt;
@@ -296,16 +371,17 @@
&lt;cn&gt;1&lt;/cn&gt;
&lt;cn&gt;0&lt;/cn&gt;
&lt;/vector&gt;
&lt;/matrix&gt;</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">&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;
&lt;/matrix&gt;</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">&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;
&lt;semantics&gt;
&lt;mrow&gt;
&lt;mrow&gt;
@@ -454,27 +530,27 @@
&lt;/s:fail&gt;
&lt;/annotation-xml&gt;
&lt;/semantics&gt;
&lt;/math&gt;</pre></div>
&lt;/math&gt;</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>

View File

@@ -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 &amp; 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 &amp; 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 &amp; 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 &amp; 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">&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;
</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">&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;
&lt;mn&gt;2&lt;/mn&gt;
&lt;/math&gt;</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">&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;
&lt;/math&gt;</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">&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;
&lt;cn&gt;2&lt;/cn&gt;
&lt;/math&gt;</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">&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;
&lt;/math&gt;</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">&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;
&lt;semantics&gt;
&lt;mn&gt;2&lt;/mn&gt;
&lt;annotation-xml encoding="MathML-Content"&gt;
@@ -161,27 +232,27 @@
&lt;annotation encoding="ASCIIMathInput"/&gt;
&lt;annotation encoding="Maxima"&gt;2&lt;/annotation&gt;
&lt;/semantics&gt;
&lt;/math&gt;</pre></div>
&lt;/math&gt;</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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -3,4 +3,4 @@
<textarea class="markdown-box">markdown</textarea>
<textarea class="xml-box" rows="8" cols="40">xml</textarea>
</div>
</section>
</section>

View File

@@ -2,4 +2,4 @@
<div class="row">
<textarea class="xml-box" rows="8" cols="40">xml only</textarea>
</div>
</section>
</section>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>