From 11f77cd434fcc4ae60afd9fbeba3c89111482638 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Wed, 25 Jan 2017 21:16:53 +0800 Subject: [PATCH] Fix render emojis --- CHANGELOG.md | 4 ++++ src/render.js | 12 ++++++------ src/util.js | 7 +++++++ 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1733685..f4aa307 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.10.1 +### Bug fixes +- Fix render emojis + ## 1.10.0 ### Features - Support emoji :laughing: diff --git a/src/render.js b/src/render.js index 51dcc09..8536203 100644 --- a/src/render.js +++ b/src/render.js @@ -2,7 +2,7 @@ import marked from 'marked' import Prism from 'prismjs' import * as tpl from './tpl' import * as event from './event' -import { genTree, getRoute, isMobile, slugify, merge } from './util' +import { genTree, getRoute, isMobile, slugify, merge, emojify } from './util' let OPTIONS = {} let markdown = marked @@ -45,7 +45,7 @@ export function init (options) { renderer.code = function (code, lang = '') { const hl = Prism.highlight(code, Prism.languages[lang] || Prism.languages.markup) - return `
${hl}
` + return `
${hl.replace(/:/g, '__colon__')}
` } renderer.link = function (href, title, text) { if (OPTIONS.router && !/:/.test(href)) { @@ -63,16 +63,16 @@ export function init (options) { return `

${text}

` } - renderer.text = function (text) { - return text.replace(/:(\S*?):/ig, '$1') - } - if (typeof OPTIONS.markdown === 'function') { markdown.setOptions({ renderer }) markdown = OPTIONS.markdown.call(this, markdown) } else { markdown.setOptions(merge({ renderer }, OPTIONS.markdown)) } + + const md = markdown + + markdown = text => emojify(md(text)) } /** diff --git a/src/util.js b/src/util.js index e4b67f9..9d42947 100644 --- a/src/util.js +++ b/src/util.js @@ -157,3 +157,10 @@ export const merge = Object.assign || function (to) { return to } + +export function emojify (text) { + return text + .replace(/:(\S*?):/ig, '$1') + .replace(/__colon__/g, ':') +} +