Merge branch 'release/0.0.16'

This commit is contained in:
Jonny Barnes 2016-11-22 16:34:26 +00:00
commit 1d864e9d29
75 changed files with 1432 additions and 1886 deletions

View file

@ -5,8 +5,10 @@ namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use App\Services\IndieAuthService;
use Illuminate\Support\Facades\Log;
use IndieAuth\Client as IndieClient;
use GuzzleHttp\Client as GuzzleClient;
use GuzzleHttp\Exception\ClientException;
class MicropubClientController extends Controller
{
@ -309,9 +311,11 @@ class MicropubClientController extends Controller
'query' => ['q' => $query],
]);
} catch (\GuzzleHttp\Exception\BadResponseException $e) {
Log::info($e->getResponse()->getBody());
return response()->json([
'error' => true,
'error_description' => 'The endpoint returned a non-good response',
'error_description' => 'The endpoint ' . $micropubEndpoint . ' returned a non-good response',
], 400);
}

View file

@ -8,6 +8,7 @@ use App\Note;
use HTMLPurifier;
use GuzzleHttp\Client;
use HTMLPurifier_Config;
use Illuminate\Http\Request;
use Jonnybarnes\IndieWeb\Numbers;
use Illuminate\Filesystem\Filesystem;
use Illuminate\Support\Facades\Cache;
@ -20,11 +21,12 @@ class NotesController extends Controller
/**
* Show all the notes.
*
* @param Illuminate\Http\Request request;
* @return \Illuminte\View\Factory view
*/
public function showNotes()
public function showNotes(Request $request)
{
$notes = Note::orderBy('id', 'desc')->with('webmentions', 'place', 'media')->simplePaginate(10);
$notes = Note::orderBy('id', 'desc')->with('webmentions', 'place', 'media')->paginate(10);
foreach ($notes as $note) {
$replies = 0;
foreach ($note->webmentions as $webmention) {
@ -58,7 +60,9 @@ class NotesController extends Controller
$note->photoURLs = $photoURLs;
}
return view('allnotes', ['notes' => $notes]);
$homepage = ($request->path() == '/');
return view('allnotes', ['notes' => $notes, 'homepage' => $homepage]);
}
/**

View file

@ -49,7 +49,7 @@ class AppServiceProvider extends ServiceProvider
//allow micropub use in development
if (env('APP_DEBUG') == true) {
session(['me' => 'https://jonnybarnes.localhost']);
session(['token' => 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJtZSI6Imh0dHBzOlwvXC9qb25ueWJhcm5lcy5sb2NhbGhvc3QiLCJjbGllbnRfaWQiOiJodHRwczpcL1wvam9ubnliYXJuZXMubG9jYWxob3N0XC9ub3Rlc1wvbmV3Iiwic2NvcGUiOiJwb3N0IiwiZGF0ZV9pc3N1ZWQiOjE0NzU1MTI0NDgsIm5vbmNlIjoiYzE0MzNmNzg5ZTY4Y2M1OSJ9.7Bj9yLnWJOyVre8BPihAom2G0MEsmS3tIUraDI-GRNg']);
session(['token' => 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJtZSI6Imh0dHBzOlwvXC9qb25ueWJhcm5lcy5sb2NhbGhvc3QiLCJjbGllbnRfaWQiOiJodHRwczpcL1wvam9ubnliYXJuZXMubG9jYWxob3N0XC9ub3Rlc1wvbmV3Iiwic2NvcGUiOiJwb3N0IiwiZGF0ZV9pc3N1ZWQiOjE0Nzk3NzM1NDIsIm5vbmNlIjoiNzU1MTdmMjc0MjBkYjJiZCJ9.2Px--_L-n2E15I3P4tS98C-eAKrmLOLExXgBiwZuYHI']);
}
}

View file

@ -1,5 +1,10 @@
# Changelog
## Version 0.0.16 (2016-11-22)
- Much simpler website design
- Update mapbox to use Mapbox GL JS, things can be improved
- Make the homepage show notes, as well as bio (issue#16)
## Verison 0.0.15.13 (2016-11-08)
- Link to the source of a reply correctly (issue#33)

317
composer.lock generated
View file

@ -58,16 +58,16 @@
},
{
"name": "aws/aws-sdk-php",
"version": "3.19.23",
"version": "3.19.31",
"source": {
"type": "git",
"url": "https://github.com/aws/aws-sdk-php.git",
"reference": "fbfb87734e5d298b40354ac7fb3f95d0f72ad16e"
"reference": "3b7777e4091f4bf4de1dee19cfdad87249facb0e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/fbfb87734e5d298b40354ac7fb3f95d0f72ad16e",
"reference": "fbfb87734e5d298b40354ac7fb3f95d0f72ad16e",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/3b7777e4091f4bf4de1dee19cfdad87249facb0e",
"reference": "3b7777e4091f4bf4de1dee19cfdad87249facb0e",
"shasum": ""
},
"require": {
@ -134,7 +134,7 @@
"s3",
"sdk"
],
"time": "2016-11-03T20:28:28+00:00"
"time": "2016-11-21T23:17:16+00:00"
},
{
"name": "barnabywalters/mf-cleaner",
@ -987,16 +987,16 @@
},
{
"name": "guzzlehttp/promises",
"version": "1.2.0",
"version": "1.3.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/promises.git",
"reference": "c10d860e2a9595f8883527fa0021c7da9e65f579"
"reference": "2693c101803ca78b27972d84081d027fca790a1e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/promises/zipball/c10d860e2a9595f8883527fa0021c7da9e65f579",
"reference": "c10d860e2a9595f8883527fa0021c7da9e65f579",
"url": "https://api.github.com/repos/guzzle/promises/zipball/2693c101803ca78b27972d84081d027fca790a1e",
"reference": "2693c101803ca78b27972d84081d027fca790a1e",
"shasum": ""
},
"require": {
@ -1034,7 +1034,7 @@
"keywords": [
"promise"
],
"time": "2016-05-18T16:56:05+00:00"
"time": "2016-11-18T17:47:58+00:00"
},
{
"name": "guzzlehttp/psr7",
@ -1532,16 +1532,16 @@
},
{
"name": "laravel/framework",
"version": "v5.3.22",
"version": "v5.3.24",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
"reference": "715328dd4fb1a7bcf3cb41b3472f9e3499d068fc"
"reference": "b603b7cf77ff083c2248f7baa23f3add34c3ff84"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/715328dd4fb1a7bcf3cb41b3472f9e3499d068fc",
"reference": "715328dd4fb1a7bcf3cb41b3472f9e3499d068fc",
"url": "https://api.github.com/repos/laravel/framework/zipball/b603b7cf77ff083c2248f7baa23f3add34c3ff84",
"reference": "b603b7cf77ff083c2248f7baa23f3add34c3ff84",
"shasum": ""
},
"require": {
@ -1656,7 +1656,7 @@
"framework",
"laravel"
],
"time": "2016-11-01T18:52:00+00:00"
"time": "2016-11-21T14:14:16+00:00"
},
{
"name": "lcobucci/jwt",
@ -1718,16 +1718,16 @@
},
{
"name": "league/commonmark",
"version": "0.15.0",
"version": "0.15.1",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/commonmark.git",
"reference": "19fb96643beba24e681c371dc133e25409742664"
"reference": "20bdba6777e6c63f861711501eec8887e65412fc"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/commonmark/zipball/19fb96643beba24e681c371dc133e25409742664",
"reference": "19fb96643beba24e681c371dc133e25409742664",
"url": "https://api.github.com/repos/thephpleague/commonmark/zipball/20bdba6777e6c63f861711501eec8887e65412fc",
"reference": "20bdba6777e6c63f861711501eec8887e65412fc",
"shasum": ""
},
"require": {
@ -1783,7 +1783,7 @@
"markdown",
"parser"
],
"time": "2016-09-14T15:44:35+00:00"
"time": "2016-11-08T15:28:32+00:00"
},
{
"name": "league/flysystem",
@ -1917,16 +1917,16 @@
},
{
"name": "league/glide",
"version": "1.1.0",
"version": "1.2.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/glide.git",
"reference": "5d71f2fb030907fdd9552b4952d1ecdc1804702e"
"reference": "93bfc82142c62bf3d18420cc6c0fc0b1a8f82274"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/glide/zipball/5d71f2fb030907fdd9552b4952d1ecdc1804702e",
"reference": "5d71f2fb030907fdd9552b4952d1ecdc1804702e",
"url": "https://api.github.com/repos/thephpleague/glide/zipball/93bfc82142c62bf3d18420cc6c0fc0b1a8f82274",
"reference": "93bfc82142c62bf3d18420cc6c0fc0b1a8f82274",
"shasum": ""
},
"require": {
@ -1974,7 +1974,7 @@
"manipulation",
"processing"
],
"time": "2016-08-19T20:49:36+00:00"
"time": "2016-11-14T16:36:03+00:00"
},
{
"name": "martinbean/laravel-sluggable-trait",
@ -2348,16 +2348,16 @@
},
{
"name": "paragonie/random_compat",
"version": "v2.0.3",
"version": "v2.0.4",
"source": {
"type": "git",
"url": "https://github.com/paragonie/random_compat.git",
"reference": "c0125896dbb151380ab47e96c621741e79623beb"
"reference": "a9b97968bcde1c4de2a5ec6cbd06a0f6c919b46e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/paragonie/random_compat/zipball/c0125896dbb151380ab47e96c621741e79623beb",
"reference": "c0125896dbb151380ab47e96c621741e79623beb",
"url": "https://api.github.com/repos/paragonie/random_compat/zipball/a9b97968bcde1c4de2a5ec6cbd06a0f6c919b46e",
"reference": "a9b97968bcde1c4de2a5ec6cbd06a0f6c919b46e",
"shasum": ""
},
"require": {
@ -2392,7 +2392,7 @@
"pseudorandom",
"random"
],
"time": "2016-10-17T15:23:22+00:00"
"time": "2016-11-07T23:38:38+00:00"
},
{
"name": "patchwork/utf8",
@ -3114,16 +3114,16 @@
},
{
"name": "symfony/console",
"version": "v3.1.6",
"version": "v3.1.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "c99da1119ae61e15de0e4829196b9fba6f73d065"
"reference": "5be36e1f3ac7ecbe7e34fb641480ad8497b83aa6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/c99da1119ae61e15de0e4829196b9fba6f73d065",
"reference": "c99da1119ae61e15de0e4829196b9fba6f73d065",
"url": "https://api.github.com/repos/symfony/console/zipball/5be36e1f3ac7ecbe7e34fb641480ad8497b83aa6",
"reference": "5be36e1f3ac7ecbe7e34fb641480ad8497b83aa6",
"shasum": ""
},
"require": {
@ -3171,20 +3171,20 @@
],
"description": "Symfony Console Component",
"homepage": "https://symfony.com",
"time": "2016-10-06T01:44:51+00:00"
"time": "2016-11-16T22:17:09+00:00"
},
{
"name": "symfony/debug",
"version": "v3.1.6",
"version": "v3.1.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/debug.git",
"reference": "e2b3f74a67fc928adc3c1b9027f73e1bc01190a8"
"reference": "c058661c32f5b462722e36d120905940089cbd9a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/debug/zipball/e2b3f74a67fc928adc3c1b9027f73e1bc01190a8",
"reference": "e2b3f74a67fc928adc3c1b9027f73e1bc01190a8",
"url": "https://api.github.com/repos/symfony/debug/zipball/c058661c32f5b462722e36d120905940089cbd9a",
"reference": "c058661c32f5b462722e36d120905940089cbd9a",
"shasum": ""
},
"require": {
@ -3228,11 +3228,11 @@
],
"description": "Symfony Debug Component",
"homepage": "https://symfony.com",
"time": "2016-09-06T11:02:40+00:00"
"time": "2016-11-15T12:55:20+00:00"
},
{
"name": "symfony/event-dispatcher",
"version": "v3.1.6",
"version": "v3.1.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
@ -3292,16 +3292,16 @@
},
{
"name": "symfony/finder",
"version": "v3.1.6",
"version": "v3.1.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
"reference": "205b5ffbb518a98ba2ae60a52656c4a31ab00c6f"
"reference": "9925935bf7144f9e4d2b976905881b4face036fb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/finder/zipball/205b5ffbb518a98ba2ae60a52656c4a31ab00c6f",
"reference": "205b5ffbb518a98ba2ae60a52656c4a31ab00c6f",
"url": "https://api.github.com/repos/symfony/finder/zipball/9925935bf7144f9e4d2b976905881b4face036fb",
"reference": "9925935bf7144f9e4d2b976905881b4face036fb",
"shasum": ""
},
"require": {
@ -3337,20 +3337,20 @@
],
"description": "Symfony Finder Component",
"homepage": "https://symfony.com",
"time": "2016-09-28T00:11:12+00:00"
"time": "2016-11-03T08:04:31+00:00"
},
{
"name": "symfony/http-foundation",
"version": "v3.1.6",
"version": "v3.1.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
"reference": "f21e5a8b88274b7720779aa88f9c02c6d6ec08d7"
"reference": "5a4c8099a1547fe451256e056180ad4624177017"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/f21e5a8b88274b7720779aa88f9c02c6d6ec08d7",
"reference": "f21e5a8b88274b7720779aa88f9c02c6d6ec08d7",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/5a4c8099a1547fe451256e056180ad4624177017",
"reference": "5a4c8099a1547fe451256e056180ad4624177017",
"shasum": ""
},
"require": {
@ -3390,20 +3390,20 @@
],
"description": "Symfony HttpFoundation Component",
"homepage": "https://symfony.com",
"time": "2016-10-24T15:52:44+00:00"
"time": "2016-11-16T22:17:09+00:00"
},
{
"name": "symfony/http-kernel",
"version": "v3.1.6",
"version": "v3.1.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
"reference": "c235f1b13ba67012e283996a5427f22e2e04be14"
"reference": "674ac403c7b3742c2a988a86e3baf9aca2c696a0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/c235f1b13ba67012e283996a5427f22e2e04be14",
"reference": "c235f1b13ba67012e283996a5427f22e2e04be14",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/674ac403c7b3742c2a988a86e3baf9aca2c696a0",
"reference": "674ac403c7b3742c2a988a86e3baf9aca2c696a0",
"shasum": ""
},
"require": {
@ -3472,20 +3472,20 @@
],
"description": "Symfony HttpKernel Component",
"homepage": "https://symfony.com",
"time": "2016-10-27T02:38:31+00:00"
"time": "2016-11-21T02:44:20+00:00"
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.2.0",
"version": "v1.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "dff51f72b0706335131b00a7f49606168c582594"
"reference": "e79d363049d1c2128f133a2667e4f4190904f7f4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/dff51f72b0706335131b00a7f49606168c582594",
"reference": "dff51f72b0706335131b00a7f49606168c582594",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4",
"reference": "e79d363049d1c2128f133a2667e4f4190904f7f4",
"shasum": ""
},
"require": {
@ -3497,7 +3497,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.2-dev"
"dev-master": "1.3-dev"
}
},
"autoload": {
@ -3531,20 +3531,20 @@
"portable",
"shim"
],
"time": "2016-05-18T14:26:46+00:00"
"time": "2016-11-14T01:06:16+00:00"
},
{
"name": "symfony/polyfill-php56",
"version": "v1.2.0",
"version": "v1.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php56.git",
"reference": "3edf57a8fbf9a927533344cef65ad7e1cf31030a"
"reference": "1dd42b9b89556f18092f3d1ada22cb05ac85383c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/3edf57a8fbf9a927533344cef65ad7e1cf31030a",
"reference": "3edf57a8fbf9a927533344cef65ad7e1cf31030a",
"url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/1dd42b9b89556f18092f3d1ada22cb05ac85383c",
"reference": "1dd42b9b89556f18092f3d1ada22cb05ac85383c",
"shasum": ""
},
"require": {
@ -3554,7 +3554,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.2-dev"
"dev-master": "1.3-dev"
}
},
"autoload": {
@ -3587,20 +3587,20 @@
"portable",
"shim"
],
"time": "2016-05-18T14:26:46+00:00"
"time": "2016-11-14T01:06:16+00:00"
},
{
"name": "symfony/polyfill-util",
"version": "v1.2.0",
"version": "v1.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-util.git",
"reference": "ef830ce3d218e622b221d6bfad42c751d974bf99"
"reference": "746bce0fca664ac0a575e465f65c6643faddf7fb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-util/zipball/ef830ce3d218e622b221d6bfad42c751d974bf99",
"reference": "ef830ce3d218e622b221d6bfad42c751d974bf99",
"url": "https://api.github.com/repos/symfony/polyfill-util/zipball/746bce0fca664ac0a575e465f65c6643faddf7fb",
"reference": "746bce0fca664ac0a575e465f65c6643faddf7fb",
"shasum": ""
},
"require": {
@ -3609,7 +3609,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.2-dev"
"dev-master": "1.3-dev"
}
},
"autoload": {
@ -3639,11 +3639,11 @@
"polyfill",
"shim"
],
"time": "2016-05-18T14:26:46+00:00"
"time": "2016-11-14T01:06:16+00:00"
},
{
"name": "symfony/process",
"version": "v3.1.6",
"version": "v3.1.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
@ -3692,7 +3692,7 @@
},
{
"name": "symfony/routing",
"version": "v3.1.6",
"version": "v3.1.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
@ -3767,16 +3767,16 @@
},
{
"name": "symfony/translation",
"version": "v3.1.6",
"version": "v3.1.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
"reference": "ff1285087397d2f64041b35e591f3025881c90cd"
"reference": "2f4b6114b75c506dd1ee7eb485b35facbcb2d873"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/translation/zipball/ff1285087397d2f64041b35e591f3025881c90cd",
"reference": "ff1285087397d2f64041b35e591f3025881c90cd",
"url": "https://api.github.com/repos/symfony/translation/zipball/2f4b6114b75c506dd1ee7eb485b35facbcb2d873",
"reference": "2f4b6114b75c506dd1ee7eb485b35facbcb2d873",
"shasum": ""
},
"require": {
@ -3827,20 +3827,20 @@
],
"description": "Symfony Translation Component",
"homepage": "https://symfony.com",
"time": "2016-10-18T04:30:12+00:00"
"time": "2016-11-18T21:15:08+00:00"
},
{
"name": "symfony/var-dumper",
"version": "v3.1.6",
"version": "v3.1.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
"reference": "4dc2f03b480c43f1665d3317d827a04ed6ffd11e"
"reference": "0c2d613e890e33f4da810159ac97931068f5bd17"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/4dc2f03b480c43f1665d3317d827a04ed6ffd11e",
"reference": "4dc2f03b480c43f1665d3317d827a04ed6ffd11e",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/0c2d613e890e33f4da810159ac97931068f5bd17",
"reference": "0c2d613e890e33f4da810159ac97931068f5bd17",
"shasum": ""
},
"require": {
@ -3890,7 +3890,7 @@
"debug",
"dump"
],
"time": "2016-10-18T15:46:07+00:00"
"time": "2016-11-03T08:04:31+00:00"
},
{
"name": "themattharris/tmhoauth",
@ -4294,16 +4294,16 @@
},
{
"name": "mockery/mockery",
"version": "0.9.5",
"version": "0.9.6",
"source": {
"type": "git",
"url": "https://github.com/padraic/mockery.git",
"reference": "4db079511a283e5aba1b3c2fb19037c645e70fc2"
"reference": "65d4ca18e15cb02eeb1e5336f884e46b9b905be0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/padraic/mockery/zipball/4db079511a283e5aba1b3c2fb19037c645e70fc2",
"reference": "4db079511a283e5aba1b3c2fb19037c645e70fc2",
"url": "https://api.github.com/repos/padraic/mockery/zipball/65d4ca18e15cb02eeb1e5336f884e46b9b905be0",
"reference": "65d4ca18e15cb02eeb1e5336f884e46b9b905be0",
"shasum": ""
},
"require": {
@ -4355,7 +4355,7 @@
"test double",
"testing"
],
"time": "2016-05-22T21:52:33+00:00"
"time": "2016-09-30T12:09:40+00:00"
},
{
"name": "myclabs/deep-copy",
@ -4547,16 +4547,16 @@
},
{
"name": "phpspec/prophecy",
"version": "v1.6.1",
"version": "v1.6.2",
"source": {
"type": "git",
"url": "https://github.com/phpspec/prophecy.git",
"reference": "58a8137754bc24b25740d4281399a4a3596058e0"
"reference": "6c52c2722f8460122f96f86346600e1077ce22cb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/58a8137754bc24b25740d4281399a4a3596058e0",
"reference": "58a8137754bc24b25740d4281399a4a3596058e0",
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/6c52c2722f8460122f96f86346600e1077ce22cb",
"reference": "6c52c2722f8460122f96f86346600e1077ce22cb",
"shasum": ""
},
"require": {
@ -4564,10 +4564,11 @@
"php": "^5.3|^7.0",
"phpdocumentor/reflection-docblock": "^2.0|^3.0.2",
"sebastian/comparator": "^1.1",
"sebastian/recursion-context": "^1.0"
"sebastian/recursion-context": "^1.0|^2.0"
},
"require-dev": {
"phpspec/phpspec": "^2.0"
"phpspec/phpspec": "^2.0",
"phpunit/phpunit": "^4.8 || ^5.6.5"
},
"type": "library",
"extra": {
@ -4605,7 +4606,7 @@
"spy",
"stub"
],
"time": "2016-06-07T08:13:47+00:00"
"time": "2016-11-21T14:58:47+00:00"
},
{
"name": "phpunit/php-code-coverage",
@ -4804,16 +4805,16 @@
},
{
"name": "phpunit/php-token-stream",
"version": "1.4.8",
"version": "1.4.9",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-token-stream.git",
"reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da"
"reference": "3b402f65a4cc90abf6e1104e388b896ce209631b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da",
"reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da",
"url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/3b402f65a4cc90abf6e1104e388b896ce209631b",
"reference": "3b402f65a4cc90abf6e1104e388b896ce209631b",
"shasum": ""
},
"require": {
@ -4849,20 +4850,20 @@
"keywords": [
"tokenizer"
],
"time": "2015-09-15T10:49:45+00:00"
"time": "2016-11-15T14:06:22+00:00"
},
{
"name": "phpunit/phpunit",
"version": "5.6.2",
"version": "5.6.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "cd13b23ac5a519a4708e00736c26ee0bb28b2e01"
"reference": "875145fabfa261fa9c1aea663dd29ddce92dca8f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/cd13b23ac5a519a4708e00736c26ee0bb28b2e01",
"reference": "cd13b23ac5a519a4708e00736c26ee0bb28b2e01",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/875145fabfa261fa9c1aea663dd29ddce92dca8f",
"reference": "875145fabfa261fa9c1aea663dd29ddce92dca8f",
"shasum": ""
},
"require": {
@ -4879,12 +4880,12 @@
"phpunit/php-text-template": "~1.2",
"phpunit/php-timer": "^1.0.6",
"phpunit/phpunit-mock-objects": "^3.2",
"sebastian/comparator": "~1.1",
"sebastian/comparator": "~1.2.2",
"sebastian/diff": "~1.2",
"sebastian/environment": "^1.3 || ^2.0",
"sebastian/exporter": "~1.2",
"sebastian/exporter": "~2.0",
"sebastian/global-state": "~1.0",
"sebastian/object-enumerator": "~1.0",
"sebastian/object-enumerator": "~2.0",
"sebastian/resource-operations": "~1.0",
"sebastian/version": "~1.0|~2.0",
"symfony/yaml": "~2.1|~3.0"
@ -4931,27 +4932,27 @@
"testing",
"xunit"
],
"time": "2016-10-25T07:40:25+00:00"
"time": "2016-11-21T15:23:34+00:00"
},
{
"name": "phpunit/phpunit-mock-objects",
"version": "3.4.0",
"version": "3.4.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
"reference": "238d7a2723bce689c79eeac9c7d5e1d623bb9dc2"
"reference": "45026c8383187ad1dcb14fbfec77dced265b9cfc"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/238d7a2723bce689c79eeac9c7d5e1d623bb9dc2",
"reference": "238d7a2723bce689c79eeac9c7d5e1d623bb9dc2",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/45026c8383187ad1dcb14fbfec77dced265b9cfc",
"reference": "45026c8383187ad1dcb14fbfec77dced265b9cfc",
"shasum": ""
},
"require": {
"doctrine/instantiator": "^1.0.2",
"php": "^5.6 || ^7.0",
"phpunit/php-text-template": "^1.2",
"sebastian/exporter": "^1.2"
"sebastian/exporter": "^1.2 || ^2.0"
},
"conflict": {
"phpunit/phpunit": "<5.4.0"
@ -4990,7 +4991,7 @@
"mock",
"xunit"
],
"time": "2016-10-09T07:01:45+00:00"
"time": "2016-11-19T09:07:46+00:00"
},
{
"name": "sebastian/code-unit-reverse-lookup",
@ -5039,22 +5040,22 @@
},
{
"name": "sebastian/comparator",
"version": "1.2.0",
"version": "1.2.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
"reference": "937efb279bd37a375bcadf584dec0726f84dbf22"
"reference": "6a1ed12e8b2409076ab22e3897126211ff8b1f7f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/937efb279bd37a375bcadf584dec0726f84dbf22",
"reference": "937efb279bd37a375bcadf584dec0726f84dbf22",
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/6a1ed12e8b2409076ab22e3897126211ff8b1f7f",
"reference": "6a1ed12e8b2409076ab22e3897126211ff8b1f7f",
"shasum": ""
},
"require": {
"php": ">=5.3.3",
"sebastian/diff": "~1.2",
"sebastian/exporter": "~1.2"
"sebastian/exporter": "~1.2 || ~2.0"
},
"require-dev": {
"phpunit/phpunit": "~4.4"
@ -5099,7 +5100,7 @@
"compare",
"equality"
],
"time": "2015-07-26T15:48:44+00:00"
"time": "2016-11-19T09:18:40+00:00"
},
{
"name": "sebastian/diff",
@ -5205,21 +5206,21 @@
},
{
"name": "sebastian/exporter",
"version": "1.2.2",
"version": "2.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
"reference": "42c4c2eec485ee3e159ec9884f95b431287edde4"
"reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4",
"reference": "42c4c2eec485ee3e159ec9884f95b431287edde4",
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4",
"reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4",
"shasum": ""
},
"require": {
"php": ">=5.3.3",
"sebastian/recursion-context": "~1.0"
"sebastian/recursion-context": "~2.0"
},
"require-dev": {
"ext-mbstring": "*",
@ -5228,7 +5229,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.3.x-dev"
"dev-master": "2.0.x-dev"
}
},
"autoload": {
@ -5268,7 +5269,7 @@
"export",
"exporter"
],
"time": "2016-06-17T09:04:28+00:00"
"time": "2016-11-19T08:54:04+00:00"
},
{
"name": "sebastian/global-state",
@ -5323,21 +5324,21 @@
},
{
"name": "sebastian/object-enumerator",
"version": "1.0.0",
"version": "2.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-enumerator.git",
"reference": "d4ca2fb70344987502567bc50081c03e6192fb26"
"reference": "96f8a3f257b69e8128ad74d3a7fd464bcbaa3b35"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/d4ca2fb70344987502567bc50081c03e6192fb26",
"reference": "d4ca2fb70344987502567bc50081c03e6192fb26",
"url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/96f8a3f257b69e8128ad74d3a7fd464bcbaa3b35",
"reference": "96f8a3f257b69e8128ad74d3a7fd464bcbaa3b35",
"shasum": ""
},
"require": {
"php": ">=5.6",
"sebastian/recursion-context": "~1.0"
"sebastian/recursion-context": "~2.0"
},
"require-dev": {
"phpunit/phpunit": "~5"
@ -5345,7 +5346,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
"dev-master": "2.0.x-dev"
}
},
"autoload": {
@ -5365,20 +5366,20 @@
],
"description": "Traverses array structures and object graphs to enumerate all referenced objects",
"homepage": "https://github.com/sebastianbergmann/object-enumerator/",
"time": "2016-01-28T13:25:10+00:00"
"time": "2016-11-19T07:35:10+00:00"
},
{
"name": "sebastian/recursion-context",
"version": "1.0.2",
"version": "2.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
"reference": "913401df809e99e4f47b27cdd781f4a258d58791"
"reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/913401df809e99e4f47b27cdd781f4a258d58791",
"reference": "913401df809e99e4f47b27cdd781f4a258d58791",
"url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/2c3ba150cbec723aa057506e73a8d33bdb286c9a",
"reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a",
"shasum": ""
},
"require": {
@ -5390,7 +5391,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
"dev-master": "2.0.x-dev"
}
},
"autoload": {
@ -5418,7 +5419,7 @@
],
"description": "Provides functionality to recursively process PHP variables",
"homepage": "http://www.github.com/sebastianbergmann/recursion-context",
"time": "2015-11-11T19:50:13+00:00"
"time": "2016-11-19T07:33:16+00:00"
},
{
"name": "sebastian/resource-operations",
@ -5507,16 +5508,16 @@
},
{
"name": "symfony/css-selector",
"version": "v3.1.6",
"version": "v3.1.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
"reference": "ca809c64072e0fe61c1c7fb3c76cdc32265042ac"
"reference": "a37b3359566415a91cba55a2d95820b3fa1a9658"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/css-selector/zipball/ca809c64072e0fe61c1c7fb3c76cdc32265042ac",
"reference": "ca809c64072e0fe61c1c7fb3c76cdc32265042ac",
"url": "https://api.github.com/repos/symfony/css-selector/zipball/a37b3359566415a91cba55a2d95820b3fa1a9658",
"reference": "a37b3359566415a91cba55a2d95820b3fa1a9658",
"shasum": ""
},
"require": {
@ -5556,20 +5557,20 @@
],
"description": "Symfony CssSelector Component",
"homepage": "https://symfony.com",
"time": "2016-09-06T11:02:40+00:00"
"time": "2016-11-03T08:04:31+00:00"
},
{
"name": "symfony/dom-crawler",
"version": "v3.1.6",
"version": "v3.1.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/dom-crawler.git",
"reference": "59eee3c76eb89f21857798620ebdad7a05ad14f4"
"reference": "1eb3b4d216e8db117218dd2bb7d23dfe67bdf518"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/dom-crawler/zipball/59eee3c76eb89f21857798620ebdad7a05ad14f4",
"reference": "59eee3c76eb89f21857798620ebdad7a05ad14f4",
"url": "https://api.github.com/repos/symfony/dom-crawler/zipball/1eb3b4d216e8db117218dd2bb7d23dfe67bdf518",
"reference": "1eb3b4d216e8db117218dd2bb7d23dfe67bdf518",
"shasum": ""
},
"require": {
@ -5612,20 +5613,20 @@
],
"description": "Symfony DomCrawler Component",
"homepage": "https://symfony.com",
"time": "2016-10-18T15:46:07+00:00"
"time": "2016-11-14T16:20:02+00:00"
},
{
"name": "symfony/yaml",
"version": "v3.1.6",
"version": "v3.1.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
"reference": "7ff51b06c6c3d5cc6686df69004a42c69df09e27"
"reference": "9da375317228e54f4ea1b013b30fa47417e84943"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/yaml/zipball/7ff51b06c6c3d5cc6686df69004a42c69df09e27",
"reference": "7ff51b06c6c3d5cc6686df69004a42c69df09e27",
"url": "https://api.github.com/repos/symfony/yaml/zipball/9da375317228e54f4ea1b013b30fa47417e84943",
"reference": "9da375317228e54f4ea1b013b30fa47417e84943",
"shasum": ""
},
"require": {
@ -5661,7 +5662,7 @@
],
"description": "Symfony Yaml Component",
"homepage": "https://symfony.com",
"time": "2016-10-24T18:41:13+00:00"
"time": "2016-11-18T21:05:29+00:00"
},
{
"name": "webmozart/assert",

View file

@ -13,7 +13,8 @@ class NotesTableSeeder extends Seeder
{
factory(App\Note::class, 10)->create();
$noteWithPlace = App\Note::create([
'note' => 'Having a #beer at the local.'
'note' => 'Having a #beer at the local.',
'tweet_id' => '123456789',
]);
$place = App\Place::find(1);
$noteWithPlace->place()->associate($place);

View file

@ -9,7 +9,7 @@ var sourcemaps = require('gulp-sourcemaps');
var autoprefixer = require('gulp-autoprefixer');
gulp.task('sass', function () {
return gulp.src('./resources/assets/sass/global.scss')
return gulp.src('./resources/assets/sass/app.scss')
.pipe(sourcemaps.init())
.pipe(sass({outputStyle: 'compressed'}).on('error', sass.logError))
.pipe(autoprefixer({browsers: ['last 2 version']}))
@ -40,7 +40,7 @@ gulp.task('frontend', function () {
//copy CSS files
gulp.src([
'node_modules/alertify.js/dist/css/alertify.css',
'node_modules/sanitize.css/sanitize.css',
'node_modules/normalize.css/normalize.css',
])
.pipe(gulp.dest('public/assets/frontend/'));
});
@ -67,10 +67,10 @@ gulp.task('compress', function () {
gulp.src('public/assets/frontend/*.js')
.pipe(zopfli({ format: 'gzip', append: true }))
.pipe(gulp.dest('public/assets/frontend/'));
gulp.src('public/assets/bower/*.css')
gulp.src('public/assets/frontend/*.css')
.pipe(brotli.compress({mode: 1, quality: 11}))
.pipe(gulp.dest('public/assets/frontend/'));
gulp.src('public/assets/bower/*.js')
gulp.src('public/assets/frontend/*.js')
.pipe(brotli.compress({mode: 1, quality: 11}))
.pipe(gulp.dest('public/assets/frontend/'));
//prism

View file

@ -3,18 +3,25 @@
"version": "0.0.1",
"repository": "https://github.com/jonnybarnes/jonnybarnes.uk",
"license": "CC0-1.0",
"dependencies": {
"alertify.js": "^1.0.12",
"autolinker": "^1.2.0",
"marked": "^0.3.6",
"normalize.css": "^5.0.0",
"store2": "^2.3.2",
"whatwg-fetch": "^1.0.0"
},
"devDependencies": {
"gulp": "~3.9",
"gulp-autoprefixer": "^3.1.0",
"gulp-brotli": "^1.0.1",
"gulp-sass": "^2.3.2",
"gulp-sourcemaps": "^1.6.0",
"gulp-sourcemaps": "^2.2.0",
"gulp-uglify": "^2.0.0",
"gulp-zopfli": "^1.0.0",
"lint-staged": "^1.0.1",
"lint-staged": "^3.2.1",
"pre-commit": "^1.1.3",
"stylelint": "^6.6.0",
"stylelint-config-standard": "^9.0.0"
"stylelint-config-standard": "^14.0.0"
},
"private": true,
"scripts": {
@ -27,13 +34,5 @@
},
"pre-commit": [
"lint-staged"
],
"dependencies": {
"alertify.js": "^1.0.12",
"autolinker": "^1.2.0",
"marked": "^0.3.6",
"sanitize.css": "^4.1.0",
"store2": "^2.3.2",
"whatwg-fetch": "^1.0.0"
}
]
}

3
public/assets/css/app.css vendored Normal file

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

View file

@ -1,3 +0,0 @@
html{background:url("/assets/img/escheresque.png")}.map{height:150px}html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}#topheader{display:-ms-flexbox;display:flex;-ms-flex-flow:row;flex-flow:row}#topheader a{padding:0.5em 1em}#topheader h1{font-size:1em;margin:0}nav{padding-top:0.5em}.social-list{padding-left:2em}.note{background-color:#eee8d5;box-shadow:0 0 10px 2px #93a1a1;padding:0.5em;margin-top:1em}.note::after{content:" ";display:block;height:0;clear:both}.note a{word-wrap:break-word}.note .e-content p:first-child{margin-top:0}.note-metadata{width:100%}.social-links{float:right}.social-links a{text-decoration:none}.icon{width:auto;height:1em}.coordinates{font-size:60%;color:#839496}.reply{margin-left:2em;margin-right:2em;font-size:0.8em;padding:0.5em}.reply-to{margin-left:2em;margin-right:2em;font-size:0.8em;padding-top:2em}.reply-to+.note{margin-top:0.3em}.mini-h-card{border-radius:2px;border:1px solid #586e75;padding:0 0.2em;text-decoration:none;margin-right:5px;white-space:nowrap}.mini-h-card img{height:1em;border-radius:2px;vertical-align:text-bottom}.like-photo{height:1.26em}.reply .e-content{margin-top:0.5em;padding-left:0.5em}.notes-subtitle{font-size:1em}.note-photo{width:100%;height:auto;image-orientation:from-image}article header{margin-top:0.5em;margin-bottom:0.8em}article h1{font-size:1.2em;margin-bottom:0}.post-info{font-size:0.8em;font-style:italic;margin-top:-0.8em}.contact{position:relative}.contact-links{list-style-type:none}.contact img{height:auto;width:2em;position:absolute;top:0;left:0}.contact-info{margin-left:2em}#map{height:300px}@media (min-width: 700px){main{margin-left:10em;margin-right:10em}footer{margin-left:13em;margin-right:13em}.youtube{width:640px;height:360px}}@media (max-width: 699px){main{margin-left:10px;margin-right:10px}article{word-wrap:break-word}footer{margin-left:15px;margin-right:15px}.youtube{width:100%;height:auto}}body{text-rendering:optimizeLegibility;font-feature-settings:"liga";font-family:"leitura-news",serif;font-size:1.2em}code{font-family:"Operator Mono","Monaco","Inconsolata",monospace;font-weight:200}#topheader h1{font-family:"leitura-news",serif}h1{font-family:"prenton",sans-serif}#topheader a{text-decoration:none}nav{font-feature-settings:"dlig"}article header h1 a{text-decoration:none}article div a{text-decoration:none}footer{font-size:0.8em}.emoji{width:auto;height:1em}body{color:#002b36}header a{color:#002b36}a{color:#268bd2}form{width:100%}fieldset{min-width:0;width:100%}input[type="text"],input[type="file"],textarea{width:100%}input,button,textarea{-webkit-appearance:none;-moz-appearance:none;background-color:#002b36;color:#fdf6e3;border:1px solid #fdf6e3;border-radius:4px;font-size:1em}textarea{font-size:1.2em}button:hover{transition:0.5s ease-in-out;background-color:#fdf6e3;color:#002b36}button:disabled{background-color:#93a1a1;color:#002b36}input[type="checkbox"]{-webkit-appearance:checkbox;-moz-appearance:checkbox}#photo{background:inherit;color:inherit;border:none}.twitter-tweet-rendered{margin-bottom:0 !important}.twitter-tweet-rendered+.note{margin-top:0}
/*# sourceMappingURL=maps/global.css.map */

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,10 +0,0 @@
#projects {
padding-left: 33.33%;
}
h3 {
float: left;
width: 45%;
margin: 0 5% 0 -50%;
text-align: right;
}

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

461
public/assets/frontend/normalize.css vendored Normal file
View file

@ -0,0 +1,461 @@
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
/**
* 1. Change the default font family in all browsers (opinionated).
* 2. Correct the line height in all browsers.
* 3. Prevent adjustments of font size after orientation changes in
* IE on Windows Phone and in iOS.
*/
/* Document
========================================================================== */
html {
font-family: sans-serif; /* 1 */
line-height: 1.15; /* 2 */
-ms-text-size-adjust: 100%; /* 3 */
-webkit-text-size-adjust: 100%; /* 3 */
}
/* Sections
========================================================================== */
/**
* Remove the margin in all browsers (opinionated).
*/
body {
margin: 0;
}
/**
* Add the correct display in IE 9-.
*/
article,
aside,
footer,
header,
nav,
section {
display: block;
}
/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/* Grouping content
========================================================================== */
/**
* Add the correct display in IE 9-.
* 1. Add the correct display in IE.
*/
figcaption,
figure,
main { /* 1 */
display: block;
}
/**
* Add the correct margin in IE 8.
*/
figure {
margin: 1em 40px;
}
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
box-sizing: content-box; /* 1 */
height: 0; /* 1 */
overflow: visible; /* 2 */
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/* Text-level semantics
========================================================================== */
/**
* 1. Remove the gray background on active links in IE 10.
* 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
*/
a {
background-color: transparent; /* 1 */
-webkit-text-decoration-skip: objects; /* 2 */
}
/**
* Remove the outline on focused links when they are also active or hovered
* in all browsers (opinionated).
*/
a:active,
a:hover {
outline-width: 0;
}
/**
* 1. Remove the bottom border in Firefox 39-.
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none; /* 1 */
text-decoration: underline; /* 2 */
text-decoration: underline dotted; /* 2 */
}
/**
* Prevent the duplicate application of `bolder` by the next rule in Safari 6.
*/
b,
strong {
font-weight: inherit;
}
/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
font-weight: bolder;
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/**
* Add the correct font style in Android 4.3-.
*/
dfn {
font-style: italic;
}
/**
* Add the correct background and color in IE 9-.
*/
mark {
background-color: #ff0;
color: #000;
}
/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/* Embedded content
========================================================================== */
/**
* Add the correct display in IE 9-.
*/
audio,
video {
display: inline-block;
}
/**
* Add the correct display in iOS 4-7.
*/
audio:not([controls]) {
display: none;
height: 0;
}
/**
* Remove the border on images inside links in IE 10-.
*/
img {
border-style: none;
}
/**
* Hide the overflow in IE.
*/
svg:not(:root) {
overflow: hidden;
}
/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers (opinionated).
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
font-family: sans-serif; /* 1 */
font-size: 100%; /* 1 */
line-height: 1.15; /* 1 */
margin: 0; /* 2 */
}
/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input { /* 1 */
overflow: visible;
}
/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
text-transform: none;
}
/**
* 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
* controls in Android 4.
* 2. Correct the inability to style clickable types in iOS and Safari.
*/
button,
html [type="button"], /* 1 */
[type="reset"],
[type="submit"] {
-webkit-appearance: button; /* 2 */
}
/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
/**
* Change the border, margin, and padding in all browsers (opinionated).
*/
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend {
box-sizing: border-box; /* 1 */
color: inherit; /* 2 */
display: table; /* 1 */
max-width: 100%; /* 1 */
padding: 0; /* 3 */
white-space: normal; /* 1 */
}
/**
* 1. Add the correct display in IE 9-.
* 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
display: inline-block; /* 1 */
vertical-align: baseline; /* 2 */
}
/**
* Remove the default vertical scrollbar in IE.
*/
textarea {
overflow: auto;
}
/**
* 1. Add the correct box sizing in IE 10-.
* 2. Remove the padding in IE 10-.
*/
[type="checkbox"],
[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type="search"] {
-webkit-appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
}
/**
* Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
font: inherit; /* 2 */
}
/* Interactive
========================================================================== */
/*
* Add the correct display in IE 9-.
* 1. Add the correct display in Edge, IE, and Firefox.
*/
details, /* 1 */
menu {
display: block;
}
/*
* Add the correct display in all browsers.
*/
summary {
display: list-item;
}
/* Scripting
========================================================================== */
/**
* Add the correct display in IE 9-.
*/
canvas {
display: inline-block;
}
/**
* Add the correct display in IE.
*/
template {
display: none;
}
/* Hidden
========================================================================== */
/**
* Add the correct display in IE 10-.
*/
[hidden] {
display: none;
}

Binary file not shown.

Binary file not shown.

View file

@ -1,549 +0,0 @@
/*! sanitize.css v4.1.0 | CC0 License | github.com/jonathantneal/sanitize.css */
/* Display definitions
========================================================================== */
/**
* Add the correct display in IE 9-.
* 1. Add the correct display in Edge, IE, and Firefox.
* 2. Add the correct display in IE.
*/
article,
aside,
details, /* 1 */
figcaption,
figure,
footer,
header,
main, /* 2 */
menu,
nav,
section,
summary { /* 1 */
display: block;
}
/**
* Add the correct display in IE 9-.
*/
audio,
canvas,
progress,
video {
display: inline-block;
}
/**
* Add the correct display in iOS 4-7.
*/
audio:not([controls]) {
display: none;
height: 0;
}
/**
* Add the correct display in IE 10-.
* 1. Add the correct display in IE.
*/
template, /* 1 */
[hidden] {
display: none;
}
/* Elements of HTML (https://www.w3.org/TR/html5/semantics.html)
========================================================================== */
/**
* 1. Remove repeating backgrounds in all browsers (opinionated).
* 2. Add box sizing inheritence in all browsers (opinionated).
*/
*,
::before,
::after {
background-repeat: no-repeat; /* 1 */
box-sizing: inherit; /* 2 */
}
/**
* 1. Add text decoration inheritance in all browsers (opinionated).
* 2. Add vertical alignment inheritence in all browsers (opinionated).
*/
::before,
::after {
text-decoration: inherit; /* 1 */
vertical-align: inherit; /* 2 */
}
/**
* 1. Add border box sizing in all browsers (opinionated).
* 2. Add the default cursor in all browsers (opinionated).
* 3. Add a flattened line height in all browsers (opinionated).
* 4. Prevent font size adjustments after orientation changes in IE and iOS.
*/
html {
box-sizing: border-box; /* 1 */
cursor: default; /* 2 */
font-family: sans-serif; /* 3 */
line-height: 1.5; /* 3 */
-ms-text-size-adjust: 100%; /* 4 */
-webkit-text-size-adjust: 100%; /* 5 */
}
/* Sections (https://www.w3.org/TR/html5/sections.html)
========================================================================== */
/**
* Remove the margin in all browsers (opinionated).
*/
body {
margin: 0;
}
/**
* Correct the font sizes and margins on `h1` elements within
* `section` and `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
font-size: 2em;
margin: .67em 0;
}
/* Grouping content (https://www.w3.org/TR/html5/grouping-content.html)
========================================================================== */
/**
* 1. Correct font sizing inheritance and scaling in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
pre,
samp {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/**
* 1. Correct the height in Firefox.
* 2. Add visible overflow in Edge and IE.
*/
hr {
height: 0; /* 1 */
overflow: visible; /* 2 */
}
/**
* Remove the list style on navigation lists in all browsers (opinionated).
*/
nav ol,
nav ul {
list-style: none;
}
/* Text-level semantics
========================================================================== */
/**
* 1. Add a bordered underline effect in all browsers.
* 2. Remove text decoration in Firefox 40+.
*/
abbr[title] {
border-bottom: 1px dotted; /* 1 */
text-decoration: none; /* 2 */
}
/**
* Prevent the duplicate application of `bolder` by the next rule in Safari 6.
*/
b,
strong {
font-weight: inherit;
}
/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
font-weight: bolder;
}
/**
* Add the correct font style in Android 4.3-.
*/
dfn {
font-style: italic;
}
/**
* Add the correct colors in IE 9-.
*/
mark {
background-color: #ffff00;
color: #000000;
}
/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
vertical-align: baseline;
}
/**
* Correct the font size in all browsers.
*/
small {
font-size: 83.3333%;
}
/**
* Change the positioning on superscript and subscript elements
* in all browsers (opinionated).
* 1. Correct the font size in all browsers.
*/
sub,
sup {
font-size: 83.3333%; /* 1 */
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -.25em;
}
sup {
top: -.5em;
}
/*
* Remove the text shadow on text selections (opinionated).
* 1. Restore the coloring undone by defining the text shadow (opinionated).
*/
::-moz-selection {
background-color: #b3d4fc; /* 1 */
color: #000000; /* 1 */
text-shadow: none;
}
::selection {
background-color: #b3d4fc; /* 1 */
color: #000000; /* 1 */
text-shadow: none;
}
/* Embedded content (https://www.w3.org/TR/html5/embedded-content-0.html)
========================================================================== */
/*
* Change the alignment on media elements in all browers (opinionated).
*/
audio,
canvas,
iframe,
img,
svg,
video {
vertical-align: middle;
}
/**
* Remove the border on images inside links in IE 10-.
*/
img {
border-style: none;
}
/**
* Change the fill color to match the text color in all browsers (opinionated).
*/
svg {
fill: currentColor;
}
/**
* Hide the overflow in IE.
*/
svg:not(:root) {
overflow: hidden;
}
/* Links (https://www.w3.org/TR/html5/links.html#links)
========================================================================== */
/**
* 1. Remove the gray background on active links in IE 10.
* 2. Remove the gaps in underlines in iOS 8+ and Safari 8+.
*/
a {
background-color: transparent; /* 1 */
-webkit-text-decoration-skip: objects; /* 2 */
}
/**
* Remove the outline when hovering in all browsers (opinionated).
*/
a:hover {
outline-width: 0;
}
/* Tabular data (https://www.w3.org/TR/html5/tabular-data.html)
========================================================================== */
/*
* Remove border spacing in all browsers (opinionated).
*/
table {
border-collapse: collapse;
border-spacing: 0;
}
/* transform-style: (https://www.w3.org/TR/html5/forms.html)
========================================================================== */
/**
* 1. Remove the default styling in all browsers (opinionated).
* 3. Remove the margin in Firefox and Safari.
*/
button,
input,
select,
textarea {
background-color: transparent; /* 1 */
border-style: none; /* 1 */
color: inherit; /* 1 */
font-size: 1em; /* 1 */
margin: 0; /* 3 */
}
/**
* Correct the overflow in IE.
* 1. Correct the overflow in Edge.
*/
button,
input { /* 1 */
overflow: visible;
}
/**
* Remove the inheritance in Edge, Firefox, and IE.
* 1. Remove the inheritance in Firefox.
*/
button,
select { /* 1 */
text-transform: none;
}
/**
* 1. Prevent the WebKit bug where (2) destroys native `audio` and `video`
* controls in Android 4.
* 2. Correct the inability to style clickable types in iOS and Safari.
*/
button,
html [type="button"], /* 1 */
[type="reset"],
[type="submit"] {
-webkit-appearance: button; /* 2 */
}
/**
* Remove the inner border and padding in Firefox.
*/
::-moz-focus-inner {
border-style: none;
padding: 0;
}
/**
* Correct the focus styles unset by the previous rule.
*/
:-moz-focusring {
outline: 1px dotted ButtonText;
}
/**
* Correct the border, margin, and padding in all browsers.
*/
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: .35em .625em .75em;
}
/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend {
display: table; /* 1 */
max-width: 100%; /* 1 */
padding: 0; /* 2 */
white-space: normal; /* 1 */
}
/**
* 1. Remove the vertical scrollbar in IE.
* 2. Change the resize direction on textareas in all browsers (opinionated).
*/
textarea {
overflow: auto; /* 1 */
resize: vertical; /* 2 */
}
/**
* Remove the padding in IE 10-.
*/
[type="checkbox"],
[type="radio"] {
padding: 0;
}
/**
* Correct the cursor style on increment and decrement buttons in Chrome.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type="search"] {
-webkit-appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
}
/**
* Remove the inner padding and cancel buttons in Chrome and Safari for OS X.
*/
::-webkit-search-cancel-button,
::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* Correct the text style on placeholders in Chrome, Edge, and Safari.
*/
::-webkit-input-placeholder {
color: inherit;
opacity: .54;
}
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
font: inherit; /* 2 */
}
/* WAI-ARIA (https://www.w3.org/TR/html5/dom.html#wai-aria)
========================================================================== */
/**
* Change the cursor on busy elements (opinionated).
*/
[aria-busy="true"] {
cursor: progress;
}
/*
* Change the cursor on control elements (opinionated).
*/
[aria-controls] {
cursor: pointer;
}
/*
* Change the cursor on disabled, not-editable, or otherwise
* inoperable elements (opinionated).
*/
[aria-disabled] {
cursor: default;
}
/* User interaction (https://www.w3.org/TR/html5/editing.html)
========================================================================== */
/*
* Remove the tapping delay on clickable elements (opinionated).
* 1. Remove the tapping delay in IE 10.
*/
a,
area,
button,
input,
label,
select,
textarea,
[tabindex] {
-ms-touch-action: manipulation; /* 1 */
touch-action: manipulation;
}
/*
* Change the display on visually hidden accessible elements (opinionated).
*/
[hidden][aria-hidden="false"] {
clip: rect(0, 0, 0, 0);
display: inherit;
position: absolute;
}
[hidden][aria-hidden="false"]:focus {
clip: auto;
}

Binary file not shown.

Binary file not shown.

View file

@ -1,2 +1,2 @@
for(var mapDivs=document.querySelectorAll(".map"),i=0;i<mapDivs.length;i++){var mapDiv=mapDivs[i],latitude=mapDiv.dataset.latitude,longitude=mapDiv.dataset.longitude;L.mapbox.accessToken="pk.eyJ1Ijoiam9ubnliYXJuZXMiLCJhIjoiVlpndW1EYyJ9.aP9fxAqLKh7lj0LpFh5k1w";var map=L.mapbox.map(mapDiv,"jonnybarnes.gnoihnim").setView([latitude,longitude],15).addLayer(L.mapbox.tileLayer("jonnybarnes.gnoihnim",{detectRetina:!0}));L.marker([latitude,longitude]).addTo(map),map.scrollWheelZoom.disable()}
var mapDivs=document.querySelectorAll(".map");mapboxgl.accessToken="pk.eyJ1Ijoiam9ubnliYXJuZXMiLCJhIjoiY2l2cDhjYW04MDAwcjJ0cG1uZnhqcm82ayJ9.qA2zeVA-nsoMh9IFrd5KQw";for(var i=0;i<mapDivs.length;i++){var mapDiv=mapDivs[i],latitude=mapDiv.dataset.latitude,longitude=mapDiv.dataset.longitude,el=document.createElement("div");el.classList.add("marker");var mapMenu=document.createElement("div");mapMenu.classList.add("map-menu");var streetsInput=document.createElement("input");streetsInput.setAttribute("id","streets"),streetsInput.setAttribute("type","radio"),streetsInput.setAttribute("name","toggle"),streetsInput.setAttribute("value","streets"),streetsInput.setAttribute("checked","checked"),streetsInput.addEventListener("click",function(){map.setStyle("mapbox://styles/mapbox/streets-v9")});var streetsLabel=document.createElement("label");streetsLabel.setAttribute("for","streets"),streetsLabel.appendChild(document.createTextNode("Streets"));var satelliteInput=document.createElement("input");satelliteInput.setAttribute("id","satellite"),satelliteInput.setAttribute("type","radio"),satelliteInput.setAttribute("name","toggle"),satelliteInput.setAttribute("value","streets"),satelliteInput.addEventListener("click",function(){map.setStyle("mapbox://styles/mapbox/satellite-v9")});var satelliteLabel=document.createElement("label");satelliteLabel.setAttribute("for","satellite"),satelliteLabel.appendChild(document.createTextNode("Satellite")),mapMenu.appendChild(streetsInput),mapMenu.appendChild(streetsLabel),mapMenu.appendChild(satelliteInput),mapMenu.appendChild(satelliteLabel);var map=new mapboxgl.Map({container:mapDiv,style:"mapbox://styles/mapbox/streets-v9",center:[longitude,latitude],zoom:15,scrollZoom:!1});new mapboxgl.Marker(el,{offset:[-10,-20]}).setLngLat([longitude,latitude]).addTo(map),mapDiv.appendChild(mapMenu)}
//# sourceMappingURL=maps/maps.js.map

Binary file not shown.

Binary file not shown.

View file

@ -1 +1 @@
{"version":3,"sources":["form-save.js"],"names":["getKeys","keys","formFields","document","querySelectorAll","f","length","parent","getFormElement","key","id","push","elem","nodeName","toLowerCase","parentNode","feature","addEventListener","window","i","store","get","formId","split","getElementById","value","timerId","setInterval","saved","inputs","set","alertify","logPosition","success","forms","form","clearInterval","storedKeys","indexOf","remove"],"mappings":"AA6CA,QAASA,WAGL,IAAK,GAFDC,MACAC,EAAaC,SAASC,iBAAiB,8BAClCC,EAAI,EAAGA,EAAIH,EAAWI,OAAQD,IAAK,CACxC,GAAIE,GAASC,eAAeN,EAAWG,GACvC,IAAIE,KAAW,EAAO,CAClB,GAAIE,GAAMF,EAAOG,GAAK,IAAMR,EAAWG,GAAGK,EAC1CT,GAAKU,KAAKF,IAGlB,MAAOR,GAEX,QAASO,gBAAeI,GACpB,GAAoC,SAAhCA,EAAKC,SAASC,cAA0B,CACxC,GAAIP,GAASK,EAAKG,UAClB,OAAsC,SAAlCR,EAAOM,SAASC,cACTP,EAEAC,eAAeD,GAG1B,OAAO,EAjEf,GAAIS,UACAC,mBAAqBC,OAAOD,iBAC5Bb,mBAAqBD,SAASC,iBAGlC,IAAIY,QAAQC,kBAAoBD,QAAQZ,iBAEpC,IAAK,GADDH,MAAOD,UACFmB,EAAI,EAAGA,EAAIlB,KAAKK,OAAQa,IAC7B,GAAIC,MAAMC,IAAIpB,KAAKkB,IAAK,CACpB,GAAIG,QAASrB,KAAKkB,GAAGI,MAAM,KAAK,EAChCpB,UAASqB,eAAeF,QAAQG,MAAQL,MAAMC,IAAIpB,KAAKkB,IAqBnE,IAAK,GAhBDO,SAAUR,OAAOS,YAAY,WAG7B,IAAK,GAFDC,IAAQ,EACRC,EAAS1B,SAASC,iBAAiB,8BAC9Be,EAAI,EAAGA,EAAIU,EAAOvB,OAAQa,IAAK,CACpC,GAAIV,GAAMD,eAAeqB,EAAOV,IAAIT,GAAK,IAAMmB,EAAOV,GAAGT,EACrDU,OAAMC,IAAIZ,KAASoB,EAAOV,GAAGM,OAA6B,KAApBI,EAAOV,GAAGM,QAChDL,MAAMU,IAAIrB,EAAKoB,EAAOV,GAAGM,OACzBG,GAAQ,GAGZA,KAAU,IACVG,SAASC,YAAY,aACrBD,SAASE,QAAQ,qBAEtB,KACCC,MAAQ/B,SAASC,iBAAiB,QAC7BC,EAAI,EAAGA,EAAI6B,MAAM5B,OAAQD,IAAK,CACnC,GAAI8B,MAAOD,MAAM7B,EACjB8B,MAAKlB,iBAAiB,SAAU,WAC5BC,OAAOkB,cAAcV,QAGrB,KAAK,GAFDJ,GAASa,KAAKzB,GACd2B,EAAajB,MAAMnB,OACdkB,EAAI,EAAGA,EAAIkB,EAAW/B,OAAQa,IAC/BkB,EAAWlB,GAAGmB,QAAQhB,IAAU,GAChCF,MAAMmB,OAAOF,EAAWlB","file":"form-save.js","sourcesContent":["/* global alertify, store */\nvar feature = {\n addEventListener : !!window.addEventListener,\n querySelectorAll : !!document.querySelectorAll\n};\n\nif (feature.addEventListener && feature.querySelectorAll) {\n var keys = getKeys();\n for (var i = 0; i < keys.length; i++) {\n if (store.get(keys[i])) {\n var formId = keys[i].split('~')[1];\n document.getElementById(formId).value = store.get(keys[i]);\n }\n }\n}\n\nvar timerId = window.setInterval(function() {\n var saved = false;\n var inputs = document.querySelectorAll('input[type=text], textarea');\n for (var i = 0; i < inputs.length; i++) {\n var key = getFormElement(inputs[i]).id + '~' + inputs[i].id;\n if (store.get(key) !== inputs[i].value && inputs[i].value !== '') {\n store.set(key, inputs[i].value);\n saved = true;\n }\n }\n if (saved === true) {\n alertify.logPosition('top right');\n alertify.success('Auto saved text');\n }\n}, 5000);\nvar forms = document.querySelectorAll('form');\nfor (var f = 0; f < forms.length; f++) {\n var form = forms[f];\n form.addEventListener('submit', function() {\n window.clearInterval(timerId);\n var formId = form.id;\n var storedKeys = store.keys();\n for (var i = 0; i < storedKeys.length; i++) {\n if (storedKeys[i].indexOf(formId) > -1) {\n store.remove(storedKeys[i]);\n }\n }\n });\n}\nfunction getKeys() {\n var keys = [];\n var formFields = document.querySelectorAll('input[type=text], textarea');\n for (var f = 0; f < formFields.length; f++) {\n var parent = getFormElement(formFields[f]);\n if (parent !== false) {\n var key = parent.id + '~' + formFields[f].id;\n keys.push(key);\n }\n }\n return keys;\n}\nfunction getFormElement(elem) {\n if (elem.nodeName.toLowerCase() !== 'body') {\n var parent = elem.parentNode;\n if (parent.nodeName.toLowerCase() === 'form') {\n return parent;\n } else {\n return getFormElement(parent);\n }\n } else {\n return false;\n }\n}\n"],"sourceRoot":"/source/"}
{"version":3,"sources":["form-save.js"],"names":["getKeys","keys","formFields","document","querySelectorAll","f","length","parent","getFormElement","key","id","push","elem","nodeName","toLowerCase","parentNode","feature","addEventListener","window","i","store","get","formId","split","getElementById","value","timerId","setInterval","saved","inputs","set","alertify","logPosition","success","forms","form","clearInterval","storedKeys","indexOf","remove"],"mappings":"AA6CA,QAASA,WAGL,IAAK,GAFDC,MACAC,EAAaC,SAASC,iBAAiB,8BAClCC,EAAI,EAAGA,EAAIH,EAAWI,OAAQD,IAAK,CACxC,GAAIE,GAASC,eAAeN,EAAWG,GACvC,IAAIE,KAAW,EAAO,CAClB,GAAIE,GAAMF,EAAOG,GAAK,IAAMR,EAAWG,GAAGK,EAC1CT,GAAKU,KAAKF,IAGlB,MAAOR,GAEX,QAASO,gBAAeI,GACpB,GAAoC,SAAhCA,EAAKC,SAASC,cAA0B,CACxC,GAAIP,GAASK,EAAKG,UAClB,OAAsC,SAAlCR,EAAOM,SAASC,cACTP,EAEAC,eAAeD,GAG1B,OAAO,EAjEf,GAAIS,UACAC,mBAAqBC,OAAOD,iBAC5Bb,mBAAqBD,SAASC,iBAGlC,IAAIY,QAAQC,kBAAoBD,QAAQZ,iBAEpC,IAAK,GADDH,MAAOD,UACFmB,EAAI,EAAGA,EAAIlB,KAAKK,OAAQa,IAC7B,GAAIC,MAAMC,IAAIpB,KAAKkB,IAAK,CACpB,GAAIG,QAASrB,KAAKkB,GAAGI,MAAM,KAAK,EAChCpB,UAASqB,eAAeF,QAAQG,MAAQL,MAAMC,IAAIpB,KAAKkB,IAqBnE,IAAK,GAhBDO,SAAUR,OAAOS,YAAY,WAG7B,IAAK,GAFDC,IAAQ,EACRC,EAAS1B,SAASC,iBAAiB,8BAC9Be,EAAI,EAAGA,EAAIU,EAAOvB,OAAQa,IAAK,CACpC,GAAIV,GAAMD,eAAeqB,EAAOV,IAAIT,GAAK,IAAMmB,EAAOV,GAAGT,EACrDU,OAAMC,IAAIZ,KAASoB,EAAOV,GAAGM,OAA6B,KAApBI,EAAOV,GAAGM,QAChDL,MAAMU,IAAIrB,EAAKoB,EAAOV,GAAGM,OACzBG,GAAQ,GAGZA,KAAU,IACVG,SAASC,YAAY,aACrBD,SAASE,QAAQ,qBAEtB,KACCC,MAAQ/B,SAASC,iBAAiB,QAC7BC,EAAI,EAAGA,EAAI6B,MAAM5B,OAAQD,IAAK,CACnC,GAAI8B,MAAOD,MAAM7B,EACjB8B,MAAKlB,iBAAiB,SAAU,WAC5BC,OAAOkB,cAAcV,QAGrB,KAAK,GAFDJ,GAASa,KAAKzB,GACd2B,EAAajB,MAAMnB,OACdkB,EAAI,EAAGA,EAAIkB,EAAW/B,OAAQa,IAC/BkB,EAAWlB,GAAGmB,QAAQhB,IAAU,GAChCF,MAAMmB,OAAOF,EAAWlB","file":"../form-save.js","sourcesContent":["/* global alertify, store */\nvar feature = {\n addEventListener : !!window.addEventListener,\n querySelectorAll : !!document.querySelectorAll\n};\n\nif (feature.addEventListener && feature.querySelectorAll) {\n var keys = getKeys();\n for (var i = 0; i < keys.length; i++) {\n if (store.get(keys[i])) {\n var formId = keys[i].split('~')[1];\n document.getElementById(formId).value = store.get(keys[i]);\n }\n }\n}\n\nvar timerId = window.setInterval(function() {\n var saved = false;\n var inputs = document.querySelectorAll('input[type=text], textarea');\n for (var i = 0; i < inputs.length; i++) {\n var key = getFormElement(inputs[i]).id + '~' + inputs[i].id;\n if (store.get(key) !== inputs[i].value && inputs[i].value !== '') {\n store.set(key, inputs[i].value);\n saved = true;\n }\n }\n if (saved === true) {\n alertify.logPosition('top right');\n alertify.success('Auto saved text');\n }\n}, 5000);\nvar forms = document.querySelectorAll('form');\nfor (var f = 0; f < forms.length; f++) {\n var form = forms[f];\n form.addEventListener('submit', function() {\n window.clearInterval(timerId);\n var formId = form.id;\n var storedKeys = store.keys();\n for (var i = 0; i < storedKeys.length; i++) {\n if (storedKeys[i].indexOf(formId) > -1) {\n store.remove(storedKeys[i]);\n }\n }\n });\n}\nfunction getKeys() {\n var keys = [];\n var formFields = document.querySelectorAll('input[type=text], textarea');\n for (var f = 0; f < formFields.length; f++) {\n var parent = getFormElement(formFields[f]);\n if (parent !== false) {\n var key = parent.id + '~' + formFields[f].id;\n keys.push(key);\n }\n }\n return keys;\n}\nfunction getFormElement(elem) {\n if (elem.nodeName.toLowerCase() !== 'body') {\n var parent = elem.parentNode;\n if (parent.nodeName.toLowerCase() === 'form') {\n return parent;\n } else {\n return getFormElement(parent);\n }\n } else {\n return false;\n }\n}\n"]}

View file

@ -1 +1 @@
{"version":3,"sources":["links.js"],"names":["autolinker","Autolinker","ytidregex","spotifyregex","notes","document","querySelectorAll","i","length","ytid","textContent","match","yid","yiframe","createElement","classList","add","setAttribute","appendChild","spotifyid","sid","replace","siframe","orig","innerHTML","linked","link"],"mappings":"AAWA,IAAK,GATDA,YAAa,GAAIC,YAGjBC,UAAY,6BAEZC,aAAe,wCAGfC,MAAQC,SAASC,iBAAiB,cAC7BC,EAAI,EAAGA,EAAIH,MAAMI,OAAQD,IAAK,CAEnC,GAAIE,MAAOL,MAAMG,GAAGG,YAAYC,MAAMT,UACtC,IAAa,OAATO,KAAe,CACf,GAAIG,KAAMH,KAAK,GACXI,QAAUR,SAASS,cAAc,SACrCD,SAAQE,UAAUC,IAAI,WACtBH,QAAQI,aAAa,MAAO,2BAA6BL,KACzDC,QAAQI,aAAa,cAAe,GACpCJ,QAAQI,aAAa,kBAAmB,QACxCb,MAAMG,GAAGW,YAAYL,SAGzB,GAAIM,WAAYf,MAAMG,GAAGG,YAAYC,MAAMR,aAC3C,IAAkB,OAAdgB,UAAoB,CACpB,GAAIC,KAAMD,UAAU,GAAGE,QAAQ,IAAK,KAChCC,QAAUjB,SAASS,cAAc,SACrCQ,SAAQP,UAAUC,IAAI,WACtBM,QAAQL,aAAa,MAAO,0CAA4CG,KACxEE,QAAQL,aAAa,cAAe,GACpCK,QAAQL,aAAa,oBAAqB,QAC1Cb,MAAMG,GAAGW,YAAYI,SAGzB,GAAIC,MAAOnB,MAAMG,GAAGiB,UAChBC,OAASzB,WAAW0B,KAAKH,KAC7BnB,OAAMG,GAAGiB,UAAYC","file":"links.js","sourcesContent":["/* global Autolinker */\n//the autlinker object\nvar autolinker = new Autolinker();\n\n//the youtube regex\nvar ytidregex = /watch\\?v=([A-Za-z0-9\\-_]+)/;\n\nvar spotifyregex = /https\\:\\/\\/play\\.spotify\\.com\\/(.*)\\b/;\n\n//grab the notes and loop through them\nvar notes = document.querySelectorAll('.e-content');\nfor (var i = 0; i < notes.length; i++) {\n //get Youtube ID\n var ytid = notes[i].textContent.match(ytidregex);\n if (ytid !== null) {\n var yid = ytid[1];\n var yiframe = document.createElement('iframe');\n yiframe.classList.add('youtube');\n yiframe.setAttribute('src', '//www.youtube.com/embed/' + yid);\n yiframe.setAttribute('frameborder', 0);\n yiframe.setAttribute('allowfullscreen', 'true');\n notes[i].appendChild(yiframe);\n }\n //get Spotify ID\n var spotifyid = notes[i].textContent.match(spotifyregex);\n if (spotifyid !== null) {\n var sid = spotifyid[1].replace('/', ':');\n var siframe = document.createElement('iframe');\n siframe.classList.add('spotify');\n siframe.setAttribute('src', 'https://embed.spotify.com/?uri=spotify:' + sid);\n siframe.setAttribute('frameborder', 0);\n siframe.setAttribute('allowtransparency', 'true');\n notes[i].appendChild(siframe);\n }\n //now linkify everything\n var orig = notes[i].innerHTML;\n var linked = autolinker.link(orig);\n notes[i].innerHTML = linked;\n}\n"],"sourceRoot":"/source/"}
{"version":3,"sources":["links.js"],"names":["autolinker","Autolinker","ytidregex","spotifyregex","notes","document","querySelectorAll","i","length","ytid","textContent","match","yid","yiframe","createElement","classList","add","setAttribute","appendChild","spotifyid","sid","replace","siframe","orig","innerHTML","linked","link"],"mappings":"AAWA,IAAK,GATDA,YAAa,GAAIC,YAGjBC,UAAY,6BAEZC,aAAe,wCAGfC,MAAQC,SAASC,iBAAiB,cAC7BC,EAAI,EAAGA,EAAIH,MAAMI,OAAQD,IAAK,CAEnC,GAAIE,MAAOL,MAAMG,GAAGG,YAAYC,MAAMT,UACtC,IAAa,OAATO,KAAe,CACf,GAAIG,KAAMH,KAAK,GACXI,QAAUR,SAASS,cAAc,SACrCD,SAAQE,UAAUC,IAAI,WACtBH,QAAQI,aAAa,MAAO,2BAA6BL,KACzDC,QAAQI,aAAa,cAAe,GACpCJ,QAAQI,aAAa,kBAAmB,QACxCb,MAAMG,GAAGW,YAAYL,SAGzB,GAAIM,WAAYf,MAAMG,GAAGG,YAAYC,MAAMR,aAC3C,IAAkB,OAAdgB,UAAoB,CACpB,GAAIC,KAAMD,UAAU,GAAGE,QAAQ,IAAK,KAChCC,QAAUjB,SAASS,cAAc,SACrCQ,SAAQP,UAAUC,IAAI,WACtBM,QAAQL,aAAa,MAAO,0CAA4CG,KACxEE,QAAQL,aAAa,cAAe,GACpCK,QAAQL,aAAa,oBAAqB,QAC1Cb,MAAMG,GAAGW,YAAYI,SAGzB,GAAIC,MAAOnB,MAAMG,GAAGiB,UAChBC,OAASzB,WAAW0B,KAAKH,KAC7BnB,OAAMG,GAAGiB,UAAYC","file":"../links.js","sourcesContent":["/* global Autolinker */\n//the autlinker object\nvar autolinker = new Autolinker();\n\n//the youtube regex\nvar ytidregex = /watch\\?v=([A-Za-z0-9\\-_]+)/;\n\nvar spotifyregex = /https\\:\\/\\/play\\.spotify\\.com\\/(.*)\\b/;\n\n//grab the notes and loop through them\nvar notes = document.querySelectorAll('.e-content');\nfor (var i = 0; i < notes.length; i++) {\n //get Youtube ID\n var ytid = notes[i].textContent.match(ytidregex);\n if (ytid !== null) {\n var yid = ytid[1];\n var yiframe = document.createElement('iframe');\n yiframe.classList.add('youtube');\n yiframe.setAttribute('src', '//www.youtube.com/embed/' + yid);\n yiframe.setAttribute('frameborder', 0);\n yiframe.setAttribute('allowfullscreen', 'true');\n notes[i].appendChild(yiframe);\n }\n //get Spotify ID\n var spotifyid = notes[i].textContent.match(spotifyregex);\n if (spotifyid !== null) {\n var sid = spotifyid[1].replace('/', ':');\n var siframe = document.createElement('iframe');\n siframe.classList.add('spotify');\n siframe.setAttribute('src', 'https://embed.spotify.com/?uri=spotify:' + sid);\n siframe.setAttribute('frameborder', 0);\n siframe.setAttribute('allowtransparency', 'true');\n notes[i].appendChild(siframe);\n }\n //now linkify everything\n var orig = notes[i].innerHTML;\n var linked = autolinker.link(orig);\n notes[i].innerHTML = linked;\n}\n"]}

View file

@ -1 +1 @@
{"version":3,"sources":["maps.js"],"names":["mapDivs","document","querySelectorAll","i","length","mapDiv","latitude","dataset","longitude","L","mapbox","accessToken","map","setView","addLayer","tileLayer","detectRetina","marker","addTo","scrollWheelZoom","disable"],"mappings":"AAGA,IAAK,GADDA,SAAUC,SAASC,iBAAiB,QAC/BC,EAAI,EAAGA,EAAIH,QAAQI,OAAQD,IAAK,CACrC,GAAIE,QAASL,QAAQG,GACjBG,SAAWD,OAAOE,QAAQD,SAC1BE,UAAaH,OAAOE,QAAQC,SAChCC,GAAEC,OAAOC,YAAc,wEACvB,IAAIC,KAAMH,EAAEC,OAAOE,IAAIP,OAAQ,wBAC1BQ,SAASP,SAAUE,WAAY,IAC/BM,SAASL,EAAEC,OAAOK,UAAU,wBACzBC,cAAc,IAEtBP,GAAEQ,QAAQX,SAAUE,YAAYU,MAAMN,KACtCA,IAAIO,gBAAgBC","file":"maps.js","sourcesContent":["/* global L */\n//This code runs on page load and looks for <div class=\"map\">, then adds map\nvar mapDivs = document.querySelectorAll('.map');\nfor (var i = 0; i < mapDivs.length; i++) {\n var mapDiv = mapDivs[i];\n var latitude = mapDiv.dataset.latitude;\n var longitude = mapDiv.dataset.longitude;\n L.mapbox.accessToken = 'pk.eyJ1Ijoiam9ubnliYXJuZXMiLCJhIjoiVlpndW1EYyJ9.aP9fxAqLKh7lj0LpFh5k1w';\n var map = L.mapbox.map(mapDiv, 'jonnybarnes.gnoihnim')\n .setView([latitude, longitude], 15)\n .addLayer(L.mapbox.tileLayer('jonnybarnes.gnoihnim', {\n detectRetina: true\n }));\n L.marker([latitude, longitude]).addTo(map);\n map.scrollWheelZoom.disable();\n}\n"],"sourceRoot":"/source/"}
{"version":3,"sources":["maps.js"],"names":["mapDivs","document","querySelectorAll","mapboxgl","accessToken","i","length","mapDiv","latitude","dataset","longitude","el","createElement","classList","add","mapMenu","streetsInput","setAttribute","addEventListener","map","setStyle","streetsLabel","appendChild","createTextNode","satelliteInput","satelliteLabel","Map","container","style","center","zoom","scrollZoom","Marker","offset","setLngLat","addTo"],"mappings":"AAEA,GAAIA,SAAUC,SAASC,iBAAiB,OACxCC,UAASC,YAAc,gGACvB,KAAK,GAAIC,GAAI,EAAGA,EAAIL,QAAQM,OAAQD,IAAK,CACrC,GAAIE,QAASP,QAAQK,GACjBG,SAAWD,OAAOE,QAAQD,SAC1BE,UAAaH,OAAOE,QAAQC,UAC5BC,GAAKV,SAASW,cAAc,MAChCD,IAAGE,UAAUC,IAAI,SACjB,IAAIC,SAAUd,SAASW,cAAc,MACrCG,SAAQF,UAAUC,IAAI,WACtB,IAAIE,cAAef,SAASW,cAAc,QAC1CI,cAAaC,aAAa,KAAM,WAChCD,aAAaC,aAAa,OAAQ,SAClCD,aAAaC,aAAa,OAAQ,UAClCD,aAAaC,aAAa,QAAS,WACnCD,aAAaC,aAAa,UAAW,WACrCD,aAAaE,iBAAiB,QAAS,WACnCC,IAAIC,SAAS,sCAEjB,IAAIC,cAAepB,SAASW,cAAc,QAC1CS,cAAaJ,aAAa,MAAO,WACjCI,aAAaC,YAAYrB,SAASsB,eAAe,WACjD,IAAIC,gBAAiBvB,SAASW,cAAc,QAC5CY,gBAAeP,aAAa,KAAM,aAClCO,eAAeP,aAAa,OAAQ,SACpCO,eAAeP,aAAa,OAAQ,UACpCO,eAAeP,aAAa,QAAS,WACrCO,eAAeN,iBAAiB,QAAS,WACrCC,IAAIC,SAAS,wCAEjB,IAAIK,gBAAiBxB,SAASW,cAAc,QAC5Ca,gBAAeR,aAAa,MAAO,aACnCQ,eAAeH,YAAYrB,SAASsB,eAAe,cACnDR,QAAQO,YAAYN,cACpBD,QAAQO,YAAYD,cACpBN,QAAQO,YAAYE,gBACpBT,QAAQO,YAAYG,eACpB,IAAIN,KAAM,GAAIhB,UAASuB,KACnBC,UAAWpB,OACXqB,MAAO,oCACPC,QAASnB,UAAWF,UACpBsB,KAAM,GACNC,YAAY,GAEhB,IAAI5B,UAAS6B,OAAOrB,IAAKsB,SAAS,IAAK,MAAOC,WAAWxB,UAAWF,WAAW2B,MAAMhB,KACrFZ,OAAOe,YAAYP","file":"../maps.js","sourcesContent":["/* global mapboxgl */\n//This code runs on page load and looks for <div class=\"map\">, then adds map\nvar mapDivs = document.querySelectorAll('.map');\nmapboxgl.accessToken = 'pk.eyJ1Ijoiam9ubnliYXJuZXMiLCJhIjoiY2l2cDhjYW04MDAwcjJ0cG1uZnhqcm82ayJ9.qA2zeVA-nsoMh9IFrd5KQw';\nfor (var i = 0; i < mapDivs.length; i++) {\n var mapDiv = mapDivs[i];\n var latitude = mapDiv.dataset.latitude;\n var longitude = mapDiv.dataset.longitude;\n var el = document.createElement('div');\n el.classList.add('marker');\n var mapMenu = document.createElement('div');\n mapMenu.classList.add('map-menu');\n var streetsInput = document.createElement('input');\n streetsInput.setAttribute('id', 'streets');\n streetsInput.setAttribute('type', 'radio');\n streetsInput.setAttribute('name', 'toggle');\n streetsInput.setAttribute('value', 'streets');\n streetsInput.setAttribute('checked', 'checked');\n streetsInput.addEventListener('click', function () {\n map.setStyle('mapbox://styles/mapbox/streets-v9');\n });\n var streetsLabel = document.createElement('label');\n streetsLabel.setAttribute('for', 'streets');\n streetsLabel.appendChild(document.createTextNode('Streets'));\n var satelliteInput = document.createElement('input');\n satelliteInput.setAttribute('id', 'satellite');\n satelliteInput.setAttribute('type', 'radio');\n satelliteInput.setAttribute('name', 'toggle');\n satelliteInput.setAttribute('value', 'streets');\n satelliteInput.addEventListener('click', function () {\n map.setStyle('mapbox://styles/mapbox/satellite-v9');\n });\n var satelliteLabel = document.createElement('label');\n satelliteLabel.setAttribute('for', 'satellite');\n satelliteLabel.appendChild(document.createTextNode('Satellite'));\n mapMenu.appendChild(streetsInput);\n mapMenu.appendChild(streetsLabel);\n mapMenu.appendChild(satelliteInput);\n mapMenu.appendChild(satelliteLabel);\n var map = new mapboxgl.Map({\n container: mapDiv,\n style: 'mapbox://styles/mapbox/streets-v9',\n center: [longitude, latitude],\n zoom: 15,\n scrollZoom: false\n });\n new mapboxgl.Marker(el, {offset: [-10, -20]}).setLngLat([longitude, latitude]).addTo(map);\n mapDiv.appendChild(mapMenu);\n}\n"]}

File diff suppressed because one or more lines are too long

View file

@ -1 +1 @@
{"version":3,"sources":["newplace.js"],"names":["getLocation","navigator","geolocation","getCurrentPosition","position","updateForm","coords","latitude","longitude","addMap","inputLatitude","document","querySelector","inputLongitude","value","form","div","createElement","setAttribute","appendChild","L","mapbox","accessToken","map","setView","addLayer","tileLayer","detectRetina","marker","draggable","addTo","on","markerLocation","getLatLng","lat","lng","button","addEventListener","attachEvent"],"mappings":"AASA,QAASA,eACD,eAAiBC,YACjBA,UAAUC,YAAYC,mBAAmB,SAASC,GAC9CC,WAAWD,EAASE,OAAOC,SAAUH,EAASE,OAAOE,WACrDC,OAAOL,EAASE,OAAOC,SAAUH,EAASE,OAAOE,aAK7D,QAASH,YAAWE,EAAUC,GAC1B,GAAIE,GAAgBC,SAASC,cAAc,aACvCC,EAAiBF,SAASC,cAAc,aAC5CF,GAAcI,MAAQP,EACtBM,EAAeC,MAAQN,EAG3B,QAASC,QAAOF,EAAUC,GACtB,GAAIO,GAAOJ,SAASC,cAAc,QAC9BI,EAAML,SAASM,cAAc,MACjCD,GAAIE,aAAa,KAAM,OACvBH,EAAKI,YAAYH,GACjBI,EAAEC,OAAOC,YAAc,wEACvB,IAAIC,GAAMH,EAAEC,OAAOE,IAAI,MAAO,wBACzBC,SAASjB,EAAUC,GAAY,IAC/BiB,SAASL,EAAEC,OAAOK,UAAU,wBACzBC,cAAc,KAElBC,EAASR,EAAEQ,QAAQrB,EAAUC,IAC7BqB,WAAW,IACZC,MAAMP,EACTK,GAAOG,GAAG,UAAW,WACjB,GAAIC,GAAiBJ,EAAOK,WAC5B5B,YAAW2B,EAAeE,IAAKF,EAAeG,OAxCtD,GAAIC,QAASzB,SAASC,cAAc,UAEhCwB,QAAOC,iBACPD,OAAOC,iBAAiB,QAASrC,aAEjCoC,OAAOE,YAAY,UAAWtC","file":"newplace.js","sourcesContent":["/* global L */\nvar button = document.querySelector('#locate');\n\nif (button.addEventListener) {\n button.addEventListener('click', getLocation);\n} else {\n button.attachEvent('onclick', getLocation);\n}\n\nfunction getLocation() {\n if ('geolocation' in navigator) {\n navigator.geolocation.getCurrentPosition(function(position) {\n updateForm(position.coords.latitude, position.coords.longitude);\n addMap(position.coords.latitude, position.coords.longitude);\n });\n }\n}\n\nfunction updateForm(latitude, longitude) {\n var inputLatitude = document.querySelector('#latitude');\n var inputLongitude = document.querySelector('#longitude');\n inputLatitude.value = latitude;\n inputLongitude.value = longitude;\n}\n\nfunction addMap(latitude, longitude) {\n var form = document.querySelector('form');\n var div = document.createElement('div');\n div.setAttribute('id', 'map');\n form.appendChild(div);\n L.mapbox.accessToken = 'pk.eyJ1Ijoiam9ubnliYXJuZXMiLCJhIjoiVlpndW1EYyJ9.aP9fxAqLKh7lj0LpFh5k1w';\n var map = L.mapbox.map('map', 'jonnybarnes.gnoihnim')\n .setView([latitude, longitude], 15)\n .addLayer(L.mapbox.tileLayer('jonnybarnes.gnoihnim', {\n detectRetina: true\n }));\n var marker = L.marker([latitude, longitude], {\n draggable: true\n }).addTo(map);\n marker.on('dragend', function () {\n var markerLocation = marker.getLatLng();\n updateForm(markerLocation.lat, markerLocation.lng);\n });\n}\n"],"sourceRoot":"/source/"}
{"version":3,"sources":["newplace.js"],"names":["getLocation","navigator","geolocation","getCurrentPosition","position","updateForm","coords","latitude","longitude","addMap","inputLatitude","document","querySelector","inputLongitude","value","form","div","createElement","setAttribute","appendChild","L","mapbox","accessToken","map","setView","addLayer","tileLayer","detectRetina","marker","draggable","addTo","on","markerLocation","getLatLng","lat","lng","button","addEventListener","attachEvent"],"mappings":"AASA,QAASA,eACD,eAAiBC,YACjBA,UAAUC,YAAYC,mBAAmB,SAASC,GAC9CC,WAAWD,EAASE,OAAOC,SAAUH,EAASE,OAAOE,WACrDC,OAAOL,EAASE,OAAOC,SAAUH,EAASE,OAAOE,aAK7D,QAASH,YAAWE,EAAUC,GAC1B,GAAIE,GAAgBC,SAASC,cAAc,aACvCC,EAAiBF,SAASC,cAAc,aAC5CF,GAAcI,MAAQP,EACtBM,EAAeC,MAAQN,EAG3B,QAASC,QAAOF,EAAUC,GACtB,GAAIO,GAAOJ,SAASC,cAAc,QAC9BI,EAAML,SAASM,cAAc,MACjCD,GAAIE,aAAa,KAAM,OACvBH,EAAKI,YAAYH,GACjBI,EAAEC,OAAOC,YAAc,wEACvB,IAAIC,GAAMH,EAAEC,OAAOE,IAAI,MAAO,wBACzBC,SAASjB,EAAUC,GAAY,IAC/BiB,SAASL,EAAEC,OAAOK,UAAU,wBACzBC,cAAc,KAElBC,EAASR,EAAEQ,QAAQrB,EAAUC,IAC7BqB,WAAW,IACZC,MAAMP,EACTK,GAAOG,GAAG,UAAW,WACjB,GAAIC,GAAiBJ,EAAOK,WAC5B5B,YAAW2B,EAAeE,IAAKF,EAAeG,OAxCtD,GAAIC,QAASzB,SAASC,cAAc,UAEhCwB,QAAOC,iBACPD,OAAOC,iBAAiB,QAASrC,aAEjCoC,OAAOE,YAAY,UAAWtC","file":"../newplace.js","sourcesContent":["/* global L */\nvar button = document.querySelector('#locate');\n\nif (button.addEventListener) {\n button.addEventListener('click', getLocation);\n} else {\n button.attachEvent('onclick', getLocation);\n}\n\nfunction getLocation() {\n if ('geolocation' in navigator) {\n navigator.geolocation.getCurrentPosition(function(position) {\n updateForm(position.coords.latitude, position.coords.longitude);\n addMap(position.coords.latitude, position.coords.longitude);\n });\n }\n}\n\nfunction updateForm(latitude, longitude) {\n var inputLatitude = document.querySelector('#latitude');\n var inputLongitude = document.querySelector('#longitude');\n inputLatitude.value = latitude;\n inputLongitude.value = longitude;\n}\n\nfunction addMap(latitude, longitude) {\n var form = document.querySelector('form');\n var div = document.createElement('div');\n div.setAttribute('id', 'map');\n form.appendChild(div);\n L.mapbox.accessToken = 'pk.eyJ1Ijoiam9ubnliYXJuZXMiLCJhIjoiVlpndW1EYyJ9.aP9fxAqLKh7lj0LpFh5k1w';\n var map = L.mapbox.map('map', 'jonnybarnes.gnoihnim')\n .setView([latitude, longitude], 15)\n .addLayer(L.mapbox.tileLayer('jonnybarnes.gnoihnim', {\n detectRetina: true\n }));\n var marker = L.marker([latitude, longitude], {\n draggable: true\n }).addTo(map);\n marker.on('dragend', function () {\n var markerLocation = marker.getLatLng();\n updateForm(markerLocation.lat, markerLocation.lng);\n });\n}\n"]}

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -1,16 +1,49 @@
/* global L */
/* global mapboxgl */
//This code runs on page load and looks for <div class="map">, then adds map
var mapDivs = document.querySelectorAll('.map');
mapboxgl.accessToken = 'pk.eyJ1Ijoiam9ubnliYXJuZXMiLCJhIjoiY2l2cDhjYW04MDAwcjJ0cG1uZnhqcm82ayJ9.qA2zeVA-nsoMh9IFrd5KQw';
for (var i = 0; i < mapDivs.length; i++) {
var mapDiv = mapDivs[i];
var latitude = mapDiv.dataset.latitude;
var longitude = mapDiv.dataset.longitude;
L.mapbox.accessToken = 'pk.eyJ1Ijoiam9ubnliYXJuZXMiLCJhIjoiVlpndW1EYyJ9.aP9fxAqLKh7lj0LpFh5k1w';
var map = L.mapbox.map(mapDiv, 'jonnybarnes.gnoihnim')
.setView([latitude, longitude], 15)
.addLayer(L.mapbox.tileLayer('jonnybarnes.gnoihnim', {
detectRetina: true
}));
L.marker([latitude, longitude]).addTo(map);
map.scrollWheelZoom.disable();
var el = document.createElement('div');
el.classList.add('marker');
var mapMenu = document.createElement('div');
mapMenu.classList.add('map-menu');
var streetsInput = document.createElement('input');
streetsInput.setAttribute('id', 'streets');
streetsInput.setAttribute('type', 'radio');
streetsInput.setAttribute('name', 'toggle');
streetsInput.setAttribute('value', 'streets');
streetsInput.setAttribute('checked', 'checked');
streetsInput.addEventListener('click', function () {
map.setStyle('mapbox://styles/mapbox/streets-v9');
});
var streetsLabel = document.createElement('label');
streetsLabel.setAttribute('for', 'streets');
streetsLabel.appendChild(document.createTextNode('Streets'));
var satelliteInput = document.createElement('input');
satelliteInput.setAttribute('id', 'satellite');
satelliteInput.setAttribute('type', 'radio');
satelliteInput.setAttribute('name', 'toggle');
satelliteInput.setAttribute('value', 'streets');
satelliteInput.addEventListener('click', function () {
map.setStyle('mapbox://styles/mapbox/satellite-v9');
});
var satelliteLabel = document.createElement('label');
satelliteLabel.setAttribute('for', 'satellite');
satelliteLabel.appendChild(document.createTextNode('Satellite'));
mapMenu.appendChild(streetsInput);
mapMenu.appendChild(streetsLabel);
mapMenu.appendChild(satelliteInput);
mapMenu.appendChild(satelliteLabel);
var map = new mapboxgl.Map({
container: mapDiv,
style: 'mapbox://styles/mapbox/streets-v9',
center: [longitude, latitude],
zoom: 15,
scrollZoom: false
});
new mapboxgl.Marker(el, {offset: [-10, -20]}).setLngLat([longitude, latitude]).addTo(map);
mapDiv.appendChild(mapMenu);
}

View file

@ -1,4 +1,4 @@
/* global L, alertify */
/* global mapboxgl, alertify */
if ('geolocation' in navigator) {
var button = document.querySelector('#locate');
if (button.addEventListener) {
@ -53,39 +53,59 @@ function addMap(latitude, longitude, places) {
if (arguments.length == 2) {
places = null;
}
var form = button.parentNode;
var div = document.createElement('div');
div.setAttribute('id', 'map');
// the form has a fieldset element that we are actually targetting
var form = document.querySelector('.note-ui');
var mapDiv = document.createElement('div');
mapDiv.classList.add('map');
//add the map div
form.appendChild(div);
L.mapbox.accessToken = 'pk.eyJ1Ijoiam9ubnliYXJuZXMiLCJhIjoiVlpndW1EYyJ9.aP9fxAqLKh7lj0LpFh5k1w';
var map = L.mapbox.map('map', 'jonnybarnes.gnoihnim')
.setView([latitude, longitude], 15)
.addLayer(L.mapbox.tileLayer('jonnybarnes.gnoihnim', {
detectRetina: true
}));
//add a marker for the current location
var marker = L.marker([latitude, longitude], {
draggable: true
}).addTo(map);
//when the location marker is dragged, if the new place form elements exist
//update the lat/lng values
marker.on('dragend', function () {
var mapMarkerLatitude = getLatitudeFromMapboxMarker(marker.getLatLng());
var mapMarkerLongitude = getLongitudeFromMapboxMarker(marker.getLatLng());
var coordsOption = document.querySelector('#option-coords');
if (coordsOption != null) {
coordsOption.value = 'geo:' + mapMarkerLatitude + ',' + mapMarkerLongitude;
}
var placeFormLatitude = document.querySelector('#place-latitude');
if (placeFormLatitude !== null) {
placeFormLatitude.value = mapMarkerLatitude;
}
var placeFormLongitude = document.querySelector('#place-longitude');
if (placeFormLongitude !== null) {
placeFormLongitude.value = mapMarkerLongitude;
}
form.appendChild(mapDiv);
//set up the mapbox gl map
mapboxgl.accessToken = 'pk.eyJ1Ijoiam9ubnliYXJuZXMiLCJhIjoiY2l2cDhjYW04MDAwcjJ0cG1uZnhqcm82ayJ9.qA2zeVA-nsoMh9IFrd5KQw';
var map = new mapboxgl.Map({
container: mapDiv,
style: 'mapbox://styles/mapbox/streets-v9',
center: [longitude, latitude],
zoom: 15
});
//create the current location marker
var el = document.createElement('div');
el.classList.add('marker');
//create the map style menu
var mapMenu = document.createElement('div');
mapMenu.classList.add('map-menu');
var streetsInput = document.createElement('input');
streetsInput.setAttribute('id', 'streets');
streetsInput.setAttribute('type', 'radio');
streetsInput.setAttribute('name', 'toggle');
streetsInput.setAttribute('value', 'streets');
streetsInput.setAttribute('checked', 'checked');
streetsInput.addEventListener('click', function () {
map.setStyle('mapbox://styles/mapbox/streets-v9');
});
var streetsLabel = document.createElement('label');
streetsLabel.setAttribute('for', 'streets');
streetsLabel.appendChild(document.createTextNode('Streets'));
var satelliteInput = document.createElement('input');
satelliteInput.setAttribute('id', 'satellite');
satelliteInput.setAttribute('type', 'radio');
satelliteInput.setAttribute('name', 'toggle');
satelliteInput.setAttribute('value', 'streets');
satelliteInput.addEventListener('click', function () {
map.setStyle('mapbox://styles/mapbox/satellite-v9');
});
var satelliteLabel = document.createElement('label');
satelliteLabel.setAttribute('for', 'satellite');
satelliteLabel.appendChild(document.createTextNode('Satellite'));
mapMenu.appendChild(streetsInput);
mapMenu.appendChild(streetsLabel);
mapMenu.appendChild(satelliteInput);
mapMenu.appendChild(satelliteLabel);
//add the map menu
mapDiv.appendChild(mapMenu);
//add a marker for the current location
new mapboxgl.Marker(el, {offset: [-10, -20]}).setLngLat([longitude, latitude]).addTo(map);
//create containing div for flexbox
var containingDiv = document.createElement('div');
//create the <select> element and give it a no location default
var selectEl = document.createElement('select');
selectEl.setAttribute('name', 'location');
@ -97,9 +117,12 @@ function addMap(latitude, longitude, places) {
geoLocation.setAttribute('selected', 'selected');
geoLocation.setAttribute('id', 'option-coords');
geoLocation.setAttribute('value', 'geo:' + latitude + ',' + longitude);
geoLocation.dataset.latitude = latitude;
geoLocation.dataset.longitude = longitude;
geoLocation.appendChild(document.createTextNode('Send co-ordinates'));
selectEl.appendChild(geoLocation);
form.insertBefore(selectEl, div);
containingDiv.appendChild(selectEl);
form.insertBefore(containingDiv, mapDiv);
if (places !== null) {
//add the places both to the map and <select>
places.forEach(function (item) {
@ -110,19 +133,16 @@ function addMap(latitude, longitude, places) {
option.dataset.latitude = item[2];
option.dataset.longitude = item[3];
selectEl.appendChild(option);
var placeMarker = L.marker([item[2], item[3]], {
icon: L.mapbox.marker.icon({
'marker-size': 'large',
'marker-symbol': 'building',
'marker-color': '#fa0'
})
}).addTo(map);
var name = 'Name: ' + item[0];
placeMarker.bindPopup(name, {
closeButton: true
var placeMarkerIcon = document.createElement('div');
placeMarkerIcon.classList.add('marker');
new mapboxgl.Marker(placeMarkerIcon, {offset: [-10, -20]}).setLngLat([item[3], item[2]]).addTo(map);
placeMarkerIcon.addEventListener('click', function () {
map.flyTo({
center: [
item[3],
item[2]
]
});
placeMarker.on('click', function () {
map.panTo([item[2], item[3]]);
selectPlace(item[1]);
});
});
@ -131,7 +151,12 @@ function addMap(latitude, longitude, places) {
if (selectEl.value !== 'no-location') {
var placeLat = selectEl[selectEl.selectedIndex].dataset.latitude;
var placeLon = selectEl[selectEl.selectedIndex].dataset.longitude;
map.panTo([placeLat, placeLon]);
map.flyTo({
center: [
placeLon,
placeLat
]
});
}
});
}
@ -143,6 +168,7 @@ function addMap(latitude, longitude, places) {
//the event listener
newLocButton.addEventListener('click', function() {
//add the form elements
var nameDiv = document.createElement('div');
var nameLabel = document.createElement('label');
nameLabel.setAttribute('for', 'place-name');
nameLabel.classList.add('place-label');
@ -152,6 +178,9 @@ function addMap(latitude, longitude, places) {
nameEl.setAttribute('name', 'place-name');
nameEl.setAttribute('id', 'place-name');
nameEl.setAttribute('type', 'text');
nameDiv.appendChild(nameLabel);
nameDiv.appendChild(nameEl);
var descDiv = document.createElement('div');
var descLabel = document.createElement('label');
descLabel.setAttribute('for', 'place-description');
descLabel.classList.add('place-label');
@ -161,6 +190,9 @@ function addMap(latitude, longitude, places) {
descEl.setAttribute('name', 'place-description');
descEl.setAttribute('id', 'place-description');
descEl.setAttribute('type', 'text');
descDiv.appendChild(descLabel);
descDiv.appendChild(descEl);
var latDiv = document.createElement('div');
var latLabel = document.createElement('label');
latLabel.setAttribute('for', 'place-latitude');
latLabel.classList.add('place-label');
@ -169,7 +201,10 @@ function addMap(latitude, longitude, places) {
latEl.setAttribute('name', 'place-latitude');
latEl.setAttribute('id', 'place-latitude');
latEl.setAttribute('type', 'text');
latEl.value = getLatitudeFromMapboxMarker(marker.getLatLng());
latEl.value = getLatitudeFromMapbox(map.getCenter());
latDiv.appendChild(latLabel);
latDiv.appendChild(latEl);
var lonDiv = document.createElement('div');
var lonLabel = document.createElement('label');
lonLabel.setAttribute('for', 'place-longitude');
lonLabel.classList.add('place-label');
@ -178,21 +213,19 @@ function addMap(latitude, longitude, places) {
lonEl.setAttribute('name', 'place-longitude');
lonEl.setAttribute('id', 'place-longitude');
lonEl.setAttribute('type', 'text');
lonEl.value = getLongitudeFromMapboxMarker(marker.getLatLng());
lonEl.value = getLongitudeFromMapbox(map.getCenter());
lonDiv.appendChild(lonLabel);
lonDiv.appendChild(lonEl);
var placeSubmit = document.createElement('button');
placeSubmit.setAttribute('id', 'place-submit');
placeSubmit.setAttribute('value', 'Submit New Place');
placeSubmit.setAttribute('name', 'place-submit');
placeSubmit.setAttribute('type', 'button');
placeSubmit.appendChild(document.createTextNode('Submit New Place'));
form.appendChild(nameLabel);
form.appendChild(nameEl);
form.appendChild(descLabel);
form.appendChild(descEl);
form.appendChild(latLabel);
form.appendChild(latEl);
form.appendChild(lonLabel);
form.appendChild(lonEl);
form.appendChild(nameDiv);
form.appendChild(descDiv);
form.appendChild(latDiv);
form.appendChild(lonDiv);
form.appendChild(placeSubmit);
//the event listener for the new place form
placeSubmit.addEventListener('click', function () {
@ -217,18 +250,15 @@ function addMap(latitude, longitude, places) {
throw new Error(placeJson.error_description);
}
//remove un-needed form elements
form.removeChild(document.querySelector('#place-name'));
form.removeChild(document.querySelector('#place-description'));
form.removeChild(document.querySelector('#place-latitude'));
form.removeChild(document.querySelector('#place-longitude'));
//iterate through labels and remove parent div elements
var labels = document.querySelectorAll('.place-label');
for (var i = 0; i < labels.length; ++i) {
form.removeChild(labels[i]);
form.removeChild(labels[i].parentNode);
}
form.removeChild(document.querySelector('#place-submit'));
form.removeChild(document.querySelector('#create-new-place'));
//remove location marker
map.removeLayer(marker);
var newPlaceButton = document.querySelector('#create-new-place');
//in order to remove a DOM Node, you need to run removeChild on the parent Node
newPlaceButton.parentNode.removeChild(newPlaceButton);
//add place marker
var newOption = document.createElement('option');
newOption.setAttribute('value', placeJson.uri);
@ -236,20 +266,13 @@ function addMap(latitude, longitude, places) {
newOption.dataset.latitude = placeJson.latitude;
newOption.dataset.longitude = placeJson.longitude;
selectEl.appendChild(newOption);
var newPlaceMarker = L.marker([placeJson.latitude, placeJson.longitude], {
icon: L.mapbox.marker.icon({
'marker-size': 'large',
'marker-symbol': 'building',
'marker-color': '#fa0'
})
}).addTo(map);
map.panTo([placeJson.latitude, placeJson.longitude]);
var newName = 'Name: ' + placeJson.name;
newPlaceMarker.bindPopup(newName, {
closeButton: true
});
newPlaceMarker.on('click', function () {
map.panTo([placeJson.latitude, placeJson.longitude]);
var newPlaceMarkerIcon = document.createElement('div');
newPlaceMarkerIcon.classList.add('marker');
var newPlaceMarker = new mapboxgl.Marker(newPlaceMarkerIcon, {offset: [-10, -20]}).setLngLat([placeJson.longitude, placeJson.latitude]).addTo(map);
map.flyTo({center: [placeJson.longitude, placeJson.latitude]});
newPlaceMarkerIcon.addEventListener('click', function () {
map.flyTo({center: [placeJson.longitude, placeJson.latitude]});
selectPlace(placeJson.uri);
});
//make selected
@ -260,7 +283,7 @@ function addMap(latitude, longitude, places) {
});
});
});
form.insertBefore(newLocButton, div);
containingDiv.appendChild(newLocButton);
}
function parseLocation(point) {
@ -275,16 +298,16 @@ function selectPlace(uri) {
document.querySelector('select [value="' + uri + '"]').selected = true;
}
function getLatitudeFromMapboxMarker(latlng) {
var resultArray = /\((.*)\)/.exec(latlng);
var location = resultArray[1].split(' ');
return location[0].replace(',', '');
}
function getLongitudeFromMapboxMarker(latlng) {
var resultArray = /\((.*)\)/.exec(latlng);
function getLatitudeFromMapbox(lnglat) {
var resultArray = /\((.*)\)/.exec(lnglat);
var location = resultArray[1].split(' ');
return location[1];
}
function getLongitudeFromMapbox(lnglat) {
var resultArray = /\((.*)\)/.exec(lnglat);
var location = resultArray[1].split(' ');
return location[0].replace(',', '');
}

View file

@ -1,2 +1,20 @@
// @import "node_modules/bootstrap-sass/assets/stylesheets/bootstrap";
// app.scss
// https://css-tricks.com/box-sizing/#article-header-id-6
// and https://css-tricks.com/rems-ems/
html {
box-sizing: border-box;
font-size: 24px;
}
*,
*::before,
*::after {
box-sizing: inherit;
}
@import "layout";
@import "styles";
@import "pagination";
@import "note-form";
@import "mapbox";

View file

@ -1,12 +0,0 @@
//colours.scss
body {
color: $base03;
}
header a {
color: $base03;
}
a {
color: $blue;
}

View file

@ -1,46 +0,0 @@
//fonts.scss
body {
text-rendering: optimizeLegibility;
font-feature-settings: "liga";
font-family: $font-stack-body;
font-size: 1.2em;
}
code {
font-family: $font-stack-code;
font-weight: 200;
}
#topheader h1 {
font-family: $font-stack-body;
}
h1 {
font-family: $font-stack-headers;
}
#topheader a {
text-decoration: none;
}
nav {
font-feature-settings: "dlig";
}
article header h1 a {
text-decoration: none;
}
article div a {
text-decoration: none;
}
footer {
font-size: 0.8em;
}
.emoji {
width: auto;
height: 1em;
}

View file

@ -1,54 +0,0 @@
//forms.scss
form {
width: 100%;
}
fieldset {
min-width: 0;
width: 100%;
}
input[type="text"],
input[type="file"],
textarea {
width: 100%;
}
input,
button,
textarea {
-webkit-appearance: none;
-moz-appearance: none;
background-color: $base03;
color: $base3;
border: 1px solid $base3;
border-radius: 4px;
font-size: 1em;
}
textarea {
font-size: 1.2em; //textarea doesnt resize with the rest
}
button:hover {
transition: 0.5s ease-in-out;
background-color: $base3;
color: $base03;
}
button:disabled {
background-color: $base1;
color: $base03;
}
input[type="checkbox"] {
-webkit-appearance: checkbox;
-moz-appearance: checkbox;
}
#photo {
background: inherit;
color: inherit;
border: none;
}

View file

@ -1,9 +0,0 @@
//twitter.scss
.twitter-tweet-rendered {
margin-bottom: 0 !important;
}
.twitter-tweet-rendered + .note {
margin-top: 0;
}

View file

@ -1,42 +0,0 @@
//global.scss
//variables
$font-stack-body: "leitura-news", serif;
$font-stack-headers: "prenton", sans-serif;
$font-stack-code: "Operator Mono", "Monaco", "Inconsolata", monospace;
//solarized variables TERMCOL
$base03: #002b36;//brblack
$base02: #073642;//black
$base01: #586e75;//brgreen
$base00: #657b83;//bryellow
$base0: #839496;//brblue
$base1: #93a1a1;//brcyan
$base2: #eee8d5;//white
$base3: #fdf6e3;//brwhite
$yellow: #b58900;
$orange: #cb4b16;
$red: #dc322f;
$magenta: #d33682;
$violet: #6c71c4;
$blue: #268bd2;
$cyan: #2aa198;
$green: #859900;
//global styles
html {
background: url('/assets/img/escheresque.png');
}
.map {
height: 150px;
}
//layout
@import "layout";
//components
@import "components/fonts";
@import "components/colours";
@import "components/forms";
@import "components/twitter";

View file

@ -1,213 +1,47 @@
//layout.scss
// import.scss
html {
box-sizing: border-box;
}
*,
*::before,
*::after {
box-sizing: inherit;
body {
max-width: 25em;
margin: 0 auto;
padding-left: 5px;
padding-right: 5px;
}
#topheader {
display: flex;
flex-flow: row;
text-align: center;
}
#topheader a {
padding: 0.5em 1em;
.h-entry {
padding-top: 1rem;
}
#topheader h1 {
font-size: 1em;
margin: 0;
}
nav {
padding-top: 0.5em;
}
.social-list {
padding-left: 2em;
}
// notes
.note {
background-color: $base2;
box-shadow: 0 0 10px 2px $base1;
padding: 0.5em;
margin-top: 1em;
}
.note::after {
content: " ";
display: block;
height: 0;
clear: both;
}
.note a {
word-wrap: break-word;
}
.note .e-content p:first-child {
margin-top: 0;
display: flex;
flex-direction: column;
}
.note-metadata {
width: 100%;
display: flex;
flex-direction: row;
justify-content: space-between;
font-size: 0.75em;
}
.social-links {
float: right;
display: flex;
align-items: center;
}
.social-links a {
text-decoration: none;
}
.icon {
width: auto;
height: 1em;
}
.coordinates {
font-size: 60%;
color: $base0;
}
.reply {
margin-left: 2em;
margin-right: 2em;
font-size: 0.8em;
padding: 0.5em;
}
.reply-to {
margin-left: 2em;
margin-right: 2em;
font-size: 0.8em;
padding-top: 2em;
}
.reply-to + .note {
margin-top: 0.3em;
}
.mini-h-card {
border-radius: 2px;
border: 1px solid $base01;
padding: 0 0.2em;
text-decoration: none;
margin-right: 5px;
white-space: nowrap;
.social-links svg {
padding-left: 3px;
}
.mini-h-card img {
height: 1em;
border-radius: 2px;
vertical-align: text-bottom;
display: inline-block;
height: 1rem;
}
.like-photo {
height: 1.26em;
}
.reply .e-content {
margin-top: 0.5em;
padding-left: 0.5em;
}
.notes-subtitle {
font-size: 1em;
}
.note-photo {
width: 100%;
height: auto;
image-orientation: from-image;
}
//articles
article header {
margin-top: 0.5em;
margin-bottom: 0.8em;
}
article h1 {
font-size: 1.2em;
margin-bottom: 0;
}
.post-info {
font-size: 0.8em;
font-style: italic;
margin-top: -0.8em;
}
//contacts
.contact {
position: relative;
}
.contact-links {
list-style-type: none;
}
.contact img {
height: auto;
width: 2em;
position: absolute;
top: 0;
left: 0;
}
.contact-info {
margin-left: 2em;
}
#map {
height: 300px;
}
/* media queries */
@media (min-width: 700px) {
main {
margin-left: 10em;
margin-right: 10em;
}
footer {
margin-left: 13em;
margin-right: 13em;
}
.youtube {
width: 640px;
height: 360px;
}
}
@media (max-width: 699px) {
main {
margin-left: 10px;
margin-right: 10px;
}
article {
word-wrap: break-word;
}
footer {
margin-left: 15px;
margin-right: 15px;
}
.youtube {
width: 100%;
height: auto;
}
body > .h-card {
margin-top: 5px;
border-top: 1px solid grey;
}

26
resources/assets/sass/mapbox.scss vendored Normal file
View file

@ -0,0 +1,26 @@
// mapbox.scss
.map {
margin-top: 4px; //to see underling of note metadata
height: 200px;
}
.marker {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAsTAAALEwEAmpwYAAACxFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMyaeDAAAA63RSTlMAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ozw9Pj9AQUJERUZHSElKS05PUlNVVldYWVpbXF1fYGFiY2RmZ2hpa2xtbm9wcXJzdHV2d3h5ent8fX+AgYKDhIWGh4iJiouMjo+QkZOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqutrq+xsrO0tbe4ubq7vL2+v8DBwsPExcbHyMnKy8zP0NHS09TV1tfY2drb3N3f4OHi4+Tl5ujp6uvs7e7v8PHy8/T19vf4+fr7/P3+xn8cLwAAB2BJREFUGBntwYtjlWUdB/Dvuwtjo23CGPcxtlGAFhgWFCINSZciCYGKwLSbMwuQi4lgbkSTgYOAiYEI5a0JmQhRAYKBgmzJbSwgGTDYxs45nO8/0d0Mzu897+V53kv1+QD/9z8jd9T9ize/tfdw04VY+9mjf9hV/1xFWXEKQiV11Nytp5nIlfdq781HOBRWvHaBZuLvPVuWhoDLmbkjTgvOVN+CABu/qZ2WHZrTA4Fk3L2X9lxa2geBkzLlIO3rqBmIYBl/mM5ElmUjOPpuonPNkxEQqRUX6cqbn0EQFL1Dtzor4L9JF6jAK93hr4zlVOP4aPhpwH6qEvkO/DPsJBWqhF++9BGVqkuDL8raqNgvs+CDSVEqtysLniu9Qg3q0+Cxz7dSixcMeKrkNDVZCi/1PEptHoV3jDeoT3QMPDOXtnTEaEdTHjwyJkpLLm+rmjGm4IY0ILPXsImz1zXQmnoDnshrogVHnhiTjmv0v2/LFVowG554iUldXjEaid1Qvo9JRYfDAxOYzPlFeTAxYSeT+a0B7TIaaS72k1wkcfsRJjEd2i2gud+PQHJd5rXT1Nnu0KyonWauPpECS246TFPPQbMNNHN6PKzKep5mrg6BViUxmmgohA3zaaYOWv2UJvblw5ZZMcqihdBoQCdl+7Nh09Q4ZSuh0bOUNebDtgrKrvSFNjltFJ0ZBAeWUrYE2syg6OoEOJG6k6ITBnTZQdFiONPvLEWl0KQwTsm+VDg0kaJ10GQBJVe/AMdeo6Q1E3ocoWQlnBvUTskUaDGIkkt5cOFpStZDixmULIUb+W0UnIQWGyjo6ANXqikZDB2aKaiDO4VxCsqhwRBKSuHSDgpeggYzKThhwKWZFDRDgx9TUAW3cqIU5EC91ym4A67tpuCLUK+RiUW6wbUlFNwH5dKjTOx3cO92Cp6CckMpqIV7vSnYAuXupOBRKHCeib0D5e6loAwK7GFiR6DcTAo+CwW2MLFmKFdBQSEUWMvEWqHcQgp6QIFqJhY3oFolBRlQYDEFn4Jq1RRkQ4GlFORBtSUU9IMCtRRkQLW5FAyBAhuZWATKPUzBGCiwjYn9GcrdRcGDUOA4E9sP5YZS8Azcy4wzsc1QLiPOxF6FeyMo+BHUO8bEzhpw7VsUTId6L1PwObj2CwqGQ735FDwCt4xzTKwjDeqVUbAdbo2lYC806ElBfCBcWkNBDXQ4RME8uNP1AgVfhw4rKTiaClemU9IbOkymZBrcSGmg4ANo0YeS9w24MJmSWuhxgJKpcC79MCX3QI9nKPlTDhybTUkkG3qMo6gaThVcpuRtaJJ2kZLYWDhjbKPoB9Dl5xSd6glH5lN2E3SZRtkbKXBgXIyiRmiTG6GsBvYNO0dZJfTZShMLYdeAkzQxGvqU08xjsKfgA5poNqBPrxjNVBmw4cYmmqmBTr+mqZ9lwrLSFpq6FTrNormDQ2FNyg+v0tRJAzp176S5y+UGLCjaziSqoNfrTGb3zUgmY2E7kxkJvb7BpGJrSmAm7YE/MqkGaJbVyuRiG0dCkv3NY7RgAXRbR0ven1OA66Xf+WI7rYgXQrdxtKqxdvKwdHwsf+zcX7XRorehnXGMNkQb33x5fc3qTfV7WmjHg9BvEfVry4Z+xXFq9wK88Ba1uw1emErdGuCJri3UbA68sZx6RXvDG8Op1yvwyh5qdQe8Mp06HTXglcwWajQH3qmmPp358M5Q6rMJXtpObW6DlyZRlwPwVFoTNSmHtxZQj/NZ8FavTmqxDF7bQB3iJfDaKOpQD+/tpgZfhfemUL1D8EHaKSr3EPzwOFVryYIf8tqpWCX8sYpqRQvgj6FxKvUi/FJPpW6BX8ZTpZ3wz7tU6G74536q02jAP+mnqMzD8NP3qcqZrvBTzkUqshD+qqIabXnwV/8IlVgOv9VRhVgR/HZjnApsgv9epQI3w39fpntbEQS/oWulCIK76NZeBMMBunQPgmEq3TlsIBhSP6QrDyAoyunG8TQERZdmuvBtBMf36NyZTARHt4/o2OMIkoV0qiUHQZJ7gQ49iWBZQmdaeyBYel6mI5UImmV0or0XgqZvBx2oRvDU0L4r/RA8Azpp2woE0Sra1VmAICqM0KZVCKa1tCc6CMFUEqUtaxFUdbQjWoSgGhyjDWsRXM/TumgxgmtwjJatQ5Ctp1XREgTZ4BgtWodgq6M10WIEW3GUlqxB0K2lFZFBCLqiCC1YjeBbzeQ6ByL4BnYyqRUIg5VMpqM/wqB/B5OoRjhU01xbH4RD7zaaqkJYVNJMax7CIq+VJp5CeCyirCUX4ZF7jqJ5CJO5lJzphjDJOk1BBcLlESbWlIFwyTjJhB5C2MxiIh+mI2zSGpjANITPFF7vYArCx3iX15mIMPoar7UH4bSL1/gKwulW/qdtCKt6flJ8JMJqRJyfsBnhtZH/Fv00wqs4wo/VIsyW81/a+iHMel3iPz2NcHuS/3AuF+GWfZZ/9xjC7rv8mxMZCLsuR/lX0xF+U0geTEH4GfvIMvw3KOV2aPcXaWsyKghlwmgAAAAASUVORK5CYII=);
background-size: contain;
width: 20px;
height: 20px;
}
.map-menu {
position: absolute;
top: 0;
left: 0;
background: white;
padding: 0.4rem;
}
.map-menu label {
margin-left: 3px;
margin-right: 3px;
}

39
resources/assets/sass/note-form.scss vendored Normal file
View file

@ -0,0 +1,39 @@
// note-form.scss
.note-ui {
display: flex;
flex-direction: column;
}
@media (min-width: 600px) {
.note-ui > div {
display: flex;
flex-direction: row;
padding: 0.2rem;
}
}
@media (max-width: 599px) {
input[name="photo[]"] {
width: 100%;
}
}
.note-ui label {
width: 5em;
margin-right: 0.5rem;
text-align: right;
}
.note-ui input:not([type=submit]),
.note-ui textarea {
flex: 1;
}
.note-ui textarea {
padding: 0.1rem 0.3rem;
}
#locate {
margin-right: 0.4rem;
}

14
resources/assets/sass/pagination.scss vendored Normal file
View file

@ -0,0 +1,14 @@
// pagination.scss
.pagination {
width: 100%;
height: 3rem;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.pagination li {
list-style-type: none;
}

28
resources/assets/sass/styles.scss vendored Normal file
View file

@ -0,0 +1,28 @@
// styles.scss
body {
// from smashingmagazine.com/2015/11/using-system-ui-fonts-practical-guide
font-family: -apple-system, BlinkMacSystemFont,
"Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell",
"Fira Sans", "Droid Sans", "Helvetica Neue",
sans-serif;
}
a {
text-decoration: none;
border-bottom: 1px solid;
color: blue;
}
.social-links a {
border-bottom: none;
}
.icon {
height: 1em;
width: auto;
}
code {
word-wrap: break-word;
}

View file

@ -28,3 +28,22 @@ Notes « Jonny Barnes
<script src="/assets/prism/prism.js"></script>
<link rel="stylesheet" href="/assets/prism/prism.css">
@stop
@section('bio')
@if ($homepage === true)
<div class="h-card">
<p>My name is <span class="p-name p-author">Jonny Barnes</span>, and Im from <a href="https://en.wikipedia.org/wiki/Manchester" class="h-adr p-adr"><span class="p-locality">Manchester</span>, <abbr class="p-country-name" title="United Kingdom">UK</abbr></a>.</p>
<p>I am active to varying degrees on several <a href="https://indieweb.org/silo">silos</a>:</p>
<ul class="social-list">
<li>I keep in touch with friends on <a rel="me" href="https://www.facebook.com/jonnybarnes" class="u-url">Facebook</a></li>
<li>I follow people I find interesting on <a rel="me" href="https://twitter.com/jonnybarnes" class="u-url">Twitter</a></li>
<!--<li>I geek out on <a rel="me" href="https://alpha.app.net/jonnybarnes" class="u-url">app.net</a></li>-->
<li>I exist on <a rel="me" href="https://plus.google.com/117317270900655269082" class="u-url">Google+</a></li>
<!--<li>I post photos to <a rel="me" href="http://www.flickr.com/photos/22212133@N03/" class="u-url">flickr</a></li>-->
<li>I push code to <a rel="me" href="https://github.com/jonnybarnes" class="u-url">GitHub</a></li>
<li>I scrobble songs to <a rel="me" href="https://last.fm/user/jonnymbarnes" class="u-url">last.fm</a> that I listen to on <a rel="me" href="https://open.spotify.com/user/jonnybarnes89" class="u-url">Spotify</a></li>
</ul>
<p>My usual online nickname is normally <code class="nickname">jonnybarnes</code> for other services. Heres a <a href="/assets/img/jmb-bw.png" class="u-photo photo">profile pic</a>. I also have a <a class="pgpkey" href="/assets/jonnybarnes-public-key-ecc.asc">PGP key</a>, with <a href="/notes/5g">fingerprint</a>.</p>
</div>
@endif
@stop

View file

@ -4,8 +4,8 @@
<meta charset="UTF-8">
<title>@if (App::environment() == 'local'){!! "[testing] -"!!}@endif @yield('title')</title>
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" href="/assets/frontend/sanitize.css">
<link rel="stylesheet" href="/assets/css/global.css">
<link rel="stylesheet" href="/assets/frontend/normalize.css">
<link rel="stylesheet" href="/assets/css/app.css">
<link rel="openid.server" href="https://indieauth.com/openid">
<link rel="openid.delegate" href="https://jonnybarnes.uk">
<link rel="authorization_endpoint" href="https://indieauth.com/auth">
@ -30,8 +30,9 @@
<main>
@yield('content')
</main>
<script src="https://use.typekit.net/kmb3cdb.js" integrity="sha384-mpb7gf0UhF7wg6RwyN8wjnUeYN5pG6R35be4pz2PBIh4d1Re99c8huq9fP6i+zYR" crossorigin="anonymous"></script>
<script>try{Typekit.load({ async: true });}catch(e){}</script>
@section('bio')
@show
@section('scripts')
<!--scripts go here when needed-->
@show

View file

@ -14,7 +14,7 @@ Articles « Jonny Barnes
<h1 class="p-name">
<a href="@if($article['url'] == ''){{ $article['link'] }}@else{{ $article['url'] }}@endif">{{ $article['title'] }}</a>
</h1>
<span class="post-info">Posted <time class="dt-published" title="{{ $article['tooltip_time'] }}" datetime="{{ $article['w3c_time'] }}">{{ $article['human_time'] }}</time> - <a title="Permalink" href="{{ $article['link'] }}"><span class="permalink"><?php echo html_entity_decode('&infin;'); ?></span></a></span>
<span class="post-info">Posted <time class="dt-published" title="{{ $article['tooltip_time'] }}" datetime="{{ $article['w3c_time'] }}">{{ $article['human_time'] }}</time> - <a title="Permalink" href="{{ $article['link'] }}"></a></span>
</header>
<div class="e-content">
{!! $article['main'] !!}

View file

@ -5,7 +5,7 @@
<div id="projects">
<h2>Projects</h2>
<h3><a href="https://shaaaaaaaaaaaaa.com">Shaaaaaaaaaaaaa.com</a></h3>
<p>Im collaborating on a project with Eric Mill (@konklone) to help people test their HTTPS certificates for weak signature algorithms. SHA-1 is the current standard, but is too weak. People should use a form of SHA-2.</p>
<p>I collaborated on a project with Eric Mill (<a href="https://twitter.com/konklone">@konklone</a>) to help people test their HTTPS certificates for weak signature algorithms. SHA-1 is the current standard, but is too weak. People should use a form of SHA-2.</p>
<h3><a href="https://github.com/jonnybarnes/indieweb">IndieWeb tools</a></h3>
<p>This library consists of various useful tools for running an IndieWeb aware site.</p>
<h3><a href="https://github.com/jonnybarnes/webmentions-parser">Webmentions Parser</a></h3>

View file

@ -10,7 +10,7 @@
<h1 class="p-name">
<a href="@if($article->url == ''){{ $article->link }}@else{{ $article->url }}@endif">{{ $article->title }}</a>
</h1>
<span class="post-info">Posted <time class="dt-published" title="{{ $article->tooltip_time }}" datetime="{{ $article->w3c_time }}">{{ $article->human_time }}</time> - <a title="Permalink" href="{{ $article->link }}"><span class="permalink"><?php echo html_entity_decode('&infin;'); ?></span></a></span>
<span class="post-info">Posted <time class="dt-published" title="{{ $article->tooltip_time }}" datetime="{{ $article->w3c_time }}">{{ $article->human_time }}</time> - <a title="Permalink" href="{{ $article->link }}"></a></span>
</header>
<div class="e-content">
{!! $article->main !!}

View file

@ -1,2 +1,2 @@
<link rel="stylesheet" href="https://api.mapbox.com/mapbox.js/v2.4.0/mapbox.css" integrity="sha384-ZDBUvY/seENyR1fE6u4p1oMFfsKVjIlkiB6TrCdXjeZVPlYanREcmZopTV8WFZ0q" crossorigin="anonymous">
<script src="https://api.mapbox.com/mapbox.js/v2.4.0/mapbox.js" integrity="sha384-RIOuxiXOmovmIxeDCaAvWrMaX/XWXpPiRTUIBEjiZt5HQ8orGVqQhlmfno0eoLaX" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://api.mapbox.com/mapbox-gl-js/v0.28.0/mapbox-gl.css" integrity="sha384-dCW/5IRoXPf5hkwrejBih/Unwf0nefL7NDk8hFitylhgPyk1YB4K9nwT5thMO2lV" crossorigin="anonymous">
<script src="https://api.mapbox.com/mapbox-gl-js/v0.28.0/mapbox-gl.js" integrity="sha384-Q8pgRmod5Yo3TQg5NSTfk4lNXS6Seqm160e2XA+RXpgGqdGOzX5c+UU6IoohcdWZ" crossorigin="anonymous"></script>

View file

@ -2,14 +2,66 @@
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<fieldset class="note-ui">
<legend>New Note</legend>
<label for="in-reply-to" accesskey="r">Reply-to: </label><input type="text" name="in-reply-to" id="in-reply-to" placeholder="in-reply-to-1 in-reply-to-2 …" value="{{ old('in-reply-to') }}">
<label for="content" accesskey="n">Note: </label><textarea name="content" id="content" placeholder="Note" autofocus>{{ old('content') }}</textarea>
<div>
<label for="in-reply-to" accesskey="r">Reply-to: </label>
<input type="text"
name="in-reply-to"
id="in-reply-to"
placeholder="in-reply-to-1 in-reply-to-2 …"
value="{{ old('in-reply-to') }}"
>
</div>
<div>
<label for="content" accesskey="n">Note: </label>
<textarea name="content"
id="content"
placeholder="Note"
autofocus="autofocus">{{ old('content') }}</textarea>
</div>
@if ($micropub === true)
<label for="syndication" accesskey="s">Syndication: </label>@if($syndication)<ul class="syndication-targets-list" name="syndication">@foreach($syndication as $syn)<li><input type="checkbox" name="syndicate-to[]" id="{{ $syn['target'] }}" value="{{ $syn['target'] }}" checked="checked"> <label for="{{ $syn['target'] }}">{{ $syn['name'] }}</label></li>@endforeach</ul>@endif
<a href="/refresh-syndication-targets">Refresh Syndication Targets</a><br>
@if($syndication)
<div>
<label for="syndication" accesskey="s">Syndication: </label>
<ul class="syndication-targets-list" name="syndication">
@foreach($syndication as $syn)
<li><input type="checkbox"
name="syndicate-to[]"
id="{{ $syn['target'] }}"
value="{{ $syn['target'] }}"
checked="checked"
> <label for="{{ $syn['target'] }}">{{ $syn['name'] }}</label>
</li>
@endforeach
</ul>
</div>
@endif
<div>
<a href="/refresh-syndication-targets">Refresh Syndication Targets</a>
</div>
@endif
<label for="photo" accesskey="p">Photo: </label><input type="file" accept="image/*" value="Upload" name="photo[]" id="photo" multiple>
<label for="locate" accesskey="l"></label><button type="button" name="locate" id="locate" value="Locate" disabled>Locate</button>
<label for="kludge"></label><button type="submit" name="submit" id="submit" value="Submit">Submit</button>
<div>
<label for="photo" accesskey="p">Photo: </label>
<input type="file"
accept="image/*"
value="Upload"
name="photo[]"
id="photo"
multiple
>
</div>
<div>
<label for="locate" accesskey="l"></label>
<button type="button"
name="locate"
id="locate"
value="Locate"
disabled
>Locate</button>
<button type="submit"
name="submit"
id="submit"
value="Submit"
>Submit</button>
</div>
</fieldset>
</form>

View file

@ -15,13 +15,17 @@
@endif
</div>
<div class="note-metadata">
<div>
<a class="u-url" href="/notes/{{ $note->nb60id }}"><time class="dt-published" datetime="{{ $note->iso8601_time }}">{{ $note->human_time }}</time></a>@if($note->client_name) via <a class="client" href="{{ $note->client_id }}">{{ $note->client_name }}</a>@endif
@if($note->placeLink)in <span class="p-location h-card"><a class="p-name u-url" href="{{ $note->placeLink }}">{{ $note->address }}</a><data class="p-latitude" value="{{ $note->latitude }}"></data><data class="p-longitude" value="{{ $note->longitude }}"></data></span>
@elseif($note->address)in <span class="p-location h-adr">{!! $note->address !!}<data class="p-latitude" value="{{ $note->latitude }}"></data><data class="p-longitude" value="{{ $note->longitude }}"></data></span>@endif
@if($note->replies > 0) @include('templates.replies-icon'): {{ $note->replies }}@endif
</div>
<div class="social-links">
@if($note->tweet_id || $note->facebook_url)@include('templates.social-links', ['tweet_id' => $note->tweet_id, 'facebook_url' => $note->facebook_url])@endif
</div>
</div>
@if ($note->placeLink)
<div class="map" data-latitude="{{ $note->latitude }}" data-longitude="{{ $note->longitude }}"></div>
@endif
</div>
</div>

View file

@ -1,12 +1,11 @@
<span class="social-links">
@if($tweet_id !== null)<a class="u-syndication" href="https://twitter.com/i/web/status/{{ $tweet_id }}" title="View note on Twitter">
@if($tweet_id !== null)<a class="u-syndication" href="https://twitter.com/i/web/status/{{ $tweet_id }}" title="View note on Twitter">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" preserveAspectRatio="xMinYMin meet" viewBox="0 0 171.5054 139.37839" class="icon">
<g transform="translate(-282.32053,-396.30734)">
<path fill="#4099FF" d="m 453.82593,412.80619 c -6.3097,2.79897 -13.09189,4.68982 -20.20852,5.54049 7.26413,-4.35454 12.84406,-11.24992 15.47067,-19.46675 -6.79934,4.03295 -14.3293,6.96055 -22.34461,8.53841 -6.41775,-6.83879 -15.56243,-11.111 -25.68298,-11.111 -19.43159,0 -35.18696,15.75365 -35.18696,35.18525 0,2.75781 0.31128,5.44359 0.91155,8.01875 -29.24344,-1.46723 -55.16995,-15.47582 -72.52461,-36.76396 -3.02879,5.19662 -4.76443,11.24048 -4.76443,17.6891 0,12.20777 6.21194,22.97747 15.65332,29.28716 -5.76773,-0.18265 -11.19331,-1.76565 -15.93716,-4.40083 -0.004,0.14663 -0.004,0.29412 -0.004,0.44248 0,17.04767 12.12889,31.26806 28.22555,34.50266 -2.95247,0.80436 -6.06101,1.23398 -9.26989,1.23398 -2.2673,0 -4.47114,-0.22124 -6.62011,-0.63114 4.47801,13.97857 17.47214,24.15143 32.86992,24.43441 -12.04227,9.43796 -27.21366,15.06335 -43.69965,15.06335 -2.84014,0 -5.64082,-0.16722 -8.39349,-0.49223 15.57186,9.98421 34.06703,15.8094 53.93768,15.8094 64.72024,0 100.11301,-53.61524 100.11301,-100.11387 0,-1.52554 -0.0343,-3.04251 -0.10204,-4.55261 6.87394,-4.95995 12.83891,-11.15646 17.55618,-18.21305 z" />
</g>
</svg>
</a>@endif
@if($facebook_url !== null)<a class="u-syndication" href="{{ $facebook_url }}" title="View note on Facebook">
</a>@endif
@if($facebook_url !== null)<a class="u-syndication" href="{{ $facebook_url }}" title="View note on Facebook">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" preservedAspectRatio="xMinYMin meet" viewBox="0 0 266.893 266.895" class="icon">
<path id="Blue_1_" fill="#3C5A99" d="M248.082,262.307c7.854,0,14.223-6.369,14.223-14.225V18.812
c0-7.857-6.368-14.224-14.223-14.224H18.812c-7.857,0-14.224,6.367-14.224,14.224v229.27c0,7.855,6.366,14.225,14.224,14.225
@ -17,5 +16,4 @@
v99.803H182.409z"
/>
</svg>
</a>@endif
</span>
</a>@endif

View file

@ -12,10 +12,7 @@
*/
Route::group(['domain' => config('url.longurl')], function () {
//Static homepage
Route::get('/', function () {
return view('homepage');
});
Route::get('/', 'NotesController@showNotes');
//Static project page
Route::get('projects', function () {

970
yarn.lock

File diff suppressed because it is too large Load diff