var React = require('react'); var _ = require('lodash'); var cx = require('classnames'); var Markdown = require('marked'); var renderer = new Markdown.Renderer(); //Processes the markdown within an HTML block if it's just a class-wrapper renderer.html = function (html) { if(_.startsWith(html, '
')){ var openTag = html.substring(0, html.indexOf('>')+1); html = html.substring(html.indexOf('>')+1); html = html.substring(0, html.lastIndexOf('
')); console.log(html); console.log(Markdown(html)); return `${openTag} ${Markdown(html)} `; } return html; } var PAGE_HEIGHT = 1056 + 30; var BrewRenderer = React.createClass({ getDefaultProps: function() { return { text : '' }; }, getInitialState: function() { return { viewablePageNumber: 0, height : 0, isMounted : false }; }, totalPages : 0, height : 0, componentDidMount: function() { this.setState({ height : this.refs.main.parentNode.clientHeight, isMounted : true }); }, handleScroll : function(e){ this.setState({ viewablePageNumber : Math.floor(e.target.scrollTop / PAGE_HEIGHT) }); }, //Implement later scrollToPage : function(pageNumber){ }, shouldRender : function(pageText, index){ if(!this.state.isMounted) return false; var viewIndex = this.state.viewablePageNumber; if(index == viewIndex - 1) return true; if(index == viewIndex) return true; if(index == viewIndex + 1) return true; //Check for style tages if(pageText.indexOf('