shithub: hugo

Download patch

ref: 26906d856916a27456f699dd2494bd796c025837
parent: 608cfe62cfcc2de8cf952e88b75436d064a6af7f
author: BjΓΈrn Erik Pedersen <[email protected]>
date: Mon May 9 18:59:49 EDT 2016

Don't add any space around Emojis

--- a/helpers/emoji.go
+++ b/helpers/emoji.go
@@ -15,8 +15,9 @@
 
 import (
 	"bytes"
-	"github.com/kyokomi/emoji"
 	"sync"
+
+	"github.com/kyokomi/emoji"
 )
 
 var (
@@ -85,7 +86,7 @@
 	emojiMap := emoji.CodeMap()
 
 	for k, v := range emojiMap {
-		emojis[k] = []byte(v + emoji.ReplacePadding)
+		emojis[k] = []byte(v)
 
 		if len(k) > emojiMaxSize {
 			emojiMaxSize = len(k)
--- a/helpers/emoji_test.go
+++ b/helpers/emoji_test.go
@@ -13,11 +13,12 @@
 package helpers
 
 import (
-	"github.com/kyokomi/emoji"
-	"github.com/spf13/hugo/bufferpool"
 	"reflect"
 	"strings"
 	"testing"
+
+	"github.com/kyokomi/emoji"
+	"github.com/spf13/hugo/bufferpool"
 )
 
 func TestEmojiCustom(t *testing.T) {
@@ -25,24 +26,24 @@
 		input  string
 		expect []byte
 	}{
-		{"A :smile: a day", []byte(emoji.Sprint("A :smile: a day"))},
-		{"A few :smile:s a day", []byte(emoji.Sprint("A few :smile:s a day"))},
-		{"A :smile: and a :beer: makes the day for sure.", []byte(emoji.Sprint("A :smile: and a :beer: makes the day for sure."))},
-		{"A :smile: and: a :beer:", []byte(emoji.Sprint("A :smile: and: a :beer:"))},
-		{"A :diamond_shape_with_a_dot_inside: and then some.", []byte(emoji.Sprint("A :diamond_shape_with_a_dot_inside: and then some."))},
-		{":smile:", []byte(emoji.Sprint(":smile:"))},
+		{"A :smile: a day", []byte("A πŸ˜„ a day")},
+		{"A few :smile:s a day", []byte("A few πŸ˜„s a day")},
+		{"A :smile: and a :beer: makes the day for sure.", []byte("A πŸ˜„ and a 🍺 makes the day for sure.")},
+		{"A :smile: and: a :beer:", []byte("A πŸ˜„ and: a 🍺")},
+		{"A :diamond_shape_with_a_dot_inside: and then some.", []byte("A πŸ’  and then some.")},
+		{":smile:", []byte("πŸ˜„")},
 		{":smi", []byte(":smi")},
-		{"A :smile:", []byte(emoji.Sprint("A :smile:"))},
-		{":beer:!", []byte(emoji.Sprint(":beer:!"))},
-		{"::smile:", []byte(emoji.Sprint("::smile:"))},
-		{":beer::", []byte(emoji.Sprint(":beer::"))},
-		{" :beer: :", []byte(emoji.Sprint(" :beer: :"))},
-		{":beer: and :smile: and another :beer:!", []byte(emoji.Sprint(":beer: and :smile: and another :beer:!"))},
-		{" :beer: : ", []byte(emoji.Sprint(" :beer: : "))},
+		{"A :smile:", []byte("A πŸ˜„")},
+		{":beer:!", []byte("🍺!")},
+		{"::smile:", []byte(":πŸ˜„")},
+		{":beer::", []byte("🍺:")},
+		{" :beer: :", []byte(" 🍺 :")},
+		{":beer: and :smile: and another :beer:!", []byte("🍺 and πŸ˜„ and another 🍺!")},
+		{" :beer: : ", []byte(" 🍺 : ")},
 		{"No smilies for you!", []byte("No smilies for you!")},
 		{" The motto: no smiles! ", []byte(" The motto: no smiles! ")},
 		{":hugo_is_the_best_static_gen:", []byte(":hugo_is_the_best_static_gen:")},
-		{"은행 :smile: 은행", []byte(emoji.Sprint("은행 :smile: 은행"))},
+		{"은행 :smile: 은행", []byte("은행 πŸ˜„ 은행")},
 	} {
 		result := Emojify([]byte(this.input))