UNPKG

sellquiz

Version:

An open source domain-specific language for online assessment

68 lines (56 loc) 2.47 kB
<!-- Minimum Working Example (MWE) to embed SELL questions into your website --> <!DOCTYPE html> <html lang="de"> <head> <title>SELL-DEV Test Website</title> <meta charset="utf-8"> <link rel = "stylesheet" href = "node_modules/bootstrap/dist/css/bootstrap.min.css" /> <script>MathJax = { loader: {load: ['input/asciimath', 'output/svg', 'ui/menu'] }, };</script> <script type="text/javascript" id="MathJax-script" async src="node_modules/mathjax/es5/startup.js"></script> <script src="node_modules/mathjs/lib/browser/math.js" type="text/javascript"></script> <script src="build/js/sellquiz.min.js?date=$NOW$"></script> </head> <body> <br/> <div id="container" class="container"> <div id="question"> <h3 id="question-title"></h3> <hr/> <div id="question-body"></div> <hr/> Feedback / Error-Log: <div id="question-feedback"></div> Question score: <span id="question-score">0</div> <hr/> <button type="button" onclick="evalQuestion();">evaluate</button> </div> </div> </body> <script> let code = `Addition x, y in { 2, 3, ..., 10 } Calculate $x + y = #(x + y)$ `; // ===== LOW LEVEL API ===== let q_title = document.getElementById("question-title"); let q_body = document.getElementById("question-body"); let q_feedback = document.getElementById("question-feedback"); let q_score = document.getElementById("question-score"); sellquiz.setLanguage("en"); let qID = sellquiz.createQuestion(code); if(qID < 0) alert.log(sellquiz.getErrorLog()); q_title.innerHTML = sellquiz.getQuestionTitle(qID); q_body.innerHTML = sellquiz.getQuestionBody(qID); sellquiz.setQuestionHtmlElement(qID, q_body); function evalQuestion() { sellquiz.readStudentAnswersFromHtmlElements(qID); if(sellquiz.evaluateQuestion(qID) == false) console.log("evaluation of question failed"); sellquiz.writeFeedbackToHtmlElements(qID); q_feedback.innerHTML = sellquiz.getFeedbackText(qID); sellquiz.disableInputFields(qID); q_score.innerHTML = sellquiz.getScore(qID); } </script> </html>