0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2025-12-28 02:42:39 +00:00

Adding my own markdown-html validator, still needs line numbers though

This commit is contained in:
Scott Tolksdorf
2016-09-09 09:36:45 -04:00
parent 54542a8ec1
commit 9a96eebdb1
2 changed files with 34 additions and 1 deletions

View File

@@ -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);

View File

@@ -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, '<div')){
errors.push({
err : ' No closing tag',
token : token
});
}else if(_.startsWith(token.text, '</div>')){
errors.push({
err : ' No opening tag',
token : token
})
}
}
});
return errors;
},
marked : Markdown
};