From 91d2a36c5aa6148de5f5b3414af4300f1b36257d Mon Sep 17 00:00:00 2001 From: Etzelia Date: Mon, 6 Dec 2021 20:06:07 +0000 Subject: [PATCH] canopy (#6) Hyperlink / IP Branding Changes (#5) Changed Linked Twitter Added all "Important Documents" mds and connected them. Changed Social & Fun hrefs & IPs Co-authored-by: Strailxx Reviewed-on: https://git.canopymc.net/Canopy/birbmc.com/pulls/5 Co-Authored-By: Strailxx Co-Committed-By: Strailxx Changes for branding/Canopy Signed-off-by: Etzelia Co-authored-by: Strailxx Reviewed-on: https://git.canopymc.net/Canopy/canopymc.net/pulls/6 Co-Authored-By: Etzelia Co-Committed-By: Etzelia --- branding.js | 55 ++ package-lock.json | 994 +++++++++++++++++++++++++- package.json | 1 + src/assets/sass/_birbmc.scss | 1 + src/assets/sass/_palette.scss | 5 + src/assets/sass/base/_page.scss | 9 +- src/assets/sass/base/_typography.scss | 4 +- src/assets/sass/layout/_header.scss | 1 - src/assets/sass/libs/_vars.scss | 22 +- src/images/large.svg | 1 + src/images/logo.png | Bin 41539 -> 0 bytes src/images/small.svg | 1 + src/index.html | 48 +- src/pages/lag.md | 44 ++ src/pages/land-claims.md | 41 ++ src/pages/nether.md | 55 ++ src/pages/rules.md | 32 + 17 files changed, 1261 insertions(+), 53 deletions(-) create mode 100644 branding.js create mode 100644 src/assets/sass/_palette.scss create mode 100644 src/images/large.svg delete mode 100644 src/images/logo.png create mode 100644 src/images/small.svg create mode 100644 src/pages/lag.md create mode 100644 src/pages/land-claims.md create mode 100644 src/pages/nether.md create mode 100644 src/pages/rules.md diff --git a/branding.js b/branding.js new file mode 100644 index 0000000..d10e4bb --- /dev/null +++ b/branding.js @@ -0,0 +1,55 @@ +const fs = require('fs'); +const https = require('https'); + +function run() { + palette(); + logo('large'); + logo('small'); +} + +const paletteTemplate = `$palette1: #; +$palette2: #809640; +$palette3: #74873A; +$palette4: #617B30; +$palette5: #413D31;` + +function palette() { + const options = { + hostname: 'git.birbmc.com', + port: 443, + path: '/Canopy/branding/raw/branch/main/palette.json', + method: 'GET' + } + const req = https.request(options, res => { + res.on('data', data => { + const palette = JSON.parse(data); + fs.writeFileSync('src/assets/sass/_palette.scss', `$palette1: #${palette[4]}; +$palette2: #${palette[3]}; +$palette3: #${palette[2]}; +$palette4: #${palette[1]}; +$palette5: #${palette[0]};`); + }); + }); + req.end(); +} + +function logo(size) { + fs.truncateSync(`src/images/${size}.svg`) + const options = { + hostname: 'git.birbmc.com', + port: 443, + path: `/Canopy/branding/raw/branch/main/${size}.svg`, + method: 'GET' + } + const req = https.request(options, res => { + res.on('data', data => { + fs.appendFileSync(`src/images/${size}.svg`, data); + }); + }); + req.end(); +} + +// Run the h*ckin' thing +if (require.main === module) { + run(); +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index f4bb0be..b38cb92 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,8 +1,988 @@ { "name": "birbmc.com", "version": "1.0.0", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "birbmc.com", + "version": "1.0.0", + "license": "IST", + "devDependencies": { + "@fortawesome/fontawesome-free": "^5.15.1", + "copyfiles": "^2.4.0", + "dart-sass": "^1.25.0", + "front-matter": "^4.0.2", + "showdown": "^1.9.1" + } + }, + "node_modules/@fortawesome/fontawesome-free": { + "version": "5.15.1", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.1.tgz", + "integrity": "sha512-OEdH7SyC1suTdhBGW91/zBfR6qaIhThbcN8PUXtXilY4GYnSBbVqOntdHbC1vXwsDnX0Qix2m2+DSU1J51ybOQ==", + "dev": true, + "hasInstallScript": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/chokidar": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", + "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.1.2" + } + }, + "node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/copyfiles": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/copyfiles/-/copyfiles-2.4.0.tgz", + "integrity": "sha512-yGjpR3yjQdxccW8EcJ4a7ZCA6wGER6/Q2Y+b7bXbVxGeSHBf93i9d7MzTsx+VV1CpMKQa3v4ThZfXBcltMzl0w==", + "dev": true, + "dependencies": { + "glob": "^7.0.5", + "minimatch": "^3.0.3", + "mkdirp": "^1.0.4", + "noms": "0.0.0", + "through2": "^2.0.1", + "untildify": "^4.0.0", + "yargs": "^15.3.1" + }, + "bin": { + "copyfiles": "copyfiles", + "copyup": "copyfiles" + } + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "node_modules/dart-sass": { + "version": "1.25.0", + "resolved": "https://registry.npmjs.org/dart-sass/-/dart-sass-1.25.0.tgz", + "integrity": "sha512-syNOAstJXAmvD3RifcDk3fiPMyYE2fY8so6w9gf2/wNlKpG0zyH+oiXubEYVOy1WAWkzOc72pbAxwx+3OU4JJA==", + "deprecated": "This package has been renamed to 'sass'.", + "dev": true, + "dependencies": { + "chokidar": ">=2.0.0 <4.0.0" + }, + "bin": { + "dart-sass": "sass.js" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/front-matter": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/front-matter/-/front-matter-4.0.2.tgz", + "integrity": "sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==", + "dev": true, + "dependencies": { + "js-yaml": "^3.13.1" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "deprecated": "\"Please update to latest v2.3 or v2.2\"", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/noms": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/noms/-/noms-0.0.0.tgz", + "integrity": "sha1-2o69nzr51nYJGbJ9nNyAkqczKFk=", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "~1.0.31" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "node_modules/showdown": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/showdown/-/showdown-1.9.1.tgz", + "integrity": "sha512-9cGuS382HcvExtf5AHk7Cb4pAeQQ+h0eTr33V1mu+crYWV4KvWAw6el92bDrqGEk5d46Ai/fhbEUwqJ/mTCNEA==", + "dev": true, + "dependencies": { + "yargs": "^14.2" + }, + "bin": { + "showdown": "bin/showdown.js" + } + }, + "node_modules/showdown/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/showdown/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/showdown/node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/showdown/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/showdown/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/showdown/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/showdown/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/showdown/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/showdown/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/showdown/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/showdown/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/showdown/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/showdown/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/showdown/node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/showdown/node_modules/yargs": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz", + "integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==", + "dev": true, + "dependencies": { + "cliui": "^5.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^15.0.1" + } + }, + "node_modules/showdown/node_modules/yargs-parser": { + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz", + "integrity": "sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "node_modules/string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/through2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "node_modules/through2/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/through2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + } + }, "dependencies": { "@fortawesome/fontawesome-free": { "version": "5.15.1", @@ -621,6 +1601,12 @@ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, "string-width": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", @@ -632,12 +1618,6 @@ "strip-ansi": "^6.0.0" } }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, "strip-ansi": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", diff --git a/package.json b/package.json index 78b02b7..bfb79bc 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "dist": "npx copyfiles --up 1 src/assets/css/* src/assets/js/* src/assets/webfonts/* src/images/* dist/", "pages": "node pages.js", "index": "node index.js", + "branding": "node branding.js", "build": "npm run webfonts && npm run sass && npm run dist && npm run pages && npm run index" }, "repository": { diff --git a/src/assets/sass/_birbmc.scss b/src/assets/sass/_birbmc.scss index d1792ba..aaf9ecc 100644 --- a/src/assets/sass/_birbmc.scss +++ b/src/assets/sass/_birbmc.scss @@ -1,3 +1,4 @@ .home { margin-left: 1em; } + diff --git a/src/assets/sass/_palette.scss b/src/assets/sass/_palette.scss new file mode 100644 index 0000000..19dd078 --- /dev/null +++ b/src/assets/sass/_palette.scss @@ -0,0 +1,5 @@ +$palette1: #74873A; +$palette2: #617B30; +$palette3: #809640; +$palette4: #413D31; +$palette5: #F4E5CD; \ No newline at end of file diff --git a/src/assets/sass/base/_page.scss b/src/assets/sass/base/_page.scss index 9575744..f0dcd32 100644 --- a/src/assets/sass/base/_page.scss +++ b/src/assets/sass/base/_page.scss @@ -37,13 +37,8 @@ html { } body { - background-color: _palette(bg); - @include vendor( - "background-image", - ( - "linear-gradient(45deg,#{_palette(accent)} 0.00%,#{_palette(accent1)} 6.67%,#{_palette(accent2)} 13.33%,#{_palette(accent3)} 20.00%,#{_palette(accent4)} 26.67%,#{_palette(accent5)} 33.33%,#{_palette(accent4)} 40.00%,#{_palette(accent3)} 46.67%,#{_palette(accent2)} 53.33%,#{_palette(accent1)} 60.00%,#{_palette(accent)} 66.67%,#{_palette(accent1)} 73.33%,#{_palette(accent2)} 80.00%,#{_palette(accent3)} 86.67%,#{_palette(accent4)} 93.33%,#{_palette(accent5)} 100.00%)" - ) - ); + background-color: $palette5; + background-size: 300% 300%; background-position: 100% 0%; diff --git a/src/assets/sass/base/_typography.scss b/src/assets/sass/base/_typography.scss index bf6f46f..c53d953 100644 --- a/src/assets/sass/base/_typography.scss +++ b/src/assets/sass/base/_typography.scss @@ -7,8 +7,8 @@ /* Type */ body { - background-color: _palette(bg); - color: _palette(fg); + background-color: $palette5; + color: $palette4; } body, diff --git a/src/assets/sass/layout/_header.scss b/src/assets/sass/layout/_header.scss index 7d72a64..6f17925 100644 --- a/src/assets/sass/layout/_header.scss +++ b/src/assets/sass/layout/_header.scss @@ -49,7 +49,6 @@ display: block; margin: 0 auto; max-width: 75%; - border-radius: 50%; } } } diff --git a/src/assets/sass/libs/_vars.scss b/src/assets/sass/libs/_vars.scss index 57d1ad8..986ee32 100644 --- a/src/assets/sass/libs/_vars.scss +++ b/src/assets/sass/libs/_vars.scss @@ -1,3 +1,5 @@ +@import "../palette"; + // Misc. $misc: ( z-index-base: 10000, @@ -44,20 +46,20 @@ $palette: ( border2: rgba(255, 255, 255, 0.75), border2-bg: rgba(255, 255, 255, 0.2), invert: ( - bg: #ffffff, - bg-alt: #f7f7f7, - fg: #636363, - fg-bold: #636363, + bg: #F7F7F7, + bg-alt: #FFFFFF7F, + fg: $palette4, + fg-bold: $palette4, fg-light: rgba(99, 99, 99, 0.25), border: #dddddd, border-bg: rgba(222, 222, 222, 0.25), border2: #dddddd, border2-bg: rgba(222, 222, 222, 0.5), ), - accent: #61bb46, - accent1: #fbb828, - accent2: #f8801b, - accent3: #e0393d, - accent4: #953b97, - accent5: #0a9ddb, + accent: $palette5, + accent1: $palette4, + accent2: $palette3, + accent3: $palette2, + accent4: $palette2, + accent5: $palette1, ); diff --git a/src/images/large.svg b/src/images/large.svg new file mode 100644 index 0000000..01d8d29 --- /dev/null +++ b/src/images/large.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/images/logo.png b/src/images/logo.png deleted file mode 100644 index e6a8b3e4bd7105750295b2a2142b80f5c6059ad7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41539 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

AuwqGQSDr_D_@&g{9jJ5 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 \ No newline at end of file diff --git a/src/index.html b/src/index.html index 34a85a5..72d2b0b 100644 --- a/src/index.html +++ b/src/index.html @@ -6,13 +6,13 @@ --> - BirbMC + The Canopy - +

@@ -47,10 +46,10 @@
-

BirbMC

+

The Canopy

- BirbMC is a new semi-vanilla Minecraft server (Java) that + The Canopy is a new semi-vanilla Minecraft server (Java) that launched on June 13th 2020! We are looking to grow our community of active and friendly players.

@@ -90,7 +89,7 @@

Dynmap

- View our server's map in + View our server's map in real time, similarly to google maps! This tool gives our players the ability to view their builds from a birds eye or isometric view, but also explore new regions with navigational ease. @@ -134,25 +133,25 @@

  • Make sure to read our - rules before you join! + rules before you join!

  • Learn about - land claims + land claims

  • - Help reduce lag and keep + Help reduce lag and keep the server running smoothly

  • Set up your - nether portal, and + nether portal, and connect to the tunnel system

  • @@ -164,12 +163,12 @@
    • - Survival server: play.birbmc.com + Survival server: play.canopymc.com

    • - Creative server: creative.birbmc.com + Creative server: creative.canopymc.com

    @@ -181,17 +180,17 @@
  • Take a look around our - dynmap + dynmap

  • - Stats. So many stats. + Stats. So many stats.

  • - Learn about Geoffrey, + Learn about Geoffrey, our shop & location bot.

  • @@ -203,26 +202,23 @@ @@ -245,7 +241,7 @@

    Donations

    - If you donate to help pay + If you donate to help pay for server costs (make sure to leave your IGN in the memo section), you get access to a few @@ -266,7 +262,7 @@ type="text" readonly id="server-ip" - value="play.birbmc.com" + value="play.canopymc.com" />

    diff --git a/src/pages/lag.md b/src/pages/lag.md new file mode 100644 index 0000000..3f09d3d --- /dev/null +++ b/src/pages/lag.md @@ -0,0 +1,44 @@ +--- +title: How to Reduce Server Lag +path: lag +--- + +# How to Reduce Server Lag + +

    +Server lag is something that we try to actively avoid. Staff tries to mitigate it as much as possible ourselves but there are ways you can help! This guide will show you ways you can decrease the lag created by your farms and bases. +

    + +

    +If anything is unclear by the end feel free to contact a staff member! +

    + +# Not Allowed by Any Means + +* Mob farms that do not kill mobs automatically or alternatively do not have a turn off function +* Chunk Loaders +* Lag machines (obviously) + +# Easy Ways to Reduce Lag + +1. **Avoid unnecessary or large amounts of mobs within your render distance** - Mob AI leads to heaps of lag! Villagers being one of the biggest culprits of this We recommend avoiding having more than 100 passive mobs within your render distance. On the Villager front we ask two things from you: + * Have no more than 30 villagers loaded around you at a time *(except being for an "offshore" trading hall more on this in a second `See #2`)* This 30 Villager limit counts for general villagers around your base aswell as in Iron Farms and anything else you would use them for! +

    + +2. **Build villager trading halls outside of render distance (offshore)** - This is a trading hall that is outside away from all your bases and AFKable farms to reduce villager AI as much as possible! While these offshore trading halls can have more than the 30 cap that is set for around bases/AFK Farms please do not go wild! We recommend building the halls **~128 Blocks** away from any main parts of your Base/Farms + +3. **Separate larger laggier farms** - When building your farms do not stack multiple huge farms! Having one large one and a few small ones nearby is perfectly okay but having and loading multiple large farms in one area is call for a lag fest. + +4. **Design mob farms to kill mobs** - **(REQUIRED)** If mob farms/grinders do not kill the mobs they are spawning the mobs are highly likely to be grouped together by design and can cause significant lag. **Mob farms must automatically kill mobs**, but can by design have a toggle to kill them manually when the farm is actively being used. If you only want it to be manual make sure there is a switch to turn the farm off. + +5. **Avoid entity cramming** - The most common cause of this is having a pen of cows/pigs or any other mob with not enough space for the animals this results in entity collisions which can cause significant amounts of lag! Easiest way to reduce this is by: + * **Spreading entities out over as many chunks as possible** - Easiest way to do this is while in game press f3 + g and that will pull up chunk borders! With this information spread your pens out in as many chunks as possible +

    + +6. **Reducing Lag Involving Redstone** - Redstone while fun can also be quite the lag producer! There are a few steps that you can take to lessen the impact of your wired masterpieces!: + * **Completely light up your redstone builds** - A big portion of redstone lag can be pointed towards the light level updates that redstone has to do! Counter this by lighting up your wired area to decrease the amount of light changes happening. + * **Confine redstone builds to as few chunks as possible** - As redstone updates move from chunk to chunk they cause that new chunk to update. That being said reducing the number chunks a redstone build is in decreases the number of updates being made. + * **Design redstone builds/farms that shut off** - Can be as simple as a lever! +

    + +7. **Generally Minimize the use of block entities** - (Item frames, signs, etc.) to name a few! These help increase your general FPS aswell! The more you have down the lower FPS will go! \ No newline at end of file diff --git a/src/pages/land-claims.md b/src/pages/land-claims.md new file mode 100644 index 0000000..3f32084 --- /dev/null +++ b/src/pages/land-claims.md @@ -0,0 +1,41 @@ +--- +title: Land Claiming Rules +path: land-claims +--- + +# Land Claiming Rules + +1. **Building in other people's land claims without permission is not allowed.** Make sure to always check our map to check out existing land claims! + +2. **Refer to rules** for rules specific to the spawn land claim and how to build there. + +3. **After 30 days of inactivity.** Staff may remove your claim and grant it to someone else if there is only the equivilent of **a dirt hut** within it, or shrink your claim towhat's been built within it. + + → Land claims are processed by staff in **#land-claiming** in discord. + +The standard size for a land claim is 100 blocks radius: +* Expansion of said claims are granted when the original claim has been sufficiently filled in with builds + +# How to get a Claim + +**Firstly!** Make sure you are **not** claiming anything within **100 blocks** of the border of a previous claim. If there are any conflicts in who should be granted an area, staff will determine who receives the land claim based on the earliest placed item/block by either user in that area, or move your requested claim away enough that it fits the 100 block limit. + +To make a claim you must: +* Take a screenshot of the area you would like to builld in on dynmap +* Draw a circle around the approximate area you would like to build in +* Make sure to include the center point of your circle you would like to claim +* Post the screenshot in **#land-claiming** for staff to review. Staff will notify you if your claim is approved! +* Please specify if your claim is for a base, farm or town when submitting the claim. + +Example: **Land Claim (Redirects to discord)** + +# Early Week Claiming (First Few Weeks of Season) + +In order to ensure a fair process for who acquires what land, the following processes will be in place at the start of each season: + +1. In order to claim land, you must **place a block or sign or any otheer object** at the location you wish to claim. +2. This placement will be how staff determines who was at a particular spot first if there are any conflicts +3. Post a screenshot in **#land-claiming** claiming and post the center point of your circle +4. Please specify if the claim is for a base, farm or town when submitting your claim. + +Refer to the example above! \ No newline at end of file diff --git a/src/pages/nether.md b/src/pages/nether.md new file mode 100644 index 0000000..9516088 --- /dev/null +++ b/src/pages/nether.md @@ -0,0 +1,55 @@ +--- +title: Finding Your Tunnel and Setting Up Your Portal +path: nether +--- +# Finding Your Tunnel and Setting Up Your Portal + +Nether Portals can be hard to setup so heres a comprehensive guide to set one of your very own up! + +**You will require: 20 Obsidian + Flint and Steel** + +# Correctly Placing Your Portal + +1. Build and light a nether portal at your base in the overworld. + +2. Type `/portal` while standing next to your portal in the overworld and write down the coords it gives you. **(Change the Y coordinate to 130 for the portal in the nether)** + +3. Go into the nether *(Preferably through a portal already connected to the nether hub)* and build a 2nd portal and light it at the coords you have written down. **(Again make sure your portal is at Y:130 so it lines up correctly)** + +# How to choose a Main Tunnel + +* There are 4 Main Tunnels + * One that causes your `X` coordinate to `increase` **(East)** + * One that causes your `X` coordinate to `decrease` **(West)** + * One that causes your `Y` coordinate to `increase` **(South)** + * One that causes your `Y` coordinate to `decrease` **(North)** +* Figure out which coordinate **(X or Z)** is the bigger number **(ignore the negative)** +* Head down the corresponding Main Tunnel until you reach the bigger number. Claim a segment close to that number +* Branch off the Main tunnel to reach your destination. **(The smaller number between X and Z)** + +Thats it you're done! Build your portal and light it! (If it does not link correctly, feel free to reach out to a staff member for help) + +# Nether Rules / Tunnel Guidelines + +

    +PLEASE WAIT UNTIL AFTER THE NETHER HUB AND TUNNELS ARE BUILT BEFORE MAKING YOUR OWN NICE TUNNEL +

    + +* **Tunnel/Portal Rules** + * Staff reserves the right to break any portals that are improperly placed or built. We will always message you if we need to do this, so please read these guidelines to avoid this! + * Player Built Tunnels are to be **spawnproof!** We do not want mobs spawning on the roof with us and around the portals. + * Tunnel Segments should not be combined into a larger tunnel. + * The Pillars at the opening to the main tunnel are **not** to be removed or altered preserving the design of the main tunnel. + +

    +* **Nether Rules** + * No nether farms are to be built within the soft border on the nether roof **(~ +/-650 blocks)** + * Farms underneath the nether roof are ok as long as they do not: + * Cause lag for those passing by + * Do not restrict what can be built on the nether roof + * *For more clarification on farms & whats allowed see:* *here* + + + + + diff --git a/src/pages/rules.md b/src/pages/rules.md new file mode 100644 index 0000000..19a560d --- /dev/null +++ b/src/pages/rules.md @@ -0,0 +1,32 @@ +--- +title: Server Rules +path: rules +--- + +# Server Rules + +1. **Respect one another and don't ruin other's experience.** If you have any problems with a player that you are unable to resolve yourself, contact staff. + +2. **Don't Grief** If you break it on accident, you fix it. + +3. **Don't Steal** If the chest isn't marked free, or you don't have explicit permission from the owner, don't take from it. + +4. **No game-changing mods, such as x-ray, flying, cave finders, etc.** if you are unsure, please ask a staff member. + +5. **The answer to the last question on the whitelist** is `penguin`. + +6. **No duping or using unfair game exploits.** TNT duping is disabled and is not allowed. + +# Spawn Rules + +1. **Staff may change builds at spawn as needed.** Builds that are too big, encroaching on prior builds, are unfinished, or otherwise disruptive may be modified by staff. We will always contact you prior to changing things, unless you have been inactive for an extended period of time on the server. + +2. **Please do not build any shops or markets within the spawn land claim.** With a limited amount of space we ask that shops be built elsewhere. + +3. **No automated or laggy farms/machines at spawn.** Spawn is where new players experience the server for the first time, and these are the most likely to hamper their first impression by dropping their fps. + +4. **Please Try to limit any entities within your builds, such as item frames.** We want players to be able to add entities to their builds, so try to keep your total amount of entities low to reduce FPS impact. Staff may remove and chest these items if you have an excessive amount within your build. + +# Nether Rules + +**See here for everything nether related!**