diff --git a/client/homebrew/pageContainer/pageContainer.jsx b/client/homebrew/pageContainer/pageContainer.jsx
index 5a79390..c876907 100644
--- a/client/homebrew/pageContainer/pageContainer.jsx
+++ b/client/homebrew/pageContainer/pageContainer.jsx
@@ -2,6 +2,8 @@ var React = require('react');
var _ = require('lodash');
var cx = require('classnames');
+var PHBPage = require('./phbPage/phbPage.jsx');
+
var Markdown = require('marked');
var PageContainer = React.createClass({
@@ -13,7 +15,7 @@ var PageContainer = React.createClass({
renderPages : function(){
return _.map(this.props.text.split('\\page'), (pageText, index) => {
- return
+ return
})
},
diff --git a/client/homebrew/phb/phbPage/phbPage.jsx b/client/homebrew/phb/phbPage/phbPage.jsx
new file mode 100644
index 0000000..bf2b5e7
--- /dev/null
+++ b/client/homebrew/phb/phbPage/phbPage.jsx
@@ -0,0 +1,14 @@
+var React = require('react');
+
+var PhbPage = React.createClass({
+ getDefaultProps: function() {
+ return {
+ content : ""
+ };
+ },
+ render : function(){
+ return
+ }
+});
+
+module.exports = PhbPage;
diff --git a/client/homebrew/phb/phbPage/phbPage.less b/client/homebrew/phb/phbPage/phbPage.less
new file mode 100644
index 0000000..7d42f7b
--- /dev/null
+++ b/client/homebrew/phb/phbPage/phbPage.less
@@ -0,0 +1,366 @@
+@font-face {
+ font-family : BookInsanity;
+ src : url('/assets/homebrew/assets/Bookinsanity.otf');
+}
+@font-face {
+ font-family : BookInsanityBold;
+ src : url('/assets/homebrew/assets/Bookinsanity Bold.otf');
+}
+@font-face {
+ font-family : BookInsanityItalic;
+ src : url('/assets/homebrew/assets/Bookinsanity Italic.otf');
+}
+@font-face {
+ font-family : BookInsanityBoldItalic;
+ src : url('/assets/homebrew/assets/Bookinsanity Bold Italic.otf');
+}
+@font-face {
+ font-family : ScalaSans;
+ src : url('/assets/homebrew/assets/Scaly Sans.otf');
+}
+/*
+@font-face {
+ font-family : ScalaSansBold;
+ src : url('/assets/homebrew/assets/Scala Sans Bold.ttf');
+}
+*/
+@font-face {
+ font-family : ScalaSansSmallCaps;
+ src : url('/assets/homebrew/assets/Scala Sans SmallCaps.ttf');
+}
+@font-face {
+ font-family : Solbera;
+ src : url('/assets/homebrew/assets/Solbera Imitation.otf');
+}
+@font-face {
+ font-family : MrEaves;
+ src : url('/assets/homebrew/assets/MrsEavesSmallCaps_Regular.ttf') format('truetype'),
+ url('/assets/homebrew/assets/Mr Eaves Small Caps.otf') format('otf');
+}
+.phb{
+ @background : #f2ece4;
+ @green : #e0e5c1;
+ @headerUnderline : #c9ad6a;
+ @horizontalRule : #9c2b1b;
+ @header : #58180D;
+ box-sizing : border-box;
+ height : 27.5cm;
+ width : 21cm;
+ padding : 1.0cm 1.7cm;
+ column-count : 2;
+ column-fill : auto;
+ column-gap : 1cm;
+ column-width : 8cm;
+ background-color: #EEE5CE;
+ background-image : url('/assets/homebrew/assets/PHB-background.png');
+ -webkit-column-count : 2;
+ -moz-column-count : 2;
+ -webkit-column-width : 8cm;
+ -moz-column-width : 8cm;
+ -webkit-column-gap : 1cm;
+ text-rendering : optimizeLegibility;
+ position : relative;
+ overflow: hidden;
+ z-index : 15;
+
+
+ img{
+ z-index : -1;
+ }
+
+ //Page Accents
+ &:after{
+ content : "";
+ position: absolute;
+ height: 50px;
+ width: 100%;
+ bottom : 0px;
+ left: 0px;
+ background-size: cover;
+ width : 100%;
+ background-image : url('/assets/homebrew/assets/accent.png');
+ }
+
+ //Avoid breaking up
+ p,ul,blockquote,table{
+ -webkit-column-break-inside : avoid;
+ -moz-column-break-inside : avoid;
+ -o-column-break-inside : avoid;
+ -ms-column-break-inside : avoid;
+ column-break-inside : avoid;
+ z-index : 15;
+ }
+
+ p,ul{
+ strong{
+ font-family : BookInsanityBold;
+ em{
+ font-family : BookInsanityBoldItalic;
+ }
+ }
+ em{
+ font-family : BookInsanityItalic;
+ }
+ }
+ p {
+ padding-bottom : 0.8em;
+ font-family : BookInsanity;
+ font-size : 9pt;
+ line-height : 1.3em;
+ &+p{
+ margin-top : -0.8em;
+ text-indent : 1em;
+ }
+ }
+ ul{
+ margin-bottom : 0.8em;
+ font-family : BookInsanity;
+ font-size : 9pt;
+ line-height : 1.3em;
+ list-style-position : inside;
+ list-style-type : disc;
+ }
+
+
+ //Full Spell casting table
+ h5+hr+table{
+ -webkit-column-span : all;
+ column-span : all;
+ background-color: white;
+ border-image-source: url('/assets/homebrew/assets/frame_border.png');
+ border-image-slice: 150 200 150 200;
+ border-image-width: 47px;
+ border-image-outset: 37px 17px;
+ border-image-repeat: round;
+ margin-bottom: 50px;
+ border-collapse: separate;
+ border: initial;
+ padding-top: 10px;
+ margin-top: -5px;
+
+ }
+
+
+ table{
+ width : 100%;
+ margin-bottom : 1em;
+ font-family : ScalaSans;
+ font-size : 10pt;
+ thead{
+ font-weight : 800;
+ th{
+ padding-bottom : 0.3em;
+ }
+ }
+ tbody{
+ tr{
+ td{
+ padding : 0.2em 0em;
+ }
+ &:nth-child(odd){
+ background-color : @green;
+ }
+ }
+ }
+ }
+ hr{
+ visibility: hidden;
+ //border : none;
+ margin: 0px;
+ }
+
+ //Fancy List of things
+ hr+ul{
+ list-style-type: none;
+ text-indent: -1em;
+ padding-left: 1em;
+
+ //margin-top: -0.5em;
+ margin-bottom: 0.5em;
+ }
+
+ //Column Break
+ pre{
+ visibility: hidden;
+ -webkit-column-break-after: always;
+ }
+
+ //Monster Stat block
+ hr+blockquote{
+ position : relative;
+ background-color: #FDF1DC;
+ border : none;
+
+ h2{
+ margin-bottom: 0px;
+ &+p{
+ padding-bottom: 0px;
+ }
+ }
+ h3{
+ font-family: ScalaSans;
+ font-weight: 400;
+ border-bottom: 1px solid @header;
+ }
+
+ ul{
+ list-style-type: none;
+ font-family: ScalaSans;
+ color : @header;
+ font-size: 10pt;
+ text-indent: -1em;
+ padding-left: 1em;
+ strong{
+ font-family: ScalaSans;
+ font-weight: 800;
+ }
+ }
+
+ // Monster Ability table
+ hr+table{
+ -webkit-column-span : 1;
+ column-span : 1;
+ background-color: transparent;
+ border-image: none;
+ margin: 0;
+ thead{
+ tr{
+ //background-color: transparent;
+ }
+ }
+ tbody{
+ tr:nth-child(odd), tr:nth-child(even){
+ background-color: transparent;
+ }
+ }
+ }
+ table{
+ color : @header;
+ }
+
+ p+p{
+ margin-top : 0em;
+ text-indent : 0em;
+ padding-bottom: 0.5em;
+ }
+
+
+
+ //Maybe move this to be built in
+ hr{
+ visibility: visible;
+ margin: 8px 0px;
+
+ border-color : transparent;
+ position: relative;
+ @height : 3px;
+ &:after, &:before{
+ content : "";
+ position: absolute;
+ width: 100%;
+ height: @height;
+ left: 0px;
+ }
+ &:before{
+ top : -@height;
+ background: linear-gradient(to right top, @horizontalRule 40%, transparent 50%)
+ }
+ &:after{
+ top: 0px;
+ background: linear-gradient(to right bottom, @horizontalRule 40%, transparent 50%)
+ }
+
+ }
+
+ //Borders
+ &:after, &:before{
+ content : "";
+ position: absolute;
+ background-color : #E69A28;
+ border: 1px solid black;
+ height : 4px;
+ width : 100%;
+ padding : 0px 3px;
+ }
+ &:before{
+ top : 0px;
+ left : -3px;
+ }
+ &:after{
+ bottom : 0px;
+ left : -3px;
+ }
+ }
+
+
+ //Note
+ blockquote{
+ box-sizing : border-box;
+ margin-bottom : 1em;
+ padding : 5px 10px;
+ background-color : @green;
+ font-family : ScalaSans;
+ border-top : 2px black solid;
+ border-bottom : 2px black solid;
+ box-shadow : 1px 4px 14px #888;
+
+ p, ul{
+ font-family : ScalaSans;
+ font-size : 10pt;
+ line-height : 1.1em;
+ em{
+ font-family : ScalaSans;
+ font-style : italic;
+ }
+ strong{
+ font-weight : 800;
+ font-family : ScalaSans;
+ em{
+ font-style : italic;
+ font-weight : 800;
+ }
+ }
+ }
+ }
+ pre{
+ }
+ h1,h2,h3,h4{
+ margin-top : 0.2em;
+ margin-bottom : 0.2em;
+ font-family : MrEaves;
+ font-weight : 800;
+ color : @header;
+ }
+ h1{
+ column-span : all;
+ font-size : 28pt;
+ -webkit-column-span : all;
+ &+p{
+ &::first-letter{
+ float: left;
+ margin-top: 0.4em;
+ margin-bottom: 0.4em;
+ font-family: Solbera;
+ font-size: 10em;
+ color : #222;
+ }
+ }
+ }
+ h2{
+ font-size : 20pt;
+ }
+ h3{
+ font-size : 15pt;
+ border-bottom : 2px solid @headerUnderline;
+ }
+ h4{
+ margin-bottom : 0.00em;
+ font-size : 12pt;
+ }
+ h5{
+ margin-bottom : 0.2em;
+ font-family : ScalaSansSmallCaps;
+ font-size : 13pt;
+ font-weight : 900;
+ }
+}
\ No newline at end of file
diff --git a/server/Server files go here b/client/homebrew/phb/phb_style.less
similarity index 100%
rename from server/Server files go here
rename to client/homebrew/phb/phb_style.less
diff --git a/client/homebrew/phbStyle/phb.backup.less b/client/homebrew/phbStyle/phb.backup.less
index ce3a56d..2bab0c6 100644
--- a/client/homebrew/phbStyle/phb.backup.less
+++ b/client/homebrew/phbStyle/phb.backup.less
@@ -9,6 +9,7 @@
margin-bottom: 30px;
}
}
+<<<<<<< HEAD:client/homebrew/phbStyle/phb.backup.less
@font-face {
font-family : BookInsanity;
src : url('/assets/homebrew/assets/Bookinsanity.otf');
@@ -390,4 +391,6 @@
font-size : 13pt;
font-weight : 900;
}
-}
\ No newline at end of file
+}
+=======
+>>>>>>> setup test file with phantomjs, no luck though:client/homebrew/phb/phb.less
diff --git a/gulpfile.js b/gulpfile.js
index ded4eaf..39db0b1 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -5,7 +5,7 @@ var gulp = require("gulp");
var gulp = vitreumTasks(gulp, {
- entryPoints: ["./client/naturalCrit", "./client/homebrew", "./client/admin"],
+ entryPoints: ["./client/naturalCrit", "./client/homebrew", "./client/admin", "./client/homebrew/phb/phbPage"],
DEV: true,
diff --git a/package.json b/package.json
index 29b6291..8c60bd1 100644
--- a/package.json
+++ b/package.json
@@ -15,6 +15,7 @@
"classnames": "^2.2.0",
"express": "^4.13.3",
"gulp": "^3.9.0",
+ "html-pdf": "^1.4.0",
"jsoneditor": "^4.2.1",
"lodash": "^3.10.1",
"marked": "^0.3.5",
diff --git a/server/businesscard.pdf b/server/businesscard.pdf
new file mode 100644
index 0000000..3f6db6b
Binary files /dev/null and b/server/businesscard.pdf differ
diff --git a/server/pdfConvert.js b/server/pdfConvert.js
new file mode 100644
index 0000000..2878878
--- /dev/null
+++ b/server/pdfConvert.js
@@ -0,0 +1,26 @@
+var pdf = require('html-pdf');
+var Markdown = require('marked');
+
+var style = require('fs').readFileSync('../build/phbPage/bundle.css', 'utf8');
+
+style = "";
+
+ function replaceAll(str, find, replace) {
+ return str.replace(new RegExp(find, 'g'), replace);
+ }
+
+style = replaceAll(style, '/assets/homebrew/assets/', 'http://www.naturalcrit.com/assets/homebrew/assets/');
+
+var content = Markdown('# oh hey \n welcome! ##### test');
+
+
+var html = "" + style + ""+ content +"
"
+
+console.log(html);
+
+
+pdf.create(html).toFile('./pdfs/businesscard.pdf', function(err, res){
+ console.log(err);
+ console.log(res.filename);
+});
\ No newline at end of file
diff --git a/server/pdfs/businesscard.pdf b/server/pdfs/businesscard.pdf
new file mode 100644
index 0000000..3f2105d
Binary files /dev/null and b/server/pdfs/businesscard.pdf differ