From 1f352d876ebbb2e239c8202430bf56c21b1a0a40 Mon Sep 17 00:00:00 2001 From: Fedor Katurov Date: Fri, 2 Apr 2021 13:57:00 +0700 Subject: [PATCH] #60 added typograf --- src/utils/dom.ts | 2 ++ src/utils/formatText.ts | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/src/utils/dom.ts b/src/utils/dom.ts index eae9655f..ce8961fc 100644 --- a/src/utils/dom.ts +++ b/src/utils/dom.ts @@ -18,6 +18,7 @@ import { formatTextSanitizeTags, formatTextSanitizeYoutube, formatTextTodos, + formatTextTypograf, } from '~/utils/formatText'; import { splitTextByYoutube, splitTextOmitEmpty } from '~/utils/splitText'; @@ -102,6 +103,7 @@ export const formatText = pipe( formatTextTodos, formatExclamations, formatTextDash, + formatTextTypograf, formatTextMarkdown, formatTextSanitizeTags, formatTextClickableUsernames diff --git a/src/utils/formatText.ts b/src/utils/formatText.ts index 1c7aa4f9..a409e46f 100644 --- a/src/utils/formatText.ts +++ b/src/utils/formatText.ts @@ -1,5 +1,8 @@ import marked from 'marked'; import { stripHTMLTags } from '~/utils/stripHTMLTags'; +import Typograf from 'typograf'; + +const typograf = new Typograf({ locale: ['ru', 'en-US'] }); /** * Cleans youtube urls @@ -69,3 +72,8 @@ export const formatTextDash = (text: string): string => text.replace(' -- ', ' * Formats with markdown */ export const formatTextMarkdown = (text: string): string => marked(text); + +/** + * Uses typograf.js to prettify text + */ +export const formatTextTypograf = (text: string): string => typograf.execute(text);