Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/onmyway133/Smile
:smile: Emoji in Swift
https://github.com/onmyway133/Smile
alias category emoji ios name scalar sequence swift unicode
Last synced: 7 days ago
JSON representation
:smile: Emoji in Swift
- Host: GitHub
- URL: https://github.com/onmyway133/Smile
- Owner: onmyway133
- License: other
- Created: 2016-06-05T22:07:33.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2021-11-29T19:44:39.000Z (about 3 years ago)
- Last Synced: 2024-10-25T06:02:18.901Z (about 2 months ago)
- Topics: alias, category, emoji, ios, name, scalar, sequence, swift, unicode
- Language: Swift
- Homepage: https://onmyway133.com/apps/
- Size: 511 KB
- Stars: 521
- Watchers: 7
- Forks: 46
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-ios-star - Smile
- awesome-ios - Smile
README
# Smile
❤️ Support my apps ❤️
- [Push Hero - pure Swift native macOS application to test push notifications](https://onmyway133.com/pushhero)
- [PastePal - Pasteboard, note and shortcut manager](https://onmyway133.com/pastepal)
- [Quick Check - smart todo manager](https://onmyway133.com/quickcheck)
- [Alias - App and file shortcut manager](https://onmyway133.com/alias)
- [My other apps](https://onmyway133.com/apps/)❤️❤️😇😍🤘❤️❤️
Emoji in Swift. For reference, go to https://github.com/onmyway133/emoji
[![CI Status](http://img.shields.io/travis/onmyway133/Smile.svg?style=flat)](https://travis-ci.org/onmyway133/Smile)
[![Version](https://img.shields.io/cocoapods/v/Smile.svg?style=flat)](http://cocoadocs.org/docsets/Smile)
[![Carthage Compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)
[![License](https://img.shields.io/cocoapods/l/Smile.svg?style=flat)](http://cocoadocs.org/docsets/Smile)
[![Platform](https://img.shields.io/cocoapods/p/Smile.svg?style=flat)](http://cocoadocs.org/docsets/Smile)
![Swift](https://img.shields.io/badge/%20in-swift%204.0-orange.svg)![](Screenshots/Banner.png)
## Features
- [x] Support emoji sequences
- [x] Handle skin tones, marks, genders, variation selectors
- [x] Support new iOS emojis### List
#### List all emojis
```swift
Smile.list()
emojiList
emojiCategories
```### Emoji
#### Check if a character is emoji
```swift
Smile.isEmoji(character: "🎉") // true
```#### Check if a string contains any emoji
```swift
Smile.containsEmoji(string: "🎈 and 🎁") // true
```#### Count number of emoji characters in a string
```swift
Smile.countEmoji("🎈 and 🎁") // 2
```#### Count number of non-emoji characters in a string
```swift
Smile.countNonEmoji("🎈 and 🎁") // 5
```#### Check if a string contains only a single emoji
```swift
Smile.isSingleEmoji("🎈 and 🎁") // false
Smile.isSingleEmoji("👨") // true
Smile.isSingleEmoji("👩🏽🧑") // false
Smile.isSingleEmoji("just plain text") // false
```#### Check if a string contains only emojis
```swift
Smile.isEmojiOnly("🎈 and 🎁") // false
Smile.isEmojiOnly("👨") // true
Smile.isEmojiOnly("👩🏽🧑") // true
Smile.isEmojiOnly("just plain text") // false
```#### Get emoji from unicode values
```swift
XCTAssertEqual(Smile.emoji(unicodeValues: [0x1F47B]), "👻")
XCTAssertEqual(Smile.emoji(unicodeValues: [0x0001F468, 0x200D, 0x2708]), "👨✈")
```#### Unmodify an emoji
```swift
Smile.unmodify(emoji: "👨🏿") // 👨
```### Name
#### Show standard name of an emoji
```swift
Smile.name(emoji: "🇳🇴") // ["REGIONAL INDICATOR SYMBOL LETTER N", "REGIONAL INDICATOR SYMBOL LETTER O"])
```#### Search emoji by keywords
```swift
Smile.emojis(keywords: ["GRINNING"]) // 😁, 😸
```### Flag
#### Search emoji flag by country code
```swift
Smile.emoji(countryCode: "no") // 🇳🇴
```### Alias
#### Search emoji by alias
Emoji data is from https://github.com/github/gemoji/blob/master/db/emoji.json
```swift
Smile.emoji(alias: "japanese_castle") // 🏯
```#### Find alias by emoji
```swift
Smile.alias(emoji: "🏯") // japanese_castle
```#### Replace alias within a string
```swift
Smile.replaceAlias(string: ":santa: is coming to :european_castle:") // 🎅 is coming to 🏰
```### Category
#### Find category of emoji
Emoji data is from https://github.com/github/gemoji/blob/master/db/Category-Emoji.json
```swift
Smile.category(emoji: "😁") // people
```### Manipulation
#### Extract all emojis within a string
```swift
Smile.extractEmojis(string: "Find 🔑and🔎") // 🔑🔎
```#### Remove all emojis within a string
```swift
Smile.removeEmojis(string: "Find 🔑and🔎") // Find and
```#### Assemble
```swift
Smile.assemble(emojis: ["👨", "🏫") // 👨🏫
Smile.assemble(emojis: ["👨", "👩", "👧", "👦"] // 👨👩👧👦
```#### Disassemble
```swift
Smile.disassemble(emoji: "👨🏫") // [👨, 🏫]
```## Script
Update emoji list by running
```js
node parser.js
```## Installation
**Smile** is available through [CocoaPods](http://cocoapods.org). To install
it, simply add the following line to your Podfile:```ruby
pod 'Smile'
```**Smile** is also available through [Carthage](https://github.com/Carthage/Carthage).
To install just write into your Cartfile:```ruby
github "onmyway133/Smile"
```## Author
Khoa Pham, [email protected]
## Contributing
We would love you to contribute to **Smile**, check the [CONTRIBUTING](https://github.com/onmyway133/Smile/blob/master/CONTRIBUTING.md) file for more info.
## License
**Smile** is available under the MIT license. See the [LICENSE](https://github.com/onmyway133/Smile/blob/master/LICENSE.md) file for more info.