Merge pull request #7041 from strapi/chore/markdown-it

Change preview for markdown-it in order to have all md support
This commit is contained in:
Alexandre BODIN 2020-07-20 13:19:48 +02:00 committed by GitHub
commit 6baa8dbb98
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 236 additions and 214 deletions

View File

@ -23,12 +23,12 @@
"@babel/preset-env": "^7.9.5",
"@babel/preset-react": "^7.9.4",
"@babel/runtime": "^7.9.2",
"@buffetjs/core": "3.2.0",
"@buffetjs/custom": "3.2.0",
"@buffetjs/hooks": "3.2.0",
"@buffetjs/icons": "3.2.0",
"@buffetjs/styles": "3.2.0",
"@buffetjs/utils": "3.2.0",
"@buffetjs/core": "3.2.1",
"@buffetjs/custom": "3.2.1",
"@buffetjs/hooks": "3.2.1",
"@buffetjs/icons": "3.2.1",
"@buffetjs/styles": "3.2.1",
"@buffetjs/utils": "3.2.1",
"@casl/ability": "^4.1.5",
"@fortawesome/fontawesome-free": "^5.11.2",
"@fortawesome/fontawesome-svg-core": "^1.2.25",

View File

@ -50,11 +50,11 @@
"rollup-plugin-terser": "^4.0.4"
},
"dependencies": {
"@buffetjs/core": "3.2.0",
"@buffetjs/hooks": "3.2.0",
"@buffetjs/icons": "3.2.0",
"@buffetjs/styles": "3.2.0",
"@buffetjs/utils": "3.2.0",
"@buffetjs/core": "3.2.1",
"@buffetjs/hooks": "3.2.1",
"@buffetjs/icons": "3.2.1",
"@buffetjs/styles": "3.2.1",
"@buffetjs/utils": "3.2.1",
"bootstrap": "^4.3.1",
"classnames": "^2.2.5",
"immutable": "^3.8.2",

View File

@ -1,32 +0,0 @@
import React, { useEffect, useRef } from 'react';
import PropTypes from 'prop-types';
import hljs from 'highlight.js';
import 'highlight.js/styles/solarized-dark.css';
const CodeBlock = ({ language, value }) => {
const ref = useRef();
useEffect(() => {
hljs.highlightBlock(ref.current);
}, [value]);
return (
<pre>
<code ref={ref} className={`language-${language || 'bash'}`}>
{value}
</code>
</pre>
);
};
CodeBlock.defaultProps = {
language: '',
value: '',
};
CodeBlock.propTypes = {
language: PropTypes.string,
value: PropTypes.string,
};
export default CodeBlock;

View File

@ -58,7 +58,7 @@ const Wrapper = styled.div`
max-width: 100%;
}
> table {
table {
font-size: 13px;
thead {
background: rgb(243, 243, 243);
@ -89,18 +89,34 @@ const Wrapper = styled.div`
font-size: 13px;
font-family: 'Lato';
border-radius: 3px;
background-color: #002b36;
}
/* Inline code */
p,
pre,
td {
> code {
/* We need to add the same color as the theme */
background-color: #002b36;
color: #839496;
}
}
.warning {
background-color: #faa684;
padding: 30px;
border-radius: 3px;
}
.tip {
background-color: ${props => props.theme.main.colors.darkBlue};
padding: 30px;
border-radius: 3px;
}
.footnote-ref,
.footnote-backref {
color: #007bff;
}
${({ isFullscreen }) => {
if (isFullscreen) {
return `

View File

@ -1,28 +1,23 @@
/* eslint-disable react/no-danger */
/**
*
* PreviewWysiwyg
*
*/
import React, { memo } from 'react';
import React, { memo, useMemo } from 'react';
import PropTypes from 'prop-types';
import ReactMarkdown from 'react-markdown/with-html';
import useWysiwyg from '../../hooks/useWysiwyg';
import CodeBlock from './CodeBlock';
import md from './utils/mdRenderer';
import Wrapper from './Wrapper';
const PreviewWysiwyg = ({ data }) => {
const { isFullscreen } = useWysiwyg();
const html = useMemo(() => md.render(data || ''), [data]);
return (
<Wrapper isFullscreen={isFullscreen}>
<ReactMarkdown
source={data}
skipHtml={false}
escapeHtml={false}
renderers={{ code: CodeBlock }}
/>
<div dangerouslySetInnerHTML={{ __html: html }} />
</Wrapper>
);
};

View File

@ -0,0 +1,72 @@
/* eslint-disable prefer-template */
import Markdown from 'markdown-it';
import 'highlight.js/styles/solarized-dark.css';
import hljs from 'highlight.js';
import abbr from 'markdown-it-abbr';
import container from 'markdown-it-container';
import deflist from 'markdown-it-deflist';
import emoji from 'markdown-it-emoji';
import footnote from 'markdown-it-footnote';
import ins from 'markdown-it-ins';
import mark from 'markdown-it-mark';
import sub from 'markdown-it-sub';
import sup from 'markdown-it-sup';
const md = new Markdown({
html: true, // Enable HTML tags in source
xhtmlOut: false,
breaks: false,
langPrefix: 'language-',
linkify: true,
typographer: true,
// Code from: https://github.com/markdown-it/markdown-it/blob/master/support/demo_template/index.js#L83
highlight: (str, lang) => {
if (lang && lang !== 'auto' && hljs.getLanguage(lang)) {
return (
'<pre class="hljs language-' +
md.utils.escapeHtml(lang.toLowerCase()) +
'"><code>' +
hljs.highlight(lang, str, true).value +
'</code></pre>'
);
}
if (lang === 'auto') {
const result = hljs.highlightAuto(str);
return (
'<pre class="hljs language-' +
md.utils.escapeHtml(result.language) +
'"><code>' +
result.value +
'</code></pre>'
);
}
return '<pre class="hljs"><code>' + md.utils.escapeHtml(str) + '</code></pre>';
},
})
.use(abbr)
.use(container, 'warning')
.use(container, 'tip')
.use(deflist)
.use(emoji)
.use(footnote)
.use(ins)
.use(mark)
.use(sub)
.use(sup);
// Code from: https://github.com/markdown-it/markdown-it-footnote/blob/master/index.js#L29
md.renderer.rules.footnote_ref = (tokens, idx, options, env, slf) => {
const caption = slf.rules.footnote_caption(tokens, idx, options, env, slf);
return '<sup class="footnote-ref"><span>' + caption + '</span></sup>';
};
md.renderer.rules.footnote_anchor = () => {
/* ↩ with escape code to prevent display as Apple Emoji on iOS */
return ' <span class="footnote-backref">\u21a9\uFE0E</span>';
};
export default md;

View File

@ -37,6 +37,7 @@ const EditViewDataManagerProvider = ({
const { id } = useParams();
const [reducerState, dispatch] = useReducer(reducer, initialState, init);
const { state } = useLocation();
const { push } = useHistory();
// Here in case of a 403 response when fetching data we will either redirect to the previous page
// Or to the homepage if there's no state in the history stack

View File

@ -16,12 +16,21 @@
"highlight.js": "^10.1.1",
"immutable": "^3.8.2",
"lodash": "^4.17.11",
"markdown-it": "^11.0.0",
"markdown-it-abbr": "^1.0.4",
"markdown-it-container": "^3.0.0",
"markdown-it-deflist": "^2.0.3",
"markdown-it-emoji": "^1.4.0",
"markdown-it-footnote": "^3.0.2",
"markdown-it-ins": "^3.0.0",
"markdown-it-mark": "^3.0.0",
"markdown-it-sub": "^1.0.0",
"markdown-it-sup": "^1.0.0",
"pluralize": "^7.0.0",
"react": "^16.9.0",
"react-dom": "^16.9.0",
"react-fast-compare": "^3.2.0",
"react-intl": "4.5.0",
"react-markdown": "^4.3.1",
"react-redux": "^7.0.2",
"react-router": "^5.0.0",
"react-router-dom": "^5.0.0",

View File

@ -1,5 +1,4 @@
import React from 'react';
import PropTypes from 'prop-types';
import { Button } from '@buffetjs/core';
import { CheckPermissions } from 'strapi-helper-plugin';
import useModalContext from '../../hooks/useModalContext';
@ -12,7 +11,7 @@ import SelectedAssets from '../SelectedAssets';
import IntlText from '../IntlText';
import BaselineAlignmentWrapper from './BaselineAlignmentWrapper';
const ListModal = ({ noNavigation }) => {
const ListModal = () => {
const { currentTab, goTo, handleModalTabChange, selectedFiles } = useModalContext();
const handleClick = to => {
@ -48,10 +47,12 @@ const ListModal = ({ noNavigation }) => {
},
];
const renderRightContent = noNavigation ? null : renderUploadModalButton;
return (
<ModalNavWrapper initialTab={currentTab} links={links} renderRightContent={renderRightContent}>
<ModalNavWrapper
initialTab={currentTab}
links={links}
renderRightContent={renderUploadModalButton}
>
{to => (
<ModalSection>
{to === 'browse' && <BrowseAssets />}
@ -62,12 +63,4 @@ const ListModal = ({ noNavigation }) => {
);
};
ListModal.defaultProps = {
noNavigation: false,
};
ListModal.propTypes = {
noNavigation: PropTypes.bool,
};
export default ListModal;

256
yarn.lock
View File

@ -1105,15 +1105,15 @@
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
"@buffetjs/core@3.2.0":
version "3.2.0"
resolved "https://registry.yarnpkg.com/@buffetjs/core/-/core-3.2.0.tgz#e8bfb57673cfdcc8ad8f9950f54f727c998925cc"
integrity sha512-j2oRNXcxjICike3IWrer8KnfnL/Q2BdfmDdQq2jqAFGD/yhAQpCowOdLrrl+ihvwRGpe7In6dwzB+qjpfu0Zlg==
"@buffetjs/core@3.2.1":
version "3.2.1"
resolved "https://registry.yarnpkg.com/@buffetjs/core/-/core-3.2.1.tgz#a871b5e29058f5904c98cbed2abb9ef1d10bcd49"
integrity sha512-ojoWjmEmq9l2U4U2Gro7sh85WRJEuFQlBLJvSv/fygqU+/1hpRoNYUWNWv3e3o4qjNocjrEdy163O8iKfwd8BQ==
dependencies:
"@buffetjs/hooks" "3.2.0"
"@buffetjs/icons" "3.2.0"
"@buffetjs/styles" "3.2.0"
"@buffetjs/utils" "3.2.0"
"@buffetjs/hooks" "3.2.1"
"@buffetjs/icons" "3.2.1"
"@buffetjs/styles" "3.2.1"
"@buffetjs/utils" "3.2.1"
"@fortawesome/fontawesome-svg-core" "^1.2.25"
"@fortawesome/free-regular-svg-icons" "^5.11.2"
"@fortawesome/free-solid-svg-icons" "^5.11.2"
@ -1125,31 +1125,31 @@
react-moment-proptypes "^1.7.0"
react-with-direction "^1.3.1"
"@buffetjs/custom@3.2.0":
version "3.2.0"
resolved "https://registry.yarnpkg.com/@buffetjs/custom/-/custom-3.2.0.tgz#3ae1ac411ed8c08835d646e5a2d66a8e983bef46"
integrity sha512-oYZNIt2jXeL6gCmt9ZM0WQCn09o7ccgjCVVWB/g9riVoOnXm7OYdKmcknaKMXIldzqH5McIcfrnoP0nc0t6A4g==
"@buffetjs/custom@3.2.1":
version "3.2.1"
resolved "https://registry.yarnpkg.com/@buffetjs/custom/-/custom-3.2.1.tgz#df79364bb7edadee52a61d42b9d63d90b0a54132"
integrity sha512-jdqw5A3u8uIojgwA9ddi1V6rbR6AhghTy5h8ndSGljGH1mfrViJf5HF9TdHjJnpW3uyfwXh2LzZM6sH/aAwffA==
dependencies:
"@buffetjs/core" "3.2.0"
"@buffetjs/styles" "3.2.0"
"@buffetjs/utils" "3.2.0"
"@buffetjs/core" "3.2.1"
"@buffetjs/styles" "3.2.1"
"@buffetjs/utils" "3.2.1"
moment "^2.24.0"
react-moment-proptypes "^1.7.0"
"@buffetjs/hooks@3.2.0":
version "3.2.0"
resolved "https://registry.yarnpkg.com/@buffetjs/hooks/-/hooks-3.2.0.tgz#2c91655d1c5d1269eb9c7f53650a6ba9394b3bb3"
integrity sha512-tTUttIfoAbSOJ11rrResbkidAlRmkDuNqr02Pzsml43ITVHo0IUCVwM3KtvVl6g5I7qrp+LHfq0bC5UbNcfXOg==
"@buffetjs/hooks@3.2.1":
version "3.2.1"
resolved "https://registry.yarnpkg.com/@buffetjs/hooks/-/hooks-3.2.1.tgz#ba7b76ffb9fd08f4cc5f765dc18351971567dde8"
integrity sha512-+ckjVGxDy0/0IkF8Hv2bLGjf+pv0IqmmklrwQisTkBLBfhy85UCjHxitalAOn9d9jZHT6wjNjoiRjcVKd5zS8A==
"@buffetjs/icons@3.2.0":
version "3.2.0"
resolved "https://registry.yarnpkg.com/@buffetjs/icons/-/icons-3.2.0.tgz#0976ce94668be75394f01e4d1928749239277ba3"
integrity sha512-zsQ7pmfJo4usvnq36rF3zZydz8tV434O5iYAbFGhvnKv5HZCCQ9TVbfg4E+A0oC7peVFM37nzYm9JvAls8pnPg==
"@buffetjs/icons@3.2.1":
version "3.2.1"
resolved "https://registry.yarnpkg.com/@buffetjs/icons/-/icons-3.2.1.tgz#187df7e64e0358bd68a3ade948a4d6ff786df8be"
integrity sha512-50rw19kCAsC3SOmcUSrXexZg3DEhmVYSDuPrctBdYZhsT07giGcz9yJtPLwF74nxHwr29lTDEJn7i6rAbz9xdg==
"@buffetjs/styles@3.2.0":
version "3.2.0"
resolved "https://registry.yarnpkg.com/@buffetjs/styles/-/styles-3.2.0.tgz#5fe7541f5df8017e28a8f41d7caa65d12c1104e3"
integrity sha512-PL3PSbYZ08j3LssZsQe4QxrNLWQvaeOdfj3RivSxIpi8q2EJwe5uQTd8ughi/9i2pBxFsjW6FUYQ0ZnGk/5sRQ==
"@buffetjs/styles@3.2.1":
version "3.2.1"
resolved "https://registry.yarnpkg.com/@buffetjs/styles/-/styles-3.2.1.tgz#820662e951c1f5a0914055fb0beffc22bad911ab"
integrity sha512-TkfzbCMj7w1jrowe25mQLM/LdXF+l9ogOj9lRrjfpSSGw4y9m6kEz6f3+73uMQROeyB7dg95CmlIniBeV/zMQQ==
dependencies:
"@fortawesome/fontawesome-free" "^5.12.0"
"@fortawesome/fontawesome-svg-core" "^1.2.22"
@ -1158,10 +1158,10 @@
"@fortawesome/react-fontawesome" "^0.1.4"
react-dates "^21.1.0"
"@buffetjs/utils@3.2.0":
version "3.2.0"
resolved "https://registry.yarnpkg.com/@buffetjs/utils/-/utils-3.2.0.tgz#4d8c95dc3c5adb0c13f490bea0f9983176cf02e6"
integrity sha512-FJoPj3EmhlLEZCI5TV5u31whhJVLP2x5tJjzNtxTTx8DOzI0FUh83k4YS8sUXBY4G2WbP+L6XQaBJVbKXlXiAQ==
"@buffetjs/utils@3.2.1":
version "3.2.1"
resolved "https://registry.yarnpkg.com/@buffetjs/utils/-/utils-3.2.1.tgz#8faa036b4ef7f8a1dc5ae9129fd0e873f60c91c4"
integrity sha512-hzN98LPkqNNTvr2iyp5h4UM06iSJ/fXyrVhneTcQBh8LWX9lMFXCttQJRZgRsBCjhcM16Zh6vn0Wv4LqN4bcxA==
dependencies:
yup "^0.27.0"
@ -6877,7 +6877,7 @@ dom-helpers@^5.0.1:
"@babel/runtime" "^7.8.7"
csstype "^2.6.7"
dom-serializer@0, dom-serializer@^0.2.1:
dom-serializer@0:
version "0.2.2"
resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51"
integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==
@ -6922,13 +6922,6 @@ domhandler@^2.3.0:
dependencies:
domelementtype "1"
domhandler@^3.0, domhandler@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-3.0.0.tgz#51cd13efca31da95bbb0c5bee3a48300e333b3e9"
integrity sha512-eKLdI5v9m67kbXQbJSNn1zjh0SDzvzWVWtX+qEI3eMjZw8daH9k8rlj1FZY9memPwjiskQFbe7vHVVJIAqoEhw==
dependencies:
domelementtype "^2.0.1"
domutils@1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf"
@ -6945,15 +6938,6 @@ domutils@^1.5.1, domutils@^1.7.0:
dom-serializer "0"
domelementtype "1"
domutils@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.1.0.tgz#7ade3201af43703fde154952e3a868eb4b635f16"
integrity sha512-CD9M0Dm1iaHfQ1R/TI+z3/JWp/pgub0j4jIQKH89ARR4ATAV2nbaOQS5XxU9maJP5jHaPdDDQSEHuE2UmpUTKg==
dependencies:
dom-serializer "^0.2.1"
domelementtype "^2.0.1"
domhandler "^3.0.0"
dot-prop@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177"
@ -7170,6 +7154,11 @@ entities@^2.0.0:
resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.0.tgz#68d6084cab1b079767540d80e56a39b423e4abf4"
integrity sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==
entities@~2.0.0:
version "2.0.3"
resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f"
integrity sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==
env-paths@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43"
@ -9272,16 +9261,6 @@ html-tags@^2.0.0:
resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-2.0.0.tgz#10b30a386085f43cede353cc8fa7cb0deeea668b"
integrity sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=
html-to-react@^1.3.4:
version "1.4.3"
resolved "https://registry.yarnpkg.com/html-to-react/-/html-to-react-1.4.3.tgz#1430a1cb581ef29533892ec70a2fdc4554b17ffd"
integrity sha512-txe09A3vxW8yEZGJXJ1is5gGDfBEVACmZDSgwDyH5EsfRdOubBwBCg63ZThZP0xBn0UE4FyvMXZXmohusCxDcg==
dependencies:
domhandler "^3.0"
htmlparser2 "^4.1.0"
lodash.camelcase "^4.3.0"
ramda "^0.27"
html-webpack-plugin@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz#b01abbd723acaaa7b37b6af4492ebda03d9dd37b"
@ -9307,16 +9286,6 @@ htmlparser2@^3.10.0, htmlparser2@^3.3.0, htmlparser2@^3.9.1:
inherits "^2.0.1"
readable-stream "^3.1.1"
htmlparser2@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-4.1.0.tgz#9a4ef161f2e4625ebf7dfbe6c0a2f52d18a59e78"
integrity sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==
dependencies:
domelementtype "^2.0.1"
domhandler "^3.0.0"
domutils "^2.0.0"
entities "^2.0.0"
http-assert@^1.3.0:
version "1.4.1"
resolved "https://registry.yarnpkg.com/http-assert/-/http-assert-1.4.1.tgz#c5f725d677aa7e873ef736199b89686cceb37878"
@ -9929,7 +9898,7 @@ is-boolean-object@^1.0.1:
resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.0.1.tgz#10edc0900dd127697a92f6f9807c7617d68ac48e"
integrity sha512-TqZuVwa/sppcrhUCAYkGBk7w0yxfQQnxq28fjkO53tnK9FQXmdwz2JS5+GjsWQ6RByES1K40nI+yDic5c9/aAQ==
is-buffer@^1.1.4, is-buffer@^1.1.5:
is-buffer@^1.1.5:
version "1.1.6"
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
@ -11517,6 +11486,13 @@ lines-and-columns@^1.1.6:
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=
linkify-it@^3.0.1:
version "3.0.2"
resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-3.0.2.tgz#f55eeb8bc1d3ae754049e124ab3bb56d97797fb8"
integrity sha512-gDBO4aHNZS6coiZCKVhSNh43F9ioIL4JwRjLZPkoLIY4yZFwg264Y5lu2x6rb1Js42Gh6Yqm2f6L2AJcnkzinQ==
dependencies:
uc.micro "^1.0.1"
lint-staged@^9.2.0:
version "9.5.0"
resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-9.5.0.tgz#290ec605252af646d9b74d73a0fa118362b05a33"
@ -12076,6 +12052,62 @@ markdown-escapes@^1.0.0:
resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.4.tgz#c95415ef451499d7602b91095f3c8e8975f78535"
integrity sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==
markdown-it-abbr@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/markdown-it-abbr/-/markdown-it-abbr-1.0.4.tgz#d66b5364521cbb3dd8aa59dadfba2fb6865c8fd8"
integrity sha1-1mtTZFIcuz3Yqlna37ovtoZcj9g=
markdown-it-container@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/markdown-it-container/-/markdown-it-container-3.0.0.tgz#1d19b06040a020f9a827577bb7dbf67aa5de9a5b"
integrity sha512-y6oKTq4BB9OQuY/KLfk/O3ysFhB3IMYoIWhGJEidXt1NQFocFK2sA2t0NYZAMyMShAGL6x5OPIbrmXPIqaN9rw==
markdown-it-deflist@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/markdown-it-deflist/-/markdown-it-deflist-2.0.3.tgz#5727db04184d3cb2bc6ee4a9641e3a1091d5fd6f"
integrity sha512-/BNZ8ksW42bflm1qQLnRI09oqU2847Z7MVavrR0MORyKLtiUYOMpwtlAfMSZAQU9UCvaUZMpgVAqoS3vpToJxw==
markdown-it-emoji@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/markdown-it-emoji/-/markdown-it-emoji-1.4.0.tgz#9bee0e9a990a963ba96df6980c4fddb05dfb4dcc"
integrity sha1-m+4OmpkKljupbfaYDE/dsF37Tcw=
markdown-it-footnote@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/markdown-it-footnote/-/markdown-it-footnote-3.0.2.tgz#1575ee7a093648d4e096aa33386b058d92ac8bc1"
integrity sha512-JVW6fCmZWjvMdDQSbOT3nnOQtd9iAXmw7hTSh26+v42BnvXeVyGMDBm5b/EZocMed2MbCAHiTX632vY0FyGB8A==
markdown-it-ins@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/markdown-it-ins/-/markdown-it-ins-3.0.0.tgz#b1b56824c78dc66e52b0fc97531b317cd78d79d2"
integrity sha512-+vyAdBuMGwmT2yMlAFJSx2VR/0QZ1onQ/Mkkmr4l9tDFOh5sVoAgRbkgbuSsk+sxJ9vaMH/IQ323ydfvQrPO/Q==
markdown-it-mark@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/markdown-it-mark/-/markdown-it-mark-3.0.0.tgz#27c3e39ef3cc310b2dde5375082c9fa912983cda"
integrity sha512-HqMWeKfMMOu4zBO0emmxsoMWmbf2cPKZY1wP6FsTbKmicFfp5y4L3KXAsNeO1rM6NTJVOrNlLKMPjWzriBGspw==
markdown-it-sub@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/markdown-it-sub/-/markdown-it-sub-1.0.0.tgz#375fd6026eae7ddcb012497f6411195ea1e3afe8"
integrity sha1-N1/WAm6ufdywEkl/ZBEZXqHjr+g=
markdown-it-sup@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/markdown-it-sup/-/markdown-it-sup-1.0.0.tgz#cb9c9ff91a5255ac08f3fd3d63286e15df0a1fc3"
integrity sha1-y5yf+RpSVawI8/09YyhuFd8KH8M=
markdown-it@^11.0.0:
version "11.0.0"
resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-11.0.0.tgz#dbfc30363e43d756ebc52c38586b91b90046b876"
integrity sha512-+CvOnmbSubmQFSA9dKz1BRiaSMV7rhexl3sngKqFyXSagoA3fBdJQ8oZWtRy2knXdpDXaBw44euz37DeJQ9asg==
dependencies:
argparse "^1.0.7"
entities "~2.0.0"
linkify-it "^3.0.1"
mdurl "^1.0.1"
uc.micro "^1.0.5"
markdown-table@^1.1.0:
version "1.1.3"
resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-1.1.3.tgz#9fcb69bcfdb8717bfd0398c6ec2d93036ef8de60"
@ -12103,13 +12135,6 @@ md5.js@^1.3.4:
inherits "^2.0.1"
safe-buffer "^5.1.2"
mdast-add-list-metadata@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/mdast-add-list-metadata/-/mdast-add-list-metadata-1.0.1.tgz#95e73640ce2fc1fa2dcb7ec443d09e2bfe7db4cf"
integrity sha512-fB/VP4MJ0LaRsog7hGPxgOrSL3gE/2uEdZyDuSEnKCv/8IkYHiDkIQSbChiJoHyxZZXZ9bzckyRk+vNxFzh8rA==
dependencies:
unist-util-visit-parents "1.1.2"
mdast-util-compact@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/mdast-util-compact/-/mdast-util-compact-1.0.4.tgz#d531bb7667b5123abf20859be086c4d06c894593"
@ -12122,6 +12147,11 @@ mdn-data@2.0.4:
resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b"
integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==
mdurl@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e"
integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=
media-typer@0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
@ -14939,11 +14969,6 @@ railroad-diagrams@^1.0.0:
resolved "https://registry.yarnpkg.com/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz#eb7e6267548ddedfb899c1b90e57374559cddb7e"
integrity sha1-635iZ1SN3t+4mcG5Dlc3RVnN234=
ramda@^0.27:
version "0.27.0"
resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.27.0.tgz#915dc29865c0800bf3f69b8fd6c279898b59de43"
integrity sha512-pVzZdDpWwWqEVVLshWUHjNwuVP7SfcmPraYuqocJp1yo2U1R7P+5QAfDhdItkuoGqIBnBYrtPp7rEPqDn9HlZA==
randexp@0.4.6:
version "0.4.6"
resolved "https://registry.yarnpkg.com/randexp/-/randexp-0.4.6.tgz#e986ad5e5e31dae13ddd6f7b3019aa7c87f60ca3"
@ -15143,20 +15168,6 @@ react-loadable@^5.5.0:
dependencies:
prop-types "^15.5.0"
react-markdown@^4.3.1:
version "4.3.1"
resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-4.3.1.tgz#39f0633b94a027445b86c9811142d05381300f2f"
integrity sha512-HQlWFTbDxTtNY6bjgp3C3uv1h2xcjCSi1zAEzfBW9OwJJvENSYiLXWNXN5hHLsoqai7RnZiiHzcnWdXk2Splzw==
dependencies:
html-to-react "^1.3.4"
mdast-add-list-metadata "1.0.1"
prop-types "^15.7.2"
react-is "^16.8.6"
remark-parse "^5.0.0"
unified "^6.1.5"
unist-util-visit "^1.3.0"
xtend "^4.0.1"
react-moment-proptypes@^1.6.0, react-moment-proptypes@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/react-moment-proptypes/-/react-moment-proptypes-1.7.0.tgz#89881479840a76c13574a86e3bb214c4ba564e7a"
@ -15721,27 +15732,6 @@ relateurl@0.2.x:
resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9"
integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=
remark-parse@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-5.0.0.tgz#4c077f9e499044d1d5c13f80d7a98cf7b9285d95"
integrity sha512-b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA==
dependencies:
collapse-white-space "^1.0.2"
is-alphabetical "^1.0.0"
is-decimal "^1.0.0"
is-whitespace-character "^1.0.0"
is-word-character "^1.0.0"
markdown-escapes "^1.0.0"
parse-entities "^1.1.0"
repeat-string "^1.5.4"
state-toggle "^1.0.0"
trim "0.0.1"
trim-trailing-lines "^1.0.0"
unherit "^1.0.4"
unist-util-remove-position "^1.0.0"
vfile-location "^2.0.0"
xtend "^4.0.1"
remark-parse@^6.0.0:
version "6.0.3"
resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-6.0.3.tgz#c99131052809da482108413f87b0ee7f52180a3a"
@ -18408,6 +18398,11 @@ ua-parser-js@^0.7.18:
resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.21.tgz#853cf9ce93f642f67174273cc34565ae6f308777"
integrity sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==
uc.micro@^1.0.1, uc.micro@^1.0.5:
version "1.0.6"
resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac"
integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==
uglify-js@3.4.x:
version "3.4.10"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f"
@ -18470,18 +18465,6 @@ unicode-property-aliases-ecmascript@^1.0.4:
resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4"
integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==
unified@^6.1.5:
version "6.2.0"
resolved "https://registry.yarnpkg.com/unified/-/unified-6.2.0.tgz#7fbd630f719126d67d40c644b7e3f617035f6dba"
integrity sha512-1k+KPhlVtqmG99RaTbAv/usu85fcSRu3wY8X+vnsEhIxNP5VbVIDiXnLqyKIG+UMdyTg0ZX9EI6k2AfjJkHPtA==
dependencies:
bail "^1.0.0"
extend "^3.0.0"
is-plain-obj "^1.1.0"
trough "^1.0.0"
vfile "^2.0.0"
x-is-string "^0.1.0"
unified@^7.0.0:
version "7.1.0"
resolved "https://registry.yarnpkg.com/unified/-/unified-7.1.0.tgz#5032f1c1ee3364bd09da12e27fdd4a7553c7be13"
@ -18568,11 +18551,6 @@ unist-util-stringify-position@^2.0.0:
dependencies:
"@types/unist" "^2.0.2"
unist-util-visit-parents@1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-1.1.2.tgz#f6e3afee8bdbf961c0e6f028ea3c0480028c3d06"
integrity sha512-yvo+MMLjEwdc3RhhPYSximset7rwjMrdt9E41Smmvg25UQIenzrN83cRnF1JMzoMi9zZOQeYXHSDf7p+IQkW3Q==
unist-util-visit-parents@^2.0.0:
version "2.1.2"
resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz#25e43e55312166f3348cae6743588781d112c1e9"
@ -18580,7 +18558,7 @@ unist-util-visit-parents@^2.0.0:
dependencies:
unist-util-is "^3.0.0"
unist-util-visit@^1.1.0, unist-util-visit@^1.3.0:
unist-util-visit@^1.1.0:
version "1.4.1"
resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-1.4.1.tgz#4724aaa8486e6ee6e26d7ff3c8685960d560b1e3"
integrity sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==
@ -18870,16 +18848,6 @@ vfile-message@^1.0.0:
dependencies:
unist-util-stringify-position "^1.1.1"
vfile@^2.0.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/vfile/-/vfile-2.3.0.tgz#e62d8e72b20e83c324bc6c67278ee272488bf84a"
integrity sha512-ASt4mBUHcTpMKD/l5Q+WJXNtshlWxOogYyGYYrg4lt/vuRjC1EFQtlAofL5VmtVNIZJzWYFJjzGWZ0Gw8pzW1w==
dependencies:
is-buffer "^1.1.4"
replace-ext "1.0.0"
unist-util-stringify-position "^1.0.0"
vfile-message "^1.0.0"
vfile@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/vfile/-/vfile-3.0.1.tgz#47331d2abe3282424f4a4bb6acd20a44c4121803"