diff --git a/src/rsg-components/Link/LinkRenderer.js b/src/rsg-components/Link/LinkRenderer.js index e208123bc..f230e99eb 100644 --- a/src/rsg-components/Link/LinkRenderer.js +++ b/src/rsg-components/Link/LinkRenderer.js @@ -3,7 +3,7 @@ import PropTypes from 'prop-types'; import cx from 'classnames'; import Styled from 'rsg-components/Styled'; -export const styles = ({ color }) => ({ +const styles = ({ color }) => ({ link: { '&, &:link, &:visited': { fontSize: 'inherit', diff --git a/src/rsg-components/Markdown/Markdown.js b/src/rsg-components/Markdown/Markdown.js index 8f440e883..1601c688b 100644 --- a/src/rsg-components/Markdown/Markdown.js +++ b/src/rsg-components/Markdown/Markdown.js @@ -4,7 +4,7 @@ import { compiler } from 'markdown-to-jsx'; import mapValues from 'lodash/mapValues'; // import memoize from 'lodash/memoize'; import Styled from 'rsg-components/Styled'; -import { styles as linkStyles } from 'rsg-components/Link'; +import Link from 'rsg-components/Link'; import { styles as paraStyles } from 'rsg-components/Para'; // We’re explicitly specifying Webpack loaders here so we could skip specifying them in Webpack configuration. @@ -39,6 +39,9 @@ const getBaseOverrides = memoize(classes => { return { ...styleOverrides, + a: { + component: Link, + }, code: { component: Code, props: { @@ -70,7 +73,6 @@ const styles = ({ space, fontFamily, fontSize, color, borderRadius }) => ({ fontSize: 'inherit', }, para: paraStyles({ space, color, fontFamily }).para, - a: linkStyles({ color }).link, h1: { composes: '$para', fontSize: fontSize.h1, diff --git a/src/rsg-components/Markdown/Markdown.spec.js b/src/rsg-components/Markdown/Markdown.spec.js index 794a03c78..39f518b4c 100644 --- a/src/rsg-components/Markdown/Markdown.spec.js +++ b/src/rsg-components/Markdown/Markdown.spec.js @@ -3,6 +3,14 @@ import { html } from 'cheerio'; import Markdown from './Markdown'; describe('Markdown', () => { + it('should render links', () => { + const markdown = 'a [link](http://test.com)'; + + const actual = render(); + + expect(html(actual)).toMatchSnapshot(); + }); + it('should render Markdown with custom CSS classes', () => { const markdown = ` # Header diff --git a/src/rsg-components/Markdown/__snapshots__/Markdown.spec.js.snap b/src/rsg-components/Markdown/__snapshots__/Markdown.spec.js.snap index a77868cfe..c67249878 100644 --- a/src/rsg-components/Markdown/__snapshots__/Markdown.spec.js.snap +++ b/src/rsg-components/Markdown/__snapshots__/Markdown.spec.js.snap @@ -1,19 +1,21 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`Markdown should render Markdown in span in inline mode 1`] = `"Hello world!"`; +exports[`Markdown should render Markdown in span in inline mode 1`] = `"Hello world!"`; -exports[`Markdown should render Markdown with custom CSS classes 1`] = `"

Header

Text with some formatting and a link.

\\"Image\\"

"`; +exports[`Markdown should render Markdown with custom CSS classes 1`] = `"

Header

Text with some formatting and a link.

\\"Image\\"

"`; -exports[`Markdown should render check-lists correctly 1`] = `""`; +exports[`Markdown should render check-lists correctly 1`] = `""`; -exports[`Markdown should render code blocks without escaping 1`] = `"
"`; +exports[`Markdown should render code blocks without escaping 1`] = `"
"`; -exports[`Markdown should render headings correctly 1`] = `"

one

two

three

four

five
six
"`; +exports[`Markdown should render headings correctly 1`] = `"

one

two

three

four

five
six
"`; -exports[`Markdown should render inline code with escaping 1`] = `"

Foo <bar> baz

"`; +exports[`Markdown should render inline code with escaping 1`] = `"

Foo <bar> baz

"`; -exports[`Markdown should render mixed nested lists correctly 1`] = `""`; +exports[`Markdown should render links 1`] = `"

a link

"`; -exports[`Markdown should render ordered lists correctly 1`] = `"
  1. list
  2. item
  3. three
"`; +exports[`Markdown should render mixed nested lists correctly 1`] = `""`; -exports[`Markdown should render unordered lists correctly 1`] = `""`; +exports[`Markdown should render ordered lists correctly 1`] = `"
  1. list
  2. item
  3. three
"`; + +exports[`Markdown should render unordered lists correctly 1`] = `""`;