From e38850f80767319711f630ceb557eaf0864a5ab1 Mon Sep 17 00:00:00 2001 From: Scott Tolksdorf Date: Tue, 7 Jun 2016 09:50:50 -0400 Subject: [PATCH] Created new wrapper for my markdown parser, added it to the print page --- changelog.md | 3 +++ client/homebrew/brewRenderer/brewRenderer.jsx | 17 ++------------- client/homebrew/navbar/navbar.jsx | 2 +- package.json | 2 +- server.js | 4 ++-- shared/naturalcrit/markdown.js | 21 +++++++++++++++++++ 6 files changed, 30 insertions(+), 19 deletions(-) create mode 100644 shared/naturalcrit/markdown.js diff --git a/changelog.md b/changelog.md index 968bce7..ff55712 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,8 @@ # changelog +### Tuesday, 07/06/2016 - v2.2.2 +- Fixed bug with new markdown lexer and aprser not working on print page + ### Sunday, 05/06/2016 - v2.2.1 - Adding in a new Class table div block. The old Class table block used weird stacking of HTML elements, resulting is difficult to control behaviour and poor interactiosn with the rest of the page. This new block is much easier to style and work with. - Added in a new wide table snippet diff --git a/client/homebrew/brewRenderer/brewRenderer.jsx b/client/homebrew/brewRenderer/brewRenderer.jsx index d688f64..22d3c83 100644 --- a/client/homebrew/brewRenderer/brewRenderer.jsx +++ b/client/homebrew/brewRenderer/brewRenderer.jsx @@ -2,20 +2,7 @@ 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(_.trim(html), '
')){ - var openTag = html.substring(0, html.indexOf('>')+1); - html = html.substring(html.indexOf('>')+1); - html = html.substring(0, html.lastIndexOf('
')); - return `${openTag} ${Markdown(html)} `; - } - return html; -} - +var Markdown = require('naturalcrit/markdown.js'); var PAGE_HEIGHT = 1056 + 30; @@ -77,7 +64,7 @@ var BrewRenderer = React.createClass({ }, renderPage : function(pageText, index){ - return
+ return
}, renderPages : function(){ diff --git a/client/homebrew/navbar/navbar.jsx b/client/homebrew/navbar/navbar.jsx index 515f4b6..56be360 100644 --- a/client/homebrew/navbar/navbar.jsx +++ b/client/homebrew/navbar/navbar.jsx @@ -11,7 +11,7 @@ var Navbar = React.createClass({
The Homebrewery
- v2.2.1 + v2.2.2 {this.props.children} diff --git a/package.json b/package.json index cba802d..e1eeca5 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "homebrewery", "description": "Create authentic looking D&D homebrews using only markdown", - "version": "2.2.1", + "version": "2.2.2", "scripts": { "postinstall": "gulp prod", "start": "node server.js" diff --git a/server.js b/server.js index 8ae82b3..f1a6eef 100644 --- a/server.js +++ b/server.js @@ -108,7 +108,7 @@ app.get('/share/:id', function(req, res){ }); //Print Page -var Markdown = require('marked'); +var Markdown = require('naturalcrit/markdown.js'); var PHBStyle = '' app.get('/print/:id', function(req, res){ HomebrewModel.find({shareId : req.params.id}, function(err, objs){ @@ -120,7 +120,7 @@ app.get('/print/:id', function(req, res){ } var content = _.map(brew.text.split('\\page'), function(pageText){ - return '
' + Markdown(pageText) + '
'; + return '
' + Markdown.render(pageText) + '
'; }).join('\n'); var dialog = ''; diff --git a/shared/naturalcrit/markdown.js b/shared/naturalcrit/markdown.js new file mode 100644 index 0000000..1a35e65 --- /dev/null +++ b/shared/naturalcrit/markdown.js @@ -0,0 +1,21 @@ +var _ = require('lodash'); +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(_.trim(html), '
')){ + var openTag = html.substring(0, html.indexOf('>')+1); + html = html.substring(html.indexOf('>')+1); + html = html.substring(0, html.lastIndexOf('
')); + return `${openTag} ${Markdown(html)}
`; + } + return html; +}; + +module.exports = { + render : (rawText)=>{ + return Markdown(rawText, {renderer : renderer}) + }, + marked : Markdown +};