0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2025-12-24 20:42:43 +00:00

Update brew content merging functionality and add it to downloads/page source views

#1838
This commit is contained in:
Charlie Humphreys
2021-11-23 23:53:02 -06:00
parent f40b4b2f30
commit ef433bbbe2
5 changed files with 85 additions and 9727 deletions

View File

@@ -2,6 +2,8 @@
const _ = require('lodash');
const jwt = require('jwt-simple');
const express = require('express');
const yaml = require('js-yaml');
const brewUtils = require('./server/utils/brew');
const app = express();
const homebrewApi = require('./server/homebrew.api.js');
@@ -50,7 +52,7 @@ const splitTextStyleAndMetadata = (brew)=>{
if(brew.text.startsWith('```metadata')) {
const index = brew.text.indexOf('```\n\n');
const metadata = brew.text.slice(12, index - 1);
Object.assign(brew, JSON.parse(metadata));
Object.assign(brew, yaml.load(metadata));
brew.text = brew.text.slice(index + 5);
}
if(brew.text.startsWith('```css')) {
@@ -168,7 +170,7 @@ app.get('/source/:id', asyncHandler(async (req, res)=>{
const brew = await getBrewFromId(req.params.id, 'raw');
const replaceStrings = { '&': '&amp;', '<': '&lt;', '>': '&gt;' };
let text = brew.text;
let text = brewUtils.mergeBrewText(brew, { metadata: true, fullMetadata: true });
for (const replaceStr in replaceStrings) {
text = text.replaceAll(replaceStr, replaceStrings[replaceStr]);
}
@@ -188,7 +190,7 @@ app.get('/download/:id', asyncHandler(async (req, res)=>{
'Content-Type' : 'text/plain',
'Content-Disposition' : `attachment; filename="${fileName}.txt"`
});
res.status(200).send(brew.text);
res.status(200).send(brewUtils.mergeBrewText(brew, { metadata: true, fullMetadata: true }));
}));
//User Page