mirror of
https://github.com/naturalcrit/homebrewery.git
synced 2026-01-10 02:42:43 +00:00
Merge branch 'master' into addEditorThemes-#362
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
FROM node:16.11-alpine
|
FROM node:16.13-alpine
|
||||||
RUN apk --no-cache add git
|
RUN apk --no-cache add git
|
||||||
|
|
||||||
ENV NODE_ENV=docker
|
ENV NODE_ENV=docker
|
||||||
|
|||||||
53
client/icons/book-inside-cover.svg
Normal file
53
client/icons/book-inside-cover.svg
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
viewBox="0 0 704.00001 512"
|
||||||
|
version="1.1"
|
||||||
|
id="svg22127"
|
||||||
|
sodipodi:docname="book-inside-cover.svg"
|
||||||
|
width="704"
|
||||||
|
height="512"
|
||||||
|
inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
|
||||||
|
inkscape:export-filename="InsideCover3.png"
|
||||||
|
inkscape:export-xdpi="300"
|
||||||
|
inkscape:export-ydpi="300"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs22131" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview22129"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#111111"
|
||||||
|
borderopacity="1"
|
||||||
|
inkscape:showpageshadow="0"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pagecheckerboard="1"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="0.47274833"
|
||||||
|
inkscape:cx="83.55397"
|
||||||
|
inkscape:cy="178.74204"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="991"
|
||||||
|
inkscape:window-x="-9"
|
||||||
|
inkscape:window-y="-9"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg22127" />
|
||||||
|
<!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. -->
|
||||||
|
<path
|
||||||
|
id="path2161-6"
|
||||||
|
style="color:#000000;fill:#000000;stroke-width:1;-inkscape-stroke:none;paint-order:stroke fill markers"
|
||||||
|
d="M 208,0 C 147.0078,0 94.429433,14.25071 60.367188,26.66992 23.520854,39.96036 0,76.16076 0,112.95896 v 317.8321 c 0,59.8499 56.949847,92.6546 107.47266,76.6035 l -0.1543,0.049 c 26.46715,-8.335 74.84649,-18.3965 100.68164,-18.3965 17.25807,0 61.31688,10.6183 85.14453,18.8438 l 0.0508,0.018 0.0527,0.018 c 19.82627,6.5858 40.84117,4.9222 58.99804,-3.0762 18.04267,7.8799 38.84257,9.6126 58.33594,3.1328 l 0.13672,-0.045 0.13672,-0.047 c 23.88445,-8.0588 67.88646,-18.8437 85.14453,-18.8437 25.83515,0 74.22549,10.0266 100.68164,18.3964 l 0.1543,0.049 0.15625,0.049 C 647.13371,523.05316 704,490.64216 704,430.79226 v -317.8321 c 0,-36.8274 -23.49583,-72.8235 -60.00977,-86.25583 l -0.16015,-0.0606 -0.16211,-0.0566 C 609.79193,14.33005 557.11269,0.0012 496,0.0012 434.5671,0.0012 387.12553,14.01354 352,34.94261 316.87446,14.01344 269.4331,0.0012 208,0.0012 Z m 0,32.00977 c 58.3999,0 103.40004,18.89469 123,33.63279 3.3,2.4564 5,6.4246 5,10.3926 v 356.5508 c 0,10.7702 -11.70041,18.2326 -22.40039,14.6426 -26.59996,-8.9751 -71.69966,-22.2012 -105.59961,-22.2012 -38.49993,0 -88.40045,11.4317 -119.900391,21.3516 C 76.799621,449.96896 64,442.03166 64,430.78906 V 80.94726 C 64,69.51586 70.799631,58.93546 82.099609,54.87306 110.29956,44.57516 157.50009,32.00977 208,32.00977 Z m 288,0 c 50.49991,0 97.70044,12.56619 125.90039,22.76949 C 633.20037,58.93616 640,69.51586 640,80.94726 v 349.8418 c 0,11.2426 -12.79963,19.0854 -24.09961,15.5899 -31.49995,-9.9199 -81.40046,-21.3516 -119.90039,-21.3516 -33.89995,0 -78.99966,13.2261 -105.59961,22.2012 C 379.60041,450.81856 368,443.35616 368,432.58596 V 76.03516 c 0,-3.968 1.60001,-7.9362 5,-10.3926 19.59997,-14.7381 64.6001,-33.63279 123,-33.63279 z M 335.52734,45.75386 c -0.1289,0.093 -0.23137,0.2032 -0.35937,0.2969 -0.198,0.1477 -0.428,0.2796 -0.625,0.4278 z m 33.67969,0.5372 0.24805,0.1875 c -0.0427,-0.033 -0.0937,-0.061 -0.13672,-0.094 -0.0393,-0.03 -0.0713,-0.064 -0.11133,-0.094 z" />
|
||||||
|
<path
|
||||||
|
style="color:#000000;fill:#000000;fill-opacity:1;stroke-width:1;-inkscape-stroke:none"
|
||||||
|
d="m 206.76992,184 c -36.98368,0 -73.07301,9.2343 -94.76923,16.9066 v 185.1887 c 27.62799,-7.7405 62.70503,-15.0804 94.76923,-15.0804 28.33376,0 58.16312,7.6425 81.23077,14.806 V 203.0154 C 273.60322,195.1776 243.44241,184 206.76992,184 Z"
|
||||||
|
id="path4372-8"
|
||||||
|
sodipodi:nodetypes="sccsccs" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:63.9999;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 255.99995,122.53007 c -31.8285,-15.342 -80.43462,-15.4137 -112,0"
|
||||||
|
id="path2371-6"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 4.0 KiB |
@@ -40,6 +40,9 @@
|
|||||||
.book-front-cover {
|
.book-front-cover {
|
||||||
content: url('../icons/book-front-cover.svg');
|
content: url('../icons/book-front-cover.svg');
|
||||||
}
|
}
|
||||||
|
.book-inside-cover {
|
||||||
|
content: url('../icons/book-inside-cover.svg');
|
||||||
|
}
|
||||||
.davek {
|
.davek {
|
||||||
content: url('../icons/Davek.svg');
|
content: url('../icons/Davek.svg');
|
||||||
}
|
}
|
||||||
|
|||||||
75
package-lock.json
generated
75
package-lock.json
generated
@@ -40,19 +40,19 @@
|
|||||||
"react": "^17.0.2",
|
"react": "^17.0.2",
|
||||||
"react-dom": "^17.0.2",
|
"react-dom": "^17.0.2",
|
||||||
"react-frame-component": "5.2.6",
|
"react-frame-component": "5.2.6",
|
||||||
"react-router-dom": "6.9.0",
|
"react-router-dom": "6.10.0",
|
||||||
"sanitize-filename": "1.6.3",
|
"sanitize-filename": "1.6.3",
|
||||||
"superagent": "^6.1.0",
|
"superagent": "^6.1.0",
|
||||||
"vitreum": "git+https://git@github.com/calculuschild/vitreum.git"
|
"vitreum": "git+https://git@github.com/calculuschild/vitreum.git"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"eslint": "^8.36.0",
|
"eslint": "^8.37.0",
|
||||||
"eslint-plugin-react": "^7.32.2",
|
"eslint-plugin-react": "^7.32.2",
|
||||||
"jest": "^29.5.0",
|
"jest": "^29.5.0",
|
||||||
"supertest": "^6.3.3"
|
"supertest": "^6.3.3"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "16.11.x"
|
"node": "16.13.x"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@ampproject/remapping": {
|
"node_modules/@ampproject/remapping": {
|
||||||
@@ -1741,14 +1741,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@eslint/eslintrc": {
|
"node_modules/@eslint/eslintrc": {
|
||||||
"version": "2.0.1",
|
"version": "2.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.2.tgz",
|
||||||
"integrity": "sha512-eFRmABvW2E5Ho6f5fHLqgena46rOj7r7OKHYfLElqcBfGFHHpjBhivyi5+jOEQuSpdc/1phIZJlbC2te+tZNIw==",
|
"integrity": "sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ajv": "^6.12.4",
|
"ajv": "^6.12.4",
|
||||||
"debug": "^4.3.2",
|
"debug": "^4.3.2",
|
||||||
"espree": "^9.5.0",
|
"espree": "^9.5.1",
|
||||||
"globals": "^13.19.0",
|
"globals": "^13.19.0",
|
||||||
"ignore": "^5.2.0",
|
"ignore": "^5.2.0",
|
||||||
"import-fresh": "^3.2.1",
|
"import-fresh": "^3.2.1",
|
||||||
@@ -1791,9 +1791,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@eslint/js": {
|
"node_modules/@eslint/js": {
|
||||||
"version": "8.36.0",
|
"version": "8.37.0",
|
||||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.36.0.tgz",
|
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.37.0.tgz",
|
||||||
"integrity": "sha512-lxJ9R5ygVm8ZWgYdUweoq5ownDlJ4upvoWmO4eLxBYHdMo+vZ/Rx0EN6MbKWDJOSUGrqJy2Gt+Dyv/VKml0fjg==",
|
"integrity": "sha512-x5vzdtOOGgFVDCUs81QRB2+liax8rFg3+7hqM+QhBG0/G3F1ZsoYl97UrqgHgQ9KKT7G6c4V+aTUCgu/n22v1A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||||
@@ -2663,9 +2663,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@remix-run/router": {
|
"node_modules/@remix-run/router": {
|
||||||
"version": "1.4.0",
|
"version": "1.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.5.0.tgz",
|
||||||
"integrity": "sha512-BJ9SxXux8zAg991UmT8slpwpsd31K1dHHbD3Ba4VzD+liLQ4WAMSxQp2d2ZPRPfN0jN2NPRowcSSoM7lCaF08Q==",
|
"integrity": "sha512-bkUDCp8o1MvFO+qxkODcbhSqRa6P2GXgrGZVpt0dCXNW2HCSCqYI0ZoAqEOSAjRWmmlKcYgFvN4B4S+zo/f8kg==",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=14"
|
"node": ">=14"
|
||||||
}
|
}
|
||||||
@@ -4852,15 +4852,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/eslint": {
|
"node_modules/eslint": {
|
||||||
"version": "8.36.0",
|
"version": "8.37.0",
|
||||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.36.0.tgz",
|
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.37.0.tgz",
|
||||||
"integrity": "sha512-Y956lmS7vDqomxlaaQAHVmeb4tNMp2FWIvU/RnU5BD3IKMD/MJPr76xdyr68P8tV1iNMvN2mRK0yy3c+UjL+bw==",
|
"integrity": "sha512-NU3Ps9nI05GUoVMxcZx1J8CNR6xOvUT4jAUMH5+z8lpp3aEdPVCImKw6PWG4PY+Vfkpr+jvMpxs/qoE7wq0sPw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/eslint-utils": "^4.2.0",
|
"@eslint-community/eslint-utils": "^4.2.0",
|
||||||
"@eslint-community/regexpp": "^4.4.0",
|
"@eslint-community/regexpp": "^4.4.0",
|
||||||
"@eslint/eslintrc": "^2.0.1",
|
"@eslint/eslintrc": "^2.0.2",
|
||||||
"@eslint/js": "8.36.0",
|
"@eslint/js": "8.37.0",
|
||||||
"@humanwhocodes/config-array": "^0.11.8",
|
"@humanwhocodes/config-array": "^0.11.8",
|
||||||
"@humanwhocodes/module-importer": "^1.0.1",
|
"@humanwhocodes/module-importer": "^1.0.1",
|
||||||
"@nodelib/fs.walk": "^1.2.8",
|
"@nodelib/fs.walk": "^1.2.8",
|
||||||
@@ -4871,8 +4871,8 @@
|
|||||||
"doctrine": "^3.0.0",
|
"doctrine": "^3.0.0",
|
||||||
"escape-string-regexp": "^4.0.0",
|
"escape-string-regexp": "^4.0.0",
|
||||||
"eslint-scope": "^7.1.1",
|
"eslint-scope": "^7.1.1",
|
||||||
"eslint-visitor-keys": "^3.3.0",
|
"eslint-visitor-keys": "^3.4.0",
|
||||||
"espree": "^9.5.0",
|
"espree": "^9.5.1",
|
||||||
"esquery": "^1.4.2",
|
"esquery": "^1.4.2",
|
||||||
"esutils": "^2.0.2",
|
"esutils": "^2.0.2",
|
||||||
"fast-deep-equal": "^3.1.3",
|
"fast-deep-equal": "^3.1.3",
|
||||||
@@ -4980,12 +4980,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/eslint-visitor-keys": {
|
"node_modules/eslint-visitor-keys": {
|
||||||
"version": "3.3.0",
|
"version": "3.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz",
|
||||||
"integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
|
"integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/eslint"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/eslint/node_modules/ansi-styles": {
|
"node_modules/eslint/node_modules/ansi-styles": {
|
||||||
@@ -5098,14 +5101,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/espree": {
|
"node_modules/espree": {
|
||||||
"version": "9.5.0",
|
"version": "9.5.1",
|
||||||
"resolved": "https://registry.npmjs.org/espree/-/espree-9.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz",
|
||||||
"integrity": "sha512-JPbJGhKc47++oo4JkEoTe2wjy4fmMwvFpgJT9cQzmfXKp22Dr6Hf1tdCteLz1h0P3t+mGvWZ+4Uankvh8+c6zw==",
|
"integrity": "sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"acorn": "^8.8.0",
|
"acorn": "^8.8.0",
|
||||||
"acorn-jsx": "^5.3.2",
|
"acorn-jsx": "^5.3.2",
|
||||||
"eslint-visitor-keys": "^3.3.0"
|
"eslint-visitor-keys": "^3.4.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||||
@@ -13085,11 +13088,11 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/react-router": {
|
"node_modules/react-router": {
|
||||||
"version": "6.9.0",
|
"version": "6.10.0",
|
||||||
"resolved": "https://registry.npmjs.org/react-router/-/react-router-6.9.0.tgz",
|
"resolved": "https://registry.npmjs.org/react-router/-/react-router-6.10.0.tgz",
|
||||||
"integrity": "sha512-51lKevGNUHrt6kLuX3e/ihrXoXCa9ixY/nVWRLlob4r/l0f45x3SzBvYJe3ctleLUQQ5fVa4RGgJOTH7D9Umhw==",
|
"integrity": "sha512-Nrg0BWpQqrC3ZFFkyewrflCud9dio9ME3ojHCF/WLsprJVzkq3q3UeEhMCAW1dobjeGbWgjNn/PVF6m46ANxXQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@remix-run/router": "1.4.0"
|
"@remix-run/router": "1.5.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=14"
|
"node": ">=14"
|
||||||
@@ -13099,12 +13102,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/react-router-dom": {
|
"node_modules/react-router-dom": {
|
||||||
"version": "6.9.0",
|
"version": "6.10.0",
|
||||||
"resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.9.0.tgz",
|
"resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.10.0.tgz",
|
||||||
"integrity": "sha512-/seUAPY01VAuwkGyVBPCn1OXfVbaWGGu4QN9uj0kCPcTyNYgL1ldZpxZUpRU7BLheKQI4Twtl/OW2nHRF1u26Q==",
|
"integrity": "sha512-E5dfxRPuXKJqzwSe/qGcqdwa18QiWC6f3H3cWXM24qj4N0/beCIf/CWTipop2xm7mR0RCS99NnaqPNjHtrAzCg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@remix-run/router": "1.4.0",
|
"@remix-run/router": "1.5.0",
|
||||||
"react-router": "6.9.0"
|
"react-router": "6.10.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=14"
|
"node": ">=14"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"description": "Create authentic looking D&D homebrews using only markdown",
|
"description": "Create authentic looking D&D homebrews using only markdown",
|
||||||
"version": "3.7.2",
|
"version": "3.7.2",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "16.11.x"
|
"node": "16.13.x"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
@@ -100,13 +100,13 @@
|
|||||||
"react": "^17.0.2",
|
"react": "^17.0.2",
|
||||||
"react-dom": "^17.0.2",
|
"react-dom": "^17.0.2",
|
||||||
"react-frame-component": "5.2.6",
|
"react-frame-component": "5.2.6",
|
||||||
"react-router-dom": "6.9.0",
|
"react-router-dom": "6.10.0",
|
||||||
"sanitize-filename": "1.6.3",
|
"sanitize-filename": "1.6.3",
|
||||||
"superagent": "^6.1.0",
|
"superagent": "^6.1.0",
|
||||||
"vitreum": "git+https://git@github.com/calculuschild/vitreum.git"
|
"vitreum": "git+https://git@github.com/calculuschild/vitreum.git"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"eslint": "^8.36.0",
|
"eslint": "^8.37.0",
|
||||||
"eslint-plugin-react": "^7.32.2",
|
"eslint-plugin-react": "^7.32.2",
|
||||||
"jest": "^29.5.0",
|
"jest": "^29.5.0",
|
||||||
"supertest": "^6.3.3"
|
"supertest": "^6.3.3"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
const MagicGen = require('./snippets/magic.gen.js');
|
const MagicGen = require('./snippets/magic.gen.js');
|
||||||
const ClassTableGen = require('./snippets/classtable.gen.js');
|
const ClassTableGen = require('./snippets/classtable.gen.js');
|
||||||
const MonsterBlockGen = require('./snippets/monsterblock.gen.js');
|
const MonsterBlockGen = require('./snippets/monsterblock.gen.js');
|
||||||
const scriptGen = require('./snippets/script.gen.js');
|
const scriptGen = require('./snippets/script.gen.js');
|
||||||
const ClassFeatureGen = require('./snippets/classfeature.gen.js');
|
const ClassFeatureGen = require('./snippets/classfeature.gen.js');
|
||||||
const CoverPageGen = require('./snippets/coverpage.gen.js');
|
const CoverPageGen = require('./snippets/coverpage.gen.js');
|
||||||
const TableOfContentsGen = require('./snippets/tableOfContents.gen.js');
|
const TableOfContentsGen = require('./snippets/tableOfContents.gen.js');
|
||||||
@@ -172,7 +172,13 @@ module.exports = [
|
|||||||
{
|
{
|
||||||
name : 'Cover Page',
|
name : 'Cover Page',
|
||||||
icon : 'fac book-front-cover',
|
icon : 'fac book-front-cover',
|
||||||
gen : CoverPageGen,
|
gen : CoverPageGen.front,
|
||||||
|
experimental : true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name : 'Inside Cover Page',
|
||||||
|
icon : 'fac book-inside-cover',
|
||||||
|
gen : CoverPageGen.inside,
|
||||||
experimental : true
|
experimental : true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ const titles = [
|
|||||||
'The Living Dead Above the Fearful Cage', 'Bahamut\'s Demonspawn',
|
'The Living Dead Above the Fearful Cage', 'Bahamut\'s Demonspawn',
|
||||||
'Across Gruumsh\'s Elemental Chaos', 'The Blade of Orcus',
|
'Across Gruumsh\'s Elemental Chaos', 'The Blade of Orcus',
|
||||||
'Beyond Revenge', 'Brain of Insanity',
|
'Beyond Revenge', 'Brain of Insanity',
|
||||||
'Breed Battle!, A New Beginning', 'Evil Lake, A New Beginning',
|
'A New Beginning', 'Evil Lake of the Merfolk',
|
||||||
'Invasion of the Gigantic Cat, Part II', 'Kraken War 2020',
|
'Invasion of the Gigantic Cat, Part II', 'Kraken War 2020',
|
||||||
'The Body Whisperers', 'The Doctor from Heaven',
|
'The Body Whisperers', 'The Doctor from Heaven',
|
||||||
'The Diabolical Tales of the Ape-Women', 'The Doctor Immortal',
|
'The Diabolical Tales of the Ape-Women', 'The Doctor Immortal',
|
||||||
@@ -23,7 +23,7 @@ const titles = [
|
|||||||
'Sky of Zelda: The Thunder of Force', 'Core Battle',
|
'Sky of Zelda: The Thunder of Force', 'Core Battle',
|
||||||
'Ruby of Atlantis: The Quake of Peace', 'Deadly Amazement III',
|
'Ruby of Atlantis: The Quake of Peace', 'Deadly Amazement III',
|
||||||
'Dry Chaos IX', 'Gate Thunder',
|
'Dry Chaos IX', 'Gate Thunder',
|
||||||
'Vyse\'s Skies', 'White Greatness III',
|
'Vyse\'s Skies', 'Blue Greatness III',
|
||||||
'Yellow Divinity', 'Zidane\'s Ghost'
|
'Yellow Divinity', 'Zidane\'s Ghost'
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -68,23 +68,43 @@ const footnote = [
|
|||||||
'In an amazing kingdom, in an age of sorcery and lost souls, eight space pirates quest for freedom.'
|
'In an amazing kingdom, in an age of sorcery and lost souls, eight space pirates quest for freedom.'
|
||||||
];
|
];
|
||||||
|
|
||||||
module.exports = ()=>{
|
module.exports = {
|
||||||
return dedent`
|
|
||||||
{{coverPage }}
|
|
||||||
|
|
||||||
{{logo }}
|
front : function() {
|
||||||
|
return dedent`
|
||||||
|
{{frontCover}}
|
||||||
|
|
||||||
# ${_.sample(titles)}
|
{{logo }}
|
||||||
## ${_.sample(subtitles)}
|
|
||||||
__________
|
|
||||||
|
|
||||||
{{banner HOMEBREW}}
|
# ${_.sample(titles)}
|
||||||
|
## ${_.sample(subtitles)}
|
||||||
|
___
|
||||||
|
|
||||||
{{footnote
|
{{banner HOMEBREW}}
|
||||||
${_.sample(footnote)}
|
|
||||||
}}
|
|
||||||
|
|
||||||

|
{{footnote
|
||||||
|
${_.sample(footnote)}
|
||||||
|
}}
|
||||||
|
|
||||||
\page`;
|
{position:absolute,bottom:0,left:0,height:100%}
|
||||||
|
|
||||||
|
\page`;
|
||||||
|
},
|
||||||
|
|
||||||
|
inside : function() {
|
||||||
|
return dedent`
|
||||||
|
{{insideCover}}
|
||||||
|
|
||||||
|
# ${_.sample(titles)}
|
||||||
|
## ${_.sample(subtitles)}
|
||||||
|
___
|
||||||
|
|
||||||
|
{{imageMaskCenter${_.random(1, 16)},--offsetX:0%,--offsetY:0%,--rotation:0
|
||||||
|
{height:100%}
|
||||||
|
}}
|
||||||
|
|
||||||
|
{{logo }}
|
||||||
|
|
||||||
|
\page`;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -678,33 +678,14 @@ h5 + table{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
//*****************************
|
//*****************************
|
||||||
// * COVER PAGE
|
// * FRONT COVER PAGE
|
||||||
// *****************************/
|
// *****************************/
|
||||||
.page:has(.coverPage) {
|
.page:has(.frontCover) {
|
||||||
columns : 1;
|
columns : 1;
|
||||||
text-align : center;
|
text-align : center;
|
||||||
&:after {
|
&:after {
|
||||||
all: unset;
|
all: unset;
|
||||||
}
|
}
|
||||||
.logo {
|
|
||||||
position : absolute;
|
|
||||||
top : 0.5cm;
|
|
||||||
left : 0;
|
|
||||||
right : 0;
|
|
||||||
filter :drop-shadow(0 0 0.075cm black);
|
|
||||||
img {
|
|
||||||
height : 2cm;
|
|
||||||
width : 100%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.columnWrapper > p img {
|
|
||||||
position : absolute;
|
|
||||||
bottom : 0;
|
|
||||||
left : 0;
|
|
||||||
height : 100%;
|
|
||||||
min-width : 100%;
|
|
||||||
z-index : -1;
|
|
||||||
}
|
|
||||||
h1 {
|
h1 {
|
||||||
text-shadow: unset;
|
text-shadow: unset;
|
||||||
filter : drop-shadow(0 0 1.5px black) drop-shadow(0 0 0 black)
|
filter : drop-shadow(0 0 1.5px black) drop-shadow(0 0 0 black)
|
||||||
@@ -713,7 +694,6 @@ h5 + table{
|
|||||||
drop-shadow(0 0 0 black) drop-shadow(0 0 0 black);
|
drop-shadow(0 0 0 black) drop-shadow(0 0 0 black);
|
||||||
text-transform : uppercase;
|
text-transform : uppercase;
|
||||||
font-weight : normal;
|
font-weight : normal;
|
||||||
display : block;
|
|
||||||
margin-top : 1.2cm;
|
margin-top : 1.2cm;
|
||||||
margin-bottom : 0;
|
margin-bottom : 0;
|
||||||
color : white;
|
color : white;
|
||||||
@@ -781,8 +761,65 @@ h5 + table{
|
|||||||
width : 70%;
|
width : 70%;
|
||||||
font-family : Overpass;
|
font-family : Overpass;
|
||||||
}
|
}
|
||||||
|
.logo {
|
||||||
|
position : absolute;
|
||||||
|
top : 0.5cm;
|
||||||
|
left : 0;
|
||||||
|
right : 0;
|
||||||
|
filter : drop-shadow(0 0 0.075cm black);
|
||||||
|
img {
|
||||||
|
height : 2cm;
|
||||||
|
width : 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//*****************************
|
||||||
|
// * INSIDE COVER PAGE
|
||||||
|
// *****************************/
|
||||||
|
.page:has(.insideCover) {
|
||||||
|
columns : 1;
|
||||||
|
text-align : center;
|
||||||
|
&:after {
|
||||||
|
all : unset;
|
||||||
|
}
|
||||||
|
h1 {
|
||||||
|
font-family : NodestoCapsCondensed;
|
||||||
|
font-weight : normal;
|
||||||
|
font-size : 2.1cm;
|
||||||
|
margin-top : 1.2cm;
|
||||||
|
margin-bottom : 0;
|
||||||
|
text-transform : uppercase;
|
||||||
|
line-height : 0.85em;
|
||||||
|
}
|
||||||
|
h2 {
|
||||||
|
font-family : NodestoCapsCondensed;
|
||||||
|
font-weight : normal;
|
||||||
|
font-size : 0.85cm;
|
||||||
|
letter-spacing : 0.5cm;
|
||||||
|
}
|
||||||
|
hr {
|
||||||
|
display : block;
|
||||||
|
position : relative;
|
||||||
|
background-image : @horizontalRule;
|
||||||
|
background-size : 100% 100%;
|
||||||
|
visibility : visible;
|
||||||
|
height : 0.5cm;
|
||||||
|
width : 12cm;
|
||||||
|
border : none;
|
||||||
|
margin : auto;
|
||||||
|
}
|
||||||
|
.logo {
|
||||||
|
position : absolute;
|
||||||
|
bottom : 1cm;
|
||||||
|
left : 0;
|
||||||
|
right : 0;
|
||||||
|
height : 2cm;
|
||||||
|
img {
|
||||||
|
height : 2cm;
|
||||||
|
width : 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//*****************************
|
//*****************************
|
||||||
// * TABLE OF CONTENTS
|
// * TABLE OF CONTENTS
|
||||||
|
|||||||
@@ -2,9 +2,9 @@ const _ = require('lodash');
|
|||||||
const dedent = require('dedent-tabs').default;
|
const dedent = require('dedent-tabs').default;
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
center :()=>{
|
center : ()=>{
|
||||||
return dedent`
|
return dedent`
|
||||||
{{imageMaskCenter${_.random(1, 16)},--offsetX:0%,--offsetY:0%,--rotation:0;
|
{{imageMaskCenter${_.random(1, 16)},--offsetX:0%,--offsetY:0%,--rotation:0
|
||||||
{height:100%}
|
{height:100%}
|
||||||
}}
|
}}
|
||||||
<!-- Use --offsetX to shift the mask left or right (can use cm instead of %)
|
<!-- Use --offsetX to shift the mask left or right (can use cm instead of %)
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
@naturalCritLogo : url('/assets/naturalCritLogo.svg');
|
@naturalCritLogo : url('/assets/naturalCritLogo.svg');
|
||||||
@coverPageBanner : url('/assets/coverPageBanner.svg');
|
@coverPageBanner : url('/assets/coverPageBanner.svg');
|
||||||
@horizontalRule : url('/assets/horizontalRule.svg');
|
@horizontalRule : url('/assets/horizontalRule.svg');
|
||||||
|
@insideCoverMask : url('/assets/insideCoverMask.png');
|
||||||
@scriptBorder : url('/assets/scriptBorder.png');
|
@scriptBorder : url('/assets/scriptBorder.png');
|
||||||
|
|
||||||
// Watercolor Images
|
// Watercolor Images
|
||||||
|
|||||||
BIN
themes/assets/insideCoverMask.png
Normal file
BIN
themes/assets/insideCoverMask.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 262 KiB |
Binary file not shown.
Reference in New Issue
Block a user