- This text is displayed using a Bootstrap 4 card.
-
+
This text is displayed using a Bootstrap 4 card.
-
- Aenean turpis diam, dictum nec odio ut, porta luctus nunc. Donec vulputate eu magna non finibus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nam finibus lectus non lorem consectetur, id sollicitudin est tristique. Nulla in ultricies lectus, nec dapibus ante. Ut ullamcorper orci tincidunt ex mollis rutrum. Nam dapibus diam eu orci laoreet, et egestas quam consectetur. Vestibulum ligula leo, iaculis ac commodo lobortis, posuere ac dui. Aliquam egestas odio congue tempus cursus. Donec dictum dui facilisis enim molestie venenatis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.
-
+
Aenean turpis diam, dictum nec odio ut, porta luctus nunc. Donec vulputate eu magna non finibus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nam finibus lectus non lorem consectetur, id sollicitudin est tristique. Nulla in ultricies lectus, nec dapibus ante. Ut ullamcorper orci tincidunt ex mollis rutrum. Nam dapibus diam eu orci laoreet, et egestas quam consectetur. Vestibulum ligula leo, iaculis ac commodo lobortis, posuere ac dui. Aliquam egestas odio congue tempus cursus. Donec dictum dui facilisis enim molestie venenatis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. In fermentum sit amet metus at congue. Fusce nec mauris accumsan, consequat mi ut, scelerisque erat. In hac habitasse platea dictumst. Phasellus maximus semper blandit. Nam consequat justo eget orci ultricies convallis. Praesent tempus sodales ipsum. Suspendisse faucibus quam vitae mollis rutrum. Fusce sit amet lacus sit amet arcu lobortis suscipit a vel nulla.
-
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. In fermentum sit amet metus at congue. Fusce nec mauris accumsan, consequat mi ut, scelerisque erat. In hac habitasse platea dictumst. Phasellus maximus semper blandit. Nam consequat justo eget orci ultricies convallis. Praesent tempus sodales ipsum. Suspendisse faucibus quam vitae mollis rutrum. Fusce sit amet lacus sit amet arcu lobortis suscipit a vel nulla.
-
- Mauris vestibulum vestibulum neque a mollis. Curabitur ut urna eleifend urna eleifend mollis. Aliquam malesuada luctus purus, eu maximus elit finibus sed. Ut consectetur tempus tempus. Etiam lacinia at mauris eu sagittis. Donec ante urna, semper id aliquam id.
-
+
Mauris vestibulum vestibulum neque a mollis. Curabitur ut urna eleifend urna eleifend mollis. Aliquam malesuada luctus purus, eu maximus elit finibus sed. Ut consectetur tempus tempus. Etiam lacinia at mauris eu sagittis. Donec ante urna, semper id aliquam id.
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. In fermentum sit amet metus at congue. Fusce nec mauris accumsan, consequat mi ut, scelerisque erat. In hac habitasse platea dictumst. Phasellus maximus semper blandit. Nam consequat justo eget orci ultricies convallis. Praesent tempus sodales ipsum. Suspendisse faucibus quam vitae mollis rutrum. Fusce sit amet lacus sit amet arcu lobortis suscipit a vel nulla.
-
-
- Aenean turpis diam, dictum nec odio ut, porta luctus nunc. Donec vulputate eu magna non finibus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nam finibus lectus non lorem consectetur, id sollicitudin est tristique. Nulla in ultricies lectus, nec dapibus ante. Ut ullamcorper orci tincidunt ex mollis rutrum. Nam dapibus diam eu orci laoreet, et egestas quam consectetur. Vestibulum ligula leo, iaculis ac commodo lobortis, posuere ac dui. Aliquam egestas odio congue tempus cursus. Donec dictum dui facilisis enim molestie venenatis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.
-
-
- Mauris vestibulum vestibulum neque a mollis. Curabitur ut urna eleifend urna eleifend mollis. Aliquam malesuada luctus purus, eu maximus elit finibus sed. Ut consectetur tempus tempus. Etiam lacinia at mauris eu sagittis. Donec ante urna, semper id aliquam id.
-
-
- boxed-text
-
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. In fermentum sit amet metus at congue. Fusce nec mauris accumsan, consequat mi ut, scelerisque erat. In hac habitasse platea dictumst. Phasellus maximus semper blandit. Nam consequat justo eget orci ultricies convallis. Praesent tempus sodales ipsum. Suspendisse faucibus quam vitae mollis rutrum. Fusce sit amet lacus sit amet arcu lobortis suscipit a vel nulla.
+
Aenean turpis diam, dictum nec odio ut, porta luctus nunc. Donec vulputate eu magna non finibus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nam finibus lectus non lorem consectetur, id sollicitudin est tristique. Nulla in ultricies lectus, nec dapibus ante. Ut ullamcorper orci tincidunt ex mollis rutrum. Nam dapibus diam eu orci laoreet, et egestas quam consectetur. Vestibulum ligula leo, iaculis ac commodo lobortis, posuere ac dui. Aliquam egestas odio congue tempus cursus. Donec dictum dui facilisis enim molestie venenatis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.
+
Mauris vestibulum vestibulum neque a mollis. Curabitur ut urna eleifend urna eleifend mollis. Aliquam malesuada luctus purus, eu maximus elit finibus sed. Ut consectetur tempus tempus. Etiam lacinia at mauris eu sagittis. Donec ante urna, semper id aliquam id.
- The following interactive has a program that solves the problem for however many cities you want to select by trying out all possible routes, and recording the best so far. You can get a feel for what an intractable problem looks like by seeing how long the interactive takes to solve the problem for different size maps.
-Try generating a map with about 5 cities, and press "Start" to solve the problem.
-
- Now try it for 10 cities (twice as many). Does it take twice as long? How about twice as many again (20 cities)? What about 50 cities? Can you guess how long it would take?
-You're starting to get a feel for what it means for a problem to be
-
- intractable
-
- .
-
+
The following interactive has a program that solves the problem for however many cities you want to select by trying out all possible routes, and recording the best so far. You can get a feel for what an intractable problem looks like by seeing how long the interactive takes to solve the problem for different size maps.
+Try generating a map with about 5 cities, and press "Start" to solve the problem.
Now try it for 10 cities (twice as many). Does it take twice as long? How about twice as many again (20 cities)? What about 50 cities? Can you guess how long it would take?
+You're starting to get a feel for what it means for a problem to be intractable.
- The following interactive has a program that solves the problem for however many cities you want to select by trying out all possible routes, and recording the best so far. You can get a feel for what an intractable problem looks like by seeing how long the interactive takes to solve the problem for different size maps.
-Try generating a map with about 5 cities, and press "Start" to solve the problem.
-
- Now try it for 10 cities (twice as many). Does it take twice as long? How about twice as many again (20 cities)? What about 50 cities? Can you guess how long it would take?
-You're starting to get a feel for what it means for a problem to be
-
- intractable
-
- .
-
The following interactive has a program that solves the problem for however many cities you want to select by trying out all possible routes, and recording the best so far. You can get a feel for what an intractable problem looks like by seeing how long the interactive takes to solve the problem for different size maps.
+Try generating a map with about 5 cities, and press "Start" to solve the problem.
Now try it for 10 cities (twice as many). Does it take twice as long? How about twice as many again (20 cities)? What about 50 cities? Can you guess how long it would take?
+You're starting to get a feel for what it means for a problem to be intractable.
+View city trip interactive
diff --git a/verto/tests/assets/button-link/contains_multiple_buttons_expected.html b/verto/tests/assets/button-link/contains_multiple_buttons_expected.html
index 56e7adee..6ba4de7c 100644
--- a/verto/tests/assets/button-link/contains_multiple_buttons_expected.html
+++ b/verto/tests/assets/button-link/contains_multiple_buttons_expected.html
@@ -1,35 +1,10 @@
-
- You can try out this 3D matrix in the following interactive.
-
- The above image mesh has 3644 points in it, and your matrix was applied to each one of them to work out the new image.
-
-
- The next interactive allows you to do translation (using a vector).
-Use it to get used to translating in the three dimensions (don't worry about using matrices this time.)
-
- Rotation is trickier because you can now rotate in different directions.
-In 2D rotations were around the centre (origin) of the grid, but in 3D rotations are around a line (either the horizontal x-axis, the vertical y-axis, or the z-axis, which goes into the screen!)
-
-
- The 2D rotation we used earlier can be applied to 3 dimensions using this matrix:
-
- In the above examples, when you have several matrices being applied to every point in the image, a lot of time can be saved by converting the series of matrices and transforms to just one formula that does all of the transforms in one go. The following interactive can do those calculations for you.
-
-
- For example, in the following interactive, type in the matrix for doubling the size of an object (put the number 2 instead of 1 on the main diagonal values), then add another matrix that triples the size of the image (3 on the main diagonal). The interactive shows a matrix on the right that combines the two --- does it look right?
-
The above image mesh has 3644 points in it, and your matrix was applied to each one of them to work out the new image.
+
The next interactive allows you to do translation (using a vector).
+Use it to get used to translating in the three dimensions (don't worry about using matrices this time.)
Rotation is trickier because you can now rotate in different directions.
+In 2D rotations were around the centre (origin) of the grid, but in 3D rotations are around a line (either the horizontal x-axis, the vertical y-axis, or the z-axis, which goes into the screen!)
+
The 2D rotation we used earlier can be applied to 3 dimensions using this matrix:
In the above examples, when you have several matrices being applied to every point in the image, a lot of time can be saved by converting the series of matrices and transforms to just one formula that does all of the transforms in one go. The following interactive can do those calculations for you.
+
For example, in the following interactive, type in the matrix for doubling the size of an object (put the number 2 instead of 1 on the main diagonal values), then add another matrix that triples the size of the image (3 on the main diagonal). The interactive shows a matrix on the right that combines the two --- does it look right?
+Click for interactive: matrix simplifier
diff --git a/verto/tests/assets/button-link/doc_example_basic_usage_expected.html b/verto/tests/assets/button-link/doc_example_basic_usage_expected.html
index 87283030..16d4b42f 100644
--- a/verto/tests/assets/button-link/doc_example_basic_usage_expected.html
+++ b/verto/tests/assets/button-link/doc_example_basic_usage_expected.html
@@ -1,3 +1 @@
-
- Visit Google
-
+Visit Google
diff --git a/verto/tests/assets/button-link/doc_example_file_usage_expected.html b/verto/tests/assets/button-link/doc_example_file_usage_expected.html
index 78640424..a4373737 100644
--- a/verto/tests/assets/button-link/doc_example_file_usage_expected.html
+++ b/verto/tests/assets/button-link/doc_example_file_usage_expected.html
@@ -1,3 +1 @@
-
- Download Python Sorting Example
-
+Download Python Sorting Example
diff --git a/verto/tests/assets/button-link/doc_example_override_html_expected.html b/verto/tests/assets/button-link/doc_example_override_html_expected.html
index 677abcd3..2337fa6d 100644
--- a/verto/tests/assets/button-link/doc_example_override_html_expected.html
+++ b/verto/tests/assets/button-link/doc_example_override_html_expected.html
@@ -1,3 +1 @@
-
- Verto on GitHub
-
+Verto on GitHub
diff --git a/verto/tests/assets/button-link/missing_end_brace_expected.html b/verto/tests/assets/button-link/missing_end_brace_expected.html
index 107c4d51..23474043 100644
--- a/verto/tests/assets/button-link/missing_end_brace_expected.html
+++ b/verto/tests/assets/button-link/missing_end_brace_expected.html
@@ -1,9 +1,3 @@
-
- Try generating a map with about 5 cities, and press "Start" to solve the problem.
-
-
- {button-link link="http://www.csfieldguide.org.nz/releases/1.9.9/_static/widgets/tract-tsp-basic-v2.html" text="View city trip interactive"
-
-
- Now try it for 10 cities (twice as many). Does it take twice as long? How about twice as many again (20 cities)? What about 50 cities? Can you guess how long it would take?
-
+
Try generating a map with about 5 cities, and press "Start" to solve the problem.
+
{button-link link="http://www.csfieldguide.org.nz/releases/1.9.9/_static/widgets/tract-tsp-basic-v2.html" text="View city trip interactive"
+
Now try it for 10 cities (twice as many). Does it take twice as long? How about twice as many again (20 cities)? What about 50 cities? Can you guess how long it would take?
- Finally, you’re the top layer of the system. You use the program but you will (hopefully) never have to interact with the more complicated parts of the operating system such as driver software, let alone the hardware. In this way, you can use the computer without ever having to worry about these things.
-
-
- {image filename="computer-layers.png" alt="The computer can be broken down into multiple layers, starting with the user, then the programs, then the operating system, then finally the hardware." caption="The computer can be broken down into multiple layers, starting with the user, then the programs, then the operating system, then finally the hardware."}
-
-
- We call a system like this a
-
- layered system
-
- . You can have any number of layers you want but each layer can only communicate with the one directly below it. The operating system can directly access the hardware but a program running on the computer can't. You can use programs but hopefully will never have to access the hardware or the more complex parts of the operating system such as drivers. This again reduces the complexity of the system because each layer only needs to know about the layer directly below it, not any others.
-
-
- Each layer in the system needs to provide an interface so that the layer above it can communicate with it. For example, a processor provides a set of instructions to the operating system; the operating system provides commands to programs to create or delete files on the hard drive; a program provides buttons and commands so that you can interact with it.
-
-
- One layer knows nothing about the internal workings of the layer below; it only needs to know how to use the layer’s interface. In this way, the complexity of lower layers is completely hidden, or
-
- abstracted
-
- . Each layer represents a higher level of abstraction.
-
-
- So each layer hides some complexity, so that as we go up the layers things remain manageable. Another advantage of having layers is that we can change one layer without affecting the others, as long as we keep the layer’s interface the same of course. For example, your browser’s code might change but you might never notice as long as the browser still looks and works the same as before. Of course, if the browser stops working or new buttons appear suddenly you know that something has changed.
-
-
- Something about a button or more explicitly a button-link that you should not match.
-
+
Finally, you’re the top layer of the system. You use the program but you will (hopefully) never have to interact with the more complicated parts of the operating system such as driver software, let alone the hardware. In this way, you can use the computer without ever having to worry about these things.
+
{image filename="computer-layers.png" alt="The computer can be broken down into multiple layers, starting with the user, then the programs, then the operating system, then finally the hardware." caption="The computer can be broken down into multiple layers, starting with the user, then the programs, then the operating system, then finally the hardware."}
+
We call a system like this a layered system. You can have any number of layers you want but each layer can only communicate with the one directly below it. The operating system can directly access the hardware but a program running on the computer can't. You can use programs but hopefully will never have to access the hardware or the more complex parts of the operating system such as drivers. This again reduces the complexity of the system because each layer only needs to know about the layer directly below it, not any others.
+
Each layer in the system needs to provide an interface so that the layer above it can communicate with it. For example, a processor provides a set of instructions to the operating system; the operating system provides commands to programs to create or delete files on the hard drive; a program provides buttons and commands so that you can interact with it.
+
One layer knows nothing about the internal workings of the layer below; it only needs to know how to use the layer’s interface. In this way, the complexity of lower layers is completely hidden, or abstracted. Each layer represents a higher level of abstraction.
+
So each layer hides some complexity, so that as we go up the layers things remain manageable. Another advantage of having layers is that we can change one layer without affecting the others, as long as we keep the layer’s interface the same of course. For example, your browser’s code might change but you might never notice as long as the browser still looks and works the same as before. Of course, if the browser stops working or new buttons appear suddenly you know that something has changed.
+
Something about a button or more explicitly a button-link that you should not match.
- {comment explain different views of algorithm (programming context) and Algorithm (that have interesting complexity) {comment explain different views of algorithm (programming context) and Algorithm (that have interesting complexity)}}
-
+
{comment explain different views of algorithm (programming context) and Algorithm (that have interesting complexity) {comment explain different views of algorithm (programming context) and Algorithm (that have interesting complexity)}}
- In this chapter we'll look at what typically makes good and bad interfaces. The idea is to make you sensitive to the main issues so that you can critique existing interfaces, and begin to think about how you might design good interfaces.
-
-
- Often software developers create a computer program or system for a device that requires the user to spend some time to learn how to use.
+
In this chapter we'll look at what typically makes good and bad interfaces. The idea is to make you sensitive to the main issues so that you can critique existing interfaces, and begin to think about how you might design good interfaces.
+
Often software developers create a computer program or system for a device that requires the user to spend some time to learn how to use.
The interface might be easy to use for the developer since they know the system really well, but a user just wants to get the job done without spending too much time learning the software (and they might switch to another program if it's too hard to use).
-A developer might think of the program and the user separately, but the user is part of the system, and a developer needs to create the software with the user in mind, designing a program that they will find easy to use and intuitive.
-
+A developer might think of the program and the user separately, but the user is part of the system, and a developer needs to create the software with the user in mind, designing a program that they will find easy to use and intuitive.
- Now go back and have another conversation with Eliza. There are many other examples of Eliza saying stuff that makes no sense such as the above dialogue. How many can you find? In addition, how does Eliza respond when you do the following things?
-
+
Now go back and have another conversation with Eliza. There are many other examples of Eliza saying stuff that makes no sense such as the above dialogue. How many can you find? In addition, how does Eliza respond when you do the following things?
-
- Try being a "parrot" that just copies everything Eliza says.
-
-
- What happens when you don’t give meaningful answers to her questions?
-
-
- If you say the same thing you said earlier in the conversation, does Eliza always respond in the same way? (When you say it immediately after, she probably won’t, as she’ll comment on the fact that you repeated yourself the second time!)
-
-
- What happens when you talk about things that are unrelated to what would be said in a therapy session, i.e. you try to have a general conversation with Eliza (remember that Eliza works in a restricted domain, i.e. she assumes she is a therapist).
-
+
Try being a "parrot" that just copies everything Eliza says.
+
What happens when you don’t give meaningful answers to her questions?
+
If you say the same thing you said earlier in the conversation, does Eliza always respond in the same way? (When you say it immediately after, she probably won’t, as she’ll comment on the fact that you repeated yourself the second time!)
+
What happens when you talk about things that are unrelated to what would be said in a therapy session, i.e. you try to have a general conversation with Eliza (remember that Eliza works in a restricted domain, i.e. she assumes she is a therapist).
diff --git a/verto/tests/assets/conditional/doc_example_basic_usage_expected.html b/verto/tests/assets/conditional/doc_example_basic_usage_expected.html
index 9796b655..fda33feb 100644
--- a/verto/tests/assets/conditional/doc_example_basic_usage_expected.html
+++ b/verto/tests/assets/conditional/doc_example_basic_usage_expected.html
@@ -1,5 +1,3 @@
{% if version == 'teacher' %}
-
- This is text that only teachers should see.
-
+
This is text that only teachers should see.
{% endif %}
diff --git a/verto/tests/assets/conditional/doc_example_complex_usage_expected.html b/verto/tests/assets/conditional/doc_example_complex_usage_expected.html
index 97cda7a1..fe747c39 100644
--- a/verto/tests/assets/conditional/doc_example_complex_usage_expected.html
+++ b/verto/tests/assets/conditional/doc_example_complex_usage_expected.html
@@ -1,17 +1,9 @@
{% if version == 'teacher' %}
-
- This is text that only teachers should see.
-
+
This is text that only teachers should see.
{% elif version == 'instructor' %}
-
- This is text that only instuctors should see.
-
+
This is text that only instuctors should see.
{% elif version == 'coordinator' %}
-
- This is text that only coordinators should see.
-
+
This is text that only coordinators should see.
{% else %}
-
- This is text that everyone else should see.
-
+
This is text that everyone else should see.
{% endif %}
diff --git a/verto/tests/assets/conditional/doc_example_override_html_expected.html b/verto/tests/assets/conditional/doc_example_override_html_expected.html
index b2058613..581406d2 100644
--- a/verto/tests/assets/conditional/doc_example_override_html_expected.html
+++ b/verto/tests/assets/conditional/doc_example_override_html_expected.html
@@ -1,13 +1,7 @@
% if version == 'teacher':
-
- This is text that only teachers should see.
-
+
This is text that only teachers should see.
% elif version == 'instructor':
-
- This is text that only instuctors should see.
-
+
This is text that only instuctors should see.
% elif version == 'coordinator':
-
- This is text that only coordinators should see.
-
+
This is text that only coordinators should see.
% endif
diff --git a/verto/tests/assets/conditional/example_basic_else_usage_expected.html b/verto/tests/assets/conditional/example_basic_else_usage_expected.html
index 9c5330df..ee818a9e 100644
--- a/verto/tests/assets/conditional/example_basic_else_usage_expected.html
+++ b/verto/tests/assets/conditional/example_basic_else_usage_expected.html
@@ -1,9 +1,5 @@
{% if version == 'teacher' %}
-