diff --git a/doc/site/classes.markdown b/doc/site/classes.markdown
index e739f98f..36d0b4cf 100644
--- a/doc/site/classes.markdown
+++ b/doc/site/classes.markdown
@@ -554,5 +554,6 @@ base class constructor:
}
}
+
Concurrency →← Functions
diff --git a/doc/site/concurrency.markdown b/doc/site/concurrency.markdown
index 812184e2..a95500c8 100644
--- a/doc/site/concurrency.markdown
+++ b/doc/site/concurrency.markdown
@@ -181,5 +181,6 @@ functions, `transfer()` works more like an unstructured goto. It lets you freely
switch control between a number of fibers, all of which act as peers to one
another.
+ Error Handling →← Classes
diff --git a/doc/site/control-flow.markdown b/doc/site/control-flow.markdown
index 09fbd875..4d816232 100644
--- a/doc/site/control-flow.markdown
+++ b/doc/site/control-flow.markdown
@@ -240,5 +240,6 @@ The built-in [List](lists.html) and [Range](values.html#ranges) types implement
`iterate()` and `iteratorValue()` to walk over their respective sequences. You
can implement the same methods in your classes to make your own types iterable.
+ Variables →← Method Calls
diff --git a/doc/site/error-handling.markdown b/doc/site/error-handling.markdown
index db04114b..47bcaf57 100644
--- a/doc/site/error-handling.markdown
+++ b/doc/site/error-handling.markdown
@@ -168,5 +168,6 @@ For example, a method for parsing a number could return a number on success and
`null` to indicate parsing failed. Since Wren is dynamically typed, it's easy
and natural for a method to return different types of values.
+ Modularity →← Concurrency
diff --git a/doc/site/functions.markdown b/doc/site/functions.markdown
index e4f5f279..3c8d3f56 100644
--- a/doc/site/functions.markdown
+++ b/doc/site/functions.markdown
@@ -163,5 +163,6 @@ to`i`:
System.print(counter.call()) //> 2
System.print(counter.call()) //> 3
+ Classes →← Variables
diff --git a/doc/site/index.markdown b/doc/site/index.markdown
index 24539766..df726aed 100644
--- a/doc/site/index.markdown
+++ b/doc/site/index.markdown
@@ -1,7 +1,9 @@
-^title Welcome
+^title
## Wren is a small, fast, class-based concurrent scripting language
+---
+
Think Smalltalk in a Lua-sized package with a dash of Erlang and wrapped up in
a familiar, modern [syntax][].
@@ -20,6 +22,7 @@ a familiar, modern [syntax][].
while (!adjectives.isDone) System.print(adjectives.call())
+
* **Wren is small.** The VM implementation is under [4,000 semicolons][src].
You can skim the whole thing in an afternoon. It's *small*, but not
*dense*. It is readable and [lovingly-commented][nan].
@@ -41,6 +44,8 @@ a familiar, modern [syntax][].
and [an easy-to-use C API][embedding]. It compiles cleanly as C99, C++98
or anything later.
+---
+
If you like the sound of this, [let's get started][started]. You can even try
it [in your browser][browser]! Excited? Well, come on and [get
involved][contribute]!
diff --git a/doc/site/maps.markdown b/doc/site/maps.markdown
index feaa74a6..58fedb4c 100644
--- a/doc/site/maps.markdown
+++ b/doc/site/maps.markdown
@@ -132,5 +132,6 @@ that they are printed isn't defined. Wren makes no promises about what order
keys and values are iterated in when you use these methods. All it promises is
that every entry will appear exactly once.
+ Method Calls →← Lists
diff --git a/doc/site/method-calls.markdown b/doc/site/method-calls.markdown
index 06ea79e7..6f130410 100644
--- a/doc/site/method-calls.markdown
+++ b/doc/site/method-calls.markdown
@@ -177,5 +177,6 @@ These are equivalent to method calls whose signature is `[_]=(_)` and whose
arguments are both the subscript (or subscripts) and the value on the right-hand
side.
+ Control Flow →← Maps
diff --git a/doc/site/modularity.markdown b/doc/site/modularity.markdown
index cfda5f93..608e11c5 100644
--- a/doc/site/modularity.markdown
+++ b/doc/site/modularity.markdown
@@ -286,4 +286,5 @@ This sounds super hairy, but that's because cyclic dependencies are hairy in
general. The key point here is that Wren *can* handle them in the rare cases
where you need them.
+ ← Error Handling
diff --git a/doc/site/modules/core/template.html b/doc/site/modules/core/template.html
index 206c47a0..f574c39a 100644
--- a/doc/site/modules/core/template.html
+++ b/doc/site/modules/core/template.html
@@ -20,6 +20,7 @@