Docs on new MCI formatting
This commit is contained in:
parent
065658f6b8
commit
a03b071256
|
@ -6,13 +6,15 @@ This document attempts to track **major** changes and additions in ENiGMA½. For
|
||||||
* Removed terminal `cursor position reports` from most locations in the code. This should greatly increase the number of terminal programs that work with Enigma 1/2. For more information, see [Issue #222](https://github.com/NuSkooler/enigma-bbs/issues/222). This may also resolve other issues, such as [Issue #365](https://github.com/NuSkooler/enigma-bbs/issues/365), and [Issue #320](https://github.com/NuSkooler/enigma-bbs/issues/320). Anyone that previously had terminal incompatibilities please re-check and let us know!
|
* Removed terminal `cursor position reports` from most locations in the code. This should greatly increase the number of terminal programs that work with Enigma 1/2. For more information, see [Issue #222](https://github.com/NuSkooler/enigma-bbs/issues/222). This may also resolve other issues, such as [Issue #365](https://github.com/NuSkooler/enigma-bbs/issues/365), and [Issue #320](https://github.com/NuSkooler/enigma-bbs/issues/320). Anyone that previously had terminal incompatibilities please re-check and let us know!
|
||||||
* Bumped up the minimum [Node.js](https://nodejs.org/en/) version to v14. This will allow more expressive Javascript programming syntax with ECMAScript 2020 to improve the development experience.
|
* Bumped up the minimum [Node.js](https://nodejs.org/en/) version to v14. This will allow more expressive Javascript programming syntax with ECMAScript 2020 to improve the development experience.
|
||||||
* **New Waiting For Caller (WFC)** support via the `wfc.js` module.
|
* **New Waiting For Caller (WFC)** support via the `wfc.js` module.
|
||||||
* Added new configuration options for `term.checkUtf8Encoding`, `term.checkAnsiHomePostion`, `term.cp437TermList`, and `term.utf8TermList`. More information on these options is available in [UPGRADE](UPGRADE.md).
|
* Added new configuration options for `term.checkUtf8Encoding`, `term.checkAnsiHomePosition`, `term.cp437TermList`, and `term.utf8TermList`. More information on these options is available in [UPGRADE](UPGRADE.md).
|
||||||
* Many new system statistics available via the StatLog such as current and average load, memory, etc.
|
* Many new system statistics available via the StatLog such as current and average load, memory, etc.
|
||||||
* Many new MCI codes: `MB`, `MF`, `LA`, `CL`, `UU`, `FT`, `DD`, `FB`, `DB`, `LC`, `LT`, `LD`, and more. See [MCI](./docs/art/mci.md).
|
* Many new MCI codes: `MB`, `MF`, `LA`, `CL`, `UU`, `FT`, `DD`, `FB`, `DB`, `LC`, `LT`, `LD`, and more. See [MCI](./docs/art/mci.md).
|
||||||
* SyncTERM style font support detection.
|
* SyncTERM style font support detection.
|
||||||
* Added a system method to support setting the client encoding from menus, `@systemMethod:setClientEncoding`.
|
* Added a system method to support setting the client encoding from menus, `@systemMethod:setClientEncoding`.
|
||||||
* Many additional backward-compatible bug fixes since the first release of 0.0.12-beta. See the [project repository](https://github.com/NuSkooler/enigma-bbs) for more information.
|
* Many additional backward-compatible bug fixes since the first release of 0.0.12-beta. See the [project repository](https://github.com/NuSkooler/enigma-bbs) for more information.
|
||||||
* Deprecated Gopher's `messageConferences` configuration key in favor of a easier to deal with `exposedConfAreas` allowing wildcards and exclusions. See [Gopher](./docs/servers/contentservers/gopher.md).
|
* Deprecated Gopher's `messageConferences` configuration key in favor of a easier to deal with `exposedConfAreas` allowing wildcards and exclusions. See [Gopher](./docs/servers/contentservers/gopher.md).
|
||||||
|
* NNTP write (aka POST) access support for authenticated users over TLS.
|
||||||
|
* [Advanced MCI formatting](./docs/art/mci.md#mci-formatting)
|
||||||
|
|
||||||
## 0.0.12-beta
|
## 0.0.12-beta
|
||||||
* The `master` branch has become mainline. What this means to users is `git pull` will always give you the latest and greatest. Make sure to read [Updating](./docs/admin/updating.md) and keep an eye on `WHATSNEW.md` (this file) and [UPGRADE](UPGRADE.md)! See also [ticket #276](https://github.com/NuSkooler/enigma-bbs/issues/276).
|
* The `master` branch has become mainline. What this means to users is `git pull` will always give you the latest and greatest. Make sure to read [Updating](./docs/admin/updating.md) and keep an eye on `WHATSNEW.md` (this file) and [UPGRADE](UPGRADE.md)! See also [ticket #276](https://github.com/NuSkooler/enigma-bbs/issues/276).
|
||||||
|
|
|
@ -108,7 +108,7 @@ There are many predefined MCI codes that can be used anywhere on the system (pla
|
||||||
| `NM` | Count of new messages **address to the current user** across all message areas in which they have access |
|
| `NM` | Count of new messages **address to the current user** across all message areas in which they have access |
|
||||||
| `NP` | Count of new private mail to the current user |
|
| `NP` | Count of new private mail to the current user |
|
||||||
| `IA` | Indicator as to rather the current user is **available** or not. See also `getStatusAvailIndicators()` in [Themes](themes.md) |
|
| `IA` | Indicator as to rather the current user is **available** or not. See also `getStatusAvailIndicators()` in [Themes](themes.md) |
|
||||||
| `IV` | Indicator as to rather the curent user is **visible** or not. See also `getStatusVisibleIndicators()` in [Themes](themes.md) |
|
| `IV` | Indicator as to rather the current user is **visible** or not. See also `getStatusVisibleIndicators()` in [Themes](themes.md) |
|
||||||
| `PI` | Ingress bytes for the current process (since ENiGMA started up) |
|
| `PI` | Ingress bytes for the current process (since ENiGMA started up) |
|
||||||
| `PE` | Egress bytes for the current process (since ENiGMA started up) |
|
| `PE` | Egress bytes for the current process (since ENiGMA started up) |
|
||||||
|
|
||||||
|
@ -186,7 +186,7 @@ Predefined MCI codes and other Views can have properties set via `menu.hjson` an
|
||||||
| `height` | Sets the height of views such as menus that may be > 1 character in height |
|
| `height` | Sets the height of views such as menus that may be > 1 character in height |
|
||||||
| `width` | Sets the width of a view |
|
| `width` | Sets the width of a view |
|
||||||
| `focus` | If set to `true`, establishes initial focus |
|
| `focus` | If set to `true`, establishes initial focus |
|
||||||
| `text` | (initial) text of a view. See |
|
| `text` | Set's the view's text if applicable, such as a [TextView](./views/text_view.md) or [EditTextView](./views/edit_text_view.md) amongst others. See [MCI Formatting](#mci-formatting) below for advanced formatting options using the |
|
||||||
| `submit` | If set to `true` any `accept` action upon this view will submit the encompassing **form** |
|
| `submit` | If set to `true` any `accept` action upon this view will submit the encompassing **form** |
|
||||||
| `itemFormat` | Sets the format for a list entry. See [Entry Formatting](#entry-formatting) below |
|
| `itemFormat` | Sets the format for a list entry. See [Entry Formatting](#entry-formatting) below |
|
||||||
| `focusItemFormat` | Sets the format for a focused list entry. See [Entry Formatting](#entry-formatting) below |
|
| `focusItemFormat` | Sets the format for a focused list entry. See [Entry Formatting](#entry-formatting) below |
|
||||||
|
@ -217,11 +217,20 @@ Standard style types available for `textStyle` and `focusTextStyle`:
|
||||||
Various strings can be formatted using a syntax that allows width & precision specifiers, text styling, etc. Depending on the context, various elements can be referenced by `{name}`. Additional text styles can be supplied as well. The syntax is largely modeled after Python's [string format mini language](https://docs.python.org/3/library/string.html#format-specification-mini-language).
|
Various strings can be formatted using a syntax that allows width & precision specifiers, text styling, etc. Depending on the context, various elements can be referenced by `{name}`. Additional text styles can be supplied as well. The syntax is largely modeled after Python's [string format mini language](https://docs.python.org/3/library/string.html#format-specification-mini-language).
|
||||||
|
|
||||||
#### MCI Formatting
|
#### MCI Formatting
|
||||||
For more advanced layouts, you may want to apply formatting to MCI codes. In this case, an alternative syntax is supported similar to standard [Entry Formatting](#entry-formatting). MCI codes can be surrounded by `{` and `}` in the `text` field of your `theme.hjson` for a Text Label (`%TL` aka [Text View](./views/text_view.md)). An example:
|
For more advanced layouts, you may want to apply formatting to MCI codes. In this case, an alternative syntax is supported similar to standard [Entry Formatting](#entry-formatting).
|
||||||
```
|
|
||||||
|
MCI codes can be surrounded by `{` and `}` in the `text` field in your `theme.hjson` for a Text Label (`%TL` aka [Text View](./views/text_view.md)). Some examples:
|
||||||
|
```hjson
|
||||||
text: "|00|07{BN!stylel33t}" // render board name in "l33t" text
|
text: "|00|07{BN!stylel33t}" // render board name in "l33t" text
|
||||||
|
|
||||||
|
// MCI codes that produce a number can use appropriate stylers as well
|
||||||
|
text: "|00|07{SD:,}"
|
||||||
|
// ...or perhaps
|
||||||
|
text: "|00:07{SD!countWithAbbr}"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
> :bulb: MCI formatting also applies when programmatically calling [setText()](https://github.com/NuSkooler/enigma-bbs/blob/6710bf8c084487be2ee1d46d72a05d17a7b166f4/core/text_view.js#L148) of [TextView's](./views/text_view.md) and derived views.
|
||||||
|
|
||||||
### Additional Text Styles
|
### Additional Text Styles
|
||||||
Some of the text styles mentioned above are also available in the mini format language:
|
Some of the text styles mentioned above are also available in the mini format language:
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue