diff --git a/RELEASES.md b/RELEASES.md
index a8ef31e0..33c4418a 100644
--- a/RELEASES.md
+++ b/RELEASES.md
@@ -9,6 +9,11 @@ Breaking changes
* The trait function `ModuleResolver::resolve` no longer takes a `Scope` as argument.
+Enhancements
+------------
+
+* [The Rhai Book](https://schungx.github.io/rhai) is online. Most content in the original `README` was transferred to the Book.
+
Version 0.15.1
==============
diff --git a/doc/src/language/logic.md b/doc/src/language/logic.md
index 057408b5..7867a3d8 100644
--- a/doc/src/language/logic.md
+++ b/doc/src/language/logic.md
@@ -36,13 +36,13 @@ ts != 42; // true - types cannot be compared
Boolean operators
-----------------
-| Operator | Description |
-| -------- | ------------------------------------- |
-| `!` | Boolean _Not_ |
-| `&&` | Boolean _And_ (short-circuits) |
-| `||` | Boolean _Or_ (short-circuits) |
-| `&` | Boolean _And_ (doesn't short-circuit) |
-| `|` | Boolean _Or_ (doesn't short-circuit) |
+| Operator | Description |
+| ----------------- | ------------------------------------- |
+| `!` | Boolean _Not_ |
+| `&&` | Boolean _And_ (short-circuits) |
+| \|\|
| Boolean _Or_ (short-circuits) |
+| `&` | Boolean _And_ (doesn't short-circuit) |
+| \|
| Boolean _Or_ (doesn't short-circuit) |
Double boolean operators `&&` and `||` _short-circuit_, meaning that the second operand will not be evaluated
if the first one already proves the condition wrong.
diff --git a/doc/src/rust/print-custom.md b/doc/src/rust/print-custom.md
index 87b13c4b..53996fe0 100644
--- a/doc/src/rust/print-custom.md
+++ b/doc/src/rust/print-custom.md
@@ -6,11 +6,11 @@ Printing for Custom Types
To use custom types for [`print`] and [`debug`], or convert its value into a [string], it is necessary that the following
functions be registered (assuming the custom type is `T : Display + Debug`):
-| Function | Signature | Typical implementation | Usage |
-| ----------- | ------------------------------------------------ | ------------------------------------- | --------------------------------------------------------------------------------------- |
-| `to_string` | `|s: &mut T| -> ImmutableString` | `s.to_string().into()` | Converts the custom type into a [string] |
-| `print` | `|s: &mut T| -> ImmutableString` | `s.to_string().into()` | Converts the custom type into a [string] for the [`print`](#print-and-debug) statement |
-| `debug` | `|s: &mut T| -> ImmutableString` | `format!("{:?}", s).into()` | Converts the custom type into a [string] for the [`debug`](#print-and-debug) statement |
-| `+` | `|s1: ImmutableString, s: T| -> ImmutableString` | `s1 + s` | Append the custom type to another [string], for `print("Answer: " + type);` usage |
-| `+` | `|s: T, s2: ImmutableString| -> ImmutableString` | `s.to_string().push_str(&s2).into();` | Append another [string] to the custom type, for `print(type + " is the answer");` usage |
-| `+=` | `|s1: &mut ImmutableString, s: T|` | `s1 += s.to_string()` | Append the custom type to an existing [string], for `s += type;` usage |
+| Function | Signature | Typical implementation | Usage |
+| ----------- | ------------------------------------------------------------- | ------------------------------------- | --------------------------------------------------------------------------------------- |
+| `to_string` | \|s: &mut T\| -> ImmutableString
| `s.to_string().into()` | Converts the custom type into a [string] |
+| `print` | \|s: &mut T\| -> ImmutableString
| `s.to_string().into()` | Converts the custom type into a [string] for the [`print`](#print-and-debug) statement |
+| `debug` | \|s: &mut T\| -> ImmutableString
| `format!("{:?}", s).into()` | Converts the custom type into a [string] for the [`debug`](#print-and-debug) statement |
+| `+` | \|s1: ImmutableString, s: T\| -> ImmutableString
| `s1 + s` | Append the custom type to another [string], for `print("Answer: " + type);` usage |
+| `+` | \|s: T, s2: ImmutableString\| -> ImmutableString
| `s.to_string().push_str(&s2).into();` | Append another [string] to the custom type, for `print(type + " is the answer");` usage |
+| `+=` | \|s1: &mut ImmutableString, s: T\|
| `s1 += s.to_string()` | Append the custom type to an existing [string], for `s += type;` usage |