1
0
mirror of https://github.com/stolksdorf/homebrewery.git synced 2025-12-21 20:11:30 +00:00

Column split now a key word

This commit is contained in:
Scott Tolksdorf
2017-02-26 19:38:42 -05:00
parent 234d216d64
commit e112808706
9 changed files with 57 additions and 6 deletions

8
scripts/notes.js Normal file
View File

@@ -0,0 +1,8 @@
require('fixme')({
path: process.cwd(),
ignored_directories: ['node_modules/**', '.git/**', 'build/**'],
file_patterns: ['**/*.js', '**/*.jsx', '**/*.less'],
file_encoding: 'utf8',
line_length_limit: 200
});

View File

@@ -105,6 +105,11 @@ const BrewEditor = React.createClass({
r.push(lineNumber); r.push(lineNumber);
} }
if(line.indexOf('\\column') !== -1){
codeMirror.addLineClass(lineNumber, 'text', 'columnSplit');
r.push(lineNumber);
}
if(_.startsWith(line, '{{') || _.startsWith(line, '}}')){ if(_.startsWith(line, '{{') || _.startsWith(line, '}}')){
codeMirror.addLineClass(lineNumber, 'text', 'block'); codeMirror.addLineClass(lineNumber, 'text', 'block');
} }

View File

@@ -12,6 +12,10 @@
color : purple; color : purple;
//font-style: italic; //font-style: italic;
} }
.columnSplit{
font-style : italic;
color : grey;
}
} }
.brewJump{ .brewJump{

View File

@@ -133,6 +133,11 @@ const BrewRenderer = React.createClass({
return this.lastRender; return this.lastRender;
}, },
//TODO: This is pretty bad
renderStyle : function(){
return <style>{this.props.brew.style.replace(/;/g, ' !important;')}</style>
},
render : function(){ render : function(){
if(this.props.brew.version == 1) return <OldBrewRenderer value={this.props.brew.text} />; if(this.props.brew.version == 1) return <OldBrewRenderer value={this.props.brew.text} />;
@@ -146,7 +151,7 @@ const BrewRenderer = React.createClass({
<RenderWarnings /> <RenderWarnings />
<style>{this.props.brew.style}</style> {this.renderStyle()}
<div className='pages' ref='pages'> <div className='pages' ref='pages'>
{this.renderPages()} {this.renderPages()}

View File

@@ -31,6 +31,9 @@ module.exports = {
marked : Markdown, marked : Markdown,
render : (rawBrewText)=>{ render : (rawBrewText)=>{
blockCount = 0; blockCount = 0;
rawBrewText = rawBrewText.replace(/\\column/g, '{{columnSplit }}')
let html = Markdown(rawBrewText, {renderer : renderer, sanitize: true}); let html = Markdown(rawBrewText, {renderer : renderer, sanitize: true});
//Close all hanging block tags //Close all hanging block tags
html += _.times(blockCount, ()=>{return '</div>'}).join('\n'); html += _.times(blockCount, ()=>{return '</div>'}).join('\n');

View File

@@ -57,11 +57,22 @@
-moz-column-span : all; -moz-column-span : all;
} }
.twoCol{ .oneColumn{
background-color: red; column-count : 1;
}
.twoColumn{
column-count : 2; column-count : 2;
} }
.threeColumn{
column-count : 3;
}
.fourColumn{
column-count : 4;
}
.columnSplit{ .columnSplit{
//TODO: make \column trigger this visibility : hidden;
-webkit-column-break-after : always;
break-after : always;
-moz-column-break-after : always;
} }

View File

@@ -15,7 +15,7 @@
@import './phb.blocks.less'; @import './phb.blocks.less';
@page { margin: 0; } //???? @page { margin: 0; } //TODO: ????
.useColumns(@multiplier : 1){ .useColumns(@multiplier : 1){
@@ -322,12 +322,14 @@
list-style-type : none; list-style-type : none;
} }
//Column Break //Column Break
/*
pre, code{ pre, code{
visibility : hidden; visibility : hidden;
-webkit-column-break-after : always; -webkit-column-break-after : always;
break-after : always; break-after : always;
-moz-column-break-after : always; -moz-column-break-after : always;
} }
*/
//Avoid breaking up //Avoid breaking up
p,blockquote,table{ p,blockquote,table{
z-index : 15; z-index : 15;

View File

@@ -0,0 +1,12 @@
module.exports = {
dmg : ()=>{
return `.phb{
background-image: url('/assets/homebrewery/phb_style/img/dmg_bg.jpg');
}`;
},
dark: ()=>{
return `.phb{
background-image: url('/assets/homebrewery/phb_style/img/phb_dark_bg.jpg');
}`;
}
}

View File

@@ -2,5 +2,6 @@ const _ = require('lodash');
module.exports = _.merge( module.exports = _.merge(
require('./ink.snippet.js'), require('./ink.snippet.js'),
require('./a4.snippet.js') require('./a4.snippet.js'),
require('./bg.snippet.js')
); );