diff --git a/client/homebrew/brewRenderer/brewRenderer.jsx b/client/homebrew/brewRenderer/brewRenderer.jsx index 34de1f416..61e264fa8 100644 --- a/client/homebrew/brewRenderer/brewRenderer.jsx +++ b/client/homebrew/brewRenderer/brewRenderer.jsx @@ -16,7 +16,9 @@ var BrewRenderer = React.createClass({ return { viewablePageNumber: 0, height : 0, - isMounted : false + isMounted : false, + + errors : [] }; }, totalPages : 0, @@ -80,6 +82,15 @@ var BrewRenderer = React.createClass({ var pages = this.props.text.split('\\page'); this.totalPages = pages.length; + try{ + var temp = Markdown.validate(this.props.text); + + console.log(temp); + }catch(e){ + console.log('ERR', e); + } + + return _.map(pages, (page, index)=>{ if(this.shouldRender(page, index)){ return this.renderPage(page, index); diff --git a/shared/naturalcrit/markdown.js b/shared/naturalcrit/markdown.js index ba64ad7dc..caa6a2307 100644 --- a/shared/naturalcrit/markdown.js +++ b/shared/naturalcrit/markdown.js @@ -17,5 +17,27 @@ module.exports = { render : (rawText)=>{ return Markdown(rawText, {renderer : renderer}) }, + validate : (rawText)=>{ + var errors = []; + var tokens = Markdown.lexer(rawText); + + _.each(tokens, (token)=>{ + if(token.type === 'paragraph'){ + if(_.startsWith(token.text, '')){ + errors.push({ + err : ' No opening tag', + token : token + }) + } + } + }); + + return errors; + }, marked : Markdown };