Details Formatter
%%(details title="summary" open=1)%%
<details open> <summary>System Requirements</summary> <p>Requires a computer running an operating system. The computer must have some memory and ideally some kind of long-term storage. An input device as well as some form of output device is recommended.</p> </details>
formatter/highlight/details.php
<?php /* % %(details [title="Title"] [open=0|1] ) content % % */ if (!isset($options['title'])) $options['title'] = null; if (!isset($options['open'])) $options['open'] = 0; $title = $options['title'] ?? $this->_t('ShowHideDetails'); $open = $options['open'] ? ' open' : ''; echo '<ignore><details' . $open . '>' . "\n"; echo ($title ? '<summary>' . Ut::html($title) . '</summary>' . "\n" : ''); include Ut::join_path(FORMATTER_DIR, 'wiki.php'); echo "</details></ignore>\n";
Summary
The HTML Details Element (<details>
) creates a disclosure widget in which information is visible only when the widget is toggled into an "open" state. A summary or label can be provided using the <summary>
element.A disclosure widget is typically presented onscreen using a small triangle which rotates (or twists) to indicate open/closed status, with a label next to the triangle. If the first child of the
<details>
element is a <summary>
, the contents of the <summary>
element are used as the label for the disclosure widget.
Remarks
- The Formatter does not support nesting. A formatter cannot invoke another formatter by design.
- formatter + wrapper
- it can be done via inline HTML, but this is rather inconvenient because you can't nest wiki syntax in between the
<details>
tags, the HTML SAX parser would close your<details>
tag with</details>
in advance
Links