Private
Public Access
Add a collapsible markdown formatting toolbar to the composer (#75)
Markdown support was already complete and documented, but nothing in the composer pointed at it -- unlike @, # and : (which advertise themselves when typed), formatting syntax was only discoverable via Help, buried in the account menu. The composer stays a plain markdown textarea; a new "Aa" button opens a toolbar that inserts the syntax for you: bold, italic, strikethrough, inline code, code block, link, quote, bulleted/numbered lists, H1-H3, sub/superscript. Collapsed by default, remembered across reloads and room switches. Clicking a button again removes the formatting (native undo doesn't track programmatic edits), and bold/italic/sub/strike toggles are run-length aware so "***x***" is handled correctly. The selection math is pure functions in lib/markdownFormat.ts, unit-tested. The "?" opens /help#formatting in a new tab so the draft isn't lost; HelpPage now scrolls to the hash once the guide has loaded, since the browser's own hash scroll fired before the async-fetched headings existed. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
c54c1bf97d
commit
6975ed4dc0
11 files changed
+682
-2
No files matched your search
+7
-1
@@ -70,7 +70,13 @@ send. Use **Shift+Enter** to add a line break without sending.
|
||||
|
||||
## Formatting
|
||||
|
||||
Messages support Markdown:
|
||||
Messages support Markdown. Prefer buttons to typing the syntax? Click the
|
||||
**Aa** button next to the emoji button in the composer to open a formatting
|
||||
toolbar — it inserts the markdown below into your message for you (select some
|
||||
text first to wrap it, or click a button again to take the formatting back
|
||||
off). It stays collapsed until you open it, and remembers your choice.
|
||||
|
||||
Or type it yourself:
|
||||
|
||||
- `**bold**`, `*italic*`, `~~strikethrough~~`
|
||||
- `` `inline code` `` and fenced code blocks (three backticks)
|
||||
|
||||
Reference in new issue
Block a user