Remove files changed from incorrect base

This commit is contained in:
David Bolack
2026-10-13 13:10:35 -05:00
parent 34b5b559a7
commit 991655a05f
8 changed files with 37 additions and 90 deletions
+2 -27
View File
@@ -2,12 +2,7 @@ import React, { useState, useEffect } from 'react';
import Nav from './nav.jsx'; import Nav from './nav.jsx';
import { printCurrentBrew } from '@shared/helpers.js'; import { printCurrentBrew } from '@shared/helpers.js';
const processShareId = (brew)=>{ export default function(){
return brew.googleId && !brew.stubbed ? brew.googleId + brew.shareId : brew.shareId;
};
export default ({ currentBrew })=>{
const [printing, setPrinting] = useState(false); const [printing, setPrinting] = useState(false);
// listen for print cycle events to display "loading" message since it can take some time. // listen for print cycle events to display "loading" message since it can take some time.
@@ -24,27 +19,7 @@ export default ({ currentBrew })=>{
const handlePrintPrepFinished = ()=>{ setPrinting(false); }; const handlePrintPrepFinished = ()=>{ setPrinting(false); };
if(currentBrew?.shareId) return <Nav.dropdown> return <Nav.item onClick={printCurrentBrew} color='purple' icon='far fa-file-pdf'>
<Nav.item color='purple' icon='fas fa-code'>
export
</Nav.item>
<Nav.item onClick={printCurrentBrew} color='purple' icon='far fa-file-pdf'>
{printing ? 'loading' : 'get PDF'}
</Nav.item>
<Nav.item color='blue' icon='fas fa-download' href={`/download/cm/${processShareId(currentBrew)}`}>
Markdown
</Nav.item>
<Nav.item color='blue' icon='fas fa-download' href={`/download/toml/${processShareId(currentBrew)}`}>
Markdown (TOML)
</Nav.item>
<Nav.item color='blue' icon='fas fa-download' href={`/download/json/${processShareId(currentBrew)}`}>
Markdown (JSON)
</Nav.item>
<Nav.item color='blue' icon='fas fa-download' href={`/download/hb/${processShareId(currentBrew)}`}>
Markdown (Homebrewery)
</Nav.item>
</Nav.dropdown>;
else return <Nav.item onClick={printCurrentBrew} color='purple' icon='far fa-file-pdf'>
{printing ? 'loading' : 'get PDF'} {printing ? 'loading' : 'get PDF'}
</Nav.item>; </Nav.item>;
}; };
@@ -372,7 +372,7 @@ const EditorPage = (props)=>{
{(pageName == 'editPage') && renderAutoSaveButton()} {(pageName == 'editPage') && renderAutoSaveButton()}
</Nav.dropdown>} </Nav.dropdown>}
<NewBrewItem /> <NewBrewItem />
<PrintNavItem currentBrew={currentBrew}/> <PrintNavItem />
<HelpNavItem /> <HelpNavItem />
<VaultNavItem /> <VaultNavItem />
{(pageName == 'editPage') && <ShareNavItem brew={currentBrew} currentPage={currentBrewRendererPageNum} />} {(pageName == 'editPage') && <ShareNavItem brew={currentBrew} currentPage={currentBrewRendererPageNum} />}
@@ -117,7 +117,7 @@ const SharePage = (props)=>{
view view
</Nav.item> </Nav.item>
{renderEditLink()} {renderEditLink()}
<Nav.item color='blue' icon='fas fa-download' href={`/download/hb/${processShareId()}`}> <Nav.item color='blue' icon='fas fa-download' href={`/download/${processShareId()}`}>
download download
</Nav.item> </Nav.item>
<Nav.item color='blue' icon='fas fa-clone' href={`/new/${processShareId()}`}> <Nav.item color='blue' icon='fas fa-clone' href={`/new/${processShareId()}`}>
-1
View File
@@ -26,7 +26,6 @@
"test:api-unit:css": "jest \"server/.*.spec.js\" -t \"Get CSS\" --verbose", "test:api-unit:css": "jest \"server/.*.spec.js\" -t \"Get CSS\" --verbose",
"test:api-unit:notifications": "jest \"server/.*.spec.js\" -t \"Notifications\" --verbose", "test:api-unit:notifications": "jest \"server/.*.spec.js\" -t \"Notifications\" --verbose",
"test:content-negotiation": "jest \"server/middleware/.*.spec.js\" --verbose", "test:content-negotiation": "jest \"server/middleware/.*.spec.js\" --verbose",
"test:static-content": "jest \"tests/routes/static-content.test.js\" --verbose",
"test:coverage": "jest --coverage --silent --runInBand", "test:coverage": "jest --coverage --silent --runInBand",
"test:dev": "jest --verbose --watch", "test:dev": "jest --verbose --watch",
"test:basic": "jest tests/markdown/basic.test.js --verbose", "test:basic": "jest tests/markdown/basic.test.js --verbose",
+24 -2
View File
@@ -10,7 +10,7 @@ import asyncHandler from 'express-async-handler';
import { nanoid } from 'nanoid'; import { nanoid } from 'nanoid';
import { makePatches, applyPatches, stringifyPatches, parsePatch } from '@sanity/diff-match-patch'; import { makePatches, applyPatches, stringifyPatches, parsePatch } from '@sanity/diff-match-patch';
import { md5 } from 'hash-wasm'; import { md5 } from 'hash-wasm';
import { splitTextStyleAndMetadata, transformFrontmatter, import { splitTextStyleAndMetadata,
brewSnippetsToJSON, debugTextMismatch } from '../shared/helpers.js'; brewSnippetsToJSON, debugTextMismatch } from '../shared/helpers.js';
import checkClientVersion from './middleware/check-client-version.js'; import checkClientVersion from './middleware/check-client-version.js';
import dbCheck from './middleware/dbCheck.js'; import dbCheck from './middleware/dbCheck.js';
@@ -209,7 +209,29 @@ const api = {
return res.status(200).send(brew.style); return res.status(200).send(brew.style);
}, },
mergeBrewText : (brew)=>{ mergeBrewText : (brew)=>{
return transformFrontmatter(brew); let text = brew.text;
if(brew.style !== undefined) {
text = `\`\`\`css\n` +
`${brew.style || ''}\n` +
`\`\`\`\n\n` +
`${text}`;
}
const metadata = _.pick(brew, ['title', 'description', 'tags', 'renderer', 'theme']);
const snippetsArray = brewSnippetsToJSON('brew_snippets', brew.snippets, null, false).snippets;
metadata.snippets = snippetsArray.length > 0 ? snippetsArray : undefined;
metadata.bleedSize = { top: brew?.bleedSize?.top, bottom: brew?.bleedSize?.bottom, inner: brew?.bleedSize?.inner, outer: brew?.bleedSize?.outer };
metadata.safetySpace = { top: brew?.safetySpace?.top, bottom: brew?.safetySpace?.bottom, outer: brew?.safetySpace?.outer, inner: brew?.safetySpace?.inner };
metadata.trimSize = { width: brew?.trimSize?.width, height: brew?.trimSize?.height };
metadata.columns = brew?.columns;
metadata.columnGutter = brew?.columnGutter;
metadata.license = brew?.license;
metadata.legalAuthors = brew?.legalAuthors;
text = `\`\`\`metadata\n` +
`${yaml.dump(metadata)}\n` +
`\`\`\`\n\n` +
`${text}`;
return text;
}, },
getGoodBrewTitle : (text)=>{ getGoodBrewTitle : (text)=>{
const tokens = hbfm.marked.lexer(text); const tokens = hbfm.marked.lexer(text);
+5 -5
View File
@@ -499,6 +499,8 @@ description: this is a description
tags: tags:
- something - something
- fun - fun
renderer: v3
theme: phb
bleedSize: bleedSize:
top: .125in top: .125in
bottom: .125in bottom: .125in
@@ -516,8 +518,6 @@ columns: '2'
columnGutter: .125in columnGutter: .125in
license: None license: None
legalAuthors: '' legalAuthors: ''
renderer: v3
theme: phb
\`\`\` \`\`\`
@@ -554,7 +554,7 @@ brew`);
width : '8.5in', width : '8.5in',
height : '11in', height : '11in',
}, },
}, 'hb'); });
expect(result).toEqual(`\`\`\`metadata expect(result).toEqual(`\`\`\`metadata
title: some title title: some title
@@ -562,6 +562,8 @@ description: this is a description
tags: tags:
- something - something
- fun - fun
renderer: v3
theme: phb
bleedSize: bleedSize:
top: .125in top: .125in
bottom: .125in bottom: .125in
@@ -579,8 +581,6 @@ columns: '2'
columnGutter: .125in columnGutter: .125in
license: None license: None
legalAuthors: '' legalAuthors: ''
renderer: v3
theme: phb
\`\`\` \`\`\`
+3 -13
View File
@@ -15,7 +15,7 @@ import fs from 'fs';
import dbCheck from './middleware/dbCheck.js'; import dbCheck from './middleware/dbCheck.js';
import sanitizeFilename from 'sanitize-filename'; import sanitizeFilename from 'sanitize-filename';
import { DEFAULT_BREW } from './brewDefaults.js'; import { DEFAULT_BREW } from './brewDefaults.js';
import { splitTextStyleAndMetadata, transformFrontmatter } from '../shared/helpers.js'; import { splitTextStyleAndMetadata } from '../shared/helpers.js';
import GoogleActions from './googleActions.js'; import GoogleActions from './googleActions.js';
import api from './homebrew.api.js'; import api from './homebrew.api.js';
@@ -135,19 +135,9 @@ export default function pageRoutes({
}); });
//Download brew source page //Download brew source page
app.get('/download/:format/:id', asyncHandler(getBrew('share')), async (req, res)=>{ app.get('/download/:id', asyncHandler(getBrew('share')), (req, res)=>{
const markdownFormats = {
hb : 'homebrewery',
cm : 'commonmark',
toml : 'toml',
json : 'json'
};
const { brew } = req; const { brew } = req;
const lastBrew = brew.text;
sanitizeBrew(brew, 'share'); sanitizeBrew(brew, 'share');
brew.text = await transformFrontmatter(brew, req.params.format);
const prefix = 'HB - '; const prefix = 'HB - ';
const encodeRFC3986ValueChars = (str)=>{ const encodeRFC3986ValueChars = (str)=>{
@@ -162,7 +152,7 @@ export default function pageRoutes({
res.set({ res.set({
'Cache-Control' : 'no-cache', 'Cache-Control' : 'no-cache',
'Content-Type' : 'text/plain', 'Content-Type' : 'text/plain',
'Content-Disposition' : `attachment; filename*=UTF-8''${encodeRFC3986ValueChars(fileName)}.${markdownFormats[req.params.format]}.md` 'Content-Disposition' : `attachment; filename*=UTF-8''${encodeRFC3986ValueChars(fileName)}.txt`
}); });
res.status(200).send(brew.text); res.status(200).send(brew.text);
}); });
+1 -40
View File
@@ -114,44 +114,6 @@ const splitTextStyleAndMetadata = (brew)=>{
if(typeof brew.tags === 'string') brew.tags = brew.tags ? [brew.tags] : []; if(typeof brew.tags === 'string') brew.tags = brew.tags ? [brew.tags] : [];
}; };
const transformFrontmatter = (brew, format = 'hb')=>{
const markdownFormats = {
hb : '```metadata',
cm : '---',
toml : '+++',
json : ';;;'
};
let text = brew.text;
if((brew.style !== undefined) && (format == 'hb')) {
text = `\`\`\`css\n` +
`${brew.style || ''}\n` +
`\`\`\`\n\n` +
`${text}`;
}
const metadata = _.pick(brew, ['title', 'description', 'tags']);
if(format == 'hb') {
const snippetsArray = brewSnippetsToJSON('brew_snippets', brew.snippets, null, false).snippets;
metadata.snippets = snippetsArray.length > 0 ? snippetsArray : undefined;
metadata.bleedSize = { top: brew?.bleedSize?.top, bottom: brew?.bleedSize?.bottom, inner: brew?.bleedSize?.inner, outer: brew?.bleedSize?.outer };
metadata.safetySpace = { top: brew?.safetySpace?.top, bottom: brew?.safetySpace?.bottom, outer: brew?.safetySpace?.outer, inner: brew?.safetySpace?.inner };
metadata.trimSize = { width: brew?.trimSize?.width, height: brew?.trimSize?.height };
metadata.columns = brew?.columns;
metadata.columnGutter = brew?.columnGutter;
metadata.license = brew?.license;
metadata.legalAuthors = brew?.legalAuthors;
metadata.renderer = brew.renderer;
metadata.theme = brew.theme;
}
text = `${markdownFormats[format]}\n` +
`${format != 'json' ? yaml.dump(metadata) : JSON.stringify(metadata)}\n` +
`${markdownFormats[format].slice(0, 3)}\n\n` +
`${text}`;
return text;
};
const printCurrentBrew = async ()=>{ const printCurrentBrew = async ()=>{
if(window.typeof !== 'undefined') { if(window.typeof !== 'undefined') {
// fire a custom event for the print cycle // fire a custom event for the print cycle
@@ -268,6 +230,5 @@ export {
fetchThemeBundle, fetchThemeBundle,
brewSnippetsToJSON, brewSnippetsToJSON,
debugTextMismatch, debugTextMismatch,
yamlSnippetsToText, yamlSnippetsToText
transformFrontmatter
}; };