From 5bb580147aa7da8dc8fde419808c665f491e1c60 Mon Sep 17 00:00:00 2001 From: Charlie Humphreys Date: Tue, 28 Dec 2021 21:59:02 -0600 Subject: [PATCH 01/21] Add discord, github, and reddit links to home page document --- client/homebrew/pages/homePage/welcome_msg.md | 24 +++++++++++++++++++ server.js | 1 + 2 files changed, 25 insertions(+) diff --git a/client/homebrew/pages/homePage/welcome_msg.md b/client/homebrew/pages/homePage/welcome_msg.md index f182517f5..77be2bfe7 100644 --- a/client/homebrew/pages/homePage/welcome_msg.md +++ b/client/homebrew/pages/homePage/welcome_msg.md @@ -1,4 +1,28 @@ +```css +#header { + display: flex; + flex: 0 0 auto; + justify-content: space-between; +} + +#header a { + color: black; +} + +i.domt:before { + content: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg version='1.1' id='Layer_3' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' height='31' width='31' viewBox='0 0 36 36' style='enable-background:new 0 0 36 36;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bopacity:0.9;%7D .st1%7Bfill:%23001013;%7D .st2%7Bfill:%23FFFFFF;%7D .st3%7Bfill:%23AA2A29;%7D%0A%3C/style%3E%3Cg class='st0'%3E%3Cpath d='M6.2,1.5C6,1.8,5.9,2,5.8,2.3C5.7,2.8,5.5,3.3,5.5,3.9c0,7.7,0,15.3,0,23c0,1.8,1.2,3.3,2.9,3.7c0.2,0,0.5,0.1,0.7,0.1 c6.3,0,12.7,0,19,0h0.6c-0.3-1.1-0.9-3.1-0.9-3.1l0.2,0.2c0,0,3.8,3.5,5.7,5.2c0.2,0.2,0.3,0.4,0.3,0.7c0,0.8,0,1.5,0,2.3 c-0.6-0.5-1.1-0.9-1.6-1.4c-0.9-0.8-1.8-1.6-2.6-2.3c-0.2-0.2-0.4-0.3-0.7-0.3c-7.2,0-14.3,0-21.5,0c-1.9,0-3.1-0.8-3.8-2.6 c-0.1-0.2-0.1-0.5-0.1-0.7c0-7.1,0-14.3,0-21.4V4.8C3.8,3.3,4.7,2.1,6.2,1.5z'/%3E%3C/g%3E%3Cpath class='st1' d='M28,28c0,0,0.5,1.8,0.8,2.8h-0.5c-6.4,0-12.7,0-19.1,0c-1.6,0-3.2-0.9-3.7-3.1c0-0.2,0-0.4,0-0.5 c0-7.8,0-15.7,0-23.5c0-1.8,1.4-3.4,3.2-3.5c0.3,0,0.5,0,0.8,0c7.5,0,15.1,0,22.6,0c1.2,0,2.3,0.3,3.1,1.3c0.6,0.7,0.9,1.5,0.9,2.3 c0,10.2,0,20.5,0,30.7c0,0.1,0,0.2,0,0.4c-0.4-0.3-0.7-0.6-1-0.9c-2.2-2-4.3-3.9-6.5-5.9c-0.1-0.1-0.3-0.3-0.3-0.3l-0.2-0.2L28,28z' /%3E%3Cpath class='st2' d='M35.4,33.9c-0.7-0.6-1.4-1.2-2-1.8c-1.7-1.6-3.4-3.2-5.2-4.8c-0.2-0.2-0.4-0.3-0.7-0.2 c-0.3,0.1-0.3,0.4-0.2,0.7c0.2,0.8,0.4,1.5,0.7,2.2c0,0.1,0,0.1,0,0.2c-0.1,0-0.3,0-0.4,0c-6.2,0-12.4,0-18.5,0 c-1.7,0-3-1.2-3.2-2.7c0-0.3-0.1-0.6-0.1-0.9c0-7.6,0-15.2,0-22.8c0-1,0.3-1.8,1-2.5c0.5-0.5,1.2-0.8,1.9-0.8c0.2,0,0.4,0,0.5,0 c7.6,0,15.1,0,22.7,0c0.9,0,1.7,0.2,2.4,0.8c0.7,0.7,1,1.6,1,2.5c0,3.7,0,7.5,0,11.2L35.4,33.9L35.4,33.9z'/%3E%3Cpath class='st3' d='M25.6,9.6c-1.1,4.1-2.1,8.2-3.2,12.3l-8.9-9.1L25.6,9.6z'/%3E%3Cpath class='st3' d='M31.9,18.3L23.1,22c1-4,2.1-8,3.1-11.9l0.1,0L31.9,18.3z'/%3E%3Cpath class='st3' d='M12.1,23.5c0.3-3.3,0.5-6.6,0.8-10l8.7,8.9L12.1,23.5z'/%3E%3Cpath class='st3' d='M17.4,3.8l7.6,5.1L13.3,12L17.4,3.8z'/%3E%3Cpath class='st3' d='M30.5,19.7l-6.7,6.7c-0.3-1.2-0.6-2.4-0.9-3.5L30.5,19.7z'/%3E%3Cpath class='st3' d='M22.1,23.1c0.3,1.2,0.6,2.3,1,3.5l-9.1-2.4l0-0.1L22.1,23.1z'/%3E%3Cpath class='st3' d='M31.3,16l-4.7-6.9l2.5-2L31.3,16L31.3,16z'/%3E%3Cpath class='st3' d='M12.1,12.9c-0.2,2.8-0.4,5.6-0.6,8.4l-0.1,0c-0.8-2.9-1.6-5.9-2.4-8.9L12.1,12.9z'/%3E%3Cpath class='st3' d='M26,8.5l-6.3-4.2l0-0.1l8.6,2.3L26,8.5z'/%3E%3Cpath class='st3' d='M9.5,11.7l6.1-6.3l0.1,0.1l-3.4,6.7L9.5,11.7z'/%3E%3C/svg%3E%0A"); +} +``` + + + Welcome traveler from an antique land. Please sit and tell us of what you have seen. The unheard of monsters, who slither and bite. Tell us of the wondrous items and and artifacts you have found, their mysteries yet to be unlocked. Of the vexing vocations and surprising skills you have seen. ### Homebrew D&D made easy diff --git a/server.js b/server.js index 4c4cb6f63..9e76030e9 100644 --- a/server.js +++ b/server.js @@ -126,6 +126,7 @@ app.get('/', async (req, res, next)=>{ const brew = { text : welcomeText }; + splitTextStyleAndMetadata(brew); req.brew = brew; return next(); }); From 9c574503303c0eb66190fe9676261d449f36bf5d Mon Sep 17 00:00:00 2001 From: Alexey Sachkov Date: Sat, 22 Jan 2022 00:18:13 +0300 Subject: [PATCH 02/21] [NFC] Explicitly define variables before using them Fixed two errors which were discovered by trying to run the code in "strict" mode, which is automatically done by Jest testing framework. --- server/app.js | 3 ++- server/googleActions.js | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/server/app.js b/server/app.js index c36533b9b..db2eaac5f 100644 --- a/server/app.js +++ b/server/app.js @@ -261,7 +261,8 @@ app.use((req, res)=>{ account : req.account, enable_v3 : config.get('enable_v3') }; - templateFn('homebrew', title = req.brew ? req.brew.title : '', props) + const title = req.brew ? req.brew.title : ''; + templateFn('homebrew', title, props) .then((page)=>{ res.send(page); }) .catch((err)=>{ console.log(err); diff --git a/server/googleActions.js b/server/googleActions.js index 0050cb81d..d780dc4ac 100644 --- a/server/googleActions.js +++ b/server/googleActions.js @@ -11,7 +11,7 @@ const config = require('nconf') //let oAuth2Client; -GoogleActions = { +const GoogleActions = { authCheck : (account, res)=>{ if(!account || !account.googleId){ // If not signed into Google From fc1af353f38c5b9049a1625b8121c6ae0488c1a8 Mon Sep 17 00:00:00 2001 From: Alexey Sachkov Date: Sat, 22 Jan 2022 00:36:10 +0300 Subject: [PATCH 03/21] Install and configure required packages for HTTP testing Two new dev dependencies were added: - supertest package to perform HTTP testing - @babel/plugin-transform-runtime Configured jest to so it is able load files from server directory --- package.json | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 7f95e9cb7..e77f33716 100644 --- a/package.json +++ b/package.json @@ -33,18 +33,21 @@ "jest": { "modulePaths": [ "mode_modules", - "shared" - ] + "shared", + "server" + ] }, "babel": { "presets": [ "@babel/preset-env", "@babel/preset-react" + ], + "plugins": [ + "@babel/plugin-transform-runtime" ] }, "dependencies": { "@babel/core": "^7.16.7", - "@babel/plugin-transform-runtime": "^7.16.8", "@babel/preset-env": "^7.16.8", "@babel/preset-react": "^7.16.7", "body-parser": "^1.19.1", @@ -80,8 +83,10 @@ "vitreum": "git+https://git@github.com/calculuschild/vitreum.git" }, "devDependencies": { + "@babel/plugin-transform-runtime": "^7.16.10", "eslint": "^8.7.0", "eslint-plugin-react": "^7.28.0", - "jest": "^27.4.5" + "jest": "^27.4.5", + "supertest": "^6.2.2" } } From 543d65f43f21b19e0b15d1d18670b963800cb901 Mon Sep 17 00:00:00 2001 From: Alexey Sachkov Date: Sat, 22 Jan 2022 00:36:54 +0300 Subject: [PATCH 04/21] Add very first HTTP tests Added tests for "static" pages like Home, Changelog, FAQ, etc. --- tests/routes/static-pages.test.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 tests/routes/static-pages.test.js diff --git a/tests/routes/static-pages.test.js b/tests/routes/static-pages.test.js new file mode 100644 index 000000000..0d86bc307 --- /dev/null +++ b/tests/routes/static-pages.test.js @@ -0,0 +1,29 @@ +const supertest = require('supertest'); + +// Mimic https responses to avoid being redirected all the time +const app = supertest.agent(require('app.js').app) + .set('X-Forwarded-Proto', 'https'); + +describe('Tests for static pages', ()=>{ + it('Home page works', ()=>{ + return app.get('/').expect(200); + }); + + it('Home page v3 works', ()=>{ + return app.get('/v3_preview').expect(200); + }); + + it('Changelog page works', ()=>{ + return app.get('/changelog').expect(200); + }); + + it('FAQ page works', ()=>{ + return app.get('/faq').expect(200); + }); + + // FIXME: robots.txt file can't be properly loaded under testing environment, + // most likely due to __dirname being different from what is expected + it.skip('robots.txt works', ()=>{ + return app.get('/robots.txt').expect(200); + }); +}); From 4fd085b684ecb3676bd45b9191fc4aa717a01b8c Mon Sep 17 00:00:00 2001 From: Alexey Sachkov Date: Sun, 23 Jan 2022 20:00:16 +0300 Subject: [PATCH 05/21] Update package-lock.json --- package-lock.json | 341 ++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 328 insertions(+), 13 deletions(-) diff --git a/package-lock.json b/package-lock.json index bd5d881ef..1321a870f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -49,7 +49,8 @@ "devDependencies": { "eslint": "^8.7.0", "eslint-plugin-react": "^7.28.0", - "jest": "^27.4.5" + "jest": "^27.4.5", + "supertest": "^6.2.2" }, "engines": { "node": "16.11.x" @@ -2981,6 +2982,12 @@ "node": ">=8" } }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true + }, "node_modules/asn1.js": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", @@ -4188,9 +4195,9 @@ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" }, "node_modules/cookiejar": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", - "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz", + "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==" }, "node_modules/copy-anything": { "version": "2.0.1", @@ -4598,6 +4605,16 @@ "node": ">=0.8.0" } }, + "node_modules/dezalgo": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", + "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=", + "dev": true, + "dependencies": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, "node_modules/diff-sequences": { "version": "27.4.0", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.4.0.tgz", @@ -5624,9 +5641,9 @@ "dev": true }, "node_modules/fast-safe-stringify": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", - "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" }, "node_modules/fast-text-encoding": { "version": "1.0.3", @@ -6269,6 +6286,15 @@ "minimalistic-assert": "^1.0.1" } }, + "node_modules/hexoid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", + "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/history": { "version": "4.10.1", "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", @@ -11595,6 +11621,161 @@ "node": ">=10" } }, + "node_modules/supertest": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.2.2.tgz", + "integrity": "sha512-wCw9WhAtKJsBvh07RaS+/By91NNE0Wh0DN19/hWPlBOU8tAfOtbZoVSV4xXeoKoxgPx0rx2y+y+8660XtE7jzg==", + "dev": true, + "dependencies": { + "methods": "^1.1.2", + "superagent": "^7.1.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/supertest/node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/supertest/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/supertest/node_modules/formidable": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.0.1.tgz", + "integrity": "sha512-rjTMNbp2BpfQShhFbR3Ruk3qk2y9jKpvMW78nJgx8QKtxjDVrwbZG+wvDOmVbifHyOUOQJXxqEy6r0faRrPzTQ==", + "dev": true, + "dependencies": { + "dezalgo": "1.0.3", + "hexoid": "1.0.0", + "once": "1.4.0", + "qs": "6.9.3" + }, + "funding": { + "url": "https://ko-fi.com/tunnckoCore/commissions" + } + }, + "node_modules/supertest/node_modules/formidable/node_modules/qs": { + "version": "6.9.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.3.tgz", + "integrity": "sha512-EbZYNarm6138UKKq46tdx08Yo/q9ZhFoAXAI1meAFd2GtbRDhbZY2WQSICskT0c5q99aFzLG1D4nvTk9tqfXIw==", + "dev": true, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/supertest/node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/supertest/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/supertest/node_modules/qs": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/supertest/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/supertest/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/supertest/node_modules/superagent": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.1.tgz", + "integrity": "sha512-CQ2weSS6M+doIwwYFoMatklhRbx6sVNdB99OEJ5czcP3cng76Ljqus694knFWgOj3RkrtxZqIgpe6vhe0J7QWQ==", + "dev": true, + "dependencies": { + "component-emitter": "^1.3.0", + "cookiejar": "^2.1.3", + "debug": "^4.3.3", + "fast-safe-stringify": "^2.1.1", + "form-data": "^4.0.0", + "formidable": "^2.0.1", + "methods": "^1.1.2", + "mime": "^2.5.0", + "qs": "^6.10.1", + "readable-stream": "^3.6.0", + "semver": "^7.3.5" + }, + "engines": { + "node": ">=6.4.0 <13 || >=14" + } + }, "node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -14966,6 +15147,12 @@ "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==" }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true + }, "asn1.js": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", @@ -15951,9 +16138,9 @@ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" }, "cookiejar": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", - "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz", + "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==" }, "copy-anything": { "version": "2.0.1", @@ -16295,6 +16482,16 @@ "minimist": "^1.1.1" } }, + "dezalgo": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", + "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=", + "dev": true, + "requires": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, "diff-sequences": { "version": "27.4.0", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.4.0.tgz", @@ -17091,9 +17288,9 @@ "dev": true }, "fast-safe-stringify": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", - "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" }, "fast-text-encoding": { "version": "1.0.3", @@ -17573,6 +17770,12 @@ "minimalistic-assert": "^1.0.1" } }, + "hexoid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", + "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==", + "dev": true + }, "history": { "version": "4.10.1", "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", @@ -21703,6 +21906,118 @@ } } }, + "supertest": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.2.2.tgz", + "integrity": "sha512-wCw9WhAtKJsBvh07RaS+/By91NNE0Wh0DN19/hWPlBOU8tAfOtbZoVSV4xXeoKoxgPx0rx2y+y+8660XtE7jzg==", + "dev": true, + "requires": { + "methods": "^1.1.2", + "superagent": "^7.1.0" + }, + "dependencies": { + "debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "formidable": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.0.1.tgz", + "integrity": "sha512-rjTMNbp2BpfQShhFbR3Ruk3qk2y9jKpvMW78nJgx8QKtxjDVrwbZG+wvDOmVbifHyOUOQJXxqEy6r0faRrPzTQ==", + "dev": true, + "requires": { + "dezalgo": "1.0.3", + "hexoid": "1.0.0", + "once": "1.4.0", + "qs": "6.9.3" + }, + "dependencies": { + "qs": { + "version": "6.9.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.3.tgz", + "integrity": "sha512-EbZYNarm6138UKKq46tdx08Yo/q9ZhFoAXAI1meAFd2GtbRDhbZY2WQSICskT0c5q99aFzLG1D4nvTk9tqfXIw==", + "dev": true + } + } + }, + "mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "qs": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "superagent": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.1.tgz", + "integrity": "sha512-CQ2weSS6M+doIwwYFoMatklhRbx6sVNdB99OEJ5czcP3cng76Ljqus694knFWgOj3RkrtxZqIgpe6vhe0J7QWQ==", + "dev": true, + "requires": { + "component-emitter": "^1.3.0", + "cookiejar": "^2.1.3", + "debug": "^4.3.3", + "fast-safe-stringify": "^2.1.1", + "form-data": "^4.0.0", + "formidable": "^2.0.1", + "methods": "^1.1.2", + "mime": "^2.5.0", + "qs": "^6.10.1", + "readable-stream": "^3.6.0", + "semver": "^7.3.5" + } + } + } + }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", From 588bcebc877a77a4a357cf54c1459524eaca5b16 Mon Sep 17 00:00:00 2001 From: Alexey Sachkov Date: Fri, 21 Jan 2022 23:11:44 +0300 Subject: [PATCH 06/21] [NFC] Outline config creation into a separate module This is done in order to have config creation rules unified in one place to avoid modifying them multiple times if they change. We already had 3 duplicated pieces of code initializing the config and there will be more config uses in future tests. This resolves #1960 --- server.js | 6 +----- server/config.js | 5 +++++ server/googleActions.js | 6 +----- server/token.js | 6 +----- 4 files changed, 8 insertions(+), 15 deletions(-) create mode 100644 server/config.js diff --git a/server.js b/server.js index c9ce63c8f..3a9b07b51 100644 --- a/server.js +++ b/server.js @@ -1,11 +1,7 @@ const DB = require('./server/db.js'); const server = require('./server/app.js'); -const config = require('nconf') - .argv() - .env({ lowerCase: true }) - .file('environment', { file: `config/${process.env.NODE_ENV}.json` }) - .file('defaults', { file: 'config/default.json' }); +const config = require('./server/config.js'); DB.connect(config).then(()=>{ // Ensure that we have successfully connected to the database diff --git a/server/config.js b/server/config.js new file mode 100644 index 000000000..fc50e68ba --- /dev/null +++ b/server/config.js @@ -0,0 +1,5 @@ +module.exports = require('nconf') + .argv() + .env({ lowerCase: true }) + .file('environment', { file: `config/${process.env.NODE_ENV}.json` }) + .file('defaults', { file: 'config/default.json' }); diff --git a/server/googleActions.js b/server/googleActions.js index 0050cb81d..b4eeba5e3 100644 --- a/server/googleActions.js +++ b/server/googleActions.js @@ -3,11 +3,7 @@ const _ = require('lodash'); const { google } = require('googleapis'); const { nanoid } = require('nanoid'); const token = require('./token.js'); -const config = require('nconf') - .argv() - .env({ lowerCase: true }) // Load environment variables - .file('environment', { file: `config/${process.env.NODE_ENV}.json` }) - .file('defaults', { file: 'config/default.json' }); +const config = require('./config.js'); //let oAuth2Client; diff --git a/server/token.js b/server/token.js index 40d76a484..70d6e01c5 100644 --- a/server/token.js +++ b/server/token.js @@ -1,11 +1,7 @@ const jwt = require('jwt-simple'); // Load configuration values -const config = require('nconf') - .argv() - .env({ lowerCase: true }) // Load environment variables - .file('environment', { file: `config/${process.env.NODE_ENV}.json` }) - .file('defaults', { file: 'config/default.json' }); +const config = require('./config.js'); // Generate an Access Token for the given User ID const generateAccessToken = (account)=>{ From 6fc176e6163bcd055d8e16bbd6153adefa9c1dd6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 25 Jan 2022 03:01:18 +0000 Subject: [PATCH 07/21] Bump mongoose from 6.1.7 to 6.1.8 Bumps [mongoose](https://github.com/Automattic/mongoose) from 6.1.7 to 6.1.8. - [Release notes](https://github.com/Automattic/mongoose/releases) - [Changelog](https://github.com/Automattic/mongoose/blob/master/CHANGELOG.md) - [Commits](https://github.com/Automattic/mongoose/compare/6.1.7...6.1.8) --- updated-dependencies: - dependency-name: mongoose dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 66 ++++++++++++++++++----------------------------- package.json | 2 +- 2 files changed, 26 insertions(+), 42 deletions(-) diff --git a/package-lock.json b/package-lock.json index bd5d881ef..491343856 100644 --- a/package-lock.json +++ b/package-lock.json @@ -33,7 +33,7 @@ "marked-extended-tables": "^1.0.3", "markedLegacy": "npm:marked@^0.3.19", "moment": "^2.29.1", - "mongoose": "^6.1.7", + "mongoose": "^6.1.8", "nanoid": "3.2.0", "nconf": "^0.11.3", "prop-types": "15.8.0", @@ -9237,20 +9237,19 @@ } }, "node_modules/mongoose": { - "version": "6.1.7", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.1.7.tgz", - "integrity": "sha512-GqU/G/5yu/CWBHdW24cfGPsW4rADER+eeXj+bwvb6mLjg6uAASl8GnE6pmEbafZJ4Uv9V7jf5LaBMJMNwvQEtg==", + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.1.8.tgz", + "integrity": "sha512-/voqwU2dtet3zAR73r8jdPhqluU1VzIAnk7ecXPJBgyXKREnwQrz40lfW7fLpaqhmMhsAbA+JQ7ICUn2vAVFLw==", "dependencies": { "@types/node": "< 17.0.6", "bson": "^4.2.2", "kareem": "2.3.3", "mongodb": "4.2.2", "mpath": "0.8.4", - "mquery": "4.0.0", + "mquery": "4.0.2", "ms": "2.1.2", "regexp-clone": "1.0.0", - "sift": "13.5.2", - "sliced": "1.0.1" + "sift": "13.5.2" }, "engines": { "node": ">=12.0.0" @@ -9274,22 +9273,20 @@ } }, "node_modules/mquery": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mquery/-/mquery-4.0.0.tgz", - "integrity": "sha512-nGjm89lHja+T/b8cybAby6H0YgA4qYC/lx6UlwvHGqvTq8bDaNeCwl1sY8uRELrNbVWJzIihxVd+vphGGn1vBw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/mquery/-/mquery-4.0.2.tgz", + "integrity": "sha512-oAVF0Nil1mT3rxty6Zln4YiD6x6QsUWYz927jZzjMxOK2aqmhEz5JQ7xmrKK7xRFA2dwV+YaOpKU/S+vfNqKxA==", "dependencies": { - "debug": "4.x", - "regexp-clone": "^1.0.0", - "sliced": "1.0.1" + "debug": "4.x" }, "engines": { "node": ">=12.0.0" } }, "node_modules/mquery/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "dependencies": { "ms": "2.1.2" }, @@ -10973,11 +10970,6 @@ "node": ">=8" } }, - "node_modules/sliced": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz", - "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E=" - }, "node_modules/snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", @@ -19826,20 +19818,19 @@ } }, "mongoose": { - "version": "6.1.7", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.1.7.tgz", - "integrity": "sha512-GqU/G/5yu/CWBHdW24cfGPsW4rADER+eeXj+bwvb6mLjg6uAASl8GnE6pmEbafZJ4Uv9V7jf5LaBMJMNwvQEtg==", + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.1.8.tgz", + "integrity": "sha512-/voqwU2dtet3zAR73r8jdPhqluU1VzIAnk7ecXPJBgyXKREnwQrz40lfW7fLpaqhmMhsAbA+JQ7ICUn2vAVFLw==", "requires": { "@types/node": "< 17.0.6", "bson": "^4.2.2", "kareem": "2.3.3", "mongodb": "4.2.2", "mpath": "0.8.4", - "mquery": "4.0.0", + "mquery": "4.0.2", "ms": "2.1.2", "regexp-clone": "1.0.0", - "sift": "13.5.2", - "sliced": "1.0.1" + "sift": "13.5.2" }, "dependencies": { "ms": { @@ -19855,19 +19846,17 @@ "integrity": "sha512-DTxNZomBcTWlrMW76jy1wvV37X/cNNxPW1y2Jzd4DZkAaC5ZGsm8bfGfNOthcDuRJujXLqiuS6o3Tpy0JEoh7g==" }, "mquery": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mquery/-/mquery-4.0.0.tgz", - "integrity": "sha512-nGjm89lHja+T/b8cybAby6H0YgA4qYC/lx6UlwvHGqvTq8bDaNeCwl1sY8uRELrNbVWJzIihxVd+vphGGn1vBw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/mquery/-/mquery-4.0.2.tgz", + "integrity": "sha512-oAVF0Nil1mT3rxty6Zln4YiD6x6QsUWYz927jZzjMxOK2aqmhEz5JQ7xmrKK7xRFA2dwV+YaOpKU/S+vfNqKxA==", "requires": { - "debug": "4.x", - "regexp-clone": "^1.0.0", - "sliced": "1.0.1" + "debug": "4.x" }, "dependencies": { "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "requires": { "ms": "2.1.2" } @@ -21198,11 +21187,6 @@ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, - "sliced": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz", - "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E=" - }, "snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", diff --git a/package.json b/package.json index 941270632..a32121ffe 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "marked-extended-tables": "^1.0.3", "markedLegacy": "npm:marked@^0.3.19", "moment": "^2.29.1", - "mongoose": "^6.1.7", + "mongoose": "^6.1.8", "nanoid": "3.2.0", "nconf": "^0.11.3", "prop-types": "15.8.0", From 2db127d805622f598f1cdead5b8c823efbc87eb4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 27 Jan 2022 03:01:08 +0000 Subject: [PATCH 08/21] Bump marked from 4.0.10 to 4.0.11 Bumps [marked](https://github.com/markedjs/marked) from 4.0.10 to 4.0.11. - [Release notes](https://github.com/markedjs/marked/releases) - [Changelog](https://github.com/markedjs/marked/blob/master/.releaserc.json) - [Commits](https://github.com/markedjs/marked/compare/v4.0.10...v4.0.11) --- updated-dependencies: - dependency-name: marked dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index bd5d881ef..566c2dce7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,7 +29,7 @@ "jwt-simple": "^0.5.6", "less": "^3.13.1", "lodash": "^4.17.21", - "marked": "4.0.10", + "marked": "4.0.11", "marked-extended-tables": "^1.0.3", "markedLegacy": "npm:marked@^0.3.19", "moment": "^2.29.1", @@ -8865,9 +8865,9 @@ } }, "node_modules/marked": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.10.tgz", - "integrity": "sha512-+QvuFj0nGgO970fySghXGmuw+Fd0gD2x3+MqCWLIPf5oxdv1Ka6b2q+z9RP01P/IaKPMEramy+7cNy/Lw8c3hw==", + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.11.tgz", + "integrity": "sha512-xL2aJ5JDggqToKOqKHJWIDXaYk24XoGm1mNlhSPFP+0OKRCcKx+/hH7hlAr5LYqBKUzqCANylALgwNstVRgtCw==", "bin": { "marked": "bin/marked.js" }, @@ -19531,9 +19531,9 @@ } }, "marked": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.10.tgz", - "integrity": "sha512-+QvuFj0nGgO970fySghXGmuw+Fd0gD2x3+MqCWLIPf5oxdv1Ka6b2q+z9RP01P/IaKPMEramy+7cNy/Lw8c3hw==" + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.11.tgz", + "integrity": "sha512-xL2aJ5JDggqToKOqKHJWIDXaYk24XoGm1mNlhSPFP+0OKRCcKx+/hH7hlAr5LYqBKUzqCANylALgwNstVRgtCw==" }, "marked-extended-tables": { "version": "1.0.3", diff --git a/package.json b/package.json index 941270632..e275f0d8d 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,7 @@ "jwt-simple": "^0.5.6", "less": "^3.13.1", "lodash": "^4.17.21", - "marked": "4.0.10", + "marked": "4.0.11", "marked-extended-tables": "^1.0.3", "markedLegacy": "npm:marked@^0.3.19", "moment": "^2.29.1", From 22b80ffbb20d63fd6c05eef38506e329bfd26c77 Mon Sep 17 00:00:00 2001 From: Charlie Humphreys Date: Wed, 26 Jan 2022 21:56:12 -0600 Subject: [PATCH 09/21] update app templates for welcome messages, add new images --- client/homebrew/pages/homePage/welcome_msg.md | 38 +++++------------- .../homebrew/pages/homePage/welcome_msg_v3.md | 38 +++++++++--------- scripts/buildHomebrew.js | 3 +- server.js | 2 +- server/app.js | 2 +- server/googleActions.js | 2 +- server/token.js | 2 +- themes/assets/discord.png | Bin 0 -> 3149 bytes themes/assets/discordOfManyThings.svg | 1 + themes/assets/github.png | Bin 0 -> 5033 bytes themes/assets/patreon.png | Bin 0 -> 2436 bytes themes/assets/reddit.png | Bin 0 -> 4073 bytes 12 files changed, 36 insertions(+), 52 deletions(-) create mode 100644 themes/assets/discord.png create mode 100644 themes/assets/discordOfManyThings.svg create mode 100644 themes/assets/github.png create mode 100644 themes/assets/patreon.png create mode 100644 themes/assets/reddit.png diff --git a/client/homebrew/pages/homePage/welcome_msg.md b/client/homebrew/pages/homePage/welcome_msg.md index 77be2bfe7..2a15bd89b 100644 --- a/client/homebrew/pages/homePage/welcome_msg.md +++ b/client/homebrew/pages/homePage/welcome_msg.md @@ -1,27 +1,4 @@ -```css -#header { - display: flex; - flex: 0 0 auto; - justify-content: space-between; -} - -#header a { - color: black; -} - -i.domt:before { - content: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg version='1.1' id='Layer_3' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' height='31' width='31' viewBox='0 0 36 36' style='enable-background:new 0 0 36 36;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bopacity:0.9;%7D .st1%7Bfill:%23001013;%7D .st2%7Bfill:%23FFFFFF;%7D .st3%7Bfill:%23AA2A29;%7D%0A%3C/style%3E%3Cg class='st0'%3E%3Cpath d='M6.2,1.5C6,1.8,5.9,2,5.8,2.3C5.7,2.8,5.5,3.3,5.5,3.9c0,7.7,0,15.3,0,23c0,1.8,1.2,3.3,2.9,3.7c0.2,0,0.5,0.1,0.7,0.1 c6.3,0,12.7,0,19,0h0.6c-0.3-1.1-0.9-3.1-0.9-3.1l0.2,0.2c0,0,3.8,3.5,5.7,5.2c0.2,0.2,0.3,0.4,0.3,0.7c0,0.8,0,1.5,0,2.3 c-0.6-0.5-1.1-0.9-1.6-1.4c-0.9-0.8-1.8-1.6-2.6-2.3c-0.2-0.2-0.4-0.3-0.7-0.3c-7.2,0-14.3,0-21.5,0c-1.9,0-3.1-0.8-3.8-2.6 c-0.1-0.2-0.1-0.5-0.1-0.7c0-7.1,0-14.3,0-21.4V4.8C3.8,3.3,4.7,2.1,6.2,1.5z'/%3E%3C/g%3E%3Cpath class='st1' d='M28,28c0,0,0.5,1.8,0.8,2.8h-0.5c-6.4,0-12.7,0-19.1,0c-1.6,0-3.2-0.9-3.7-3.1c0-0.2,0-0.4,0-0.5 c0-7.8,0-15.7,0-23.5c0-1.8,1.4-3.4,3.2-3.5c0.3,0,0.5,0,0.8,0c7.5,0,15.1,0,22.6,0c1.2,0,2.3,0.3,3.1,1.3c0.6,0.7,0.9,1.5,0.9,2.3 c0,10.2,0,20.5,0,30.7c0,0.1,0,0.2,0,0.4c-0.4-0.3-0.7-0.6-1-0.9c-2.2-2-4.3-3.9-6.5-5.9c-0.1-0.1-0.3-0.3-0.3-0.3l-0.2-0.2L28,28z' /%3E%3Cpath class='st2' d='M35.4,33.9c-0.7-0.6-1.4-1.2-2-1.8c-1.7-1.6-3.4-3.2-5.2-4.8c-0.2-0.2-0.4-0.3-0.7-0.2 c-0.3,0.1-0.3,0.4-0.2,0.7c0.2,0.8,0.4,1.5,0.7,2.2c0,0.1,0,0.1,0,0.2c-0.1,0-0.3,0-0.4,0c-6.2,0-12.4,0-18.5,0 c-1.7,0-3-1.2-3.2-2.7c0-0.3-0.1-0.6-0.1-0.9c0-7.6,0-15.2,0-22.8c0-1,0.3-1.8,1-2.5c0.5-0.5,1.2-0.8,1.9-0.8c0.2,0,0.4,0,0.5,0 c7.6,0,15.1,0,22.7,0c0.9,0,1.7,0.2,2.4,0.8c0.7,0.7,1,1.6,1,2.5c0,3.7,0,7.5,0,11.2L35.4,33.9L35.4,33.9z'/%3E%3Cpath class='st3' d='M25.6,9.6c-1.1,4.1-2.1,8.2-3.2,12.3l-8.9-9.1L25.6,9.6z'/%3E%3Cpath class='st3' d='M31.9,18.3L23.1,22c1-4,2.1-8,3.1-11.9l0.1,0L31.9,18.3z'/%3E%3Cpath class='st3' d='M12.1,23.5c0.3-3.3,0.5-6.6,0.8-10l8.7,8.9L12.1,23.5z'/%3E%3Cpath class='st3' d='M17.4,3.8l7.6,5.1L13.3,12L17.4,3.8z'/%3E%3Cpath class='st3' d='M30.5,19.7l-6.7,6.7c-0.3-1.2-0.6-2.4-0.9-3.5L30.5,19.7z'/%3E%3Cpath class='st3' d='M22.1,23.1c0.3,1.2,0.6,2.3,1,3.5l-9.1-2.4l0-0.1L22.1,23.1z'/%3E%3Cpath class='st3' d='M31.3,16l-4.7-6.9l2.5-2L31.3,16L31.3,16z'/%3E%3Cpath class='st3' d='M12.1,12.9c-0.2,2.8-0.4,5.6-0.6,8.4l-0.1,0c-0.8-2.9-1.6-5.9-2.4-8.9L12.1,12.9z'/%3E%3Cpath class='st3' d='M26,8.5l-6.3-4.2l0-0.1l8.6,2.3L26,8.5z'/%3E%3Cpath class='st3' d='M9.5,11.7l6.1-6.3l0.1,0.1l-3.4,6.7L9.5,11.7z'/%3E%3C/svg%3E%0A"); -} -``` - - Welcome traveler from an antique land. Please sit and tell us of what you have seen. The unheard of monsters, who slither and bite. Tell us of the wondrous items and and artifacts you have found, their mysteries yet to be unlocked. Of the vexing vocations and surprising skills you have seen. @@ -81,17 +58,20 @@ The Homebrewery is licensed using the [MIT License](https://github.com/naturalcr If you wish to sell or in some way gain profit for what you make on this site, it's your responsibility to ensure you have the proper licenses/rights for any images or resources used. ### More Resources -If you are looking for more 5e Homebrew resources check out [r/UnearthedArcana](https://www.reddit.com/r/UnearthedArcana/) and their list of useful resources [here](https://www.reddit.com/r/UnearthedArcana/wiki/resources). +Discord of Many Things Logo +If you are looking for more 5e Homebrew resources check out [r/UnearthedArcana](https://www.reddit.com/r/UnearthedArcana/) and their list of useful resources [here](https://www.reddit.com/r/UnearthedArcana/wiki/resources). The Discord of Many Things is another great resource to connect with fellow homebrewers for help and feedback. - - - +
1
PART 1 | FANCINESS
- - +
+Discord +Github +Patreon +Reddit +
\page diff --git a/client/homebrew/pages/homePage/welcome_msg_v3.md b/client/homebrew/pages/homePage/welcome_msg_v3.md index 9cd1b6062..76dfa134a 100644 --- a/client/homebrew/pages/homePage/welcome_msg_v3.md +++ b/client/homebrew/pages/homePage/welcome_msg_v3.md @@ -1,13 +1,3 @@ -```css -.page #example + table td { - border:1px dashed #00000030; -} - -.page { - padding-bottom : 1.1cm; -} -``` - # The Homebrewery *V3* Welcome traveler from an antique land. Please sit and tell us of what you have seen. The unheard of monsters, who slither and bite. Tell us of the wondrous items and and artifacts you have found, their mysteries yet to be unlocked. Of the vexing vocations and surprising skills you have seen. @@ -44,6 +34,13 @@ If you want to save ink or have a monochrome printer, add the **PRINT → {{fas, [naturalcrit](https://homebrew.naturalcrit.com) }} +{{position:absolute;top:40px;right:-580px +Discord +Github +Patreon +Reddit +}} + {{pageNumber 1}} {{footnote PART 1 | FANCINESS}} @@ -79,12 +76,12 @@ If you wish to sell or in some way gain profit for what's created on this site, #### Crediting Me If you'd like to credit me in your brew, I'd be flattered! Just reference that you made it with The Homebrewery. -### More Homebrew Resources -Check out [r/UnearthedArcana](https://www.reddit.com/r/UnearthedArcana/) and their list of useful resources [here](https://www.reddit.com/r/UnearthedArcana/wiki/resources). - - \page +### More Homebrew Resources +Discord of Many Things Logo +If you are looking for more 5e Homebrew resources check out [r/UnearthedArcana](https://www.reddit.com/r/UnearthedArcana/) and their list of useful resources [here](https://www.reddit.com/r/UnearthedArcana/wiki/resources). The Discord of Many Things is another great resource to connect with fellow homebrewers for help and feedback. + ## Markdown+ The Homebrewery aims to make homebrewing as simple as possible, providing a live editor with Markdown syntax that is more human-readable and faster to write with than raw HTML. @@ -122,6 +119,8 @@ A blank line can be achieved with a run of one or more `:` alone on a line. More Much nicer than `




` +\column + ### Definition Lists V3 uses HTML *definition lists* to create "lists" with hanging indents. @@ -130,14 +129,12 @@ V3 uses HTML *definition lists* to create "lists" with hanging indents. ### Column Breaks Column and page breaks with `\column` and `\page`. -\column - ### Tables Tables now allow column & row spanning between cells. This is included in some updated snippets, but a simplified example is given below. A cell can be spanned across columns by grouping multiple pipe `|` characters at the end of a cell. -Row spanning is achieved by adding a `^` at the end of a cell just before the `|`. +Row spanning is achieved by adding a `^` at the end of a cell just before the `|`. These can be combined to span a cell across both columns and rows. Cells must have the same colspan if they are to be rowspan'd. @@ -164,8 +161,13 @@ Using *Curly Injection* you can assign an id, classes, or specific inline CSS pr ## Snippets Homebrewery comes with a series of *code snippets* found at the top of the editor pane that make it easy to create brews as quickly as possible. Just set your cursor where you want the code to appear in the editor pane, choose a snippet, and make the adjustments you need. +{{pageNumber 2}} +{{footnote PART 2 | BORING STUFF}} + +\page + ## Style Editor Panel {{fa,fa-paint-brush}} Technically released prior to v3 but still new to many users, check out the new **Style Editor** located on the right side of the Snippet bar. This editor accepts CSS for styling without requiring `Discord of Many Things blank \ No newline at end of file diff --git a/themes/assets/github.png b/themes/assets/github.png new file mode 100644 index 0000000000000000000000000000000000000000..9ba6d7768a371c2bb3c9a2e2682fb5f59a9e32c7 GIT binary patch literal 5033 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 literal 0 HcmV?d00001 diff --git a/themes/assets/patreon.png b/themes/assets/patreon.png new file mode 100644 index 0000000000000000000000000000000000000000..6c4c0a67372584ce0d21574b72221f5dbaa9f5ed GIT binary patch literal 2436 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 b?xg<%;9rZ(OEzCJ00000NkvXXu0mjfUU1L% literal 0 HcmV?d00001 From 235f878dbacfb53f5d7f4b79b2c58240b8dac51f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 27 Jan 2022 03:59:52 +0000 Subject: [PATCH 10/21] Bump node-fetch from 2.6.1 to 2.6.7 Bumps [node-fetch](https://github.com/node-fetch/node-fetch) from 2.6.1 to 2.6.7. - [Release notes](https://github.com/node-fetch/node-fetch/releases) - [Commits](https://github.com/node-fetch/node-fetch/compare/v2.6.1...v2.6.7) --- updated-dependencies: - dependency-name: node-fetch dependency-type: indirect ... Signed-off-by: dependabot[bot] --- package-lock.json | 66 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 60 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4e6e641c8..f8995abb8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9390,11 +9390,41 @@ } }, "node_modules/node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, "engines": { "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, "node_modules/node-forge": { @@ -19938,9 +19968,33 @@ "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" }, "node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "requires": { + "whatwg-url": "^5.0.0" + }, + "dependencies": { + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + } + } }, "node-forge": { "version": "0.10.0", From 56fc23f23a9ea6fa8e930e2bf4be969bcaaf6ebd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 27 Jan 2022 14:36:29 +0000 Subject: [PATCH 11/21] Bump cached-path-relative from 1.0.2 to 1.1.0 Bumps [cached-path-relative](https://github.com/ashaffer/cached-path-relative) from 1.0.2 to 1.1.0. - [Release notes](https://github.com/ashaffer/cached-path-relative/releases) - [Commits](https://github.com/ashaffer/cached-path-relative/commits) --- updated-dependencies: - dependency-name: cached-path-relative dependency-type: indirect ... Signed-off-by: dependabot[bot] --- package-lock.json | 80 ++++------------------------------------------- 1 file changed, 6 insertions(+), 74 deletions(-) diff --git a/package-lock.json b/package-lock.json index f89e03a32..b5b6d114f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2658,25 +2658,6 @@ "node": ">= 0.6" } }, - "node_modules/accepts/node_modules/mime-db": { - "version": "1.43.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", - "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/accepts/node_modules/mime-types": { - "version": "2.1.26", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", - "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", - "dependencies": { - "mime-db": "1.43.0" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/acorn": { "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", @@ -3757,9 +3738,9 @@ } }, "node_modules/cached-path-relative": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz", - "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz", + "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==" }, "node_modules/call-bind": { "version": "1.0.2", @@ -12118,25 +12099,6 @@ "node": ">= 0.6" } }, - "node_modules/type-is/node_modules/mime-db": { - "version": "1.43.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", - "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/type-is/node_modules/mime-types": { - "version": "2.1.26", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", - "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", - "dependencies": { - "mime-db": "1.43.0" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", @@ -14893,21 +14855,6 @@ "requires": { "mime-types": "~2.1.24", "negotiator": "0.6.2" - }, - "dependencies": { - "mime-db": { - "version": "1.43.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", - "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==" - }, - "mime-types": { - "version": "2.1.26", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", - "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", - "requires": { - "mime-db": "1.43.0" - } - } } }, "acorn": { @@ -15782,9 +15729,9 @@ } }, "cached-path-relative": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz", - "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz", + "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==" }, "call-bind": { "version": "1.0.2", @@ -22279,21 +22226,6 @@ "requires": { "media-typer": "0.3.0", "mime-types": "~2.1.24" - }, - "dependencies": { - "mime-db": { - "version": "1.43.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", - "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==" - }, - "mime-types": { - "version": "2.1.26", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", - "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", - "requires": { - "mime-db": "1.43.0" - } - } } }, "typedarray": { From 041abf12204ecc86ece5c4fe3ff61e15a0784aa1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 28 Jan 2022 03:00:41 +0000 Subject: [PATCH 12/21] Bump marked from 4.0.11 to 4.0.12 Bumps [marked](https://github.com/markedjs/marked) from 4.0.11 to 4.0.12. - [Release notes](https://github.com/markedjs/marked/releases) - [Changelog](https://github.com/markedjs/marked/blob/master/.releaserc.json) - [Commits](https://github.com/markedjs/marked/compare/v4.0.11...v4.0.12) --- updated-dependencies: - dependency-name: marked dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index f89e03a32..d8078ef51 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,7 +29,7 @@ "jwt-simple": "^0.5.6", "less": "^3.13.1", "lodash": "^4.17.21", - "marked": "4.0.11", + "marked": "4.0.12", "marked-extended-tables": "^1.0.3", "markedLegacy": "npm:marked@^0.3.19", "moment": "^2.29.1", @@ -8891,9 +8891,9 @@ } }, "node_modules/marked": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.11.tgz", - "integrity": "sha512-xL2aJ5JDggqToKOqKHJWIDXaYk24XoGm1mNlhSPFP+0OKRCcKx+/hH7hlAr5LYqBKUzqCANylALgwNstVRgtCw==", + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.12.tgz", + "integrity": "sha512-hgibXWrEDNBWgGiK18j/4lkS6ihTe9sxtV4Q1OQppb/0zzyPSzoFANBa5MfsG/zgsWklmNnhm0XACZOH/0HBiQ==", "bin": { "marked": "bin/marked.js" }, @@ -19726,9 +19726,9 @@ } }, "marked": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.11.tgz", - "integrity": "sha512-xL2aJ5JDggqToKOqKHJWIDXaYk24XoGm1mNlhSPFP+0OKRCcKx+/hH7hlAr5LYqBKUzqCANylALgwNstVRgtCw==" + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.12.tgz", + "integrity": "sha512-hgibXWrEDNBWgGiK18j/4lkS6ihTe9sxtV4Q1OQppb/0zzyPSzoFANBa5MfsG/zgsWklmNnhm0XACZOH/0HBiQ==" }, "marked-extended-tables": { "version": "1.0.3", diff --git a/package.json b/package.json index f0bad7dda..eb5dfedf1 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "jwt-simple": "^0.5.6", "less": "^3.13.1", "lodash": "^4.17.21", - "marked": "4.0.11", + "marked": "4.0.12", "marked-extended-tables": "^1.0.3", "markedLegacy": "npm:marked@^0.3.19", "moment": "^2.29.1", From 039e4dd4e597f316e9ec9c70ff3b0c2c1e551412 Mon Sep 17 00:00:00 2001 From: Trevor Buckner Date: Fri, 28 Jan 2022 00:38:00 -0500 Subject: [PATCH 13/21] Revert extraneous Config changes Looks like these were part of something else? In any case it conflicts with #1981 so just undoing these changes. --- server.js | 2 +- server/app.js | 2 +- server/googleActions.js | 2 +- server/token.js | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/server.js b/server.js index 22db8a63b..c9ce63c8f 100644 --- a/server.js +++ b/server.js @@ -4,7 +4,7 @@ const server = require('./server/app.js'); const config = require('nconf') .argv() .env({ lowerCase: true }) - .file('environment', { file: `${__dirname}/config/${process.env.NODE_ENV}.json` }) + .file('environment', { file: `config/${process.env.NODE_ENV}.json` }) .file('defaults', { file: 'config/default.json' }); DB.connect(config).then(()=>{ diff --git a/server/app.js b/server/app.js index 0c41e7d06..c36533b9b 100644 --- a/server/app.js +++ b/server/app.js @@ -75,7 +75,7 @@ app.use(require('./forcessl.mw.js')); const config = require('nconf') .argv() .env({ lowerCase: true }) - .file('environment', { file: `${__dirname}/../config/${process.env.NODE_ENV}.json` }) + .file('environment', { file: `config/${process.env.NODE_ENV}.json` }) .file('defaults', { file: 'config/default.json' }); //Account Middleware diff --git a/server/googleActions.js b/server/googleActions.js index c075bae4b..0050cb81d 100644 --- a/server/googleActions.js +++ b/server/googleActions.js @@ -6,7 +6,7 @@ const token = require('./token.js'); const config = require('nconf') .argv() .env({ lowerCase: true }) // Load environment variables - .file('environment', { file: `${__dirname}/../config/${process.env.NODE_ENV}.json` }) + .file('environment', { file: `config/${process.env.NODE_ENV}.json` }) .file('defaults', { file: 'config/default.json' }); //let oAuth2Client; diff --git a/server/token.js b/server/token.js index 8baf60e06..40d76a484 100644 --- a/server/token.js +++ b/server/token.js @@ -4,7 +4,7 @@ const jwt = require('jwt-simple'); const config = require('nconf') .argv() .env({ lowerCase: true }) // Load environment variables - .file('environment', { file: `${__dirname}/../config/${process.env.NODE_ENV}.json` }) + .file('environment', { file: `config/${process.env.NODE_ENV}.json` }) .file('defaults', { file: 'config/default.json' }); // Generate an Access Token for the given User ID From 4c08f4a6e1e4ab117265e7bbec292f3bc15cf921 Mon Sep 17 00:00:00 2001 From: Trevor Buckner Date: Fri, 28 Jan 2022 09:44:43 -0500 Subject: [PATCH 14/21] Condense v3_preview to fit on two pages again. --- .../homebrew/pages/homePage/welcome_msg_v3.md | 29 +++++++------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/client/homebrew/pages/homePage/welcome_msg_v3.md b/client/homebrew/pages/homePage/welcome_msg_v3.md index 76dfa134a..704c566f2 100644 --- a/client/homebrew/pages/homePage/welcome_msg_v3.md +++ b/client/homebrew/pages/homePage/welcome_msg_v3.md @@ -47,9 +47,9 @@ If you want to save ink or have a monochrome printer, add the **PRINT → {{fas, \column ## New in V3.0.0 -With the latest major update to *The Homebrewery* we've implemented an extended Markdown-like syntax for block and span elements, plus a few other changes, eliminating the need for HTML tags like `div` and `span` in most cases. No raw HTML tags should be needed in a brew, and going forward, raw HTML will no longer receive debugging support (*but can still be used if you insist*). +We've implemented an extended Markdown-like syntax for block and span elements, plus a few other changes, eliminating the need for HTML tags like `div` and `span` in most cases. No raw HTML tags should be needed in a brew (*but can still be used if you insist*). -Much of the syntax and styling has changed in V3. Code in one version may be broken in the other, and updating an older brew to V3 will require more than just a copy and paste. *However*, all brews made prior to the release of v3.0.0 will still render normally, and you may switch between the "Legacy" brew renderer and the newer "V3" renderer via the {{fa,fa-info-circle}} **Properties** button on your brew at any time. +Much of the syntax and styling has changed in V3, so converting a Legacy brew to V3 (or vice-versa) will require tweaking your document. *However*, all brews made prior to the release of v3.0.0 will still render normally, and you may switch between the "Legacy" brew renderer and the newer "V3" renderer via the {{fa,fa-info-circle}} **Properties** button on your brew at any time. Scroll down to the next page for a brief summary of the changes and new features available in V3! @@ -76,12 +76,12 @@ If you wish to sell or in some way gain profit for what's created on this site, #### Crediting Me If you'd like to credit me in your brew, I'd be flattered! Just reference that you made it with The Homebrewery. -\page - ### More Homebrew Resources Discord of Many Things Logo If you are looking for more 5e Homebrew resources check out [r/UnearthedArcana](https://www.reddit.com/r/UnearthedArcana/) and their list of useful resources [here](https://www.reddit.com/r/UnearthedArcana/wiki/resources). The Discord of Many Things is another great resource to connect with fellow homebrewers for help and feedback. +\page + ## Markdown+ The Homebrewery aims to make homebrewing as simple as possible, providing a live editor with Markdown syntax that is more human-readable and faster to write with than raw HTML. @@ -119,22 +119,20 @@ A blank line can be achieved with a run of one or more `:` alone on a line. More Much nicer than `




` -\column - ### Definition Lists -V3 uses HTML *definition lists* to create "lists" with hanging indents. - -**Senses** :: Here is some text that is long and overflows into a second line, creating a "hanging indent". +**Example** :: V3 uses HTML *definition lists* to create "lists" with hanging indents. ### Column Breaks Column and page breaks with `\column` and `\page`. +\column + ### Tables Tables now allow column & row spanning between cells. This is included in some updated snippets, but a simplified example is given below. A cell can be spanned across columns by grouping multiple pipe `|` characters at the end of a cell. -Row spanning is achieved by adding a `^` at the end of a cell just before the `|`. +Row spanning is achieved by adding a `^` at the end of a cell just before the `|`. These can be combined to span a cell across both columns and rows. Cells must have the same colspan if they are to be rowspan'd. @@ -150,9 +148,9 @@ These can be combined to span a cell across both columns and rows. Cells must ha | 6A | 6B ^| 6C | ## Images -Images must be hosted online somewhere, like [Imgur](https://www.imgur.com). You use the address to that image to reference it in your brew\*. Images can be included using Markdown-style images. +Images must be hosted online somewhere, like [Imgur](https://www.imgur.com). You use the address to that image to reference it in your brew\*. -Using *Curly Injection* you can assign an id, classes, or specific inline CSS properties to the image. +Using *Curly Injection* you can assign an id, classes, or inline CSS properties to the Markdown image syntax. ![alt-text](https://s-media-cache-ak0.pinimg.com/736x/4a/81/79/4a8179462cfdf39054a418efd4cb743e.jpg) {width:100px,border:"2px solid",border-radius:10px} @@ -161,13 +159,8 @@ Using *Curly Injection* you can assign an id, classes, or specific inline CSS pr ## Snippets Homebrewery comes with a series of *code snippets* found at the top of the editor pane that make it easy to create brews as quickly as possible. Just set your cursor where you want the code to appear in the editor pane, choose a snippet, and make the adjustments you need. -{{pageNumber 2}} -{{footnote PART 2 | BORING STUFF}} - -\page - ## Style Editor Panel {{fa,fa-paint-brush}} Technically released prior to v3 but still new to many users, check out the new **Style Editor** located on the right side of the Snippet bar. This editor accepts CSS for styling without requiring `