• src/sbbs3/putmsg.cpp sbbsdefs.h src/sbbs3/scfg/scfgsub.c

    From Rob Swindell to Git commit to sbbs/master on Monday, November 02, 2020 00:00:50
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/adb896c16838b2f601c4a924
    Modified Files:
    src/sbbs3/putmsg.cpp sbbsdefs.h src/sbbs3/scfg/scfgsub.c
    Log Message:
    Support markup tags (optionally) when displaying posts

    Defaults to "Off" ("No") and can be set per-sub-board to either:
    - "Yes" parse/apply markup style to displayed message text while still displaying the markup tags
    - "Hide" parse/apply markup style to displayed message text and hide (don't display) the markup tags
    - "No", treat marked-up messages the same as any other message text, same as before.

    The supported Markup tags at this time are:
    #bold text#
    /Italicized text/
    _underlined text_
    #inverse text#

    Now, ANSI-BBS terminals (and Synchronet) do not support the concept of italic or underlined text (at least, not yet) - so those styles become combinations of the blink and high-intensity attributes which can be used to choose alternate fonts and this works well.

    These 4 styles were chosen to be compatible with GoldEd's "Style Codes", though GoldEd is actually very configurable in its support of these tags/codes and its possible we're not 100% compatible. For example, GoldEd (and SemPoint) both support the combining of tags/codes to created combinations of styled text - Synchronet does not (this is consistent with Mozilla/Thunderbird's "Structured Text").

    Multiple words can be styled with a single set of tags, but the first and last word must be delimited by white-space (this is not consistent with Markdown).

    Multiple lines can be styled with a single set of tags, but not multiple paragraphs (this is consistent with Markdown).

    The rules I chose were to minimize false positives but maintain some interoperability with GoldEd and Thunderbird with a familiar/common tag syntax.