Some checks failed
Create issues from TODOs / todos (push) Failing after 3s
Close inactive issues / close-issues (push) Has been cancelled
Deploy GitHub Pages / deploy-preview (push) Has been cancelled
CI / ⚙️ Variables Setup (push) Has been cancelled
CI / ⚙️ Test Guard (push) Has been cancelled
CI / 🚀 Notify external services - draft (push) Has been cancelled
CI / 📦 Build Packages (push) Has been cancelled
CI / 📦 Meteor Build (coverage) (push) Has been cancelled
CI / 📦 Meteor Build (production) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [account-service presence-service omnichannel-transcript-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [account-service presence-service omnichannel-transcript-service], fips) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [authorization-service queue-worker-service ddp-streamer-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [authorization-service queue-worker-service ddp-streamer-service], fips) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [rocketchat], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [rocketchat], coverage) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [rocketchat], fips) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [account-service presence-service omnichannel-transcript-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [authorization-service queue-worker-service ddp-streamer-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [rocketchat], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [rocketchat], coverage) (push) Has been cancelled
CI / 🚢 Publish Docker Images (ghcr.io) (push) Has been cancelled
CI / 📦 Track Image Sizes (push) Has been cancelled
CI / 🔎 Code Check - Action Lint (push) Has been cancelled
CI / 🔎 Code Check (push) Has been cancelled
CI / 🔨 Test Storybook (push) Has been cancelled
CI / 🔨 Test Unit (push) Has been cancelled
CI / 🔨 Test API (CE) (push) Has been cancelled
CI / 🔨 Test API Livechat (CE) (push) Has been cancelled
CI / 🔨 Test UI (CE) (push) Has been cancelled
CI / 🔨 Test API (EE) (push) Has been cancelled
CI / 🔨 Test API Livechat (EE) (push) Has been cancelled
CI / 🔨 Test API Apps (deno-runtime - EE) (push) Has been cancelled
CI / 🔨 Test UI (EE) (push) Has been cancelled
CI / 🔨 Test API (FIPS) (push) Has been cancelled
CI / 🔨 Test API Livechat (FIPS) (push) Has been cancelled
CI / 🔨 Test UI (FIPS) (push) Has been cancelled
CI / 🔨 Test Federation Matrix (push) Has been cancelled
CI / 📊 Report Coverage (push) Has been cancelled
CI / ✅ Tests Done (push) Has been cancelled
CI / 🚀 Publish build assets (push) Has been cancelled
CI / 🚀 Publish Docker Images (DockerHub) (push) Has been cancelled
CI / 🚀 Notify external services (push) Has been cancelled
CI / Update Version Durability (push) Has been cancelled
Release / Release (push) Has been cancelled
Auto-close duplicate issues / auto-close-duplicates (push) Failing after 1s
Code scanning - action / CodeQL-Build (push) Failing after 2s
106 lines
3.4 KiB
Markdown
106 lines
3.4 KiB
Markdown
<!--header-->
|
|
|
|
<p align="center">
|
|
<a href="https://rocket.chat" title="Rocket.Chat">
|
|
<img src="https://github.com/RocketChat/Rocket.Chat.Artwork/raw/master/Logos/2020/png/logo-horizontal-red.png" alt="Rocket.Chat" />
|
|
</a>
|
|
</p>
|
|
|
|
# `@rocket.chat/message-parser`
|
|
|
|
> Rocket.Chat parser for messages
|
|
|
|
---
|
|
|
|
[](https://www.npmjs.com/package/@rocket.chat/message-parser/v/latest) [](https://www.npmjs.com/package/@rocket.chat/message-parser/v/next)  
|
|
|
|
 
|
|
|
|
<!--/header-->
|
|
|
|
## Description
|
|
|
|
Rocket.Chat grammar with the purpose of parsing the messages of the rocket chat, converting text to an AST tree.
|
|
|
|
The grammar provides support for markdown, mentions and emojis.
|
|
|
|
## Supported markup
|
|
|
|
- quotes
|
|
- bold/italic/strike
|
|
- ordered lists
|
|
- unordered lists
|
|
- task lists
|
|
- phone numbers
|
|
- mentions
|
|
- emoji
|
|
- colors
|
|
- URI's
|
|
- mentions users/channels
|
|
- timestamps
|
|
- tables
|
|
|
|
## Tables
|
|
|
|
GFM-style tables. A leading and trailing pipe is required on every row.
|
|
Alignment is taken from the delimiter row:
|
|
|
|
| Marker | Alignment |
|
|
| ------ | --------- |
|
|
| `:---` | left |
|
|
| `:--:` | center |
|
|
| `---:` | right |
|
|
| `---` | none |
|
|
|
|
```md
|
|
| Header 1 | Header 2 |
|
|
| -------- | :------: |
|
|
| Cell 1 | Cell 2 |
|
|
```
|
|
|
|
A literal pipe inside a cell must be escaped as `\|`. Cell content supports
|
|
inline markup (bold, italic, links, emoji, …).
|
|
|
|
## Timestamps
|
|
|
|
The timestamp tag is a special tag that allows you to convert a Unix timestamp to a human-readable date and time.
|
|
|
|
Timestamps are allowed inside strike elements.
|
|
|
|
### Usage
|
|
|
|
Pattern: <t:{timestamp}:?{format}>
|
|
|
|
- {timestamp} is a Unix timestamp
|
|
- {format} is an optional parameter that can be used to customize the date and time format.
|
|
|
|
#### Formats
|
|
|
|
| Format | Description | Example |
|
|
| ------ | ------------------------- | --------------------------------------- |
|
|
| `t` | Short time | 12:00 AM |
|
|
| `T` | Long time | 12:00:00 AM |
|
|
| `d` | Short date | 12/31/2020 |
|
|
| `D` | Long date | Thursday, December 31, 2020 |
|
|
| `f` | Full date and time | Thursday, December 31, 2020 12:00 AM |
|
|
| `F` | Full date and time (long) | Thursday, December 31, 2020 12:00:00 AM |
|
|
| `R` | Relative time | 1 year ago |
|
|
|
|
## Contributing
|
|
|
|
<!--contributing(msg)-->
|
|
|
|
Contributions, issues, and feature requests are welcome!<br />
|
|
Feel free to check the [issues](https://github.com/RocketChat/fuselage/issues).
|
|
|
|
<!--/contributing(msg)-->
|
|
|
|
Whenever you find a grammar-related bug, start by inserting the test case.
|
|
|
|
We are open to other tags/markups, as long as they don't generate unexpected behavior.
|
|
|
|
## Observations and known issues
|
|
|
|
- Nested lists are unsupported
|
|
- `URL` rule doesn't allow whitespace, `(`, or `)`
|