**(link-show: //[[harlowe:string|String]], ...[[harlowe:hookname|HookName]]//) → //[[harlowe:command|Command]]//**

Creates a link that, when clicked, shows the given hidden hooks, running the code within.

=== Example usage: ===

''%%But those little quirks paled before (link-show: "her darker eccentricities.", ?twist)%%''

=== Rationale: ===

As discussed in the documentation for [[harlowe:show|(show:)]], that macro is intended as a complement to [[harlowe:click-replace|(click-replace:)]] (or perhaps [[harlowe:click-append|(click-append:)]]). While both let you insert text at a location when a link is clicked, they differ in whether they let the author write the initial text or the replacement text at the location when coding the passage.

Typical [[harlowe:click-append|(click-append:)]] usage resembles the following, where the inserted text provides supplementary content to the passage's prose, and is written separately from it:

<code>Ah. You remember her eldest well - [a frail, anxious child]<more|. Unlikely to raise too much of a fuss.

(click-append: ?more)[, constantly frowning, mumbling every word they utter, flinching at the slightest noise]</code>

Conversely, typical [[harlowe:show|(show:)]] usage resembles the following, where the inserted text is a continuation of the passage's prose, and is written together with it:

<code>"Look, it's important to comment even the simplest code...|more)[ You might remember what it does now, but not at 4:50 PM on Friday afternoon, when you're about to push to production and a runtime error shows up in it.]"

You (link-reveal:"struggle to listen.")[(show: ?more)] </code>

The (link-show:) macro provides a convenient shorthand for the latter example, letting you write the final line as ''%%You (link-show: "struggle to listen.", ?more)%%''.

=== Details: ===

As with most link macros, providing this with an empty link text [[harlowe:string|string]] will result in an error.

As with [[harlowe:show|(show:)]] and [[harlowe:click|(click:)]], providing this with a hook which is already visible, or which doesn't even exist, will NOT produce an error, but simply do nothing.

=== See also: ===

[[harlowe:show|(show:)]], [[harlowe:link-reveal|(link-reveal:)]], [[harlowe:click-append|(click-append:)]]
