0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2025-12-24 16:22:44 +00:00

Mostly working. Needs tweakages. Presentable

This commit is contained in:
David Bolack
2024-11-03 12:30:14 -06:00
parent b9b3d284cf
commit 7f7f3557b3
4 changed files with 18 additions and 14 deletions

View File

@@ -158,7 +158,7 @@ const Editor = createClass({
highlightCustomMarkdown : function(){
if(!this.codeEditor.current) return;
if(this.state.view === 'text') {
if(this.state.view === 'text') {
const codeMirror = this.codeEditor.current.codeMirror;
codeMirror.operation(()=>{ // Batch CodeMirror styling

View File

@@ -65,7 +65,10 @@ const Snippetbar = createClass({
},
componentDidUpdate : async function(prevProps, prevState) {
if(prevProps.renderer != this.props.renderer || prevProps.theme != this.props.theme || prevProps.themeBundle != this.props.themeBundle) {
if(prevProps.renderer != this.props.renderer ||
prevProps.theme != this.props.theme ||
prevProps.themeBundle != this.props.themeBundle ||
prevProps.brew.snippets != this.props.brew.snippets) {
this.setState({
snippets : this.compileSnippets()
});

View File

@@ -143,7 +143,6 @@ const EditPage = createClass({
},
handleSnipChange : function(snippet){
console.log('Snip Change!');
//If there are errors, run the validator on every change to give quick feedback
let htmlErrors = this.state.htmlErrors;
if(htmlErrors.length) htmlErrors = Markdown.validate(snippet);

View File

@@ -5,20 +5,22 @@ const dedent = require('dedent');
// Convert the templates from a brew to a Snippets Structure.
const brewSnippetsToJSON = (menuTitle, userBrewSnippets, themeBundleSnippets)=>{
const textSplit = /^\\page/gm;
const textSplit = /^\\snippet /gm;
const mpAsSnippets = [];
// Snippets from Themes first.
if(themeBundleSnippets) {
for (let themes of themeBundleSnippets) {
if(typeof themes !== 'string') {
const userSnippets = [];
const name = themes.snippets.split('\n')[0];
if(name.length != 0) {
userSnippets.push({
name : name.slice('\snippets '.length),
icon : '',
gen : themes.snippets.slice(name.length + 1),
});
for (let snips of themes.snippets.trim().split(textSplit)) {
const name = snips.trim().split('\n')[0];
if(name.length != 0) {
userSnippets.push({
name : name.slice('\snippets'.length),
icon : '',
gen : snips.slice(name.length + 1),
});
}
}
if(userSnippets.length > 0) {
mpAsSnippets.push({
@@ -34,11 +36,11 @@ const brewSnippetsToJSON = (menuTitle, userBrewSnippets, themeBundleSnippets)=>{
// Local Snippets
if(userBrewSnippets) {
const userSnippets = [];
for (let snips of userBrewSnippets.split(textSplit)) {
for (let snips of userBrewSnippets.trim().split(textSplit)) {
let name = snips.split('\n')[0];
if(name.length != 0) {
userSnippets.push({
name : name.slice('\snippet '.length),
name : name,
icon : '',
gen : snips.slice(name.length + 1),
});
@@ -72,7 +74,7 @@ const splitTextStyleAndMetadata = (brew)=>{
}
if(brew.text.startsWith('```snippets')) {
const index = brew.text.indexOf('```\n\n');
brew.snippets = brew.text.slice(11, index - 1);
brew.snippets = brew.text.slice(12, index - 1);
brew.text = brew.text.slice(index + 5);
}
if(brew.text.startsWith('```css')) {