diff --git a/.eleventy.js b/.eleventy.js index 83ae0ee..b362386 100644 --- a/.eleventy.js +++ b/.eleventy.js @@ -47,6 +47,18 @@ module.exports = function (eleventyConfig) { return dateToCheck < today; }); + // Filter to format the date in the same way we're doing it clientside, to be used in places + eleventyConfig.addFilter("formatTheDate", (date) => { + return new Intl.DateTimeFormat('default', { + month: 'long', + day: 'numeric', + hour: 'numeric', + hour12: true, + timeZoneName: 'short' + }) + .format(new Date(date)) + }) + eleventyConfig.addFilter("slug", (str) => { if (!str) { return; diff --git a/.postcssrc.js b/.postcssrc.js new file mode 100644 index 0000000..72b5158 --- /dev/null +++ b/.postcssrc.js @@ -0,0 +1,10 @@ +module.exports = { + plugins: [ + require('postcss-base64')({ + extensions: ['.svg'], + root: 'src/sass' + }), + require('autoprefixer')(), + require('cssnano')(), + ], + } \ No newline at end of file diff --git a/README.md b/README.md index 9939f33..db3080f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# jsnotoxford +# NotJSOxford Site source for https://not.jsoxford.com, a maybe js, not oxford series of online livestreamed zoom group chats about various topics. diff --git a/package-lock.json b/package-lock.json index ffb2b06..08e3df9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { - "name": "11ty-netlify-jumpstart", - "version": "0.5.0", + "name": "jsnotoxford-site", + "version": "1.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "11ty-netlify-jumpstart", - "version": "0.5.0", + "name": "jsnotoxford-site", + "version": "1.0.0", "license": "ISC", "devDependencies": { "@11ty/eleventy": "^0.11.1", @@ -22,6 +22,7 @@ "markdown-it": "^11.0.1", "markdown-it-anchor": "^5.2.7", "npm-run-all": "^4.1.5", + "postcss-base64": "^0.7.1", "postcss-cli": "^7.1.2", "sass": "^1.32.7", "stylelint": "^13.9.0", @@ -1212,6 +1213,9 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", "dev": true, + "dependencies": { + "graceful-fs": "^4.1.6" + }, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -1462,6 +1466,7 @@ "dependencies": { "anymatch": "~3.1.1", "braces": "~3.0.2", + "fsevents": "~2.3.1", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", @@ -2833,7 +2838,8 @@ "esprima": "^4.0.1", "estraverse": "^4.2.0", "esutils": "^2.0.2", - "optionator": "^0.8.1" + "optionator": "^0.8.1", + "source-map": "~0.6.1" }, "bin": { "escodegen": "bin/escodegen.js", @@ -2928,6 +2934,7 @@ "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", "dev": true, "dependencies": { + "@types/yauzl": "^2.9.1", "debug": "^4.1.1", "get-stream": "^5.1.0", "yauzl": "^2.10.0" @@ -3431,6 +3438,7 @@ "minimist": "^1.2.5", "neo-async": "^2.6.0", "source-map": "^0.6.1", + "uglify-js": "^3.1.4", "wordwrap": "^1.0.0" }, "bin": { @@ -4311,6 +4319,12 @@ "integrity": "sha512-yV+gqbd5vaOYjqlbk16EG89xB5udgjqQF3C5FAORDg4f/IS1Yc5ERCv5e/57yBcfJYw05V5JyIXabhwb75Xxow==", "dev": true }, + "node_modules/js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", + "dev": true + }, "node_modules/js-beautify": { "version": "1.13.5", "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.13.5.tgz", @@ -4470,6 +4484,9 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, + "dependencies": { + "graceful-fs": "^4.1.6" + }, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -4528,7 +4545,24 @@ "resolved": "https://registry.npmjs.org/lambdafs/-/lambdafs-2.0.2.tgz", "integrity": "sha512-gr4FQ1eqNZ4k+VmdK1ZzyrcQFv6Hf2MlIgrBq0hXtgMpxU9hG/uKWsNX/FhfugB2aSucJkT4U9NrIVmnVG8NUg==", "bundleDependencies": [ - "tar-fs" + "tar-fs", + "base64-js", + "bl", + "buffer", + "chownr", + "end-of-stream", + "fs-constants", + "ieee754", + "inherits", + "mkdirp-classic", + "once", + "pump", + "readable-stream", + "safe-buffer", + "string_decoder", + "tar-stream", + "util-deprecate", + "wrappy" ], "dev": true, "dependencies": { @@ -4604,6 +4638,7 @@ }, "node_modules/lambdafs/node_modules/chownr": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", "dev": true, "inBundle": true, @@ -4611,6 +4646,7 @@ }, "node_modules/lambdafs/node_modules/end-of-stream": { "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dev": true, "inBundle": true, @@ -4621,6 +4657,7 @@ }, "node_modules/lambdafs/node_modules/fs-constants": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", "dev": true, "inBundle": true, @@ -4650,6 +4687,7 @@ }, "node_modules/lambdafs/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, "inBundle": true, @@ -4657,6 +4695,7 @@ }, "node_modules/lambdafs/node_modules/mkdirp-classic": { "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", "dev": true, "inBundle": true, @@ -4664,6 +4703,7 @@ }, "node_modules/lambdafs/node_modules/once": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "inBundle": true, @@ -4674,6 +4714,7 @@ }, "node_modules/lambdafs/node_modules/pump": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, "inBundle": true, @@ -4685,6 +4726,7 @@ }, "node_modules/lambdafs/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, "inBundle": true, @@ -4722,6 +4764,7 @@ }, "node_modules/lambdafs/node_modules/string_decoder": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, "inBundle": true, @@ -4764,6 +4807,7 @@ }, "node_modules/lambdafs/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, "inBundle": true, @@ -4771,6 +4815,7 @@ }, "node_modules/lambdafs/node_modules/wrappy": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true, "inBundle": true, @@ -5788,6 +5833,7 @@ "dependencies": { "a-sync-waterfall": "^1.0.0", "asap": "^2.0.3", + "chokidar": "^3.3.0", "commander": "^5.1.0" }, "bin": { @@ -6283,6 +6329,115 @@ "url": "https://opencollective.com/postcss/" } }, + "node_modules/postcss-base64": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/postcss-base64/-/postcss-base64-0.7.1.tgz", + "integrity": "sha512-byYauq0E/SpsMs6EOxWhjpiXrICaZGudlcBxD6yPmieVqAbps9M8WS05AskvdpXHc/c3npwit1sKAulzkuS7kA==", + "dev": true, + "dependencies": { + "postcss": "^5.0.12" + } + }, + "node_modules/postcss-base64/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-base64/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-base64/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-base64/node_modules/chalk/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/postcss-base64/node_modules/has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-base64/node_modules/postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "dependencies": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/postcss-base64/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-base64/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-base64/node_modules/supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "dependencies": { + "has-flag": "^1.0.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/postcss-bem-linter": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/postcss-bem-linter/-/postcss-bem-linter-3.3.0.tgz", @@ -6368,6 +6523,7 @@ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "dependencies": { + "graceful-fs": "^4.1.6", "universalify": "^2.0.0" }, "optionalDependencies": { @@ -7344,6 +7500,9 @@ "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.23.0.tgz", "integrity": "sha512-c29LVsqOaLbBHuIbsTxaKENh1N2EQBOHaWv7gkHN4dgRbxSREqDnDbtFJYdpPauS4YCplMSNCABQ6Eeor69bAA==", "dev": true, + "dependencies": { + "clipboard": "^2.0.0" + }, "optionalDependencies": { "clipboard": "^2.0.0" } @@ -7505,6 +7664,7 @@ "dev": true, "dependencies": { "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", "yargs": "~3.10.0" }, "bin": { @@ -13777,6 +13937,12 @@ "integrity": "sha512-yV+gqbd5vaOYjqlbk16EG89xB5udgjqQF3C5FAORDg4f/IS1Yc5ERCv5e/57yBcfJYw05V5JyIXabhwb75Xxow==", "dev": true }, + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", + "dev": true + }, "js-beautify": { "version": "1.13.5", "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.13.5.tgz", @@ -13987,12 +14153,14 @@ }, "chownr": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", "bundled": true, "dev": true }, "end-of-stream": { "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "bundled": true, "dev": true, @@ -14002,6 +14170,7 @@ }, "fs-constants": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", "bundled": true, "dev": true @@ -14015,18 +14184,21 @@ }, "inherits": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "bundled": true, "dev": true }, "mkdirp-classic": { "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", "bundled": true, "dev": true }, "once": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "bundled": true, "dev": true, @@ -14036,6 +14208,7 @@ }, "pump": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "bundled": true, "dev": true, @@ -14046,6 +14219,7 @@ }, "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==", "bundled": true, "dev": true, @@ -14064,6 +14238,7 @@ }, "string_decoder": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "bundled": true, "dev": true, @@ -14100,12 +14275,14 @@ }, "util-deprecate": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "bundled": true, "dev": true }, "wrappy": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "bundled": true, "dev": true @@ -15334,6 +15511,92 @@ } } }, + "postcss-base64": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/postcss-base64/-/postcss-base64-0.7.1.tgz", + "integrity": "sha512-byYauq0E/SpsMs6EOxWhjpiXrICaZGudlcBxD6yPmieVqAbps9M8WS05AskvdpXHc/c3npwit1sKAulzkuS7kA==", + "dev": true, + "requires": { + "postcss": "^5.0.12" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, "postcss-bem-linter": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/postcss-bem-linter/-/postcss-bem-linter-3.3.0.tgz", diff --git a/package.json b/package.json index 69eb239..c6d9faa 100644 --- a/package.json +++ b/package.json @@ -8,14 +8,15 @@ "watch:eleventy": "eleventy --serve", "build:sass-site": "sass --no-source-map src/sass/style.scss public/css/style.css", "build:sass-social": "sass --no-source-map src/sass/social.scss social/style.css", - "build:sass": "npm-run-all --parallel build:sass-site", + "build:sass": "npm-run-all --parallel build:sass-site build:sass-social", "build:eleventy": "eleventy", - "postbuild": "postcss public/css/*.css -u autoprefixer cssnano -r", + "postbuild": "postcss '(public|social)/**/*.css' -r", "start": "cross-env ELEVENTY_ENV=dev npm-run-all build:sass --parallel watch:*", "build": "cross-env ELEVENTY_ENV=prod npm-run-all build:sass build:eleventy social-images", "lint": "stylelint 'src/sass/**/*.scss' 'src/sass/**/**/*.scss' 'src/sass/**/**/**/*.scss'", "lint:fix": "stylelint --fix 'src/sass/**/*.scss' 'src/sass/**/**/*.scss' 'src/sass/**/**/**/*.scss'", - "social-images": "eleventy-social-images --outputDir public --dataFile social/pages.json --templatePath social/template.html --theme green", + "social-images-cmd": "eleventy-social-images --outputDir public --dataFile social/pages.json --templatePath social/template.html --stylesPath social/style.css", + "social-images": "npm-run-all postbuild social-images-cmd", "bump": "npm --no-git-tag-version version" }, "repository": { @@ -42,6 +43,7 @@ "markdown-it": "^11.0.1", "markdown-it-anchor": "^5.2.7", "npm-run-all": "^4.1.5", + "postcss-base64": "^0.7.1", "postcss-cli": "^7.1.2", "sass": "^1.32.7", "stylelint": "^13.9.0", @@ -54,4 +56,4 @@ "browserslist": [ "last 2 versions" ] -} \ No newline at end of file +} diff --git a/src/_data/meta.js b/src/_data/meta.js index ae9399b..79b388b 100644 --- a/src/_data/meta.js +++ b/src/_data/meta.js @@ -1,6 +1,6 @@ module.exports = { url: "https://not.jsoxford.com/", - siteName: "MaybeNotJSOxford", + siteName: "NotJSOxford", siteDescription: "A monthly catchup about tech (maybe JS), that's online (not in Oxford)", authorName: "JS Oxford", twitterUsername: "JSOxford", // no `@` diff --git a/src/_generate/pagesjson.njk b/src/_generate/pagesjson.njk index f671351..7b47e10 100644 --- a/src/_generate/pagesjson.njk +++ b/src/_generate/pagesjson.njk @@ -3,9 +3,22 @@ permalink: ./social/pages.json permalinkBypassOutputDir: true eleventyExcludeFromCollections: true --- -[{% for pages in collections.all %} +{# Generate image for the home page #} +[ +{# Generate image for other pages #} +{% for pages in collections.all %} + {% if pages.data.previewslug or pages.data.title %} + { + "title":"{{ pages.data.title | addNbsp | safe }}", + "imgName":"{% if pages.data.previewslug %}{{ pages.data.previewslug }}{% else %}{{ pages.data.title | slug }}{% endif %}" + }, + {% endif %} +{% endfor %} +{# Generate image for the events #} +{% for event in collections.events %} { - "title":"{% if pages.data.title %}{{ pages.data.title | addNbsp | safe }}{% else %}{{ meta.siteName }}{% endif %}", - "imgName":"{% if pages.data.title %}{{ pages.data.title | slug}}{% else %}home{% endif %}" + "title":"{{ event.date | formatTheDate }}", + "imgName":"{{ event.fileSlug | slug }}" }{% if loop.last == false %},{% endif %} -{% endfor %}] \ No newline at end of file +{% endfor %} +] \ No newline at end of file diff --git a/src/_generate/socialtemplate.njk b/src/_generate/socialtemplate.njk index 3da724e..32dd774 100644 --- a/src/_generate/socialtemplate.njk +++ b/src/_generate/socialtemplate.njk @@ -8,22 +8,14 @@ eleventyExcludeFromCollections: true - - + + -
-
-

-

- Published on  {{ meta.siteName }} -

-
-
+
+
Not
+
JSOxford
+

{{ title }}

+
diff --git a/src/_includes/layouts/base.njk b/src/_includes/layouts/base.njk index a93d43b..45808b8 100644 --- a/src/_includes/layouts/base.njk +++ b/src/_includes/layouts/base.njk @@ -1,42 +1,44 @@ -{%- set pageTitle %}{% if title %}{{ title }} | {% endif %}{{ meta.siteName }}{% endset -%} -{%- set pageDescription %}{% if description %}{{ description }}{% else %}{{ meta.siteDescription }}{% endif %}{% endset -%} -{%- set pageSocialImg %}{{ meta.url }}/previews/{% if title %}{{ title | slug }}{% else %}home{% endif %}.png{% endset -%} - - {{pageTitle}} - + {% if meta.twitterUsername %} {% endif %} + + {%- set pageTitle %}{% if title %}{{ title }} | {% else %}{% if description %}{{ description | safe}} | {% endif %}{% endif %}{{ meta.siteName }}{% endset -%} + {{pageTitle}} + {%- set pageDescription %}{% if description %}{{ description }}{% else %}{{ meta.siteDescription }}{% endif %}{% endset -%} - - + + + {%- set pageSocialImg %}/previews/{% if previewslug %}{{ previewslug }}{% else %}{{ page.fileSlug }}{% endif %}.png{% endset -%} + + Ben, Seren, and Ryan. You can contact any of us directly either through Twitter, Slack or by grabbing us in person. You can also DM the JSOxford twitter account or email us at organisers@jsoxford.com. +NotJSOxford is organised by the same team that runs JSOxford: Ben, Seren, and Ryan. You can contact any of us directly either through Twitter, Slack or by grabbing us in person. You can also DM the JSOxford twitter account or email us at organisers@jsoxford.com. ## The quick version diff --git a/src/events/2021-01.md b/src/events/2021-01.md index ccec52f..92561f0 100644 --- a/src/events/2021-01.md +++ b/src/events/2021-01.md @@ -1,6 +1,6 @@ --- date: 2021-01-13T19:00:00Z -description: Our first MaybeJSNotOxford 🎉 (or, "?JS!Oxford"?…) +description: Our first MaybeJSNotOxford 🎉 (or, "?JS!Oxford"?… NotJSOxford!) speakers: - who: Ryan twitter: spikeheap diff --git a/src/index.njk b/src/index.njk index 4d4bf94..ae499a9 100644 --- a/src/index.njk +++ b/src/index.njk @@ -1,5 +1,6 @@ --- layout: page +previewslug: home --- {% set all_events = collections.events | reverse %} {% set next_event = all_events[0] %} diff --git a/src/sass/_maybenot.scss b/src/sass/_maybenot.scss index d26983d..25d173d 100644 --- a/src/sass/_maybenot.scss +++ b/src/sass/_maybenot.scss @@ -1,8 +1,6 @@ body { background-color: #20fea1; background-image: url(../img/bg.svg); - - background-size: 100% 100%; background-size: cover; background-attachment: fixed; color: #000; diff --git a/src/sass/social.scss b/src/sass/social.scss new file mode 100644 index 0000000..d6a9d5c --- /dev/null +++ b/src/sass/social.scss @@ -0,0 +1,38 @@ + +@import url('https://fonts.googleapis.com/css2?family=Fira+Sans:ital,wght@1,400;1,700&display=swap'); +body { + background-image: url(../img/bg.svg); + background-color: #20fea1; + background-size: 120% 120%; + background-repeat: no-repeat; + background-position: 50% 50%; + background-attachment: fixed; + margin: 0; + padding: 0; + padding-left: 6vw; + display: flex; + min-height: 100vh; + width: 100%; + justify-content: flex-start; + align-items: center; + box-sizing: border-box; +} +.text { + font-family: Fira Sans; + font-size: 12vw; + font-weight: 400; + font-style: italic; +} +#line1 { + font-weight: 700; +} +#line2 { + +} +#line3 { + font-size: 6vw; + font-style: normal; + margin: 0; + padding: 0; + font-weight: inherit; +} \ No newline at end of file