0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2026-01-05 14:33:07 +00:00

Merge branch 'v1_4'

This commit is contained in:
Scott Tolksdorf
2016-04-06 00:44:08 -04:00
9 changed files with 77 additions and 38 deletions

View File

@@ -1,5 +1,10 @@
# changelog # changelog
### Wednesday, 06/04/2016 - v1.4
* Pages will now partially render. This should greatly speed up *very* large homebrews. The Homebreery will figure out which page you should be looking at and render that page, the page before, and the page after.
* Zooming should be fixed. I've changed the font size units to be cm, which match the units of the page. Zooming in and out now look much better.
### Monday, 29/02/2016 - v1.3.1 ### Monday, 29/02/2016 - v1.3.1
* Removng the changelog button from the Share page * Removng the changelog button from the Share page
* Added a A4 page size snippet (thanks guppy42!) * Added a A4 page size snippet (thanks guppy42!)

View File

@@ -4,6 +4,7 @@
height : 100%; height : 100%;
min-height : 100%; min-height : 100%;
width : 100%; width : 100%;
margin-top: 25px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
.textIcons{ .textIcons{

View File

@@ -33,17 +33,11 @@ Anyone with the *share url* will be able to access a read-only version of your h
``` ```
``` ```
## New Things in v1.3! ## New Things in v1.4!
What's new in the latest update? Check out the full changelog [here](/homebrew/changelog) What's new in the latest update? Check out the full changelog [here](/homebrew/changelog)
* **PDF Exporting works!** Check out the following note block to see how * **Partial Page Rendering** Only renders the page you're looking at. If you have a very large brew, you'll love this.
* **Changelog Page** will track all the updates I've made * **Improved Zoom** Zooming in and out on the browser is now way nicer looking. Go get the bird's eye view!
* **Delete brew** butotn has been added to the edit page
* **Wide Monster Stat Blocks** have been added with a snippet
* **Single Column Class Tables** have been added with a snippet
* **Improvements to stlying** to get it closer to PHB stlying
* **Better Firefox Compatibility**, although Chrome still works best.
>##### PDF Exporting >##### PDF Exporting

View File

@@ -16,9 +16,10 @@ html,body, #reactContainer{
.paneSplit{ .paneSplit{
width : 100%; width : 100%;
height: 100vh; height: 100vh;
padding-top: 25px; //padding-top: 25px;
position: relative; position: relative;
box-sizing: border-box; box-sizing: border-box;
overflow: hidden;
.leftPane, .rightPane{ .leftPane, .rightPane{
display: inline-block; display: inline-block;
@@ -26,6 +27,7 @@ html,body, #reactContainer{
position: relative; position: relative;
height: 100%; height: 100%;
min-height: 100%; min-height: 100%;
//margin-top: 25px;
} }
.leftPane{ .leftPane{
@@ -34,8 +36,9 @@ html,body, #reactContainer{
.rightPane{ .rightPane{
width : 60%; width : 60%;
height: 100%; height: 100%;
//overflow-y: scroll;
overflow-y: scroll; overflow: hidden;
} }
} }

View File

@@ -4,23 +4,52 @@ var cx = require('classnames');
var Markdown = require('marked'); var Markdown = require('marked');
var PAGE_HEIGHT = 1056 + 30;
var PageContainer = React.createClass({ var PageContainer = React.createClass({
getDefaultProps: function() { getDefaultProps: function() {
return { return {
text : "" text : ""
}; };
}, },
getInitialState: function() {
return {
scrollPosition: 0
};
},
handleScroll : function(e){
this.setState({
scrollPosition : e.target.scrollTop
});
},
getViewablePageIndex : function(){
return Math.floor(this.state.scrollPosition / PAGE_HEIGHT);
},
renderDummyPage : function(key){
return <div className='phb' key={key}>
yo dawg
</div>
},
renderPages : function(){ renderPages : function(){
var currentIndex = this.getViewablePageIndex();
return _.map(this.props.text.split('\\page'), (pageText, index) => { return _.map(this.props.text.split('\\page'), (pageText, index) => {
return <div className='phb' dangerouslySetInnerHTML={{__html:Markdown(pageText)}} key={index} /> if(currentIndex - 1 == index || currentIndex == index || currentIndex + 1 == index){
return <div className='phb' dangerouslySetInnerHTML={{__html:Markdown(pageText)}} key={index} />
}else{
return this.renderDummyPage(index);
}
}) })
}, },
render : function(){ render : function(){
var self = this; return <div className="pageContainer" onScroll={this.handleScroll}>
return <div className="pageContainer"> <div className='pages'>
{this.renderPages()} {this.renderPages()}
</div>
</div>; </div>;
} }
}); });

View File

@@ -1,12 +1,19 @@
@import (less) './client/homebrew/phbStyle/phb.style.less'; @import (less) './client/homebrew/phbStyle/phb.style.less';
.pageContainer{ .pageContainer{
padding : 30px 0px;
background-color : @steel; background-color : @steel;
&>.phb{ margin-top: 25px;
margin-right : auto; overflow-y: scroll;
margin-bottom : 30px; height : 100%;
margin-left : auto; .pages{
box-shadow : 1px 4px 14px #000; padding : 30px 0px;
&>.phb{
margin-right : auto;
margin-bottom : 30px;
margin-left : auto;
box-shadow : 1px 4px 14px #000;
}
} }
} }

View File

@@ -47,7 +47,7 @@
background-color : @background; background-color : @background;
background-image : @backgroundImage; background-image : @backgroundImage;
font-family : BookSanity; font-family : BookSanity;
font-size : 9pt; font-size : 0.317cm;
text-rendering : optimizeLegibility; text-rendering : optimizeLegibility;
page-break-before : always; page-break-before : always;
page-break-after : always; page-break-after : always;
@@ -107,7 +107,7 @@
} }
h1{ h1{
column-span : all; column-span : all;
font-size : 28pt; font-size : 0.987cm;
-webkit-column-span : all; -webkit-column-span : all;
-moz-column-span : all; -moz-column-span : all;
&+p::first-letter{ &+p::first-letter{
@@ -119,20 +119,20 @@
} }
} }
h2{ h2{
font-size : 20pt; font-size : 0.705cm;
} }
h3{ h3{
font-size : 15pt; font-size : 0.529cm;
border-bottom : 2px solid @headerUnderline; border-bottom : 2px solid @headerUnderline;
} }
h4{ h4{
margin-bottom : 0.00em; margin-bottom : 0.00em;
font-size : 12pt; font-size : 0.458cm;
} }
h5{ h5{
margin-bottom : 0.2em; margin-bottom : 0.2em;
font-family : ScalySansSmallCaps; font-family : ScalySansSmallCaps;
font-size : 13pt; font-size : 0.423cm;
font-weight : 900; font-weight : 900;
} }
//***************************** //*****************************
@@ -176,7 +176,7 @@
border-bottom : 2px black solid; border-bottom : 2px black solid;
box-shadow : 1px 4px 14px #888; box-shadow : 1px 4px 14px #888;
p, ul{ p, ul{
font-size : 10pt; font-size : 0.352cm;
line-height : 1.1em; line-height : 1.1em;
} }
} }
@@ -203,7 +203,7 @@
ul{ ul{
.useSansSerif(); .useSansSerif();
padding-left : 1em; padding-left : 1em;
font-size : 10pt; font-size : 0.352cm;
color : @headerText; color : @headerText;
text-indent : -1em; text-indent : -1em;
list-style-type : none; list-style-type : none;

View File

@@ -1,7 +1,7 @@
{ {
"name": "naturalCrit", "name": "naturalCrit",
"description": "A super rad project!", "description": "A super rad project!",
"version": "1.3.1", "version": "1.4.0",
"scripts": { "scripts": {
"postinstall": "gulp prod", "postinstall": "gulp prod",
"start": "node server.js" "start": "node server.js"

File diff suppressed because one or more lines are too long