mirror of
https://github.com/naturalcrit/homebrewery.git
synced 2026-01-07 09:52:41 +00:00
Woh, it is working
This commit is contained in:
@@ -3,6 +3,19 @@ var _ = require('lodash');
|
|||||||
var cx = require('classnames');
|
var cx = require('classnames');
|
||||||
|
|
||||||
var Markdown = require('marked');
|
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, '<div class=') && _.endsWith(_.trim(html), '</div>')){
|
||||||
|
var openTag = html.substring(0, html.indexOf('>'));
|
||||||
|
html = html.substring(html.indexOf('>')+1);
|
||||||
|
html = html.substring(0, html.lastIndexOf('</div>'));
|
||||||
|
return `${openTag} ${Markdown(html)} </div>`;
|
||||||
|
}
|
||||||
|
return html;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
var PAGE_HEIGHT = 1056 + 30;
|
var PAGE_HEIGHT = 1056 + 30;
|
||||||
|
|
||||||
@@ -64,7 +77,7 @@ var BrewRenderer = React.createClass({
|
|||||||
},
|
},
|
||||||
|
|
||||||
renderPage : function(pageText, index){
|
renderPage : function(pageText, index){
|
||||||
return <div className='phb' dangerouslySetInnerHTML={{__html:Markdown(pageText)}} key={index} />
|
return <div className='phb' dangerouslySetInnerHTML={{__html:Markdown(pageText, {renderer : renderer})}} key={index} />
|
||||||
},
|
},
|
||||||
|
|
||||||
renderPages : function(){
|
renderPages : function(){
|
||||||
|
|||||||
@@ -1,85 +0,0 @@
|
|||||||
// CodeMirror, copyright (c) by Marijn Haverbeke and others
|
|
||||||
// Distributed under an MIT license: http://codemirror.net/LICENSE
|
|
||||||
|
|
||||||
(function(mod) {
|
|
||||||
if (typeof exports == "object" && typeof module == "object") // CommonJS
|
|
||||||
mod(require("../../lib/codemirror"));
|
|
||||||
else if (typeof define == "function" && define.amd) // AMD
|
|
||||||
define(["../../lib/codemirror"], mod);
|
|
||||||
else // Plain browser env
|
|
||||||
mod(CodeMirror);
|
|
||||||
})(function(CodeMirror) {
|
|
||||||
var modes = ["clike", "css", "javascript"];
|
|
||||||
|
|
||||||
for (var i = 0; i < modes.length; ++i)
|
|
||||||
CodeMirror.extendMode(modes[i], {blockCommentContinue: " * "});
|
|
||||||
|
|
||||||
function continueComment(cm) {
|
|
||||||
if (cm.getOption("disableInput")) return CodeMirror.Pass;
|
|
||||||
var ranges = cm.listSelections(), mode, inserts = [];
|
|
||||||
for (var i = 0; i < ranges.length; i++) {
|
|
||||||
var pos = ranges[i].head, token = cm.getTokenAt(pos);
|
|
||||||
if (token.type != "comment") return CodeMirror.Pass;
|
|
||||||
var modeHere = CodeMirror.innerMode(cm.getMode(), token.state).mode;
|
|
||||||
if (!mode) mode = modeHere;
|
|
||||||
else if (mode != modeHere) return CodeMirror.Pass;
|
|
||||||
|
|
||||||
var insert = null;
|
|
||||||
if (mode.blockCommentStart && mode.blockCommentContinue) {
|
|
||||||
var end = token.string.indexOf(mode.blockCommentEnd);
|
|
||||||
var full = cm.getRange(CodeMirror.Pos(pos.line, 0), CodeMirror.Pos(pos.line, token.end)), found;
|
|
||||||
if (end != -1 && end == token.string.length - mode.blockCommentEnd.length && pos.ch >= end) {
|
|
||||||
// Comment ended, don't continue it
|
|
||||||
} else if (token.string.indexOf(mode.blockCommentStart) == 0) {
|
|
||||||
insert = full.slice(0, token.start);
|
|
||||||
if (!/^\s*$/.test(insert)) {
|
|
||||||
insert = "";
|
|
||||||
for (var j = 0; j < token.start; ++j) insert += " ";
|
|
||||||
}
|
|
||||||
} else if ((found = full.indexOf(mode.blockCommentContinue)) != -1 &&
|
|
||||||
found + mode.blockCommentContinue.length > token.start &&
|
|
||||||
/^\s*$/.test(full.slice(0, found))) {
|
|
||||||
insert = full.slice(0, found);
|
|
||||||
}
|
|
||||||
if (insert != null) insert += mode.blockCommentContinue;
|
|
||||||
}
|
|
||||||
if (insert == null && mode.lineComment && continueLineCommentEnabled(cm)) {
|
|
||||||
var line = cm.getLine(pos.line), found = line.indexOf(mode.lineComment);
|
|
||||||
if (found > -1) {
|
|
||||||
insert = line.slice(0, found);
|
|
||||||
if (/\S/.test(insert)) insert = null;
|
|
||||||
else insert += mode.lineComment + line.slice(found + mode.lineComment.length).match(/^\s*/)[0];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (insert == null) return CodeMirror.Pass;
|
|
||||||
inserts[i] = "\n" + insert;
|
|
||||||
}
|
|
||||||
|
|
||||||
cm.operation(function() {
|
|
||||||
for (var i = ranges.length - 1; i >= 0; i--)
|
|
||||||
cm.replaceRange(inserts[i], ranges[i].from(), ranges[i].to(), "+insert");
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function continueLineCommentEnabled(cm) {
|
|
||||||
var opt = cm.getOption("continueComments");
|
|
||||||
if (opt && typeof opt == "object")
|
|
||||||
return opt.continueLineComment !== false;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
CodeMirror.defineOption("continueComments", null, function(cm, val, prev) {
|
|
||||||
if (prev && prev != CodeMirror.Init)
|
|
||||||
cm.removeKeyMap("continueComment");
|
|
||||||
if (val) {
|
|
||||||
var key = "Enter";
|
|
||||||
if (typeof val == "string")
|
|
||||||
key = val;
|
|
||||||
else if (typeof val == "object" && val.key)
|
|
||||||
key = val.key;
|
|
||||||
var map = {name: "continueComment"};
|
|
||||||
map[key] = continueComment;
|
|
||||||
cm.addKeyMap(map);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
32
shared/codemirror/addon/dialog/dialog.css
vendored
32
shared/codemirror/addon/dialog/dialog.css
vendored
@@ -1,32 +0,0 @@
|
|||||||
.CodeMirror-dialog {
|
|
||||||
position: absolute;
|
|
||||||
left: 0; right: 0;
|
|
||||||
background: inherit;
|
|
||||||
z-index: 15;
|
|
||||||
padding: .1em .8em;
|
|
||||||
overflow: hidden;
|
|
||||||
color: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
.CodeMirror-dialog-top {
|
|
||||||
border-bottom: 1px solid #eee;
|
|
||||||
top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.CodeMirror-dialog-bottom {
|
|
||||||
border-top: 1px solid #eee;
|
|
||||||
bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.CodeMirror-dialog input {
|
|
||||||
border: none;
|
|
||||||
outline: none;
|
|
||||||
background: transparent;
|
|
||||||
width: 20em;
|
|
||||||
color: inherit;
|
|
||||||
font-family: monospace;
|
|
||||||
}
|
|
||||||
|
|
||||||
.CodeMirror-dialog button {
|
|
||||||
font-size: 70%;
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user