pub struct Mrkdwn { /* private fields */ }Expand description
§Markdown text
for more info, check out the slack api docs 🔗
§Reserved Characters
Slack uses the following special characters, and recommends you HTML escape them like so:
➤ Click to expand
| character | how to escape |
|---|---|
& | & |
< | < |
> | > |
§Basic Formatting
NOTE: This is not an exhaustive list
This should, however, capture most basic use cases without requiring that you check with the Slack documentation.
For more info, please visit Slack’s docs for markdown formatting 🔗
➤ Click to expand
| slack markdown | formatted result |
|---|---|
_italic_ | italic |
*bold* | bold |
~strike~ | |
\n | line break |
> a block quote | a block quote |
`some code!` | some code! |
```multiline code\n2 lines!``` | multiline code |
- li \n - li |
|
<http://www.foo.com|link name> | link name |
:joy: (list from iamcal/emoji-data 🔗) | 😂 |
link to #channel: <#Cxxxxxx> | #channel |
link to @user: <@Uxxxxxx> | @user |
link to @user_group: <!subteam^xxxxxx> | @user_group |
Implementations§
Source§impl Contents
impl Contents
Sourcepub fn from_text(text: impl ToString) -> Self
pub fn from_text(text: impl ToString) -> Self
Construct some markdown text from a string or string-like value
§Arguments
text- The text contents to render for thisTextobject. For some basic formatting examples, see the docs above for the Contents struct itself, or Slack’s markdown docs 🔗. There are no intrinsic length limits on this, those are usually requirements of the context the text will be used in.
§Example
use slack_blocks::compose::text::{mrkdwn, Text};
let text = mrkdwn::Contents::from_text("This link doesn't work! :tada: https://www.cheese.com")
.with_verbatim(true);Sourcepub fn with_verbatim(self, verbatim: bool) -> Self
pub fn with_verbatim(self, verbatim: bool) -> Self
Sets the verbatim flag
§Arguments
verbatim- When set to false (as is default) URLs will be auto-converted into links, conversation names will be link-ified, and certain mentions will be automatically parsed. Using a value of true will skip any preprocessing of this nature, although you can still include manual parsing strings.
§Example
use slack_blocks::compose::text::{mrkdwn, Text};
let text = mrkdwn::Contents::from_text("This link doesn't work! :tada: https://www.cheese.com")
.with_verbatim(true);Trait Implementations§
Source§impl<'de> Deserialize<'de> for Contents
impl<'de> Deserialize<'de> for Contents
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<Contents> for ImageOrText<'static>
impl From<Contents> for ImageOrText<'static>
Source§impl TextKind<Contents> for mrkdwn
Available on crate feature blox only.
impl TextKind<Contents> for mrkdwn
Available on crate feature
blox only.Source§fn set_kind<M>(self, builder: TextBuilder<Text, M>) -> TextBuilder<Mrkdwn, M>
fn set_kind<M>(self, builder: TextBuilder<Text, M>) -> TextBuilder<Mrkdwn, M>
Invoke
TextBuilder.mrkdwn or TextBuilder.plainimpl StructuralPartialEq for Contents
Auto Trait Implementations§
impl Freeze for Contents
impl RefUnwindSafe for Contents
impl Send for Contents
impl Sync for Contents
impl Unpin for Contents
impl UnwindSafe for Contents
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more