/emoji

A minimalistic emoji package for Go (golang)

Primary LanguageGoMIT LicenseMIT

emoji πŸš€ πŸŽ’ πŸŽ‰

Build Status godoc Go Report Card Codecov MIT License

emoji is a minimalistic emoji library for Go. It lets you use emoji characters in strings.

Inspired by spatie/emoji

Install πŸ’Ύ

go get github.com/enescakir/emoji

Usage πŸ„

package main

import (
    "fmt"

    "github.com/enescakir/emoji"
)

func main() {
	fmt.Printf("Hello %v\n", emoji.WavingHand)
	fmt.Printf("I am %v from %v\n",
		emoji.ManTechnologist,
		emoji.FlagForTurkey,
	)
	fmt.Printf("Different skin tones.\n  default: %v light: %v dark: %v\n",
		emoji.ThumbsUp,
		emoji.OkHand.Tone(emoji.Light),
		emoji.CallMeHand.Tone(emoji.Dark),
	)
	fmt.Printf("Emojis with multiple skin tones.\n  both medium: %v light and dark: %v\n",
		emoji.PeopleHoldingHands.Tone(emoji.Medium),
		emoji.PeopleHoldingHands.Tone(emoji.Light, emoji.Dark),
	)
	fmt.Println(emoji.Parse("Emoji aliases are :sunglasses:"))
	emoji.Println("Use fmt wrappers :+1: with emoji support :tada:")
}

/* OUTPUT

    Hello πŸ‘‹
    I am πŸ‘¨β€πŸ’» from πŸ‡ΉπŸ‡·
    Different skin tones.
      default: πŸ‘ light: πŸ‘ŒπŸ» dark: πŸ€™πŸΏ
    Emojis with multiple skin tones.
      both medium: πŸ§‘πŸ½β€πŸ€β€πŸ§‘πŸ½ light and dark: πŸ§‘πŸ»β€πŸ€β€πŸ§‘πŸΏ
    Emoji aliases are 😎
    Use fmt wrappers πŸ‘ with emoji support πŸŽ‰
*/

This package contains emojis constants based on Full Emoji List v13.0.

emoji.CallMeHand // πŸ€™
emoji.CallMeHand.Tone(emoji.Dark) // πŸ€™πŸΏ

Also, it has additional emoji aliases from github/gemoji.

emoji.Parse(":+1:") // πŸ‘
emoji.Parse(":100:") // πŸ’―

You can generate country flag emoji with ISO 3166 Alpha2 codes:

emoji.CountryFlag("tr") // πŸ‡ΉπŸ‡·
emoji.CountryFlag("US") // πŸ‡ΊπŸ‡Έ
emoji.Parse("country flag alias :flag-gb:") // country flag alias πŸ‡¬πŸ‡§

All constants are generated by internal/generator.

Testing πŸ”¨

go test

Todo πŸ“Œ

  • Add examples to godoc

Contributing πŸ‘¨β€πŸ’»

I am accepting PRs that add aliases to the package. You have to add it to customEmojis list at internal/generator/main.

If you think an emoji constant is not correct, open an issue. Please use this list to look up the correct unicode value and the name of the character.

Credits ⭐

License πŸ“œ

The MIT License (MIT). Please see License File for more information.