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:
@@ -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);
|
||||
|
||||
@@ -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
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user