Phil Scott 223642b797
Add blog to docs (#484)
* Adding social card infrastructure
* Upgrades doc project to .NET 6
* Adds Playwright
* Changes the console to a web project for Playwright
* Adds social card template
* Added blog content
* Parallelized social image processing
* Updating CI to use .NET 6 for docs build
2021-07-15 19:53:01 +02:00

1.9 KiB

Title: Emojis Order: 3 Description: "For terminals that support Emojis, Spectre.Console supports a simple syntax for rendering emojis." Highlights: - "🚀 becomes 🚀" - "🌖 becomes 🌖"

Please note that what emojis that can be used is completely up to the operating system and/or terminal you're using, and no guarantees can be made of how it will look. Calculating the width of emojis is also not an exact science in many ways, so milage might vary when used in tables, panels or grids.

To ensure best compatibility, consider only using emojis introduced before Unicode 13.0 that belongs in the Emoji_Presentation category in the official emoji list at https://www.unicode.org/Public/UCD/latest/ucd/emoji/emoji-data.txt

Usage

// Markup
AnsiConsole.MarkupLine("Hello :globe_showing_europe_africa:!");

// Constant
var hello = "Hello " + Emoji.Known.GlobeShowingEuropeAfrica;

Replacing emojis in text

var phrase = "Mmmm :birthday_cake:";
var rendered = Emoji.Replace(phrase);

Remapping or adding an emoji

Sometimes you want to remap an existing emoji, or add a completely new one. For this you can use the Emoji.Remap method. This approach works both with markup strings and Emoji.Replace.

// Remap the emoji
Emoji.Remap("globe_showing_europe_africa", "😄");

// Render markup
AnsiConsole.MarkupLine("Hello :globe_showing_europe_africa:!");

// Replace emojis in string
var phrase = "Hello :globe_showing_europe_africa:!";
var rendered = Emoji.Replace(phrase);

Emojis

The images in the table below might not render correctly in your browser for the same reasons mentioned in the Compatibility section.