From 6a7573da84d3e18582c37ddd61769065aa600751 Mon Sep 17 00:00:00 2001 From: lasjorg <28780271+lasjorg@users.noreply.github.com> Date: Fri, 28 May 2021 22:06:27 +0200 Subject: [PATCH 1/2] fix(project): image link, update CSS, add code highlighter --- src/projects/markdown-previewer/index.html | 5 ++ src/projects/markdown-previewer/index.jsx | 45 ++++++----- src/projects/markdown-previewer/index.scss | 88 ++++++++++++---------- 3 files changed, 80 insertions(+), 58 deletions(-) diff --git a/src/projects/markdown-previewer/index.html b/src/projects/markdown-previewer/index.html index 16f80589..9422378f 100644 --- a/src/projects/markdown-previewer/index.html +++ b/src/projects/markdown-previewer/index.html @@ -2,9 +2,14 @@ rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" /> +
+ diff --git a/src/projects/markdown-previewer/index.jsx b/src/projects/markdown-previewer/index.jsx index e76fdfd5..0a42c6a8 100644 --- a/src/projects/markdown-previewer/index.jsx +++ b/src/projects/markdown-previewer/index.jsx @@ -1,10 +1,10 @@ -/* globals marked, React, ReactDOM */ +/* globals marked, Prism, React, ReactDOM */ /* eslint-disable react/prop-types, no-nested-ternary */ // View a more complex version of this project with custom toolbar here: // https://codepen.io/no_stack_dub_sack/pen/JbPZvm?editors=0110 -// coded by @no-stack-dub-sack (github) / @no_stack_sub_sack (codepen) +// coded by @no-stack-dub-sack (github) / @no_stack_sub_sack (Codepen) // eslint-disable-next-line no-unused-vars const projectName = 'markdown-previewer'; @@ -14,11 +14,15 @@ marked.setOptions({ breaks: true }); -// INSERTS target="_blank" INTO HREF TAGS (required for codepen links) +// INSERTS target="_blank" INTO HREF TAGS (required for Codepen links) const renderer = new marked.Renderer(); -renderer.link = function(href, title, text) { +renderer.link = function (href, title, text) { return `${text}` + ''; }; +// Use Prism for code highlighting +renderer.code = function (code) { + return `
${code}` + `
\n`; +}; class App extends React.Component { constructor(props) { @@ -47,28 +51,31 @@ class App extends React.Component { previewMaximized: !this.state.previewMaximized }); } + componentDidUpdate() { + Prism.highlightAll(); + } render() { const classes = this.state.editorMaximized ? ['editorWrap maximized', 'previewWrap hide', 'fa fa-compress'] : this.state.previewMaximized - ? ['editorWrap hide', 'previewWrap maximized', 'fa fa-compress'] - : ['editorWrap', 'previewWrap', 'fa fa-arrows-alt']; + ? ['editorWrap hide', 'previewWrap maximized', 'fa fa-compress'] + : ['editorWrap', 'previewWrap', 'fa fa-arrows-alt']; return (
-
+
@@ -77,34 +84,34 @@ class App extends React.Component { } } -const Toolbar = props => { +const Toolbar = (props) => { return ( -
- +
+ {props.text}
); }; -const Editor = props => { +const Editor = (props) => { return (