summaryrefslogtreecommitdiffstats
path: root/theme/templates/page.html
blob: 9c58ab1412641ce35e43f43d8fc87f826a255767 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
{% extends "layout.html" %}

{% block title %}{{ title }}{% endblock %}

{% block style %}
<link rel="stylesheet" href="{{ staticBase }}/print.css">
{% endblock %}


{% macro articleContent(content) %}
    {% for section in content %}
        {% if section.type == "normal" %}
            {% autoescape false %}{{ section.content }}{% endautoescape %}
        {% elif section.type == "exercise" %}
            <div class="exercise">
                <div class="exercise-header">Exercise #{{ exercise }}</div>
                {% autoescape false %}{{ section.content }}{% endautoescape %}
                <pre><code>{% autoescape false %}{{ section.code.base|code }}{% endautoescape %}</code></pre>
                {% set exercise = exercise + 1 %}
            </div>
        {% elif section.type == "quiz" %}
        <div class="quiz">
            <div class="exercise-header">Quiz #{{ exercise }}</div>
            {% autoescape false %}{{ section.content }}{% endautoescape %}
            {% for quiz in section.quiz %}
                <div class="question">
                    <div class="question-header">Question {{ loop.index }} of {{ section.quiz.length }}</div>
                    {% autoescape false %}{{ quiz.base }}{% endautoescape %}
                </div>
            {% endfor %}
            {% set exercise = exercise + 1 %}
        </div>
        {% endif %}
    {% endfor %}
{% endmacro %}

{% set exercise = 1 %}
{% block content %}
    {# Pages content #}
    {% for item in progress.chapters %}
    <article id="{{ article.path }}">
        <h1 class="book-chapter book-chapter-{{ item.level|lvl }}">{{ item.title }}</h1>
        {% if pages[item.path] %}
        {{ articleContent(pages[item.path].content) }}
        {% endif %}
    </article>
    {% endfor %}


    {# Exercise solutions #}
    {% if exercise > 1 %}
        {% set exercise = 1 %}
        <article>
            <h1 class="book-chapter book-chapter-1">Exercise Solutions</h1>
            <h1>Exercise Solutions</h1>

            {% for item in progress.chapters %}
                {% if pages[item.path] %}
                    {% for section in pages[item.path].content %}
                        {% if section.type == "exercise" %}
                            <div class="exercise">
                                <div class="exercise-header">Exercise #{{ exercise }}</div>
                                {% autoescape false %}{{ section.content }}{% endautoescape %}
                                <pre><code>{% autoescape false %}{{ section.code.solution|code }}{% endautoescape %}</code></pre>
                                {% set exercise = exercise + 1 %}
                            </div>
                        {% elif section.type == "quiz" %}
                            <div class="quiz">
                                <div class="exercise-header">Quiz #{{ exercise }}</div>
                                {% autoescape false %}{{ section.content }}{% endautoescape %}
                                {% for quiz in section.quiz %}
                                    <div class="question">
                                        <div class="question-header">Question {{ loop.index }} of {{ section.quiz.length }}</div>
                                        {% autoescape false %}{{ quiz.solution }}{% endautoescape %}
                                    </div>
                                {% endfor %}
                                {% set exercise = exercise + 1 %}
                            </div>
                        {% endif %}
                    {% endfor %}
                {% endif %}
            {% endfor %}
        </article>
    {% endif %}
{% endblock %}

{% block javascript %}{% endblock %}