0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2026-01-10 00:32:45 +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 { return {
viewablePageNumber: 0, viewablePageNumber: 0,
height : 0, height : 0,
isMounted : false isMounted : false,
errors : []
}; };
}, },
totalPages : 0, totalPages : 0,
@@ -80,6 +82,15 @@ var BrewRenderer = React.createClass({
var pages = this.props.text.split('\\page'); var pages = this.props.text.split('\\page');
this.totalPages = pages.length; 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)=>{ return _.map(pages, (page, index)=>{
if(this.shouldRender(page, index)){ if(this.shouldRender(page, index)){
return this.renderPage(page, index); return this.renderPage(page, index);

View File

@@ -17,5 +17,27 @@ module.exports = {
render : (rawText)=>{ render : (rawText)=>{
return Markdown(rawText, {renderer : renderer}) 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 marked : Markdown
}; };