From e30d345e9dd37378ae8e895bf43cfc00d28fd380 Mon Sep 17 00:00:00 2001 From: btzr-io Date: Sun, 22 Jul 2018 15:01:16 -0600 Subject: [PATCH 1/3] add emoji support for claim description --- package.json | 1 + .../component/common/markdown-preview.js | 40 ------------------- yarn.lock | 17 ++++++++ 3 files changed, 18 insertions(+), 40 deletions(-) delete mode 100644 src/renderer/component/common/markdown-preview.js diff --git a/package.json b/package.json index 786ebab43..a854ba640 100644 --- a/package.json +++ b/package.json @@ -71,6 +71,7 @@ "redux-persist-transform-filter": "0.0.16", "redux-thunk": "^2.2.0", "remark": "^9.0.0", + "remark-emoji": "^2.0.1", "remark-react": "^4.0.3", "render-media": "^3.1.0", "reselect": "^3.0.0", diff --git a/src/renderer/component/common/markdown-preview.js b/src/renderer/component/common/markdown-preview.js deleted file mode 100644 index 2c28163aa..000000000 --- a/src/renderer/component/common/markdown-preview.js +++ /dev/null @@ -1,40 +0,0 @@ -// @flow -import * as React from 'react'; -import remark from 'remark'; -import reactRenderer from 'remark-react'; -import ExternalLink from 'component/externalLink'; -import defaultSchema from 'hast-util-sanitize/lib/github.json'; - -// Use github sanitation schema -const schema = { ...defaultSchema }; - -// Extend sanitation schema to support lbry protocol -schema.protocols.href[3] = 'lbry'; - -type MarkdownProps = { - content: string, - promptLinks?: boolean, -}; - -const SimpleLink = ({ href, title, children }) => ({children}); - -const MarkdownPreview = (props: MarkdownProps) => { - const { content, externalLinks, promptLinks } = props; - const remarkOptions = { - sanitize: schema, - remarkReactComponents: { - a: promptLinks ? ExternalLink : SimpleLink, - }, - }; - return ( -
- { - remark() - .use(reactRenderer, remarkOptions) - .processSync(content).contents - } -
- ); -}; - -export default MarkdownPreview; diff --git a/yarn.lock b/yarn.lock index e4c5512dc..8bc5a8eff 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5446,6 +5446,10 @@ lodash.tail@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664" +lodash.toarray@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz#24c4bfcd6b2fba38bfd0594db1179d8e9b656561" + lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" @@ -5952,6 +5956,12 @@ node-abi@^2.2.0: dependencies: semver "^5.4.1" +node-emoji@^1.4.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.8.1.tgz#6eec6bfb07421e2148c75c6bba72421f8530a826" + dependencies: + lodash.toarray "^4.4.0" + node-fetch@^1.0.1: version "1.7.3" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" @@ -7454,6 +7464,13 @@ relateurl@0.2.x: version "0.2.7" resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" +remark-emoji@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/remark-emoji/-/remark-emoji-2.0.1.tgz#6de4be7acb05b8534b6bad679d56eab24fba5e06" + dependencies: + node-emoji "^1.4.1" + unist-util-visit "^1.1.0" + remark-parse@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-5.0.0.tgz#4c077f9e499044d1d5c13f80d7a98cf7b9285d95" From 4cf56096e1f8f1ea6b7db70d2577fc7107c6fbf1 Mon Sep 17 00:00:00 2001 From: btzr-io Date: Sun, 22 Jul 2018 15:02:43 -0600 Subject: [PATCH 2/3] change markdown-preview extension --- .../component/common/markdown-preview.jsx | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/renderer/component/common/markdown-preview.jsx diff --git a/src/renderer/component/common/markdown-preview.jsx b/src/renderer/component/common/markdown-preview.jsx new file mode 100644 index 000000000..b00ae7025 --- /dev/null +++ b/src/renderer/component/common/markdown-preview.jsx @@ -0,0 +1,46 @@ +// @flow +import * as React from 'react'; +import remark from 'remark'; +import reactRenderer from 'remark-react'; +import remarkEmoji from 'remark-emoji'; +import ExternalLink from 'component/externalLink'; +import defaultSchema from 'hast-util-sanitize/lib/github.json'; + +// Use github sanitation schema +const schema = { ...defaultSchema }; + +// Extend sanitation schema to support lbry protocol +schema.protocols.href[3] = 'lbry'; + +type MarkdownProps = { + content: string, + promptLinks?: boolean, +}; + +const SimpleLink = ({ href, title, children }) => ( + + {children} + +); + +const MarkdownPreview = (props: MarkdownProps) => { + const { content, externalLinks, promptLinks } = props; + const remarkOptions = { + sanitize: schema, + remarkReactComponents: { + a: promptLinks ? ExternalLink : SimpleLink, + }, + }; + return ( +
+ { + remark() + .use(remarkEmoji) + .use(reactRenderer, remarkOptions) + .processSync(content).contents + } +
+ ); +}; + +export default MarkdownPreview; From 71e7a318419bfe0c6e68167a9db2d0c127b24c2b Mon Sep 17 00:00:00 2001 From: btzr-io Date: Sun, 22 Jul 2018 15:28:33 -0600 Subject: [PATCH 3/3] fix list style --- .../scss/component/_markdown-preview.scss | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/src/renderer/scss/component/_markdown-preview.scss b/src/renderer/scss/component/_markdown-preview.scss index 2a04516e4..46d4e382d 100644 --- a/src/renderer/scss/component/_markdown-preview.scss +++ b/src/renderer/scss/component/_markdown-preview.scss @@ -80,9 +80,31 @@ } a { - font-size: 1em; - color: var(--btn-external-color); + font-size: 1em; + color: var(--btn-external-color); + display: inline-block; + } + + /* Lists */ + ul, + ol { + margin-bottom: 2em; + } + + ul { + list-style: initial; + } + + li { + margin-left: 2em; + p { display: inline-block; + } + } + + ol > li, + ul > li { + list-style-position: outside; } }