summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamy Pessé <samypesse@gmail.com>2014-03-31 15:01:01 -0700
committerSamy Pessé <samypesse@gmail.com>2014-03-31 15:01:02 -0700
commit6261d42b955bfad9dab3ed6c2faebce956c64eb2 (patch)
tree04f8541f0170fc6cec87cba93b287e50ad8b312a
parent8e22d80c7c4ba34aab39d645a57e2f70b666fdb7 (diff)
downloadgitbook-6261d42b955bfad9dab3ed6c2faebce956c64eb2.zip
gitbook-6261d42b955bfad9dab3ed6c2faebce956c64eb2.tar.gz
gitbook-6261d42b955bfad9dab3ed6c2faebce956c64eb2.tar.bz2
Add base for full display of exercises
-rw-r--r--lib/generate/template.js15
-rw-r--r--templates/includes/book/exercise.html39
-rw-r--r--templates/page.html26
3 files changed, 41 insertions, 39 deletions
diff --git a/lib/generate/template.js b/lib/generate/template.js
index 27fdde7..808217a 100644
--- a/lib/generate/template.js
+++ b/lib/generate/template.js
@@ -9,6 +9,7 @@ var fs = require('./fs');
// return a templeter for page
var initTemplate = function(options) {
var tpl = swig.compileFile(path.resolve(__dirname, '../../templates/page.html'));
+ var nExercise = 1;
options = _.defaults(options || {}, {
// Base folder for input
@@ -33,19 +34,7 @@ var initTemplate = function(options) {
// Parse sections
.then(function(markdown) {
- return parse.page(markdown)
- .concat([
- {
- id: 1,
- type: "exercise",
- content: "test",
- codes: {
- base: "var a = 1;",
- solution: "var a = 1; var b = 1;",
- validation: "assert(a == b);"
- }
- }
- ]);
+ return parse.page(markdown);
})
//Calcul template
diff --git a/templates/includes/book/exercise.html b/templates/includes/book/exercise.html
index b94e39e..8b1fd1f 100644
--- a/templates/includes/book/exercise.html
+++ b/templates/includes/book/exercise.html
@@ -1,37 +1,24 @@
<div class="header">
- <h2>Exercise #{{ section.id }}</h2>
+ <h2>Exercise</h2>
</div>
+<div class="alert alert-success hidden">
+ <b>Correct!</b>
+</div>
+
+<div class="alert alert-error hidden">
+ <b>False!</b>
+</div>
+
<div class="message">
{% autoescape false %}{{ section.content }}{% endautoescape %}
</div>
-<div class="editor" style="height: {{ section.content.split("\n").length*20 }};">{{ section.codes.base }}</div>
+<div class="editor" style="height: {{ section.content.split("\n").length*20 }};">{{ section.code.base }}</div>
-<pre class="hidden code-solution">{{ section.codes.solution }}</pre>
-<pre class="hidden code-validation">{{ section.codes.validation }}</pre>
+<pre class="hidden code-solution">{{ section.code.solution }}</pre>
+<pre class="hidden code-validation">{{ section.code.validation }}</pre>
<div class="btn-group btn-group-justified">
<a href="#" class="btn btn-default action-submit">Submit</a>
<a href="#" class="btn btn-default action-solution">Solution</a>
<a href="https://github.com/{{ githubId }}/issues/new" target="_blank" class="btn btn-default">Have a Question?</a>
-</div>
-
-<script>
-$(document).ready(function() {
- var $exercise = $("#section-{{ section.id }}");
-
- var editor = ace.edit($exercise.find(".editor").get(0));
- editor.setTheme("ace/theme/tomorrow");
- editor.getSession().setMode("ace/mode/javascript");
-
- $exercise.find(".action-submit").click(function(e) {
- e.preventDefault();
-
- alert("submit");
- });
- $exercise.find(".action-solution").click(function(e) {
- e.preventDefault();
-
- editor.setValue($exercise.find(".code-solution").html());
- });
-});
-</script> \ No newline at end of file
+</div> \ No newline at end of file
diff --git a/templates/page.html b/templates/page.html
index 3c2eb89..d7a23ac 100644
--- a/templates/page.html
+++ b/templates/page.html
@@ -22,4 +22,30 @@
</div>
</div>
</div>
+
+<script>
+$(document).ready(function() {
+ $("section.exercise").each(function() {
+ var $exercise = $(this);
+
+ var codeSolution = $exercise.find(".code-solution").html();
+ var codeValidation = $exercise.find(".code-validation").html();
+
+ var editor = ace.edit($exercise.find(".editor").get(0));
+ editor.setTheme("ace/theme/tomorrow");
+ editor.getSession().setMode("ace/mode/javascript");
+
+ $exercise.find(".action-submit").click(function(e) {
+ e.preventDefault();
+
+ alert("submit");
+ });
+ $exercise.find(".action-solution").click(function(e) {
+ e.preventDefault();
+
+ editor.setValue(codeSolution);
+ });
+ })
+});
+</script>
{% endblock %} \ No newline at end of file