Harlowe
Equivalent functionality in Harlowe 3.2.1
Examples taken from the Harlowe online documentation
Harlowe and Moontale have fundamentally different use-cases! This guide is not exhaustive - in particular, it does not cover Styling, Input, Transitions, and utility functions.
Hooks vs. Render functions
In Harlowe, a Hook is a specific instance of content in a passage. A Hook can be hidden or shown at will, causing it to be inserted/removed from the passage text. A Hook name, when used in code, acts like a selector and is used to modify all Hooks with that name.
In contrast, Moontale render functions are a set of instructions for displaying content. Render functions can be combined with Changers, stored and retrieved like normal variables, and used in-line with other text as many times as desired. It is not possible to select and mutate text segments that have already been outputted; instead, use a variable to control what is outputted in a given block and call reload()
to make the changes visible.
Syntax
The following syntax is identical in both Harlowe and Moontale:
[[Passage]]
[[Link->Target]]
[[Target<-Link]]
~~Strike through~~
*Emphasis*
**Strong emphasis**
$variable
Special passage tags:
startup
,header
, andfooter
Harlowe | Moontale |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| ⚠️ Not supported |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| ⚠️ Not supported You'd need custom tags for this |
| ⚠️ Not supported You'd need custom tags for this |
|
|
|
|
|
|
|
|
| ⚠️ Not supported May be possible using Typed Lua |
| ⚠️ Not supported Use global |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
| ⚠️ Not supported It may be possible to do this by overriding the output functions to convert tags into Markdown tokens |
|
Note the rules on Immutability; this must be done before the text you want to change 🚧 |
|
This must be done before using |
| ⚠️ Not supported It's not possible to change existing output |
|
🚧 |
|
|
|
|
|
|
|
|
|
🚧 |
|
|
|
🚧 |
|
|
|
|
|
Note that this is a map keyed by the passage name |
Last updated