From 868efc36f6f789c5ffa043cde43682f47a56ee43 Mon Sep 17 00:00:00 2001 From: Jonny Barnes Date: Thu, 25 Jun 2020 20:50:32 +0100 Subject: [PATCH] Minor fixes Improve how we link to external fonts, change csp generating code, fix width of pagination links --- .env.example | 2 + app/Http/Middleware/CSPHeader.php | 57 ++------ composer.lock | 233 +++++++++++++++++------------- config/app.php | 12 ++ public/assets/app.css | 3 +- public/assets/app.css.map | 2 +- resources/sass/_layout-main.scss | 3 +- resources/views/master.blade.php | 2 +- 8 files changed, 164 insertions(+), 150 deletions(-) diff --git a/.env.example b/.env.example index e5b77630..55c27150 100644 --- a/.env.example +++ b/.env.example @@ -64,3 +64,5 @@ APP_LOG=daily SECURE_SESSION_COOKIE=true SLACK_WEBHOOK_URL= + +FONT_LINK= diff --git a/app/Http/Middleware/CSPHeader.php b/app/Http/Middleware/CSPHeader.php index cafd4e69..b086e54d 100644 --- a/app/Http/Middleware/CSPHeader.php +++ b/app/Http/Middleware/CSPHeader.php @@ -22,53 +22,24 @@ class CSPHeader return $next($request) ->header( 'Content-Security-Policy', - str_replace("\\\n", '', "default-src 'self'; \ -script-src 'self' 'unsafe-inline' 'unsafe-eval' \ -https://api.mapbox.com \ -https://api.tiles.mapbox.com \ -https://analytics.jmb.lv \ -https://fathom.jonnybarnes.uk \ -blob:; \ -style-src 'self' 'unsafe-inline' \ -https://api.mapbox.com \ -https://api.tiles.mapbox.com \ -cloud.typography.com; \ -img-src 'self' data: blob: \ -https://pbs.twimg.com \ -https://api.mapbox.com \ -https://*.tiles.mapbox.com \ -https://jbuk-media.s3-eu-west-1.amazonaws.com \ -https://jbuk-media-dev.s3-eu-west-1.amazonaws.com \ -https://secure.gravatar.com \ -https://graph.facebook.com *.fbcdn.net \ -https://*.cdninstagram.com \ -analytics.jmb.lv \ -https://*.4sqi.net \ -https://upload.wikimedia.org \ -p.typekit.net; \ -font-src 'self' \ -https://fonts.gstatic.com \ -use.typekit.net \ -fonts.typekit.net \ -data:; \ -connect-src 'self' \ -https://api.mapbox.com \ -https://*.tiles.mapbox.com \ -https://events.mapbox.com \ -performance.typekit.net \ -data: blob:; \ -worker-src 'self' blob:; \ -frame-src 'self' https://www.youtube.com blob:; \ -child-src blob:; \ -upgrade-insecure-requests; \ -block-all-mixed-content; \ -report-to csp-endpoint; \ -report-uri https://jonnybarnes.report-uri.io/r/default/csp/enforce;") + "default-src 'self'; " . + "script-src 'self' 'unsafe-inline' 'unsafe-eval' https://api.mapbox.com https://api.tiles.mapbox.com blob:; " . + "style-src 'self' 'unsafe-inline' https://api.mapbox.com https://api.tiles.mapbox.com cloud.typography.com jonnybarnes.uk; " . + "img-src 'self' data: blob: https://pbs.twimg.com https://api.mapbox.com https://*.tiles.mapbox.com https://jbuk-media.s3-eu-west-1.amazonaws.com https://jbuk-media-dev.s3-eu-west-1.amazonaws.com https://secure.gravatar.com https://graph.facebook.com *.fbcdn.net https://*.cdninstagram.com https://*.4sqi.net https://upload.wikimedia.org; " . + "font-src 'self' data:; " . + "connect-src 'self' https://api.mapbox.com https://*.tiles.mapbox.com https://events.mapbox.com data: blob:; " . + "worker-src 'self' blob:; " . + "frame-src 'self' https://www.youtube.com blob:; " . + "child-src blob:; " . + "upgrade-insecure-requests; " . + "block-all-mixed-content; " . + "report-to csp-endpoint; " . + "report-uri https://jonnybarnes.report-uri.io/r/default/csp/enforce;" )->header( 'Report-To', '{' . "'url': 'https://jonnybarnes.report-uri.io/r/default/csp/enforce', " . - "'group': 'csp-endpoint'," . + "'group': 'csp-endpoint', " . "'max-age': 10886400" . '}' ); diff --git a/composer.lock b/composer.lock index 4f729f60..d667933b 100644 --- a/composer.lock +++ b/composer.lock @@ -8,16 +8,16 @@ "packages": [ { "name": "aws/aws-sdk-php", - "version": "3.142.6", + "version": "3.143.1", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "09a2e1ef4e684c9636d27029e1b163d90c4c166a" + "reference": "95787e2fa023738835bc2dfceef46b8ccbcdb4ad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/09a2e1ef4e684c9636d27029e1b163d90c4c166a", - "reference": "09a2e1ef4e684c9636d27029e1b163d90c4c166a", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/95787e2fa023738835bc2dfceef46b8ccbcdb4ad", + "reference": "95787e2fa023738835bc2dfceef46b8ccbcdb4ad", "shasum": "" }, "require": { @@ -92,9 +92,9 @@ "support": { "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.142.6" + "source": "https://github.com/aws/aws-sdk-php/tree/3.143.1" }, - "time": "2020-06-19T18:20:04+00:00" + "time": "2020-06-25T18:46:20+00:00" }, { "name": "bosnadev/database", @@ -1123,16 +1123,16 @@ }, { "name": "fideloper/proxy", - "version": "4.3.0", + "version": "4.4.0", "source": { "type": "git", "url": "https://github.com/fideloper/TrustedProxy.git", - "reference": "ec38ad69ee378a1eec04fb0e417a97cfaf7ed11a" + "reference": "9beebf48a1c344ed67c1d36bb1b8709db7c3c1a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fideloper/TrustedProxy/zipball/ec38ad69ee378a1eec04fb0e417a97cfaf7ed11a", - "reference": "ec38ad69ee378a1eec04fb0e417a97cfaf7ed11a", + "url": "https://api.github.com/repos/fideloper/TrustedProxy/zipball/9beebf48a1c344ed67c1d36bb1b8709db7c3c1a8", + "reference": "9beebf48a1c344ed67c1d36bb1b8709db7c3c1a8", "shasum": "" }, "require": { @@ -1175,9 +1175,9 @@ ], "support": { "issues": "https://github.com/fideloper/TrustedProxy/issues", - "source": "https://github.com/fideloper/TrustedProxy/tree/master" + "source": "https://github.com/fideloper/TrustedProxy/tree/4.4.0" }, - "time": "2020-02-22T01:51:47+00:00" + "time": "2020-06-23T01:36:47+00:00" }, { "name": "geo-io/interface", @@ -1777,6 +1777,7 @@ "require-dev": { "phpunit/phpunit": "~5.0" }, + "default-branch": true, "type": "library", "autoload": { "psr-4": { @@ -1922,16 +1923,16 @@ }, { "name": "laravel/framework", - "version": "v7.16.1", + "version": "v7.17.2", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "dc9cd8338d222dec2d9962553639e08c4585fa5b" + "reference": "d16ff3a0a66d98e04163456b39c4b7302cf50a40" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/dc9cd8338d222dec2d9962553639e08c4585fa5b", - "reference": "dc9cd8338d222dec2d9962553639e08c4585fa5b", + "url": "https://api.github.com/repos/laravel/framework/zipball/d16ff3a0a66d98e04163456b39c4b7302cf50a40", + "reference": "d16ff3a0a66d98e04163456b39c4b7302cf50a40", "shasum": "" }, "require": { @@ -2079,7 +2080,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2020-06-16T14:31:25+00:00" + "time": "2020-06-24T13:11:25+00:00" }, { "name": "laravel/horizon", @@ -2433,21 +2434,21 @@ }, { "name": "league/commonmark", - "version": "1.4.3", + "version": "1.5.0", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "412639f7cfbc0b31ad2455b2fe965095f66ae505" + "reference": "fc33ca12575e98e57cdce7d5f38b2ca5335714b3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/412639f7cfbc0b31ad2455b2fe965095f66ae505", - "reference": "412639f7cfbc0b31ad2455b2fe965095f66ae505", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/fc33ca12575e98e57cdce7d5f38b2ca5335714b3", + "reference": "fc33ca12575e98e57cdce7d5f38b2ca5335714b3", "shasum": "" }, "require": { "ext-mbstring": "*", - "php": "^7.1" + "php": "^7.1 || ^8.0" }, "conflict": { "scrutinizer/ocular": "1.7.*" @@ -2469,11 +2470,6 @@ "bin/commonmark" ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, "autoload": { "psr-4": { "League\\CommonMark\\": "src" @@ -2535,7 +2531,7 @@ "type": "tidelift" } ], - "time": "2020-05-04T22:15:21+00:00" + "time": "2020-06-21T20:50:13+00:00" }, { "name": "league/flysystem", @@ -5803,16 +5799,16 @@ }, { "name": "symfony/polyfill-ctype", - "version": "v1.17.0", + "version": "v1.17.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "e94c8b1bbe2bc77507a1056cdb06451c75b427f9" + "reference": "2edd75b8b35d62fd3eeabba73b26b8f1f60ce13d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e94c8b1bbe2bc77507a1056cdb06451c75b427f9", - "reference": "e94c8b1bbe2bc77507a1056cdb06451c75b427f9", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/2edd75b8b35d62fd3eeabba73b26b8f1f60ce13d", + "reference": "2edd75b8b35d62fd3eeabba73b26b8f1f60ce13d", "shasum": "" }, "require": { @@ -5825,6 +5821,10 @@ "extra": { "branch-alias": { "dev-master": "1.17-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { @@ -5858,7 +5858,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.17.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.17.1" }, "funding": [ { @@ -5874,20 +5874,20 @@ "type": "tidelift" } ], - "time": "2020-05-12T16:14:59+00:00" + "time": "2020-06-06T08:46:27+00:00" }, { "name": "symfony/polyfill-iconv", - "version": "v1.17.0", + "version": "v1.17.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "c4de7601eefbf25f9d47190abe07f79fe0a27424" + "reference": "ba6c9c18db36235b859cc29b8372d1c01298c035" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/c4de7601eefbf25f9d47190abe07f79fe0a27424", - "reference": "c4de7601eefbf25f9d47190abe07f79fe0a27424", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/ba6c9c18db36235b859cc29b8372d1c01298c035", + "reference": "ba6c9c18db36235b859cc29b8372d1c01298c035", "shasum": "" }, "require": { @@ -5900,6 +5900,10 @@ "extra": { "branch-alias": { "dev-master": "1.17-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { @@ -5934,7 +5938,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-iconv/tree/v1.17.0" + "source": "https://github.com/symfony/polyfill-iconv/tree/master" }, "funding": [ { @@ -5950,20 +5954,20 @@ "type": "tidelift" } ], - "time": "2020-05-12T16:47:27+00:00" + "time": "2020-06-06T08:46:27+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.17.0", + "version": "v1.17.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "e094b0770f7833fdf257e6ba4775be4e258230b2" + "reference": "6e4dbcf5e81eba86e36731f94fe56b1726835846" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/e094b0770f7833fdf257e6ba4775be4e258230b2", - "reference": "e094b0770f7833fdf257e6ba4775be4e258230b2", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/6e4dbcf5e81eba86e36731f94fe56b1726835846", + "reference": "6e4dbcf5e81eba86e36731f94fe56b1726835846", "shasum": "" }, "require": { @@ -5976,6 +5980,10 @@ "extra": { "branch-alias": { "dev-master": "1.17-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { @@ -6011,7 +6019,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.17.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.17.1" }, "funding": [ { @@ -6027,20 +6035,20 @@ "type": "tidelift" } ], - "time": "2020-05-12T16:47:27+00:00" + "time": "2020-06-06T08:46:27+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.17.0", + "version": "v1.17.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "3bff59ea7047e925be6b7f2059d60af31bb46d6a" + "reference": "a57f8161502549a742a63c09f0a604997bf47027" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/3bff59ea7047e925be6b7f2059d60af31bb46d6a", - "reference": "3bff59ea7047e925be6b7f2059d60af31bb46d6a", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a57f8161502549a742a63c09f0a604997bf47027", + "reference": "a57f8161502549a742a63c09f0a604997bf47027", "shasum": "" }, "require": { @@ -6055,6 +6063,10 @@ "extra": { "branch-alias": { "dev-master": "1.17-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { @@ -6090,7 +6102,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/master" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.17.1" }, "funding": [ { @@ -6106,20 +6118,20 @@ "type": "tidelift" } ], - "time": "2020-05-12T16:47:27+00:00" + "time": "2020-06-06T08:46:27+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.17.0", + "version": "v1.17.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "1357b1d168eb7f68ad6a134838e46b0b159444a9" + "reference": "40309d1700e8f72447bb9e7b54af756eeea35620" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/1357b1d168eb7f68ad6a134838e46b0b159444a9", - "reference": "1357b1d168eb7f68ad6a134838e46b0b159444a9", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/40309d1700e8f72447bb9e7b54af756eeea35620", + "reference": "40309d1700e8f72447bb9e7b54af756eeea35620", "shasum": "" }, "require": { @@ -6132,6 +6144,10 @@ "extra": { "branch-alias": { "dev-master": "1.17-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { @@ -6170,7 +6186,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.17.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/master" }, "funding": [ { @@ -6186,20 +6202,20 @@ "type": "tidelift" } ], - "time": "2020-05-12T16:14:59+00:00" + "time": "2020-06-14T14:40:37+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.17.0", + "version": "v1.17.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "fa79b11539418b02fc5e1897267673ba2c19419c" + "reference": "7110338d81ce1cbc3e273136e4574663627037a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fa79b11539418b02fc5e1897267673ba2c19419c", - "reference": "fa79b11539418b02fc5e1897267673ba2c19419c", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/7110338d81ce1cbc3e273136e4574663627037a7", + "reference": "7110338d81ce1cbc3e273136e4574663627037a7", "shasum": "" }, "require": { @@ -6212,6 +6228,10 @@ "extra": { "branch-alias": { "dev-master": "1.17-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { @@ -6246,7 +6266,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.17.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/master" }, "funding": [ { @@ -6262,7 +6282,7 @@ "type": "tidelift" } ], - "time": "2020-05-12T16:47:27+00:00" + "time": "2020-06-06T08:46:27+00:00" }, { "name": "symfony/polyfill-php72", @@ -6338,16 +6358,16 @@ }, { "name": "symfony/polyfill-php73", - "version": "v1.17.0", + "version": "v1.17.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "a760d8964ff79ab9bf057613a5808284ec852ccc" + "reference": "fa0837fe02d617d31fbb25f990655861bb27bd1a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/a760d8964ff79ab9bf057613a5808284ec852ccc", - "reference": "a760d8964ff79ab9bf057613a5808284ec852ccc", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fa0837fe02d617d31fbb25f990655861bb27bd1a", + "reference": "fa0837fe02d617d31fbb25f990655861bb27bd1a", "shasum": "" }, "require": { @@ -6357,6 +6377,10 @@ "extra": { "branch-alias": { "dev-master": "1.17-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { @@ -6393,7 +6417,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/master" + "source": "https://github.com/symfony/polyfill-php73/tree/v1.17.1" }, "funding": [ { @@ -6409,20 +6433,20 @@ "type": "tidelift" } ], - "time": "2020-05-12T16:47:27+00:00" + "time": "2020-06-06T08:46:27+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.17.0", + "version": "v1.17.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "5e30b2799bc1ad68f7feb62b60a73743589438dd" + "reference": "4a5b6bba3259902e386eb80dd1956181ee90b5b2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/5e30b2799bc1ad68f7feb62b60a73743589438dd", - "reference": "5e30b2799bc1ad68f7feb62b60a73743589438dd", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/4a5b6bba3259902e386eb80dd1956181ee90b5b2", + "reference": "4a5b6bba3259902e386eb80dd1956181ee90b5b2", "shasum": "" }, "require": { @@ -6432,6 +6456,10 @@ "extra": { "branch-alias": { "dev-master": "1.17-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { @@ -6472,7 +6500,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.17.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.17.1" }, "funding": [ { @@ -6488,7 +6516,7 @@ "type": "tidelift" } ], - "time": "2020-05-12T16:47:27+00:00" + "time": "2020-06-06T08:46:27+00:00" }, { "name": "symfony/process", @@ -7830,16 +7858,16 @@ }, { "name": "composer/composer", - "version": "1.10.7", + "version": "1.10.8", "source": { "type": "git", "url": "https://github.com/composer/composer.git", - "reference": "956608ea4f7de9e58c53dfb019d85ae62b193c39" + "reference": "56e0e094478f30935e9128552188355fa9712291" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/956608ea4f7de9e58c53dfb019d85ae62b193c39", - "reference": "956608ea4f7de9e58c53dfb019d85ae62b193c39", + "url": "https://api.github.com/repos/composer/composer/zipball/56e0e094478f30935e9128552188355fa9712291", + "reference": "56e0e094478f30935e9128552188355fa9712291", "shasum": "" }, "require": { @@ -7858,12 +7886,11 @@ "symfony/process": "^2.7 || ^3.0 || ^4.0 || ^5.0" }, "conflict": { - "symfony/console": "2.8.38", - "symfony/phpunit-bridge": "3.4.40" + "symfony/console": "2.8.38" }, "require-dev": { "phpspec/prophecy": "^1.10", - "symfony/phpunit-bridge": "^3.4" + "symfony/phpunit-bridge": "^4.2" }, "suggest": { "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", @@ -7910,7 +7937,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/composer/issues", - "source": "https://github.com/composer/composer/tree/1.10.7" + "source": "https://github.com/composer/composer/tree/1.10.8" }, "funding": [ { @@ -7926,7 +7953,7 @@ "type": "tidelift" } ], - "time": "2020-06-03T08:03:56+00:00" + "time": "2020-06-24T19:23:30+00:00" }, { "name": "composer/semver", @@ -9124,16 +9151,16 @@ }, { "name": "ocramius/package-versions", - "version": "1.8.0", + "version": "1.9.0", "source": { "type": "git", "url": "https://github.com/Ocramius/PackageVersions.git", - "reference": "421679846270a5772534828013a93be709fb13df" + "reference": "94c9d42a466c57f91390cdd49c81313264f49d85" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Ocramius/PackageVersions/zipball/421679846270a5772534828013a93be709fb13df", - "reference": "421679846270a5772534828013a93be709fb13df", + "url": "https://api.github.com/repos/Ocramius/PackageVersions/zipball/94c9d42a466c57f91390cdd49c81313264f49d85", + "reference": "94c9d42a466c57f91390cdd49c81313264f49d85", "shasum": "" }, "require": { @@ -9145,7 +9172,7 @@ "doctrine/coding-standard": "^7.0.2", "ext-zip": "^1.15.0", "infection/infection": "^0.15.3", - "phpunit/phpunit": "^9.0.1", + "phpunit/phpunit": "^9.1.1", "vimeo/psalm": "^3.9.3" }, "type": "composer-plugin", @@ -9173,7 +9200,7 @@ "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)", "support": { "issues": "https://github.com/Ocramius/PackageVersions/issues", - "source": "https://github.com/Ocramius/PackageVersions/tree/1.8.0" + "source": "https://github.com/Ocramius/PackageVersions/tree/1.9.0" }, "funding": [ { @@ -9185,7 +9212,7 @@ "type": "tidelift" } ], - "time": "2020-04-06T17:43:35+00:00" + "time": "2020-06-22T14:15:44+00:00" }, { "name": "openlss/lib-array2xml", @@ -10022,16 +10049,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.2.3", + "version": "9.2.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "c1b1d62095ef78427f112a7a1c1502d4607e3c00" + "reference": "ad7cc5ec3ab2597b329880e30442d9054526023b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c1b1d62095ef78427f112a7a1c1502d4607e3c00", - "reference": "c1b1d62095ef78427f112a7a1c1502d4607e3c00", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/ad7cc5ec3ab2597b329880e30442d9054526023b", + "reference": "ad7cc5ec3ab2597b329880e30442d9054526023b", "shasum": "" }, "require": { @@ -10120,7 +10147,7 @@ "type": "github" } ], - "time": "2020-06-15T10:51:34+00:00" + "time": "2020-06-22T07:10:55+00:00" }, { "name": "sebastian/code-unit", @@ -11202,16 +11229,16 @@ }, { "name": "vimeo/psalm", - "version": "3.11.6", + "version": "3.12.1", "source": { "type": "git", "url": "https://github.com/vimeo/psalm.git", - "reference": "7fc1f50f54bd6b174b1c43a37c1b0b151915d55c" + "reference": "9b860214d58c48b5cbe99bdb17914d0eb723c9cd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vimeo/psalm/zipball/7fc1f50f54bd6b174b1c43a37c1b0b151915d55c", - "reference": "7fc1f50f54bd6b174b1c43a37c1b0b151915d55c", + "url": "https://api.github.com/repos/vimeo/psalm/zipball/9b860214d58c48b5cbe99bdb17914d0eb723c9cd", + "reference": "9b860214d58c48b5cbe99bdb17914d0eb723c9cd", "shasum": "" }, "require": { @@ -11297,9 +11324,9 @@ ], "support": { "issues": "https://github.com/vimeo/psalm/issues", - "source": "https://github.com/vimeo/psalm/tree/3.11.6" + "source": "https://github.com/vimeo/psalm/tree/3.12.1" }, - "time": "2020-06-17T20:40:35+00:00" + "time": "2020-06-23T00:24:34+00:00" }, { "name": "webmozart/assert", diff --git a/config/app.php b/config/app.php index 36073dd8..d63fe83d 100644 --- a/config/app.php +++ b/config/app.php @@ -156,6 +156,18 @@ return [ 'cipher' => 'AES-256-CBC', + /* + |-------------------------------------------------------------------------- + | Font Link + |-------------------------------------------------------------------------- + | + | If you have a css link to Adobe’s Typekit or Hoefler&Co’s Typography + | then specify the link here. + | + */ + + 'font_link' => env('FONT_LINK', null), + /* |-------------------------------------------------------------------------- | Autoloaded Service Providers diff --git a/public/assets/app.css b/public/assets/app.css index 2b77e6f5..c0f7ede2 100644 --- a/public/assets/app.css +++ b/public/assets/app.css @@ -95,8 +95,9 @@ article header .post-info { .pagination { display: flex; flex-direction: row; + flex-wrap: wrap; justify-content: space-evenly; - width: 90vw; + max-width: 90vw; list-style-type: none; } .personal-bio { diff --git a/public/assets/app.css.map b/public/assets/app.css.map index 03e93317..c60ed80b 100644 --- a/public/assets/app.css.map +++ b/public/assets/app.css.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///./resources/sass/_variables.scss","webpack:///./resources/sass/_base.scss","webpack:///./resources/sass/_layout-main.scss","webpack:///./resources/sass/_link-styles.scss","webpack:///./resources/sass/_posse.scss"],"names":[],"mappings":"AAAA;EACI;EACA,+DAAkB;EAClB,oDAAsB;EACtB,+EAAuB;EAEvB;EACA,2BAAmB;EACnB,yBAAiB;EACjB,0BAAkB;EAClB,uBAAe;EACf,4BAAoB;EAEpB;EACA,uBAAe;EACf,qBAAa;EACb,0BAAkB;EAClB,0BAAkB;EAClB,yBAAiB;;AClBrB;EACI,mCAAmC;EACnC,kBAAkB;EAClB,gBAAgB;EAChB,eAAe;EACf,yCAAyC;EACzC,6BAA6B;;AAGjC;;;;;;EAMI,uCAAuC;EACvC,kBAAkB;EAClB,gBAAgB;;AAGpB;;EAEI,wCAAwC;EACxC,kBAAkB;EAClB,gBAAgB;;AAGpB;EACI,6BAA6B;EAC7B,qBAAqB;;AAGzB;;EAEI,gBAAgB;;AClCpB;EACI,aAAa;EACb,sBAAsB;;AAG1B;EAMI,aAAa;EACb,sBAAsB;EACtB,YAAY;EAPZ;IADJ;MAEQ,gBAAgB;MAChB,iBAAiB,IAyBxB;EA5BD;IAWQ,eAAe;EAGnB;IAdJ;MAeQ,gBAAgB;MAfxB;;QAmBY,eAAe,IAClB;EApBT;IAyBY,iBAAiB;;AAK7B;EACI,aAAa;EACb,sBAAsB;EAF1B;IAKQ,aAAa;IACb,mBAAmB;IACnB,8BAA8B;IAPtC;MAUY,qBAAqB;IAVjC;MAegB,WAAW;MACX,UAAU;EAhB1B;IAwBgB,cAAc;;AAM9B;EAGY,gBAAgB;;AAH5B;EAOY,iBAAiB;;AAK7B;EACI,aAAa;EACb,mBAAmB;EACnB,6BAA6B;EAC7B,WAAW;EACX,qBAAqB;;AAGzB;EACI,eAAe;;AAGnB;EACI,aAAa;EACb,sBAAsB;EACtB,mBAAmB;EACnB,kBAAkB;EAGd;IAPR;MAQY,eAAe,IAEtB;EAVL;IAaQ,eAAe;EAGnB;IAhBJ;MAiBQ,gBAAgB;MAChB,iBAAiB,IAExB;;AAED;EACI,aAAa;EACb,sBAAsB;EACtB,uBAAuB;EAH3B;IAMQ,WAAW;IACX,kBAAkB;EAP1B;IAWQ,aAAa;IACb,uBAAuB;IACvB,eAAe;IAbvB;MAgBY,gBAAgB;;AC/H5B;EAEQ,qBAAqB;;AAI7B;EAEQ,qBAAqB;;ACR7B;;EAEI,aAAa","file":"app.css","sourcesContent":[":root {\n /* fonts */\n --font-stack-body: \"Whitney SSm A\", \"Whitney SSm B\", sans-serif;\n --font-stack-headings: \"Quarto A\", \"Quarto B\", serif;\n --font-stack-monospace: \"Operator Mono SSm A\", \"Operator Mono SSm B\", monospace;\n\n /* colours */\n --color-background: #004643;\n --color-headline: #fffffe;\n --color-paragraph: #abd1c6;\n --color-button: #f9bc60;\n --color-button-text: #001e1d;\n\n /* colours - illustrations */\n --color-stroke: #001e1d;\n --color-main: #e8e4e6;\n --color-highlight: #f9bc60;\n --color-secondary: #abd1c6;\n --color-tertiary: #e16162;\n}\n","body {\n font-family: var(--font-stack-body);\n font-style: normal;\n font-weight: 400;\n font-size: 2rem;\n background-color: var(--color-background);\n color: var(--color-paragraph);\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-family: var(--font-stack-headings);\n font-style: normal;\n font-weight: 800;\n}\n\npre,\ncode {\n font-family: var(--font-stack-monospace);\n font-style: normal;\n font-weight: 400;\n}\n\na {\n color: var(--color-highlight);\n text-decoration: none;\n}\n\n.h-feed > .note,\n.h-feed > .h-entry {\n margin-top: 4rem;\n}\n","body {\n display: flex;\n flex-direction: column;\n}\n\nmain {\n @media screen and (max-width: 699px) {\n margin-left: 5px;\n margin-right: 5px;\n }\n\n display: flex;\n flex-direction: column;\n margin: auto;\n\n img {\n max-width: 100%;\n }\n\n @media screen and (min-width: 700px) {\n max-width: 700px;\n\n > .note,\n > .h-entry {\n padding: 0 1rem;\n }\n }\n\n .h-entry:first-child {\n > .bookmark-link {\n padding-top: 2rem;\n }\n }\n}\n\n.note {\n display: flex;\n flex-direction: column;\n\n .note-metadata {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n\n .client {\n word-break: break-all;\n }\n\n .syndication-links {\n svg {\n height: 1em;\n width: 1em;\n }\n }\n }\n\n > .e-content {\n > .naked-link {\n .u-photo {\n margin: 2rem 0;\n }\n }\n }\n}\n\narticle {\n header {\n > h1 {\n margin-bottom: 0;\n }\n\n .post-info {\n font-size: 1.4rem;\n }\n }\n}\n\n.pagination {\n display: flex;\n flex-direction: row;\n justify-content: space-evenly;\n width: 90vw;\n list-style-type: none;\n}\n\n.personal-bio {\n padding: 0 2rem;\n}\n\nfooter {\n display: flex;\n flex-direction: column;\n align-items: center;\n margin-top: 1.5rem;\n\n input {\n @media screen and (max-width: 699px) {\n max-width: 95vw;\n }\n }\n\n .iwc-logo {\n max-width: 100%;\n }\n\n @media screen and (max-width: 699px) {\n margin-left: 5px;\n margin-right: 5px;\n }\n}\n\n#top-header {\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n h1 {\n width: 100%;\n text-align: center;\n }\n\n nav {\n display: flex;\n justify-content: center;\n flex-wrap: wrap;\n\n a {\n margin: 0 0.5rem;\n }\n }\n}\n",".post-info {\n a {\n text-decoration: none;\n }\n}\n\n.syndication-links {\n .u-syndication {\n text-decoration: none;\n }\n}\n",".p-bridgy-facebook-content,\n.p-bridgy-twitter-content {\n display: none;\n}\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///./resources/sass/_variables.scss","webpack:///./resources/sass/_base.scss","webpack:///./resources/sass/_layout-main.scss","webpack:///./resources/sass/_link-styles.scss","webpack:///./resources/sass/_posse.scss"],"names":[],"mappings":"AAAA;EACI;EACA,+DAAkB;EAClB,oDAAsB;EACtB,+EAAuB;EAEvB;EACA,2BAAmB;EACnB,yBAAiB;EACjB,0BAAkB;EAClB,uBAAe;EACf,4BAAoB;EAEpB;EACA,uBAAe;EACf,qBAAa;EACb,0BAAkB;EAClB,0BAAkB;EAClB,yBAAiB;;AClBrB;EACI,mCAAmC;EACnC,kBAAkB;EAClB,gBAAgB;EAChB,eAAe;EACf,yCAAyC;EACzC,6BAA6B;;AAGjC;;;;;;EAMI,uCAAuC;EACvC,kBAAkB;EAClB,gBAAgB;;AAGpB;;EAEI,wCAAwC;EACxC,kBAAkB;EAClB,gBAAgB;;AAGpB;EACI,6BAA6B;EAC7B,qBAAqB;;AAGzB;;EAEI,gBAAgB;;AClCpB;EACI,aAAa;EACb,sBAAsB;;AAG1B;EAMI,aAAa;EACb,sBAAsB;EACtB,YAAY;EAPZ;IADJ;MAEQ,gBAAgB;MAChB,iBAAiB,IAyBxB;EA5BD;IAWQ,eAAe;EAGnB;IAdJ;MAeQ,gBAAgB;MAfxB;;QAmBY,eAAe,IAClB;EApBT;IAyBY,iBAAiB;;AAK7B;EACI,aAAa;EACb,sBAAsB;EAF1B;IAKQ,aAAa;IACb,mBAAmB;IACnB,8BAA8B;IAPtC;MAUY,qBAAqB;IAVjC;MAegB,WAAW;MACX,UAAU;EAhB1B;IAwBgB,cAAc;;AAM9B;EAGY,gBAAgB;;AAH5B;EAOY,iBAAiB;;AAK7B;EACI,aAAa;EACb,mBAAmB;EACnB,eAAe;EACf,6BAA6B;EAC7B,eAAe;EACf,qBAAqB;;AAGzB;EACI,eAAe;;AAGnB;EACI,aAAa;EACb,sBAAsB;EACtB,mBAAmB;EACnB,kBAAkB;EAGd;IAPR;MAQY,eAAe,IAEtB;EAVL;IAaQ,eAAe;EAGnB;IAhBJ;MAiBQ,gBAAgB;MAChB,iBAAiB,IAExB;;AAED;EACI,aAAa;EACb,sBAAsB;EACtB,uBAAuB;EAH3B;IAMQ,WAAW;IACX,kBAAkB;EAP1B;IAWQ,aAAa;IACb,uBAAuB;IACvB,eAAe;IAbvB;MAgBY,gBAAgB;;AChI5B;EAEQ,qBAAqB;;AAI7B;EAEQ,qBAAqB;;ACR7B;;EAEI,aAAa","file":"app.css","sourcesContent":[":root {\n /* fonts */\n --font-stack-body: \"Whitney SSm A\", \"Whitney SSm B\", sans-serif;\n --font-stack-headings: \"Quarto A\", \"Quarto B\", serif;\n --font-stack-monospace: \"Operator Mono SSm A\", \"Operator Mono SSm B\", monospace;\n\n /* colours */\n --color-background: #004643;\n --color-headline: #fffffe;\n --color-paragraph: #abd1c6;\n --color-button: #f9bc60;\n --color-button-text: #001e1d;\n\n /* colours - illustrations */\n --color-stroke: #001e1d;\n --color-main: #e8e4e6;\n --color-highlight: #f9bc60;\n --color-secondary: #abd1c6;\n --color-tertiary: #e16162;\n}\n","body {\n font-family: var(--font-stack-body);\n font-style: normal;\n font-weight: 400;\n font-size: 2rem;\n background-color: var(--color-background);\n color: var(--color-paragraph);\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-family: var(--font-stack-headings);\n font-style: normal;\n font-weight: 800;\n}\n\npre,\ncode {\n font-family: var(--font-stack-monospace);\n font-style: normal;\n font-weight: 400;\n}\n\na {\n color: var(--color-highlight);\n text-decoration: none;\n}\n\n.h-feed > .note,\n.h-feed > .h-entry {\n margin-top: 4rem;\n}\n","body {\n display: flex;\n flex-direction: column;\n}\n\nmain {\n @media screen and (max-width: 699px) {\n margin-left: 5px;\n margin-right: 5px;\n }\n\n display: flex;\n flex-direction: column;\n margin: auto;\n\n img {\n max-width: 100%;\n }\n\n @media screen and (min-width: 700px) {\n max-width: 700px;\n\n > .note,\n > .h-entry {\n padding: 0 1rem;\n }\n }\n\n .h-entry:first-child {\n > .bookmark-link {\n padding-top: 2rem;\n }\n }\n}\n\n.note {\n display: flex;\n flex-direction: column;\n\n .note-metadata {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n\n .client {\n word-break: break-all;\n }\n\n .syndication-links {\n svg {\n height: 1em;\n width: 1em;\n }\n }\n }\n\n > .e-content {\n > .naked-link {\n .u-photo {\n margin: 2rem 0;\n }\n }\n }\n}\n\narticle {\n header {\n > h1 {\n margin-bottom: 0;\n }\n\n .post-info {\n font-size: 1.4rem;\n }\n }\n}\n\n.pagination {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: space-evenly;\n max-width: 90vw;\n list-style-type: none;\n}\n\n.personal-bio {\n padding: 0 2rem;\n}\n\nfooter {\n display: flex;\n flex-direction: column;\n align-items: center;\n margin-top: 1.5rem;\n\n input {\n @media screen and (max-width: 699px) {\n max-width: 95vw;\n }\n }\n\n .iwc-logo {\n max-width: 100%;\n }\n\n @media screen and (max-width: 699px) {\n margin-left: 5px;\n margin-right: 5px;\n }\n}\n\n#top-header {\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n h1 {\n width: 100%;\n text-align: center;\n }\n\n nav {\n display: flex;\n justify-content: center;\n flex-wrap: wrap;\n\n a {\n margin: 0 0.5rem;\n }\n }\n}\n",".post-info {\n a {\n text-decoration: none;\n }\n}\n\n.syndication-links {\n .u-syndication {\n text-decoration: none;\n }\n}\n",".p-bridgy-facebook-content,\n.p-bridgy-twitter-content {\n display: none;\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/resources/sass/_layout-main.scss b/resources/sass/_layout-main.scss index b0772ef0..e3cf8a49 100644 --- a/resources/sass/_layout-main.scss +++ b/resources/sass/_layout-main.scss @@ -78,8 +78,9 @@ article { .pagination { display: flex; flex-direction: row; + flex-wrap: wrap; justify-content: space-evenly; - width: 90vw; + max-width: 90vw; list-style-type: none; } diff --git a/resources/views/master.blade.php b/resources/views/master.blade.php index fc10fcb3..cddd585b 100644 --- a/resources/views/master.blade.php +++ b/resources/views/master.blade.php @@ -5,7 +5,7 @@ @if (App::environment() == 'local'){!! "[testing] -"!!}@endif @yield('title'){{ config('app.display_name') }} - + @if (!empty(config('app.font_link')))@endif