diff --git a/.env.example b/.env.example index 4fc0c7fb..d995fcb8 100644 --- a/.env.example +++ b/.env.example @@ -1,5 +1,7 @@ APP_ENV=local +APP_KEY=SomeRandomString APP_DEBUG=true +APP_LOG_LEVEL=debug APP_KEY=SomeRandomString APP_TIMEZONE=UTC APP_LANG=en diff --git a/.eslintrc.yml b/.eslintrc.yml new file mode 100644 index 00000000..2d78818b --- /dev/null +++ b/.eslintrc.yml @@ -0,0 +1,22 @@ +env: + browser: true + es6: true +extends: 'eslint:recommended' +rules: + indent: + - error + - 4 + linebreak-style: + - error + - unix + quotes: + - error + - single + semi: + - error + - always + no-console: + - error + - allow: + - warn + - error diff --git a/.stylelintrc b/.stylelintrc new file mode 100644 index 00000000..6449c3f2 --- /dev/null +++ b/.stylelintrc @@ -0,0 +1,6 @@ +{ + "extends": "stylelint-config-standard", + "rules": { + "indentation": 4 + } +} diff --git a/app/Http/Controllers/Auth/PasswordController.php b/app/Http/Controllers/Auth/PasswordController.php index 1ceed97b..66f77366 100644 --- a/app/Http/Controllers/Auth/PasswordController.php +++ b/app/Http/Controllers/Auth/PasswordController.php @@ -27,6 +27,6 @@ class PasswordController extends Controller */ public function __construct() { - $this->middleware('guest'); + $this->middleware($this->guestMiddleware()); } } diff --git a/app/Http/Controllers/NotesController.php b/app/Http/Controllers/NotesController.php index a501be81..31800135 100644 --- a/app/Http/Controllers/NotesController.php +++ b/app/Http/Controllers/NotesController.php @@ -19,7 +19,7 @@ class NotesController extends Controller */ public function showNotes() { - $notes = Note::orderBy('id', 'desc')->with('webmentions', 'place')->simplePaginate(10); + $notes = Note::orderBy('id', 'desc')->with('webmentions', 'place', 'media')->simplePaginate(10); foreach ($notes as $note) { $replies = 0; foreach ($note->webmentions as $webmention) { diff --git a/app/Services/NoteService.php b/app/Services/NoteService.php index 61b970e0..0b680090 100644 --- a/app/Services/NoteService.php +++ b/app/Services/NoteService.php @@ -41,7 +41,7 @@ class NoteService if ($request->hasFile('photo')) { $files = $request->file('photo'); foreach ($files as $file) { - $note->addMedia($file)->toMediaLibraryOnDisk('images', 's3'); + $note->addMedia($file)->toMediaLibrary('images', 's3'); } } diff --git a/bower.json b/bower.json index 17920bd2..701e6ad2 100644 --- a/bower.json +++ b/bower.json @@ -6,7 +6,7 @@ "Jonny Barnes " ], "license": "CC0-1.0", - "homepage": "https://github.com/jonnybarnes/jbl5", + "homepage": "https://github.com/jonnybarnes/jonnybarnes.uk", "moduleType": [], "ignore": [ "**/.*", diff --git a/changelog.md b/changelog.md index 34a65b0f..1df607d8 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,13 @@ # Changelog +## Version 0.0.4 (2016-06-21) + - Move bower components into their own subdir + - Move my js into `resources/`, apply an eslint pre-commit hook + - Better guplfile, next thing is to add cleanup of old compressed files + - Update `spatie/laravel-medialibrary` to v4, tweak associated code + - Merge in upstream changes + - Add a stylelint lint-staged hook + ## Version 0.0.3 (2013-06-09) - Better tag normalization code organisation - Remove `jonnybarnes/unicode-tools` dependency and clean up relevant code diff --git a/composer.json b/composer.json index ab1a4393..8f5770cd 100644 --- a/composer.json +++ b/composer.json @@ -18,7 +18,7 @@ "indieauth/client": "~0.1", "ezyang/htmlpurifier": "~4.6", "league/commonmark": "^0.13.0", - "spatie/laravel-medialibrary": "^3.5", + "spatie/laravel-medialibrary": "^4.0", "league/flysystem-aws-s3-v3": "^1.0", "phaza/laravel-postgis": "~3.1", "lcobucci/jwt": "^3.1" diff --git a/composer.lock b/composer.lock index dfe7330f..33b1209c 100644 --- a/composer.lock +++ b/composer.lock @@ -4,8 +4,8 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "ae25cd7787df367a650bf7dc2fa74227", - "content-hash": "7982802429d5fe540f528ec69c3d84d2", + "hash": "e17d58f5ff05d8a71261984fb22e0757", + "content-hash": "875c8207087b92da0cffdf369815dd27", "packages": [ { "name": "anahkiasen/underscore-php", @@ -59,16 +59,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.18.16", + "version": "3.18.18", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "5b959dda467752d4db8fa41fe9bbce85cabbe81e" + "reference": "68b9d0b7e007782bc0f2633cdf5a4a6bf08aaafc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/5b959dda467752d4db8fa41fe9bbce85cabbe81e", - "reference": "5b959dda467752d4db8fa41fe9bbce85cabbe81e", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/68b9d0b7e007782bc0f2633cdf5a4a6bf08aaafc", + "reference": "68b9d0b7e007782bc0f2633cdf5a4a6bf08aaafc", "shasum": "" }, "require": { @@ -135,7 +135,7 @@ "s3", "sdk" ], - "time": "2016-06-07 21:16:15" + "time": "2016-06-14 20:35:03" }, { "name": "barnabywalters/mf-cleaner", @@ -1131,16 +1131,16 @@ }, { "name": "laravel/framework", - "version": "v5.2.36", + "version": "v5.2.39", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "236d7c0c5b67a2348ac7831391031d93000de3ab" + "reference": "c2a77050269b4e03bd9a735a9f24e573a7598b8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/236d7c0c5b67a2348ac7831391031d93000de3ab", - "reference": "236d7c0c5b67a2348ac7831391031d93000de3ab", + "url": "https://api.github.com/repos/laravel/framework/zipball/c2a77050269b4e03bd9a735a9f24e573a7598b8a", + "reference": "c2a77050269b4e03bd9a735a9f24e573a7598b8a", "shasum": "" }, "require": { @@ -1256,7 +1256,7 @@ "framework", "laravel" ], - "time": "2016-06-06 15:18:48" + "time": "2016-06-17 19:25:12" }, { "name": "lcobucci/jwt", @@ -1318,16 +1318,16 @@ }, { "name": "league/commonmark", - "version": "0.13.3", + "version": "0.13.4", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "35816f39eb2498484fbb7b1495633a976ee1a8de" + "reference": "83f8210427fb01f671e272bb8d44b4ed3a94d459" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/35816f39eb2498484fbb7b1495633a976ee1a8de", - "reference": "35816f39eb2498484fbb7b1495633a976ee1a8de", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/83f8210427fb01f671e272bb8d44b4ed3a94d459", + "reference": "83f8210427fb01f671e272bb8d44b4ed3a94d459", "shasum": "" }, "require": { @@ -1383,7 +1383,7 @@ "markdown", "parser" ], - "time": "2016-05-21 18:41:30" + "time": "2016-06-14 14:49:29" }, { "name": "league/flysystem", @@ -1517,34 +1517,33 @@ }, { "name": "league/glide", - "version": "0.3.6", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/thephpleague/glide.git", - "reference": "e45a4b536924956e1b20f5d023800557d466eda7" + "reference": "4218b548401ff3a8f602e2c3f78849a381b2c1bf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/glide/zipball/e45a4b536924956e1b20f5d023800557d466eda7", - "reference": "e45a4b536924956e1b20f5d023800557d466eda7", + "url": "https://api.github.com/repos/thephpleague/glide/zipball/4218b548401ff3a8f602e2c3f78849a381b2c1bf", + "reference": "4218b548401ff3a8f602e2c3f78849a381b2c1bf", "shasum": "" }, "require": { - "intervention/image": "~2.1", - "league/flysystem": "~1.0", - "php": ">=5.4", - "symfony/http-foundation": "~2.3|~3.0", - "symfony/http-kernel": "~2.3|~3.0" + "intervention/image": "^2.1", + "league/flysystem": "^1.0", + "php": "^5.4 | ^7.0", + "psr/http-message": "^1.0" }, "require-dev": { "mockery/mockery": "~0.9", - "phpunit/php-token-stream": ">=1.3.0", + "phpunit/php-token-stream": "^1.4", "phpunit/phpunit": "~4.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "0.3-dev" + "dev-master": "1.0-dev" } }, "autoload": { @@ -1564,7 +1563,7 @@ } ], "description": "Wonderfully easy on-demand image manipulation library with an HTTP based API.", - "homepage": "https://github.com/thephpleague/glide", + "homepage": "http://glide.thephpleague.com", "keywords": [ "ImageMagick", "editing", @@ -1575,7 +1574,7 @@ "manipulation", "processing" ], - "time": "2016-01-25 13:35:12" + "time": "2016-06-13 14:45:28" }, { "name": "martinbean/laravel-sluggable-trait", @@ -2106,16 +2105,16 @@ }, { "name": "predis/predis", - "version": "v1.1.0", + "version": "v1.1.1", "source": { "type": "git", "url": "https://github.com/nrk/predis.git", - "reference": "0e17edbefb50c6cbd1acc4a6f6ef06399deb1af2" + "reference": "f0210e38881631afeafb56ab43405a92cafd9fd1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nrk/predis/zipball/0e17edbefb50c6cbd1acc4a6f6ef06399deb1af2", - "reference": "0e17edbefb50c6cbd1acc4a6f6ef06399deb1af2", + "url": "https://api.github.com/repos/nrk/predis/zipball/f0210e38881631afeafb56ab43405a92cafd9fd1", + "reference": "f0210e38881631afeafb56ab43405a92cafd9fd1", "shasum": "" }, "require": { @@ -2152,7 +2151,7 @@ "predis", "redis" ], - "time": "2016-06-01 22:06:21" + "time": "2016-06-16 16:22:20" }, { "name": "psr/http-message", @@ -2395,31 +2394,31 @@ }, { "name": "spatie/laravel-glide", - "version": "2.3.3", + "version": "3.0.1", "source": { "type": "git", "url": "https://github.com/spatie/laravel-glide.git", - "reference": "06bcfb85464a1202dfaa7494d1b1600c88c418e5" + "reference": "9a5f8cac9ed2246b41afd6aa1f2b3034a6aa9ba4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-glide/zipball/06bcfb85464a1202dfaa7494d1b1600c88c418e5", - "reference": "06bcfb85464a1202dfaa7494d1b1600c88c418e5", + "url": "https://api.github.com/repos/spatie/laravel-glide/zipball/9a5f8cac9ed2246b41afd6aa1f2b3034a6aa9ba4", + "reference": "9a5f8cac9ed2246b41afd6aa1f2b3034a6aa9ba4", "shasum": "" }, "require": { "illuminate/support": "5.*", - "league/glide": "0.3.*", - "php": ">=5.4.0" + "league/glide": "^1.0", + "php": "^7.0" }, "require-dev": { - "codeception/codeception": "2.*", - "mockery/mockery": "~0.9.3" + "orchestra/testbench": "^3.2", + "phpunit/phpunit": "5.*" }, "type": "library", "autoload": { - "psr-0": { - "Spatie\\Glide": "src/" + "psr-4": { + "Spatie\\Glide\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2432,22 +2431,22 @@ "email": "freek@spatie.be" } ], - "description": "A Glide Service Provider for Laravel", + "description": "Easily convert images with Glide", "homepage": "https://github.com/spatie/laravel-glide", - "time": "2016-05-13 14:56:07" + "time": "2016-05-05 15:35:48" }, { "name": "spatie/laravel-medialibrary", - "version": "3.18.0", + "version": "4.2.1", "source": { "type": "git", "url": "https://github.com/spatie/laravel-medialibrary.git", - "reference": "e7a0a564707b29e22c4e03c815d455de515bc230" + "reference": "3499014e3b2de852f1e5f4bd4006e4031dd49daa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-medialibrary/zipball/e7a0a564707b29e22c4e03c815d455de515bc230", - "reference": "e7a0a564707b29e22c4e03c815d455de515bc230", + "url": "https://api.github.com/repos/spatie/laravel-medialibrary/zipball/3499014e3b2de852f1e5f4bd4006e4031dd49daa", + "reference": "3499014e3b2de852f1e5f4bd4006e4031dd49daa", "shasum": "" }, "require": { @@ -2455,16 +2454,16 @@ "illuminate/console": "~5.1.16|~5.2.0", "illuminate/database": "~5.1.16|~5.2.0", "illuminate/support": "~5.1.16|~5.2.0", - "php": "^5.5|^7.0", - "spatie/laravel-glide": "^2.2.4", + "php": "^7.0", + "spatie/laravel-glide": "^3.0.0", "spatie/pdf-to-image": "^1.0.1", - "spatie/string": "^2.0" + "spatie/string": "^2.0.0" }, "require-dev": { "doctrine/dbal": "^2.5.2", "mockery/mockery": "^0.9.4", "orchestra/testbench": "^3.0", - "phpunit/phpunit": "^4.0", + "phpunit/phpunit": "^5.0.0", "scrutinizer/ocular": "^1.1" }, "type": "library", @@ -2494,7 +2493,7 @@ "media", "spatie" ], - "time": "2016-06-02 11:45:10" + "time": "2016-06-03 11:06:43" }, { "name": "spatie/pdf-to-image", @@ -2771,16 +2770,16 @@ }, { "name": "symfony/event-dispatcher", - "version": "v3.1.0", + "version": "v3.1.1", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "0343b2cedd0edb26cdc791212a8eb645c406018b" + "reference": "f5b7563f67779c6d3d5370e23448e707c858df3e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/0343b2cedd0edb26cdc791212a8eb645c406018b", - "reference": "0343b2cedd0edb26cdc791212a8eb645c406018b", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/f5b7563f67779c6d3d5370e23448e707c858df3e", + "reference": "f5b7563f67779c6d3d5370e23448e707c858df3e", "shasum": "" }, "require": { @@ -2827,7 +2826,7 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2016-04-12 18:27:47" + "time": "2016-06-06 11:42:41" }, { "name": "symfony/finder", @@ -3519,16 +3518,16 @@ }, { "name": "vlucas/phpdotenv", - "version": "v2.2.1", + "version": "v2.3.0", "source": { "type": "git", "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "63f37b9395e8041cd4313129c08ece896d06ca8e" + "reference": "9ca5644c536654e9509b9d257f53c58630eb2a6a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/63f37b9395e8041cd4313129c08ece896d06ca8e", - "reference": "63f37b9395e8041cd4313129c08ece896d06ca8e", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/9ca5644c536654e9509b9d257f53c58630eb2a6a", + "reference": "9ca5644c536654e9509b9d257f53c58630eb2a6a", "shasum": "" }, "require": { @@ -3540,7 +3539,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2-dev" + "dev-master": "2.3-dev" } }, "autoload": { @@ -3565,7 +3564,7 @@ "env", "environment" ], - "time": "2016-04-15 10:48:49" + "time": "2016-06-14 14:14:52" } ], "packages-dev": [ @@ -4054,22 +4053,22 @@ }, { "name": "phpdocumentor/reflection-docblock", - "version": "3.0.2", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "45ada3e3fd09789fbfbd6d65b3f0901f0030dc61" + "reference": "9270140b940ff02e58ec577c237274e92cd40cdd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/45ada3e3fd09789fbfbd6d65b3f0901f0030dc61", - "reference": "45ada3e3fd09789fbfbd6d65b3f0901f0030dc61", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/9270140b940ff02e58ec577c237274e92cd40cdd", + "reference": "9270140b940ff02e58ec577c237274e92cd40cdd", "shasum": "" }, "require": { "php": ">=5.5", "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.1.5", + "phpdocumentor/type-resolver": "^0.2.0", "webmozart/assert": "^1.0" }, "require-dev": { @@ -4095,20 +4094,20 @@ } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "time": "2016-06-06 06:44:13" + "time": "2016-06-10 09:48:41" }, { "name": "phpdocumentor/type-resolver", - "version": "0.1.8", + "version": "0.2", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "9891754231e55d42f0d16988ffb799af39f31a12" + "reference": "b39c7a5b194f9ed7bd0dd345c751007a41862443" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9891754231e55d42f0d16988ffb799af39f31a12", - "reference": "9891754231e55d42f0d16988ffb799af39f31a12", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/b39c7a5b194f9ed7bd0dd345c751007a41862443", + "reference": "b39c7a5b194f9ed7bd0dd345c751007a41862443", "shasum": "" }, "require": { @@ -4117,7 +4116,7 @@ }, "require-dev": { "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2" + "phpunit/phpunit": "^5.2||^4.8.24" }, "type": "library", "extra": { @@ -4142,7 +4141,7 @@ "email": "me@mikevanriel.com" } ], - "time": "2016-03-28 10:02:29" + "time": "2016-06-10 07:14:17" }, { "name": "phpspec/prophecy", @@ -4452,16 +4451,16 @@ }, { "name": "phpunit/phpunit", - "version": "5.4.2", + "version": "5.4.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "f5726a0262e5f74f8e9cf03128798b64160c441d" + "reference": "2f1fc94b77ea6418bd6a06c64a1dac0645fbce59" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f5726a0262e5f74f8e9cf03128798b64160c441d", - "reference": "f5726a0262e5f74f8e9cf03128798b64160c441d", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/2f1fc94b77ea6418bd6a06c64a1dac0645fbce59", + "reference": "2f1fc94b77ea6418bd6a06c64a1dac0645fbce59", "shasum": "" }, "require": { @@ -4480,7 +4479,7 @@ "phpunit/phpunit-mock-objects": "^3.2", "sebastian/comparator": "~1.1", "sebastian/diff": "~1.2", - "sebastian/environment": "~1.3", + "sebastian/environment": "^1.3 || ^2.0", "sebastian/exporter": "~1.2", "sebastian/global-state": "~1.0", "sebastian/object-enumerator": "~1.0", @@ -4488,6 +4487,9 @@ "sebastian/version": "~1.0|~2.0", "symfony/yaml": "~2.1|~3.0" }, + "conflict": { + "phpdocumentor/reflection-docblock": "3.0.2" + }, "suggest": { "phpunit/php-invoker": "~1.1" }, @@ -4523,20 +4525,20 @@ "testing", "xunit" ], - "time": "2016-06-03 09:59:50" + "time": "2016-06-16 06:01:15" }, { "name": "phpunit/phpunit-mock-objects", - "version": "3.2.1", + "version": "3.2.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "0dc8fd8e87e0366c22b6c25d1f43c4e2e66847b3" + "reference": "b13d0d9426ced06958bd32104653526a6c998a52" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/0dc8fd8e87e0366c22b6c25d1f43c4e2e66847b3", - "reference": "0dc8fd8e87e0366c22b6c25d1f43c4e2e66847b3", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/b13d0d9426ced06958bd32104653526a6c998a52", + "reference": "b13d0d9426ced06958bd32104653526a6c998a52", "shasum": "" }, "require": { @@ -4582,7 +4584,7 @@ "mock", "xunit" ], - "time": "2016-06-04 05:52:19" + "time": "2016-06-12 07:37:26" }, { "name": "sebastian/code-unit-reverse-lookup", @@ -4797,16 +4799,16 @@ }, { "name": "sebastian/exporter", - "version": "1.2.1", + "version": "1.2.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "7ae5513327cb536431847bcc0c10edba2701064e" + "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/7ae5513327cb536431847bcc0c10edba2701064e", - "reference": "7ae5513327cb536431847bcc0c10edba2701064e", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", + "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", "shasum": "" }, "require": { @@ -4814,12 +4816,13 @@ "sebastian/recursion-context": "~1.0" }, "require-dev": { + "ext-mbstring": "*", "phpunit/phpunit": "~4.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2.x-dev" + "dev-master": "1.3.x-dev" } }, "autoload": { @@ -4859,7 +4862,7 @@ "export", "exporter" ], - "time": "2015-06-21 07:55:53" + "time": "2016-06-17 09:04:28" }, { "name": "sebastian/global-state", @@ -5207,16 +5210,16 @@ }, { "name": "symfony/yaml", - "version": "v3.1.0", + "version": "v3.1.1", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "eca51b7b65eb9be6af88ad7cc91685f1556f5c9a" + "reference": "c5a7e7fc273c758b92b85dcb9c46149ccda89623" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/eca51b7b65eb9be6af88ad7cc91685f1556f5c9a", - "reference": "eca51b7b65eb9be6af88ad7cc91685f1556f5c9a", + "url": "https://api.github.com/repos/symfony/yaml/zipball/c5a7e7fc273c758b92b85dcb9c46149ccda89623", + "reference": "c5a7e7fc273c758b92b85dcb9c46149ccda89623", "shasum": "" }, "require": { @@ -5252,7 +5255,7 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2016-05-26 21:46:24" + "time": "2016-06-14 11:18:07" }, { "name": "webmozart/assert", diff --git a/config/app.php b/config/app.php index 1bcc5c20..76190440 100644 --- a/config/app.php +++ b/config/app.php @@ -121,6 +121,8 @@ return [ 'log' => env('APP_LOG', 'single'), + 'log_level' => env('APP_LOG_LEVEL', 'debug'), + /* |-------------------------------------------------------------------------- | Autoloaded Service Providers diff --git a/config/broadcasting.php b/config/broadcasting.php index abaaac32..bf8b2dfe 100644 --- a/config/broadcasting.php +++ b/config/broadcasting.php @@ -11,6 +11,8 @@ return [ | framework when an event needs to be broadcast. You may set this to | any of the connections defined in the "connections" array below. | + | Supported: "pusher", "redis", "log" + | */ 'default' => env('BROADCAST_DRIVER', 'pusher'), diff --git a/config/cache.php b/config/cache.php index 3ffa840b..6b8ac914 100644 --- a/config/cache.php +++ b/config/cache.php @@ -11,6 +11,8 @@ return [ | using this caching library. This connection is used when another is | not explicitly specified when executing a given caching function. | + | Supported: "apc", "array", "database", "file", "memcached", "redis" + | */ 'default' => env('CACHE_DRIVER', 'file'), diff --git a/config/services.php b/config/services.php index 287b1186..1581f1db 100644 --- a/config/services.php +++ b/config/services.php @@ -19,6 +19,10 @@ return [ 'secret' => env('MAILGUN_SECRET'), ], + 'mandrill' => [ + 'secret' => env('MANDRILL_SECRET'), + ], + 'ses' => [ 'key' => env('SES_KEY'), 'secret' => env('SES_SECRET'), diff --git a/gulpfile.js b/gulpfile.js index 6395c379..f6077a1c 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -16,50 +16,31 @@ var elixir = require('laravel-elixir'); elixir(function(mix) { mix.sass('global.scss', 'public/assets/css'); + mix.copy('resources/assets/js', 'public/assets/js'); mix.version([ + //hand-made css 'assets/css/global.css', 'assets/css/projects.css', - 'assets/css/alertify.css', - 'assets/css/sanitize.min.css', - 'assets/css/prism.css', + //hand-made js 'assets/js/form-save.js', 'assets/js/links.js', 'assets/js/maps.js', 'assets/js/newplace.js', 'assets/js/newnote.js', - 'assets/js/fetch.js', - 'assets/js/alertify.js', - 'assets/js/store2.min.js', - 'assets/js/Autolinker.min.js', - 'assets/js/marked.min.js', - 'assets/js/prism.js', + //bower components + 'assets/bower/alertify.css', + 'assets/bower/sanitize.css', + 'assets/bower/fetch.js', + 'assets/bower/alertify.js', + 'assets/bower/store2.min.js', + 'assets/bower/Autolinker.min.js', + 'assets/bower/marked.min.js', + //prism + 'assets/prism/prism.js', + 'assets/prism/prism.css', ]); }); -gulp.task('gzip-built-css', function() { - return gulp.src('public/build/assets/css/*.css') - .pipe(zopfli({ format: 'gzip', append: true })) - .pipe(gulp.dest('public/build/assets/css/')); -}); - -gulp.task('br-built-css', function() { - return gulp.src('public/build/assets/css/*.css') - .pipe(brotli.compress({mode: 1, quality: 11})) - .pipe(gulp.dest('public/build/assets/css/')); -}); - -gulp.task('gzip-built-js', function() { - return gulp.src('public/build/assets/js/*.js') - .pipe(zopfli({ format: 'gzip', append: true })) - .pipe(gulp.dest('public/build/assets/js/')); -}); - -gulp.task('br-built-js', function() { - return gulp.src('public/build/assets/js/*.js') - .pipe(brotli.compress({mode: 1, quality: 11})) - .pipe(gulp.dest('public/build/assets/js/')); -}); - gulp.task('bower', function() { //copy JS files gulp.src([ @@ -69,13 +50,54 @@ gulp.task('bower', function() { 'bower_components/Autolinker.js/dist/Autolinker.min.js', 'bower_components/marked/marked.min.js', ]) - .pipe(gulp.dest('public/assets/js/')); + .pipe(gulp.dest('public/assets/bower/')); //copy CSS files gulp.src([ 'bower_components/alertify.js/dist/css/alertify.css', - 'bower_components/sanitize-css/dist/sanitize.min.css', + 'bower_components/sanitize-css/sanitize.css', ]) - .pipe(gulp.dest('public/assets/css/')); + .pipe(gulp.dest('public/assets/bower/')); }); -gulp.task('compress', ['gzip-built-css', 'br-built-css', 'gzip-built-js', 'br-built-js']); +gulp.task('compress', function () { + //hand-made css + gulp.src('public/build/assets/css/*.css') + .pipe(zopfli({ format: 'gzip', append: true })) + .pipe(gulp.dest('public/build/assets/css/')); + gulp.src('public/build/assets/css/*.css') + .pipe(brotli.compress({mode: 1, quality: 11})) + .pipe(gulp.dest('public/build/assets/css/')); + //hand-made js + gulp.src('public/build/assets/js/*.js') + .pipe(zopfli({ format: 'gzip', append: true })) + .pipe(gulp.dest('public/build/assets/js/')); + gulp.src('public/build/assets/js/*.js') + .pipe(brotli.compress({mode: 1, quality: 11})) + .pipe(gulp.dest('public/build/assets/js/')); + //bower components + gulp.src('public/build/assets/bower/*.css') + .pipe(zopfli({ format: 'gzip', append: true })) + .pipe(gulp.dest('public/build/assets/bower/')); + gulp.src('public/build/assets/bower/*.js') + .pipe(zopfli({ format: 'gzip', append: true })) + .pipe(gulp.dest('public/build/assets/bower/')); + gulp.src('public/build/assets/bower/*.css') + .pipe(brotli.compress({mode: 1, quality: 11})) + .pipe(gulp.dest('public/build/assets/bower/')); + gulp.src('public/build/assets/bower/*.js') + .pipe(brotli.compress({mode: 1, quality: 11})) + .pipe(gulp.dest('public/build/assets/bower/')); + //prism + gulp.src('public/build/assets/prism/*.css') + .pipe(zopfli({ format: 'gzip', append: true })) + .pipe(gulp.dest('public/build/assets/prism/')); + gulp.src('public/build/assets/prism/*.js') + .pipe(zopfli({ format: 'gzip', append: true })) + .pipe(gulp.dest('public/build/assets/prism/')); + gulp.src('public/build/assets/prism/*.css') + .pipe(brotli.compress({mode: 1, quality: 11})) + .pipe(gulp.dest('public/build/assets/prism/')); + gulp.src('public/build/assets/prism/*.js') + .pipe(brotli.compress({mode: 1, quality: 11})) + .pipe(gulp.dest('public/build/assets/prism/')); +}); diff --git a/package.json b/package.json index d8015224..f7ba2e4d 100644 --- a/package.json +++ b/package.json @@ -1,17 +1,30 @@ { "name": "jbuk-frontend", "version": "0.0.1", - "repository": "https://github.com/jonnybarnes/jbl5", + "repository": "https://github.com/jonnybarnes/jonnybarnes.uk", "license": "CC0-1.0", "devDependencies": { "gulp": "~3.9", "gulp-brotli": "^1.0.1", "gulp-zopfli": "^1.0.0", - "laravel-elixir": "^5.0.0" + "laravel-elixir": "^6.0.0-2", + "lint-staged": "^1.0.1", + "pre-commit": "^1.1.3", + "stylelint": "^6.6.0", + "stylelint-config-standard": "^9.0.0" }, "private": true, "scripts": { "prod": "gulp --production", - "dev": "gulp watch" - } + "dev": "gulp watch", + "lint-staged": "lint-staged", + "stylelint-staged": "stylelint --syntax=scss" + }, + "lint-staged": { + "eslint": "resources/assets/js/*.js", + "stylelint-staged": "resources/assets/sass/**/*.scss" + }, + "pre-commit": [ + "lint-staged" + ] } diff --git a/public/assets/bower/Autolinker.min.js b/public/assets/bower/Autolinker.min.js new file mode 100644 index 00000000..4e73c279 --- /dev/null +++ b/public/assets/bower/Autolinker.min.js @@ -0,0 +1,10 @@ +/*! + * Autolinker.js + * 0.24.1 + * + * Copyright(c) 2016 Gregory Jacobs + * MIT License + * + * https://github.com/gregjacobs/Autolinker.js + */ +!function(t,e){"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?module.exports=e():t.Autolinker=e()}(this,function(){var t=function(t){t=t||{},this.urls=this.normalizeUrlsCfg(t.urls),this.email="boolean"==typeof t.email?t.email:!0,this.twitter="boolean"==typeof t.twitter?t.twitter:!0,this.phone="boolean"==typeof t.phone?t.phone:!0,this.hashtag=t.hashtag||!1,this.newWindow="boolean"==typeof t.newWindow?t.newWindow:!0,this.stripPrefix="boolean"==typeof t.stripPrefix?t.stripPrefix:!0;var e=this.hashtag;if(e!==!1&&"twitter"!==e&&"facebook"!==e&&"instagram"!==e)throw new Error("invalid `hashtag` cfg - see docs");this.truncate=this.normalizeTruncateCfg(t.truncate),this.className=t.className||"",this.replaceFn=t.replaceFn||null,this.htmlParser=null,this.matchers=null,this.tagBuilder=null};return t.prototype={constructor:t,normalizeUrlsCfg:function(t){return null==t&&(t=!0),"boolean"==typeof t?{schemeMatches:t,wwwMatches:t,tldMatches:t}:{schemeMatches:"boolean"==typeof t.schemeMatches?t.schemeMatches:!0,wwwMatches:"boolean"==typeof t.wwwMatches?t.wwwMatches:!0,tldMatches:"boolean"==typeof t.tldMatches?t.tldMatches:!0}},normalizeTruncateCfg:function(e){return"number"==typeof e?{length:e,location:"end"}:t.Util.defaults(e||{},{length:Number.POSITIVE_INFINITY,location:"end"})},parse:function(t){for(var e=this.getHtmlParser(),r=e.parse(t),n=0,s=[],i=0,a=r.length;a>i;i++){var o=r[i],h=o.getType();if("element"===h&&"a"===o.getTagName())o.isClosing()?n=Math.max(n-1,0):n++;else if("text"===h&&0===n){var c=this.parseText(o.getText(),o.getOffset());s.push.apply(s,c)}}return s=this.compactMatches(s),this.hashtag||(s=s.filter(function(t){return"hashtag"!==t.getType()})),this.email||(s=s.filter(function(t){return"email"!==t.getType()})),this.phone||(s=s.filter(function(t){return"phone"!==t.getType()})),this.twitter||(s=s.filter(function(t){return"twitter"!==t.getType()})),this.urls.schemeMatches||(s=s.filter(function(t){return"url"!==t.getType()||"scheme"!==t.getUrlMatchType()})),this.urls.wwwMatches||(s=s.filter(function(t){return"url"!==t.getType()||"www"!==t.getUrlMatchType()})),this.urls.tldMatches||(s=s.filter(function(t){return"url"!==t.getType()||"tld"!==t.getUrlMatchType()})),s},compactMatches:function(t){t.sort(function(t,e){return t.getOffset()-e.getOffset()});for(var e=0;es;s++){for(var a=r[s].parseMatches(t),o=0,h=a.length;h>o;o++)a[o].setOffset(e+a[o].getOffset());n.push.apply(n,a)}return n},link:function(t){if(!t)return"";for(var e=this.parse(t),r=[],n=0,s=0,i=e.length;i>s;s++){var a=e[s];r.push(t.substring(n,a.getOffset())),r.push(this.createMatchReturnVal(a)),n=a.getOffset()+a.getMatchedText().length}return r.push(t.substring(n)),r.join("")},createMatchReturnVal:function(e){var r;if(this.replaceFn&&(r=this.replaceFn.call(this,this,e)),"string"==typeof r)return r;if(r===!1)return e.getMatchedText();if(r instanceof t.HtmlTag)return r.toAnchorString();var n=this.getTagBuilder(),s=n.build(e);return s.toAnchorString()},getHtmlParser:function(){var e=this.htmlParser;return e||(e=this.htmlParser=new t.htmlParser.HtmlParser),e},getMatchers:function(){if(this.matchers)return this.matchers;var e=t.matcher,r=[new e.Hashtag({serviceName:this.hashtag}),new e.Email,new e.Phone,new e.Twitter,new e.Url({stripPrefix:this.stripPrefix})];return this.matchers=r},getTagBuilder:function(){var e=this.tagBuilder;return e||(e=this.tagBuilder=new t.AnchorTagBuilder({newWindow:this.newWindow,truncate:this.truncate,className:this.className})),e}},t.link=function(e,r){var n=new t(r);return n.link(e)},t.match={},t.matcher={},t.htmlParser={},t.truncate={},t.Util={abstractMethod:function(){throw"abstract"},trimRegex:/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,assign:function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);return t},defaults:function(t,e){for(var r in e)e.hasOwnProperty(r)&&void 0===t[r]&&(t[r]=e[r]);return t},extend:function(e,r){var n=e.prototype,s=function(){};s.prototype=n;var i;i=r.hasOwnProperty("constructor")?r.constructor:function(){n.constructor.apply(this,arguments)};var a=i.prototype=new s;return a.constructor=i,a.superclass=n,delete r.constructor,t.Util.assign(a,r),i},ellipsis:function(t,e,r){return t.length>e&&(r=null==r?"..":r,t=t.substring(0,e-r.length)+r),t},indexOf:function(t,e){if(Array.prototype.indexOf)return t.indexOf(e);for(var r=0,n=t.length;n>r;r++)if(t[r]===e)return r;return-1},splitAndCapture:function(t,e){for(var r,n=[],s=0;r=e.exec(t);)n.push(t.substring(s,r.index)),n.push(r[0]),s=r.index+r[0].length;return n.push(t.substring(s)),n},trim:function(t){return t.replace(this.trimRegex,"")}},t.HtmlTag=t.Util.extend(Object,{whitespaceRegex:/\s+/,constructor:function(e){t.Util.assign(this,e),this.innerHtml=this.innerHtml||this.innerHTML},setTagName:function(t){return this.tagName=t,this},getTagName:function(){return this.tagName||""},setAttr:function(t,e){var r=this.getAttrs();return r[t]=e,this},getAttr:function(t){return this.getAttrs()[t]},setAttrs:function(e){var r=this.getAttrs();return t.Util.assign(r,e),this},getAttrs:function(){return this.attrs||(this.attrs={})},setClass:function(t){return this.setAttr("class",t)},addClass:function(e){for(var r,n=this.getClass(),s=this.whitespaceRegex,i=t.Util.indexOf,a=n?n.split(s):[],o=e.split(s);r=o.shift();)-1===i(a,r)&&a.push(r);return this.getAttrs()["class"]=a.join(" "),this},removeClass:function(e){for(var r,n=this.getClass(),s=this.whitespaceRegex,i=t.Util.indexOf,a=n?n.split(s):[],o=e.split(s);a.length&&(r=o.shift());){var h=i(a,r);-1!==h&&a.splice(h,1)}return this.getAttrs()["class"]=a.join(" "),this},getClass:function(){return this.getAttrs()["class"]||""},hasClass:function(t){return-1!==(" "+this.getClass()+" ").indexOf(" "+t+" ")},setInnerHtml:function(t){return this.innerHtml=t,this},getInnerHtml:function(){return this.innerHtml||""},toAnchorString:function(){var t=this.getTagName(),e=this.buildAttrsStr();return e=e?" "+e:"",["<",t,e,">",this.getInnerHtml(),""].join("")},buildAttrsStr:function(){if(!this.attrs)return"";var t=this.getAttrs(),e=[];for(var r in t)t.hasOwnProperty(r)&&e.push(r+'="'+t[r]+'"');return e.join(" ")}}),t.RegexLib=function(){var t="A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠ-ࢴऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛱ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々〆〱-〵〻〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿕ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛥꜗ-ꜟꜢ-ꞈꞋ-ꞭꞰ-ꞷꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭥꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",e="0-9٠-٩۰-۹߀-߉०-९০-৯੦-੯૦-૯୦-୯௦-௯౦-౯೦-೯൦-൯෦-෯๐-๙໐-໙༠-༩၀-၉႐-႙០-៩᠐-᠙᥆-᥏᧐-᧙᪀-᪉᪐-᪙᭐-᭙᮰-᮹᱀-᱉᱐-᱙꘠-꘩꣐-꣙꤀-꤉꧐-꧙꧰-꧹꩐-꩙꯰-꯹0-9",r=t+e,n=new RegExp("["+r+".\\-]*["+r+"\\-]"),s=/(?:international|construction|contractors|enterprises|photography|productions|foundation|immobilien|industries|management|properties|technology|christmas|community|directory|education|equipment|institute|marketing|solutions|vacations|bargains|boutique|builders|catering|cleaning|clothing|computer|democrat|diamonds|graphics|holdings|lighting|partners|plumbing|supplies|training|ventures|academy|careers|company|cruises|domains|exposed|flights|florist|gallery|guitars|holiday|kitchen|neustar|okinawa|recipes|rentals|reviews|shiksha|singles|support|systems|agency|berlin|camera|center|coffee|condos|dating|estate|events|expert|futbol|kaufen|luxury|maison|monash|museum|nagoya|photos|repair|report|social|supply|tattoo|tienda|travel|viajes|villas|vision|voting|voyage|actor|build|cards|cheap|codes|dance|email|glass|house|mango|ninja|parts|photo|press|shoes|solar|today|tokyo|tools|watch|works|aero|arpa|asia|best|bike|blue|buzz|camp|club|cool|coop|farm|fish|gift|guru|info|jobs|kiwi|kred|land|limo|link|menu|mobi|moda|name|pics|pink|post|qpon|rich|ruhr|sexy|tips|vote|voto|wang|wien|wiki|zone|bar|bid|biz|cab|cat|ceo|com|edu|gov|int|kim|mil|net|onl|org|pro|pub|red|tel|uno|wed|xxx|xyz|ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw)\b/;return{alphaNumericCharsStr:r,domainNameRegex:n,tldRegex:s}}(),t.AnchorTagBuilder=t.Util.extend(Object,{constructor:function(e){t.Util.assign(this,e)},build:function(e){return new t.HtmlTag({tagName:"a",attrs:this.createAttrs(e.getType(),e.getAnchorHref()),innerHtml:this.processAnchorText(e.getAnchorText())})},createAttrs:function(t,e){var r={href:e},n=this.createCssClass(t);return n&&(r["class"]=n),this.newWindow&&(r.target="_blank"),r},createCssClass:function(t){var e=this.className;return e?e+" "+e+"-"+t:""},processAnchorText:function(t){return t=this.doTruncate(t)},doTruncate:function(e){var r=this.truncate;if(!r)return e;var n=r.length,s=r.location;return"smart"===s?t.truncate.TruncateSmart(e,n,".."):"middle"===s?t.truncate.TruncateMiddle(e,n,".."):t.truncate.TruncateEnd(e,n,"..")}}),t.htmlParser.HtmlParser=t.Util.extend(Object,{htmlRegex:function(){var t=/!--([\s\S]+?)--/,e=/[0-9a-zA-Z][0-9a-zA-Z:]*/,r=/[^\s\0"'>\/=\x01-\x1F\x7F]+/,n=/(?:"[^"]*?"|'[^']*?'|[^'"=<>`\s]+)/,s=r.source+"(?:\\s*=\\s*"+n.source+")?";return new RegExp(["(?:","<(!DOCTYPE)","(?:","\\s+","(?:",s,"|",n.source+")",")*",">",")","|","(?:","<(/)?","(?:",t.source,"|","(?:","("+e.source+")","(?:","\\s*",s,")*","\\s*/?",")",")",">",")"].join(""),"gi")}(),htmlCharacterEntitiesRegex:/( | |<|<|>|>|"|"|')/gi,parse:function(t){for(var e,r,n=this.htmlRegex,s=0,i=[];null!==(e=n.exec(t));){var a=e[0],o=e[3],h=e[1]||e[4],c=!!e[2],u=e.index,l=t.substring(s,u);l&&(r=this.parseTextAndEntityNodes(s,l),i.push.apply(i,r)),o?i.push(this.createCommentNode(u,a,o)):i.push(this.createElementNode(u,a,h,c)),s=u+a.length}if(si;i+=2){var o=s[i],h=s[i+1];o&&(n.push(this.createTextNode(e,o)),e+=o.length),h&&(n.push(this.createEntityNode(e,h)),e+=h.length)}return n},createCommentNode:function(e,r,n){return new t.htmlParser.CommentNode({offset:e,text:r,comment:t.Util.trim(n)})},createElementNode:function(e,r,n,s){return new t.htmlParser.ElementNode({offset:e,text:r,tagName:n.toLowerCase(),closing:s})},createEntityNode:function(e,r){return new t.htmlParser.EntityNode({offset:e,text:r})},createTextNode:function(e,r){return new t.htmlParser.TextNode({offset:e,text:r})}}),t.htmlParser.HtmlNode=t.Util.extend(Object,{offset:void 0,text:void 0,constructor:function(e){t.Util.assign(this,e)},getType:t.Util.abstractMethod,getOffset:function(){return this.offset},getText:function(){return this.text}}),t.htmlParser.CommentNode=t.Util.extend(t.htmlParser.HtmlNode,{comment:"",getType:function(){return"comment"},getComment:function(){return this.comment}}),t.htmlParser.ElementNode=t.Util.extend(t.htmlParser.HtmlNode,{tagName:"",closing:!1,getType:function(){return"element"},getTagName:function(){return this.tagName},isClosing:function(){return this.closing}}),t.htmlParser.EntityNode=t.Util.extend(t.htmlParser.HtmlNode,{getType:function(){return"entity"}}),t.htmlParser.TextNode=t.Util.extend(t.htmlParser.HtmlNode,{getType:function(){return"text"}}),t.match.Match=t.Util.extend(Object,{constructor:function(t,e){this.matchedText=t,this.offset=e},getType:t.Util.abstractMethod,getMatchedText:function(){return this.matchedText},setOffset:function(t){this.offset=t},getOffset:function(){return this.offset},getAnchorHref:t.Util.abstractMethod,getAnchorText:t.Util.abstractMethod}),t.match.Email=t.Util.extend(t.match.Match,{constructor:function(e,r,n){t.match.Match.prototype.constructor.call(this,e,r),this.email=n},getType:function(){return"email"},getEmail:function(){return this.email},getAnchorHref:function(){return"mailto:"+this.email},getAnchorText:function(){return this.email}}),t.match.Hashtag=t.Util.extend(t.match.Match,{constructor:function(e,r,n,s){t.match.Match.prototype.constructor.call(this,e,r),this.serviceName=n,this.hashtag=s},getType:function(){return"hashtag"},getServiceName:function(){return this.serviceName},getHashtag:function(){return this.hashtag},getAnchorHref:function(){var t=this.serviceName,e=this.hashtag;switch(t){case"twitter":return"https://twitter.com/hashtag/"+e;case"facebook":return"https://www.facebook.com/hashtag/"+e;case"instagram":return"https://instagram.com/explore/tags/"+e;default:throw new Error("Unknown service name to point hashtag to: ",t)}},getAnchorText:function(){return"#"+this.hashtag}}),t.match.Phone=t.Util.extend(t.match.Match,{constructor:function(e,r,n,s){t.match.Match.prototype.constructor.call(this,e,r),this.number=n,this.plusSign=s},getType:function(){return"phone"},getNumber:function(){return this.number},getAnchorHref:function(){return"tel:"+(this.plusSign?"+":"")+this.number},getAnchorText:function(){return this.matchedText}}),t.match.Twitter=t.Util.extend(t.match.Match,{constructor:function(e,r,n){t.match.Match.prototype.constructor.call(this,e,r),this.twitterHandle=n},getType:function(){return"twitter"},getTwitterHandle:function(){return this.twitterHandle},getAnchorHref:function(){return"https://twitter.com/"+this.twitterHandle},getAnchorText:function(){return"@"+this.twitterHandle}}),t.match.Url=t.Util.extend(t.match.Match,{constructor:function(e,r,n,s,i,a,o){t.match.Match.prototype.constructor.call(this,e,r),this.urlMatchType=s,this.url=n,this.protocolUrlMatch=i,this.protocolRelativeMatch=a,this.stripPrefix=o},urlPrefixRegex:/^(https?:\/\/)?(www\.)?/i,protocolRelativeRegex:/^\/\//,protocolPrepended:!1,getType:function(){return"url"},getUrlMatchType:function(){return this.urlMatchType},getUrl:function(){var t=this.url;return this.protocolRelativeMatch||this.protocolUrlMatch||this.protocolPrepended||(t=this.url="http://"+t,this.protocolPrepended=!0),t},getAnchorHref:function(){var t=this.getUrl();return t.replace(/&/g,"&")},getAnchorText:function(){var t=this.getMatchedText();return this.protocolRelativeMatch&&(t=this.stripProtocolRelativePrefix(t)),this.stripPrefix&&(t=this.stripUrlPrefix(t)),t=this.removeTrailingSlash(t)},stripUrlPrefix:function(t){return t.replace(this.urlPrefixRegex,"")},stripProtocolRelativePrefix:function(t){return t.replace(this.protocolRelativeRegex,"")},removeTrailingSlash:function(t){return"/"===t.charAt(t.length-1)&&(t=t.slice(0,-1)),t}}),t.matcher.Matcher=t.Util.extend(Object,{constructor:function(e){t.Util.assign(this,e)},parseMatches:t.Util.abstractMethod}),t.matcher.Email=t.Util.extend(t.matcher.Matcher,{matcherRegex:function(){var e=t.RegexLib.alphaNumericCharsStr,r=new RegExp("["+e+"\\-;:&=+$.,]+@"),n=t.RegexLib.domainNameRegex,s=t.RegexLib.tldRegex;return new RegExp([r.source,n.source,"\\.",s.source].join(""),"gi")}(),parseMatches:function(e){for(var r,n=this.matcherRegex,s=[];null!==(r=n.exec(e));){var i=r[0];s.push(new t.match.Email(i,r.index,i))}return s}}),t.matcher.Hashtag=t.Util.extend(t.matcher.Matcher,{matcherRegex:new RegExp("#[_"+t.RegexLib.alphaNumericCharsStr+"]{1,139}","g"),nonWordCharRegex:new RegExp("[^"+t.RegexLib.alphaNumericCharsStr+"]"),parseMatches:function(e){for(var r,n=this.matcherRegex,s=this.nonWordCharRegex,i=this.serviceName,a=[];null!==(r=n.exec(e));){var o=r.index,h=e.charAt(o-1);if(0===o||s.test(h)){var c=r[0],u=r[0].slice(1);a.push(new t.match.Hashtag(c,o,i,u))}}return a}}),t.matcher.Phone=t.Util.extend(t.matcher.Matcher,{matcherRegex:/(?:(\+)?\d{1,3}[-\040.])?\(?\d{3}\)?[-\040.]?\d{3}[-\040.]\d{4}/g,parseMatches:function(e){for(var r,n=this.matcherRegex,s=[];null!==(r=n.exec(e));){var i=r[0],a=i.replace(/\D/g,""),o=!!r[1];s.push(new t.match.Phone(i,r.index,a,o))}return s}}),t.matcher.Twitter=t.Util.extend(t.matcher.Matcher,{matcherRegex:new RegExp("@[_"+t.RegexLib.alphaNumericCharsStr+"]{1,20}","g"),nonWordCharRegex:new RegExp("[^"+t.RegexLib.alphaNumericCharsStr+"]"),parseMatches:function(e){for(var r,n=this.matcherRegex,s=this.nonWordCharRegex,i=[];null!==(r=n.exec(e));){var a=r.index,o=e.charAt(a-1);if(0===a||s.test(o)){var h=r[0],c=r[0].slice(1);i.push(new t.match.Twitter(h,a,c))}}return i}}),t.matcher.Url=t.Util.extend(t.matcher.Matcher,{matcherRegex:function(){var e=/(?:[A-Za-z][-.+A-Za-z0-9]*:(?![A-Za-z][-.+A-Za-z0-9]*:\/\/)(?!\d+\/?)(?:\/\/)?)/,r=/(?:www\.)/,n=t.RegexLib.domainNameRegex,s=t.RegexLib.tldRegex,i=t.RegexLib.alphaNumericCharsStr,a=new RegExp("["+i+"\\-+&@#/%=~_()|'$*\\[\\]?!:,.;]*["+i+"\\-+&@#/%=~_()|'$*\\[\\]]");return new RegExp(["(?:","(",e.source,n.source,")","|","(","(//)?",r.source,n.source,")","|","(","(//)?",n.source+"\\.",s.source,")",")","(?:"+a.source+")?"].join(""),"gi")}(),wordCharRegExp:/\w/,openParensRe:/\(/g,closeParensRe:/\)/g,parseMatches:function(e){for(var r,n=this.matcherRegex,s=this.stripPrefix,i=[];null!==(r=n.exec(e));){var a=r[0],o=r[1],h=r[2],c=r[3],u=r[5],l=r.index,g=c||u,f=e.charAt(l-1);if(t.matcher.UrlMatchValidator.isValid(a,o)&&!(l>0&&"@"===f||l>0&&g&&this.wordCharRegExp.test(f))){if(this.matchHasUnbalancedClosingParen(a))a=a.substr(0,a.length-1);else{var m=this.matchHasInvalidCharAfterTld(a,o);m>-1&&(a=a.substr(0,m))}var p=o?"scheme":h?"www":"tld",d=!!o;i.push(new t.match.Url(a,l,a,p,d,!!g,s))}}return i},matchHasUnbalancedClosingParen:function(t){var e=t.charAt(t.length-1);if(")"===e){var r=t.match(this.openParensRe),n=t.match(this.closeParensRe),s=r&&r.length||0,i=n&&n.length||0;if(i>s)return!0}return!1},matchHasInvalidCharAfterTld:function(t,e){if(!t)return-1;var r=0;e&&(r=t.indexOf(":"),t=t.slice(r));var n=/^((.?\/\/)?[A-Za-z0-9\u00C0-\u017F\.\-]*[A-Za-z0-9\u00C0-\u017F\-]\.[A-Za-z]+)/,s=n.exec(t);return null===s?-1:(r+=s[1].length,t=t.slice(s[1].length),/^[^.A-Za-z:\/?#]/.test(t)?r:-1)}}),t.matcher.UrlMatchValidator={hasFullProtocolRegex:/^[A-Za-z][-.+A-Za-z0-9]*:\/\//,uriSchemeRegex:/^[A-Za-z][-.+A-Za-z0-9]*:/,hasWordCharAfterProtocolRegex:/:[^\s]*?[A-Za-z\u00C0-\u017F]/,isValid:function(t,e){return!(e&&!this.isValidUriScheme(e)||this.urlMatchDoesNotHaveProtocolOrDot(t,e)||this.urlMatchDoesNotHaveAtLeastOneWordChar(t,e))},isValidUriScheme:function(t){var e=t.match(this.uriSchemeRegex)[0].toLowerCase();return"javascript:"!==e&&"vbscript:"!==e},urlMatchDoesNotHaveProtocolOrDot:function(t,e){return!(!t||e&&this.hasFullProtocolRegex.test(e)||-1!==t.indexOf("."))},urlMatchDoesNotHaveAtLeastOneWordChar:function(t,e){return t&&e?!this.hasWordCharAfterProtocolRegex.test(t):!1}},t.truncate.TruncateEnd=function(e,r,n){return t.Util.ellipsis(e,r,n)},t.truncate.TruncateMiddle=function(t,e,r){if(t.length<=e)return t;var n=e-r.length,s="";return n>0&&(s=t.substr(-1*Math.floor(n/2))),(t.substr(0,Math.ceil(n/2))+r+s).substr(0,e)},t.truncate.TruncateSmart=function(t,e,r){var n=function(t){var e={},r=t,n=r.match(/^([a-z]+):\/\//i);return n&&(e.scheme=n[1],r=r.substr(n[0].length)),n=r.match(/^(.*?)(?=(\?|#|\/|$))/i),n&&(e.host=n[1],r=r.substr(n[0].length)),n=r.match(/^\/(.*?)(?=(\?|#|$))/i),n&&(e.path=n[1],r=r.substr(n[0].length)),n=r.match(/^\?(.*?)(?=(#|$))/i),n&&(e.query=n[1],r=r.substr(n[0].length)),n=r.match(/^#(.*?)$/i),n&&(e.fragment=n[1]),e},s=function(t){var e="";return t.scheme&&t.host&&(e+=t.scheme+"://"),t.host&&(e+=t.host),t.path&&(e+="/"+t.path),t.query&&(e+="?"+t.query),t.fragment&&(e+="#"+t.fragment),e},i=function(t,e){var n=e/2,s=Math.ceil(n),i=-1*Math.floor(n),a="";return 0>i&&(a=t.substr(i)),t.substr(0,s)+r+a};if(t.length<=e)return t;var a=e-r.length,o=n(t);if(o.query){var h=o.query.match(/^(.*?)(?=(\?|\#))(.*?)$/i);h&&(o.query=o.query.substr(0,h[1].length),t=s(o))}if(t.length<=e)return t;if(o.host&&(o.host=o.host.replace(/^www\./,""),t=s(o)),t.length<=e)return t;var c="";if(o.host&&(c+=o.host),c.length>=a)return o.host.length==e?(o.host.substr(0,e-r.length)+r).substr(0,e):i(c,a).substr(0,e);var u="";if(o.path&&(u+="/"+o.path),o.query&&(u+="?"+o.query),u){if((c+u).length>=a){if((c+u).length==e)return(c+u).substr(0,e);var l=a-c.length;return(c+i(u,l)).substr(0,e)}c+=u}if(o.fragment){var g="#"+o.fragment;if((c+g).length>=a){if((c+g).length==e)return(c+g).substr(0,e);var f=a-c.length;return(c+i(g,f)).substr(0,e)}c+=g}if(o.scheme&&o.host){var m=o.scheme+"://";if((c+m).length0&&(p=c.substr(-1*Math.floor(a/2))),(c.substr(0,Math.ceil(a/2))+r+p).substr(0,e)},t}); \ No newline at end of file diff --git a/public/assets/bower/alertify.css b/public/assets/bower/alertify.css new file mode 100644 index 00000000..a49a7e6a --- /dev/null +++ b/public/assets/bower/alertify.css @@ -0,0 +1 @@ +.alertify-logs>*{padding:12px 24px;color:#fff;box-shadow:0 2px 5px 0 rgba(0,0,0,.2);border-radius:1px}.alertify-logs>*,.alertify-logs>.default{background:rgba(0,0,0,.8)}.alertify-logs>.error{background:rgba(244,67,54,.8)}.alertify-logs>.success{background:rgba(76,175,80,.9)}.alertify{position:fixed;background-color:rgba(0,0,0,.3);left:0;right:0;top:0;bottom:0;width:100%;height:100%;z-index:1}.alertify.hide{opacity:0;pointer-events:none}.alertify,.alertify.show{box-sizing:border-box;transition:all .33s cubic-bezier(.25,.8,.25,1)}.alertify,.alertify *{box-sizing:border-box}.alertify .dialog{padding:12px}.alertify .alert,.alertify .dialog{width:100%;margin:0 auto;position:relative;top:50%;transform:translateY(-50%)}.alertify .alert>*,.alertify .dialog>*{width:400px;max-width:95%;margin:0 auto;text-align:center;padding:12px;background:#fff;box-shadow:0 2px 4px -1px rgba(0,0,0,.14),0 4px 5px 0 rgba(0,0,0,.098),0 1px 10px 0 rgba(0,0,0,.084)}.alertify .alert .msg,.alertify .dialog .msg{padding:12px;margin-bottom:12px;margin:0;text-align:left}.alertify .alert input:not(.form-control),.alertify .dialog input:not(.form-control){margin-bottom:15px;width:100%;font-size:100%;padding:12px}.alertify .alert input:not(.form-control):focus,.alertify .dialog input:not(.form-control):focus{outline-offset:-2px}.alertify .alert nav,.alertify .dialog nav{text-align:right}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button),.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button){background:transparent;box-sizing:border-box;color:rgba(0,0,0,.87);position:relative;outline:0;border:0;display:inline-block;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center;padding:0 6px;margin:6px 8px;line-height:36px;min-height:36px;white-space:nowrap;min-width:88px;text-align:center;text-transform:uppercase;font-size:14px;text-decoration:none;cursor:pointer;border:1px solid transparent;border-radius:2px}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):active,.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):hover,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):active,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):hover{background-color:rgba(0,0,0,.05)}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):focus,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):focus{border:1px solid rgba(0,0,0,.1)}.alertify .alert nav button.btn,.alertify .dialog nav button.btn{margin:6px 4px}.alertify-logs{position:fixed;z-index:1}.alertify-logs.bottom,.alertify-logs:not(.top){bottom:16px}.alertify-logs.left,.alertify-logs:not(.right){left:16px}.alertify-logs.left>*,.alertify-logs:not(.right)>*{float:left;transform:translateZ(0);height:auto}.alertify-logs.left>.show,.alertify-logs:not(.right)>.show{left:0}.alertify-logs.left>*,.alertify-logs.left>.hide,.alertify-logs:not(.right)>*,.alertify-logs:not(.right)>.hide{left:-110%}.alertify-logs.right{right:16px}.alertify-logs.right>*{float:right;transform:translateZ(0)}.alertify-logs.right>.show{right:0;opacity:1}.alertify-logs.right>*,.alertify-logs.right>.hide{right:-110%;opacity:0}.alertify-logs.top{top:0}.alertify-logs>*{box-sizing:border-box;transition:all .4s cubic-bezier(.25,.8,.25,1);position:relative;clear:both;backface-visibility:hidden;perspective:1000;max-height:0;margin:0;padding:0;overflow:hidden;opacity:0;pointer-events:none}.alertify-logs>.show{margin-top:12px;opacity:1;max-height:1000px;padding:12px;pointer-events:auto} \ No newline at end of file diff --git a/public/assets/bower/alertify.js b/public/assets/bower/alertify.js new file mode 100644 index 00000000..bbd91365 --- /dev/null +++ b/public/assets/bower/alertify.js @@ -0,0 +1 @@ +!function(){"use strict";function t(){var t={parent:document.body,version:"1.0.11",defaultOkLabel:"Ok",okLabel:"Ok",defaultCancelLabel:"Cancel",cancelLabel:"Cancel",defaultMaxLogItems:2,maxLogItems:2,promptValue:"",promptPlaceholder:"",closeLogOnClick:!1,closeLogOnClickDefault:!1,delay:5e3,defaultDelay:5e3,logContainerClass:"alertify-logs",logContainerDefaultClass:"alertify-logs",dialogs:{buttons:{holder:"",ok:"",cancel:""},input:"",message:"

{{message}}

",log:"
{{message}}
"},defaultDialogs:{buttons:{holder:"",ok:"",cancel:""},input:"",message:"

{{message}}

",log:"
{{message}}
"},build:function(t){var e=this.dialogs.buttons.ok,o="
"+this.dialogs.message.replace("{{message}}",t.message);return"confirm"!==t.type&&"prompt"!==t.type||(e=this.dialogs.buttons.cancel+this.dialogs.buttons.ok),"prompt"===t.type&&(o+=this.dialogs.input),o=(o+this.dialogs.buttons.holder+"
").replace("{{buttons}}",e).replace("{{ok}}",this.okLabel).replace("{{cancel}}",this.cancelLabel)},setCloseLogOnClick:function(t){this.closeLogOnClick=!!t},close:function(t,e){this.closeLogOnClick&&t.addEventListener("click",function(){o(t)}),e=e&&!isNaN(+e)?+e:this.delay,0>e?o(t):e>0&&setTimeout(function(){o(t)},e)},dialog:function(t,e,o,n){return this.setup({type:e,message:t,onOkay:o,onCancel:n})},log:function(t,e,o){var n=document.querySelectorAll(".alertify-logs > div");if(n){var i=n.length-this.maxLogItems;if(i>=0)for(var a=0,l=i+1;l>a;a++)this.close(n[a],-1)}this.notify(t,e,o)},setLogPosition:function(t){this.logContainerClass="alertify-logs "+t},setupLogContainer:function(){var t=document.querySelector(".alertify-logs"),e=this.logContainerClass;return t||(t=document.createElement("div"),t.className=e,this.parent.appendChild(t)),t.className!==e&&(t.className=e),t},notify:function(e,o,n){var i=this.setupLogContainer(),a=document.createElement("div");a.className=o||"default",t.logTemplateMethod?a.innerHTML=t.logTemplateMethod(e):a.innerHTML=e,"function"==typeof n&&a.addEventListener("click",n),i.appendChild(a),setTimeout(function(){a.className+=" show"},10),this.close(a,this.delay)},setup:function(t){function e(e){"function"!=typeof e&&(e=function(){}),i&&i.addEventListener("click",function(i){t.onOkay&&"function"==typeof t.onOkay&&(l?t.onOkay(l.value,i):t.onOkay(i)),e(l?{buttonClicked:"ok",inputValue:l.value,event:i}:{buttonClicked:"ok",event:i}),o(n)}),a&&a.addEventListener("click",function(i){t.onCancel&&"function"==typeof t.onCancel&&t.onCancel(i),e({buttonClicked:"cancel",event:i}),o(n)}),l&&l.addEventListener("keyup",function(t){13===t.which&&i.click()})}var n=document.createElement("div");n.className="alertify hide",n.innerHTML=this.build(t);var i=n.querySelector(".ok"),a=n.querySelector(".cancel"),l=n.querySelector("input"),s=n.querySelector("label");l&&("string"==typeof this.promptPlaceholder&&(s?s.textContent=this.promptPlaceholder:l.placeholder=this.promptPlaceholder),"string"==typeof this.promptValue&&(l.value=this.promptValue));var r;return"function"==typeof Promise?r=new Promise(e):e(),this.parent.appendChild(n),setTimeout(function(){n.classList.remove("hide"),l&&t.type&&"prompt"===t.type?(l.select(),l.focus()):i&&i.focus()},100),r},okBtn:function(t){return this.okLabel=t,this},setDelay:function(t){return t=t||0,this.delay=isNaN(t)?this.defaultDelay:parseInt(t,10),this},cancelBtn:function(t){return this.cancelLabel=t,this},setMaxLogItems:function(t){this.maxLogItems=parseInt(t||this.defaultMaxLogItems)},theme:function(t){switch(t.toLowerCase()){case"bootstrap":this.dialogs.buttons.ok="",this.dialogs.buttons.cancel="",this.dialogs.input="";break;case"purecss":this.dialogs.buttons.ok="",this.dialogs.buttons.cancel="";break;case"mdl":case"material-design-light":this.dialogs.buttons.ok="",this.dialogs.buttons.cancel="",this.dialogs.input="
";break;case"angular-material":this.dialogs.buttons.ok="",this.dialogs.buttons.cancel="",this.dialogs.input="
";break;case"default":default:this.dialogs.buttons.ok=this.defaultDialogs.buttons.ok,this.dialogs.buttons.cancel=this.defaultDialogs.buttons.cancel,this.dialogs.input=this.defaultDialogs.input}},reset:function(){this.parent=document.body,this.theme("default"),this.okBtn(this.defaultOkLabel),this.cancelBtn(this.defaultCancelLabel),this.setMaxLogItems(),this.promptValue="",this.promptPlaceholder="",this.delay=this.defaultDelay,this.setCloseLogOnClick(this.closeLogOnClickDefault),this.setLogPosition("bottom left"),this.logTemplateMethod=null},injectCSS:function(){if(!document.querySelector("#alertifyCSS")){var t=document.getElementsByTagName("head")[0],e=document.createElement("style");e.type="text/css",e.id="alertifyCSS",e.innerHTML=".alertify-logs>*{padding:12px 24px;color:#fff;box-shadow:0 2px 5px 0 rgba(0,0,0,.2);border-radius:1px}.alertify-logs>*,.alertify-logs>.default{background:rgba(0,0,0,.8)}.alertify-logs>.error{background:rgba(244,67,54,.8)}.alertify-logs>.success{background:rgba(76,175,80,.9)}.alertify{position:fixed;background-color:rgba(0,0,0,.3);left:0;right:0;top:0;bottom:0;width:100%;height:100%;z-index:1}.alertify.hide{opacity:0;pointer-events:none}.alertify,.alertify.show{box-sizing:border-box;transition:all .33s cubic-bezier(.25,.8,.25,1)}.alertify,.alertify *{box-sizing:border-box}.alertify .dialog{padding:12px}.alertify .alert,.alertify .dialog{width:100%;margin:0 auto;position:relative;top:50%;transform:translateY(-50%)}.alertify .alert>*,.alertify .dialog>*{width:400px;max-width:95%;margin:0 auto;text-align:center;padding:12px;background:#fff;box-shadow:0 2px 4px -1px rgba(0,0,0,.14),0 4px 5px 0 rgba(0,0,0,.098),0 1px 10px 0 rgba(0,0,0,.084)}.alertify .alert .msg,.alertify .dialog .msg{padding:12px;margin-bottom:12px;margin:0;text-align:left}.alertify .alert input:not(.form-control),.alertify .dialog input:not(.form-control){margin-bottom:15px;width:100%;font-size:100%;padding:12px}.alertify .alert input:not(.form-control):focus,.alertify .dialog input:not(.form-control):focus{outline-offset:-2px}.alertify .alert nav,.alertify .dialog nav{text-align:right}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button),.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button){background:transparent;box-sizing:border-box;color:rgba(0,0,0,.87);position:relative;outline:0;border:0;display:inline-block;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center;padding:0 6px;margin:6px 8px;line-height:36px;min-height:36px;white-space:nowrap;min-width:88px;text-align:center;text-transform:uppercase;font-size:14px;text-decoration:none;cursor:pointer;border:1px solid transparent;border-radius:2px}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):active,.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):hover,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):active,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):hover{background-color:rgba(0,0,0,.05)}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):focus,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):focus{border:1px solid rgba(0,0,0,.1)}.alertify .alert nav button.btn,.alertify .dialog nav button.btn{margin:6px 4px}.alertify-logs{position:fixed;z-index:1}.alertify-logs.bottom,.alertify-logs:not(.top){bottom:16px}.alertify-logs.left,.alertify-logs:not(.right){left:16px}.alertify-logs.left>*,.alertify-logs:not(.right)>*{float:left;transform:translateZ(0);height:auto}.alertify-logs.left>.show,.alertify-logs:not(.right)>.show{left:0}.alertify-logs.left>*,.alertify-logs.left>.hide,.alertify-logs:not(.right)>*,.alertify-logs:not(.right)>.hide{left:-110%}.alertify-logs.right{right:16px}.alertify-logs.right>*{float:right;transform:translateZ(0)}.alertify-logs.right>.show{right:0;opacity:1}.alertify-logs.right>*,.alertify-logs.right>.hide{right:-110%;opacity:0}.alertify-logs.top{top:0}.alertify-logs>*{box-sizing:border-box;transition:all .4s cubic-bezier(.25,.8,.25,1);position:relative;clear:both;backface-visibility:hidden;perspective:1000;max-height:0;margin:0;padding:0;overflow:hidden;opacity:0;pointer-events:none}.alertify-logs>.show{margin-top:12px;opacity:1;max-height:1000px;padding:12px;pointer-events:auto}",t.insertBefore(e,t.firstChild)}},removeCSS:function(){var t=document.querySelector("#alertifyCSS");t&&t.parentNode&&t.parentNode.removeChild(t)}};return t.injectCSS(),{_$$alertify:t,parent:function(e){t.parent=e},reset:function(){return t.reset(),this},alert:function(e,o,n){return t.dialog(e,"alert",o,n)||this},confirm:function(e,o,n){return t.dialog(e,"confirm",o,n)||this},prompt:function(e,o,n){return t.dialog(e,"prompt",o,n)||this},log:function(e,o){return t.log(e,"default",o),this},theme:function(e){return t.theme(e),this},success:function(e,o){return t.log(e,"success",o),this},error:function(e,o){return t.log(e,"error",o),this},cancelBtn:function(e){return t.cancelBtn(e),this},okBtn:function(e){return t.okBtn(e),this},delay:function(e){return t.setDelay(e),this},placeholder:function(e){return t.promptPlaceholder=e,this},defaultValue:function(e){return t.promptValue=e,this},maxLogItems:function(e){return t.setMaxLogItems(e),this},closeLogOnClick:function(e){return t.setCloseLogOnClick(!!e),this},logPosition:function(e){return t.setLogPosition(e||""),this},setLogTemplate:function(e){return t.logTemplateMethod=e,this},clearLogs:function(){return t.setupLogContainer().innerHTML="",this},version:t.version}}var e=500,o=function(t){if(t){var o=function(){t&&t.parentNode&&t.parentNode.removeChild(t)};t.classList.remove("show"),t.classList.add("hide"),t.addEventListener("transitionend",o),setTimeout(o,e)}};if("undefined"!=typeof module&&module&&module.exports){module.exports=function(){return new t};var n=new t;for(var i in n)module.exports[i]=n[i]}else"function"==typeof define&&define.amd?define(function(){return new t}):window.alertify=new t}(); \ No newline at end of file diff --git a/public/assets/js/fetch.js b/public/assets/bower/fetch.js similarity index 97% rename from public/assets/js/fetch.js rename to public/assets/bower/fetch.js index fac11e42..01aa5d06 100644 --- a/public/assets/js/fetch.js +++ b/public/assets/bower/fetch.js @@ -110,7 +110,7 @@ var support = { blob: 'FileReader' in self && 'Blob' in self && (function() { try { - new Blob(); + new Blob() return true } catch(e) { return false @@ -267,7 +267,7 @@ function headers(xhr) { var head = new Headers() - var pairs = xhr.getAllResponseHeaders().trim().split('\n') + var pairs = (xhr.getAllResponseHeaders() || '').trim().split('\n') pairs.forEach(function(header) { var split = header.trim().split(':') var key = split.shift().trim() @@ -320,9 +320,9 @@ return new Response(null, {status: status, headers: {location: url}}) } - self.Headers = Headers; - self.Request = Request; - self.Response = Response; + self.Headers = Headers + self.Request = Request + self.Response = Response self.fetch = function(input, init) { return new Promise(function(resolve, reject) { @@ -345,7 +345,7 @@ return xhr.getResponseHeader('X-Request-URL') } - return; + return } xhr.onload = function() { @@ -360,7 +360,7 @@ headers: headers(xhr), url: responseURL() } - var body = 'response' in xhr ? xhr.response : xhr.responseText; + var body = 'response' in xhr ? xhr.response : xhr.responseText resolve(new Response(body, options)) } @@ -368,6 +368,10 @@ reject(new TypeError('Network request failed')) } + xhr.ontimeout = function() { + reject(new TypeError('Network request failed')) + } + xhr.open(request.method, request.url, true) if (request.credentials === 'include') { diff --git a/public/assets/js/marked.min.js b/public/assets/bower/marked.min.js similarity index 100% rename from public/assets/js/marked.min.js rename to public/assets/bower/marked.min.js diff --git a/public/assets/bower/sanitize.css b/public/assets/bower/sanitize.css new file mode 100644 index 00000000..e9e84f1c --- /dev/null +++ b/public/assets/bower/sanitize.css @@ -0,0 +1,352 @@ +/*! sanitize.css v3.3.0 | CC0 1.0 Public Domain | github.com/10up/sanitize.css */ + +/* Latest tested: Android 6, Chrome 48, Edge 13, Firefox 44, Internet Explorer 11, iOS 9, Opera 35, Safari 9, Windows Phone 8.1 */ + +/* + * Normalization + */ + +abbr[title] { + text-decoration: underline; /* Chrome 48+, Edge 12+, Internet Explorer 11-, Safari 9+ */ + text-decoration: underline dotted; /* Firefox 40+ */ +} + +audio:not([controls]) { + display: none; /* Chrome 44-, iOS 8+, Safari 9+ */ +} + +b, +strong { + font-weight: bolder; /* Edge 12+, Safari 6.2+, and Chrome 18+ */ +} + +button { + -webkit-appearance: button; /* iOS 8+ */ + overflow: visible; /* Internet Explorer 11- */ +} + +button, +input { +} + +button::-moz-focus-inner, input::-moz-focus-inner { + border: 0;/* Firefox 4+ */ + padding: 0;/* Firefox 4+ */ +} + +button:-moz-focusring, input:-moz-focusring { + outline: 1px dotted ButtonText;/* Firefox 4+ */ +} + +button, +select { + text-transform: none; /* Firefox 40+, Internet Explorer 11- */ +} + +details { + display: block; /* Edge 12+, Firefox 40+, Internet Explorer 11-, Windows Phone 8.1+ */ +} + +html { + -ms-overflow-style: -ms-autohiding-scrollbar; /* Edge 12+, Internet Explorer 11- */ + overflow-y: scroll; /* All browsers without overlaying scrollbars */ + -webkit-text-size-adjust: 100%; /* iOS 8+, Windows Phone 8.1+ */ +} + +hr { + overflow: visible; /* Internet Explorer 11-, Edge 12+ */ +} + +input { + -webkit-border-radius: 0 /* iOS 8+ */ +} + +input[type="button"], + input[type="reset"], + input[type="submit"] { + -webkit-appearance: button;/* iOS 8+ */ +} + +input[type="number"] { + width: auto;/* Firefox 36+ */ +} + +input[type="search"] { + -webkit-appearance: textfield;/* Chrome 45+, Safari 9+ */ +} + +input[type="search"]::-webkit-search-cancel-button, + input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none;/* Chrome 45+, Safari 9+ */ +} + +main { + display: block; /* Android 4.3-, Internet Explorer 11-, Windows Phone 8.1+ */ +} + +pre { + overflow: auto; /* Internet Explorer 11- */ +} + +progress { + display: inline-block; /* Internet Explorer 11-, Windows Phone 8.1+ */ +} + +summary { + display: block; /* Firefox 40+, Internet Explorer 11-, Windows Phone 8.1+ */ +} + +svg:not(:root) { + overflow: hidden; /* Internet Explorer 11- */ +} + +template { + display: none; /* Android 4.3-, Internet Explorer 11-, iOS 7-, Safari 7-, Windows Phone 8.1+ */ +} + +textarea { + overflow: auto; /* Edge 12+, Internet Explorer 11- */ +} + +[hidden] { + display: none; /* Internet Explorer 10- */ +} + +/* + * Universal inheritance + */ + +*, +:before, +:after { + box-sizing: inherit; +} + +* { + font-size: inherit; + line-height: inherit; +} + +:before, +:after { + text-decoration: inherit; + vertical-align: inherit; +} + +button, +input, +select, +textarea { + font-family: inherit; + font-style: inherit; + font-weight: inherit; +} + + + +/* + * Opinionated defaults + */ + +/* specify the margin and padding of all elements */ + +* { + margin: 0; + padding: 0; +} + +/* specify the border style and width of all elements */ + +*, +:before, +:after { + border-style: solid; + border-width: 0; +} + +/* remove the tapping delay from clickable elements */ + +a, +area, +button, +input, +label, +select, +textarea, +[tabindex] { + -ms-touch-action: manipulation; + touch-action: manipulation; +} + +/* specify the standard appearance of selects */ + +select { + -moz-appearance: none; /* Firefox 40+ */ + -webkit-appearance: none /* Chrome 45+ */ +} + +select::-ms-expand { + display: none;/* Edge 12+, Internet Explorer 11- */ +} + +select::-ms-value { + color: currentColor;/* Edge 12+, Internet Explorer 11- */ +} + +/* use current current as the default fill of svg elements */ + +svg { + fill: currentColor; +} + +/* specify the progress cursor of updating elements */ + +[aria-busy="true"] { + cursor: progress; +} + +/* specify the pointer cursor of trigger elements */ + +[aria-controls] { + cursor: pointer; +} + +/* specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */ + +[aria-disabled] { + cursor: default; +} + +/* specify the style of visually hidden yet accessible elements */ + +[hidden][aria-hidden="false"] { + clip: rect(0 0 0 0); + display: inherit; + position: absolute +} + +[hidden][aria-hidden="false"]:focus { + clip: auto; +} + + + +/* + * Configurable defaults + */ + +/* specify the background repeat of all elements */ + +* { + background-repeat: no-repeat; +} + +/* specify the root styles of the document */ + +:root { + background-color: #ffffff; + box-sizing: border-box; + color: #000000; + cursor: default; + font: 100%/1.5 sans-serif; +} + +/* specify the text decoration of anchors */ + +a { + text-decoration: none; +} + +/* specify the alignment of media elements */ + +audio, +canvas, +iframe, +img, +svg, +video { + vertical-align: middle; +} + +/* specify the coloring of form elements */ + +button, +input, +select, +textarea { + background-color: transparent; + color: inherit; +} + +/* specify the minimum height of form elements */ + +button, +[type="button"], +[type="date"], +[type="datetime"], +[type="datetime-local"], +[type="email"], +[type="month"], +[type="number"], +[type="password"], +[type="reset"], +[type="search"], +[type="submit"], +[type="tel"], +[type="text"], +[type="time"], +[type="url"], +[type="week"], +select, +textarea { + min-height: 1.5em; +} + +/* specify the font family of code elements */ + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; +} + +/* specify the list style of nav lists */ + +nav ol, +nav ul { + list-style: none; +} + +/* specify the font size of small elements */ + +small { + font-size: 75%; +} + +/* specify the border styling of tables */ + +table { + border-collapse: collapse; + border-spacing: 0; +} + +/* specify the resizability of textareas */ + +textarea { + resize: vertical; +} + +/* specify the background color, font color, and drop shadow of text selections */ + +::-moz-selection { + background-color: #b3d4fc; /* required when declaring ::selection */ + color: #ffffff; + text-shadow: none; +} + +::selection { + background-color: #b3d4fc; /* required when declaring ::selection */ + color: #ffffff; + text-shadow: none; +} diff --git a/public/assets/js/store2.min.js b/public/assets/bower/store2.min.js similarity index 100% rename from public/assets/js/store2.min.js rename to public/assets/bower/store2.min.js diff --git a/public/assets/css/alertify.css b/public/assets/css/alertify.css deleted file mode 100644 index ced38bdd..00000000 --- a/public/assets/css/alertify.css +++ /dev/null @@ -1 +0,0 @@ -.alertify-logs>*{padding:12px 24px;color:#fff;box-shadow:0 2px 5px 0 rgba(0,0,0,.2);border-radius:1px}.alertify-logs>*,.alertify-logs>.default{background:rgba(0,0,0,.8)}.alertify-logs>.error{background:rgba(244,67,54,.8)}.alertify-logs>.success{background:rgba(76,175,80,.9)}.alertify{position:fixed;background-color:rgba(0,0,0,.3);left:0;right:0;top:0;bottom:0;width:100%;height:100%;z-index:2}.alertify.hide{opacity:0;pointer-events:none}.alertify,.alertify.show{box-sizing:border-box;transition:all .33s cubic-bezier(.25,.8,.25,1)}.alertify,.alertify *{box-sizing:border-box}.alertify .dialog{padding:12px}.alertify .alert,.alertify .dialog{width:100%;margin:0 auto;position:relative;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.alertify .alert>*,.alertify .dialog>*{width:400px;max-width:95%;margin:0 auto;text-align:center;padding:12px;background:#fff;box-shadow:0 2px 4px -1px rgba(0,0,0,.14),0 4px 5px 0 rgba(0,0,0,.098),0 1px 10px 0 rgba(0,0,0,.084)}.alertify .alert .msg,.alertify .dialog .msg{padding:12px;margin-bottom:12px;margin:0;text-align:left}.alertify .alert input:not(.form-control),.alertify .dialog input:not(.form-control){margin-bottom:15px;width:100%;font-size:100%;padding:12px}.alertify .alert input:not(.form-control):focus,.alertify .dialog input:not(.form-control):focus{outline-offset:-2px}.alertify .alert nav,.alertify .dialog nav{text-align:right}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button),.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button){background:transparent;box-sizing:border-box;color:rgba(0,0,0,.87);position:relative;outline:0;border:0;display:inline-block;-webkit-align-items:center;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center;padding:0 6px;margin:6px 8px;line-height:36px;min-height:36px;white-space:nowrap;min-width:88px;text-align:center;text-transform:uppercase;font-size:14px;text-decoration:none;cursor:pointer;border:1px solid transparent;border-radius:2px}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):active,.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):hover,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):active,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):hover{background-color:rgba(0,0,0,.05)}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):focus,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):focus{border:1px solid rgba(0,0,0,.1)}.alertify .alert nav button.btn,.alertify .dialog nav button.btn{margin:6px 4px}.alertify-logs{position:fixed;z-index:1}.alertify-logs.bottom,.alertify-logs:not(.top){bottom:16px}.alertify-logs.left,.alertify-logs:not(.right){left:16px}.alertify-logs.left>*,.alertify-logs:not(.right)>*{float:left;-webkit-transform:translateZ(0);transform:translateZ(0);height:auto}.alertify-logs.left>.show,.alertify-logs:not(.right)>.show{left:0}.alertify-logs.left>*,.alertify-logs.left>.hide,.alertify-logs:not(.right)>*,.alertify-logs:not(.right)>.hide{left:-110%}.alertify-logs.right{right:16px}.alertify-logs.right>*{float:right;-webkit-transform:translateZ(0);transform:translateZ(0)}.alertify-logs.right>.show{right:0;opacity:1}.alertify-logs.right>*,.alertify-logs.right>.hide{right:-110%;opacity:0}.alertify-logs.top{top:0}.alertify-logs>*{box-sizing:border-box;transition:all .4s cubic-bezier(.25,.8,.25,1);position:relative;clear:both;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;perspective:1000;max-height:0;margin:0;padding:0;overflow:hidden;opacity:0;pointer-events:none}.alertify-logs>.show{margin-top:12px;opacity:1;max-height:1000px;padding:12px;pointer-events:auto} \ No newline at end of file diff --git a/public/assets/css/global.css b/public/assets/css/global.css index 1750d873..6f98d208 100644 --- a/public/assets/css/global.css +++ b/public/assets/css/global.css @@ -7,15 +7,14 @@ html { html { box-sizing: border-box; } -*, *:before, *:after { +*, +*::before, +*::after { box-sizing: inherit; } #topheader { - display: -webkit-flex; - display: -ms-flexbox; + display: -webkit-box; display: flex; - -webkit-flex-flow: row; - -ms-flex-flow: row; flex-flow: row; } #topheader a { @@ -30,10 +29,10 @@ nav { .note { background-color: #eee8d5; box-shadow: 0 0 10px 2px #93a1a1; - padding: 0.5em 0.5em; + padding: 0.5em; margin-top: 1em; } -.note:after { +.note::after { content: " "; display: block; height: 0; @@ -63,7 +62,7 @@ nav { margin-left: 2em; margin-right: 2em; font-size: 0.8em; - padding: 0.5em 0.5em; } + padding: 0.5em; } .reply-to { margin-left: 2em; @@ -83,7 +82,6 @@ nav { white-space: nowrap; } .mini-h-card img { - height: 1.26em; display: inline; border-radius: 2px; vertical-align: text-bottom; } @@ -205,10 +203,14 @@ fieldset { min-width: 0; width: 100%; } -input[type="text"], input[type="file"], textarea { +input[type="text"], +input[type="file"], +textarea { width: 100%; } -input, button, textarea { +input, +button, +textarea { -webkit-appearance: none; -moz-appearance: none; background-color: #002b36; @@ -217,6 +219,7 @@ input, button, textarea { border-radius: 4px; } button:hover { + -webkit-transition: 0.5s ease-in-out; transition: 0.5s ease-in-out; background-color: #fdf6e3; color: #002b36; } diff --git a/public/assets/css/global.css.map b/public/assets/css/global.css.map index fa39372b..08f882eb 100644 --- a/public/assets/css/global.css.map +++ b/public/assets/css/global.css.map @@ -1 +1 @@ -{"version":3,"sources":["global.scss","layout.scss","components/fonts.scss","components/colours.scss","components/forms.scss","components/twitter.scss"],"names":[],"mappings":"AAyBA;EACC,+CAAe,EACf;;AAED;EACC,cAAc,EACd;;AC5BD;EACC,uBAAuB,EACvB;;AAED;EACC,oBAAoB,EACpB;;AAED;EACC,sBAAc;EAAd,qBAAc;EAAd,cAAc;EACd,uBAAe;EAAf,mBAAe;EAAf,eAAe,EACf;;AAED;EACC,mBAAmB,EACnB;;AAED;EACC,mBAAmB,EACnB;;AAED;EACC,kBAAkB,EAClB;;AAED;EACC,0BDhBkB;ECiBlB,iCDlBkB;ECmBlB,qBAAqB;EACrB,gBAAgB,EAChB;;AAED;EACC,aAAa;EACb,eAAe;EACf,UAAU;EACV,YAAY,EACZ;;AAED;EACC,sBAAsB,EACtB;;AAED;EACC,cAAc,EACd;;AAED;EACC,YAAY,EACZ;;AAED;EACC,aAAa,EACb;;AAED;EACC,sBAAsB,EACtB;;AAED;EACC,YAAY;EACZ,YAAY;EACZ,cD7CkB,EC8ClB;;AAED;EACC,iBAAiB;EACjB,kBAAkB;EAClB,iBAAiB;EACjB,qBAAqB,EACrB;;AAED;EACC,iBAAiB;EACjB,kBAAkB;EAClB,iBAAiB;EACjB,iBAAiB,EACjB;;AAED;EACC,kBAAkB,EAClB;;AAED;EACC,mBAAmB;EACnB,0BD/EkB;ECgFlB,iBAAiB;EACjB,sBAAsB;EACtB,kBAAkB;EAClB,oBAAoB,EACpB;;AAED;EACC,eAAe;EACf,gBAAgB;EAChB,mBAAmB;EACnB,4BAA4B,EAC5B;;AAED;EACC,eAAe,EACf;;AAED;EACC,kBAAkB;EAClB,oBAAoB,EACpB;;AAED;EACC,eAAe,EACf;;AAED;EACC,YAAY;EACZ,aAAa;EACb,8BAA8B,EAC9B;;AAID;EACC,kBAAkB;EAClB,qBAAqB,EACrB;;AAED;EACC,iBAAiB;EACjB,mBAAmB;EACnB,mBAAmB,EACnB;;AAGD;EACC,mBAAmB,EACnB;;AAED;EACC,sBAAsB,EACtB;;AAED;EACC,aAAa;EACb,WAAW;EACX,mBAAmB;EACnB,OAAO;EACP,QAAQ,EACR;;AAED;EACC,iBAAiB,EACjB;;AAED;EACC,cAAc,EACd;;AAED,mBAAmB;AACnB;EACC;IACC,kBAAkB;IAClB,mBAAmB,EACnB;EAED;IACC,kBAAkB;IAClB,mBAAmB,EACnB;EAED;IACC,aAAa;IACb,cAAc,EACd,EAAA;;AAGF;EACC;IACC,kBAAkB;IAClB,mBAAmB,EACnB;EAED;IACC,sBAAsB,EACtB;EAED;IACC,kBAAkB;IAClB,mBAAmB,EACnB;EAED;IACC,YAAY;IACZ,aAAa,EACb,EAAA;;ACjMF;EACC,mCAAmC;EACnC,sCAA8B;EAA9B,8BAA8B;EAC9B,mCFFsC;EEGtC,iBAAiB,EACjB;;AAED;EACC,mCFPsC,EEQtC;;AAED;EACC,mCFVyC,EEWzC;;AAED;EACC,sBAAsB,EACtB;;AAED;EACC,sCAA8B;EAA9B,8BAA8B,EAC9B;;AAED;EACC,sBAAsB,EACtB;;AAED;EACC,sBAAsB,EACtB;;AAED;EACC,iBAAiB,EACjB;;AAED;EACC,YAAY;EACZ,YAAY,EACZ;;ACvCD;EACC,eHKkB,EGJlB;;AAED;EACC,eHCkB,EGAlB;;AAED;EACC,eHUkB,EGTlB;;ACTD;EACC,YAAY,EACZ;;AAED;EACC,aAAa;EACb,YAAY,EACZ;;AAED;EACC,YAAY,EACZ;;AAED;EACC,yBAAyB;EACzB,sBAAsB;EACtB,0BJXkB;EIYlB,eJLkB;EIMlB,0BJNkB;EIOlB,mBAAmB,EACnB;;AAED;EACC,6BAA6B;EAC7B,0BJZkB;EIalB,eJpBkB,EIqBlB;;AAED;EACC,0BJnBkB;EIoBlB,eJzBkB,EI0BlB;;AAED;EACC,6BAA6B;EAC7B,0BAA0B,EAC1B;;AAED;EACC,oBAAoB;EACpB,eAAe;EACf,aAAa,EACb;;AC1CD;EACE,4BAA4B,EAC7B;;AAED;EACE,cAAc,EACf","file":"global.css","sourcesContent":["//global.scss\n\n//variables\n$font-stack-body: \"leitura-news\", serif;\n$font-stack-headers: \"prenton\", sans-serif;\n\n//solarized variables TERMCOL\n$base03: #002b36;//brblack\n$base02: #073642;//black\n$base01: #586e75;//brgreen\n$base00: #657b83;//bryellow\n$base0: #839496;//brblue\n$base1: #93a1a1;//brcyan\n$base2: #eee8d5;//white\n$base3: #fdf6e3;//brwhite\n$yellow: #b58900;\n$orange: #cb4b16;\n$red: #dc322f;\n$magenta: #d33682;\n$violet: #6c71c4;\n$blue: #268bd2;\n$cyan: #2aa198;\n$green: #859900;\n\n//global styles\nhtml {\n\tbackground: url('/assets/img/escheresque.png');\n}\n\n.map {\n\theight: 150px;\n}\n\n//layout\n@import \"layout\";\n\n//components\n@import \"components/fonts\";\n@import \"components/colours\";\n@import \"components/forms\";\n@import \"components/twitter\";\n","//layout.scss\n\n//boxes\nhtml {\n\tbox-sizing: border-box;\n}\n\n*, *:before, *:after {\n\tbox-sizing: inherit;\n}\n\n#topheader {\n\tdisplay: flex;\n\tflex-flow: row;\n}\n\n#topheader a {\n\tpadding: 0.5em 1em;\n}\n\nnav {\n\tpadding-top: 0.5em;\n}\n\n.social-list {\n\tpadding-left: 2em;\n}\n\n.note {\n\tbackground-color: $base2;\n\tbox-shadow: 0 0 10px 2px $base1;\n\tpadding: 0.5em 0.5em;\n\tmargin-top: 1em;\n}\n\n.note:after {\n\tcontent: \" \";\n\tdisplay: block;\n\theight: 0;\n\tclear: both;\n}\n\n.note a {\n\tword-wrap: break-word;\n}\n\n.note .e-content p:first-child {\n\tmargin-top: 0;\n}\n\n.note-metadata {\n\twidth: 100%;\n}\n\n.social-links {\n\tfloat: right;\n}\n\n.social-links a {\n\ttext-decoration: none;\n}\n\n.icon {\n\twidth: auto;\n\theight: 1em;\n\tfill: $blue;\n}\n\n.reply {\n\tmargin-left: 2em;\n\tmargin-right: 2em;\n\tfont-size: 0.8em;\n\tpadding: 0.5em 0.5em;\n}\n\n.reply-to {\n\tmargin-left: 2em;\n\tmargin-right: 2em;\n\tfont-size: 0.8em;\n\tpadding-top: 2em;\n}\n\n.reply-to + .note {\n\tmargin-top: 0.3em;\n}\n\n.mini-h-card {\n\tborder-radius: 2px;\n\tborder: 1px solid $base01;\n\tpadding: 0 0.2em;\n\ttext-decoration: none;\n\tmargin-right: 5px;\n\twhite-space: nowrap;\n}\n\n.mini-h-card img {\n\theight: 1.26em;\n\tdisplay: inline;\n\tborder-radius: 2px;\n\tvertical-align: text-bottom;\n}\n\n.like-photo {\n\theight: 1.26em;\n}\n\n.reply .e-content {\n\tmargin-top: 0.5em;\n\tpadding-left: 0.5em;\n}\n\n.notes-subtitle {\n\tfont-size: 1em;\n}\n\n.note-photo {\n\twidth: 100%;\n\theight: auto;\n\timage-orientation: from-image;\n}\n\n//articles\n\narticle header {\n\tmargin-top: 0.5em;\n\tmargin-bottom: 0.8em;\n}\n\n.post-info {\n\tfont-size: 0.8em;\n\tfont-style: italic;\n\tmargin-top: -0.8em;\n}\n\n//contacts\n.contact {\n\tposition: relative;\n}\n\n.contact-links {\n\tlist-style-type: none;\n}\n\n.contact img {\n\theight: auto;\n\twidth: 2em;\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n}\n\n.contact-info {\n\tmargin-left: 2em;\n}\n\n#map {\n\theight: 300px;\n}\n\n/* media queries */\n@media (min-width: 700px) {\n\tmain {\n\t\tmargin-left: 10em;\n\t\tmargin-right: 10em;\n\t}\n\n\tfooter {\n\t\tmargin-left: 13em;\n\t\tmargin-right: 13em;\n\t}\n\n\t.youtube {\n\t\twidth: 640px;\n\t\theight: 360px;\n\t}\n}\n\n@media (max-width: 699px) {\n\tmain {\n\t\tmargin-left: 10px;\n\t\tmargin-right: 10px;\n\t}\n\n\tarticle {\n\t\tword-wrap: break-word;\n\t}\n\n\tfooter {\n\t\tmargin-left: 15px;\n\t\tmargin-right: 15px;\n\t}\n\n\t.youtube {\n\t\twidth: 100%;\n\t\theight: auto;\n\t}\n}\n","//fonts.scss\n\nbody {\n\ttext-rendering: optimizeLegibility;\n\tfont-feature-settings: \"liga\";\n\tfont-family: $font-stack-body;\n\tfont-size: 1.2em;\n}\n\n#topheader h1 {\n\tfont-family: $font-stack-body;\n}\n\nh1 {\n\tfont-family: $font-stack-headers;\n}\n\n#topheader a {\n\ttext-decoration: none;\n}\n\nnav {\n\tfont-feature-settings: \"dlig\";\n}\n\narticle header h1 a {\n\ttext-decoration: none;\n}\n\narticle div a {\n\ttext-decoration: none;\n}\n\nfooter {\n\tfont-size: 0.8em;\n}\n\n.emoji {\n\twidth: auto;\n\theight: 1em;\n}\n","//colours.scss\nbody {\n\tcolor: $base03;\n}\n\nheader a {\n\tcolor: $base03;\n}\n\na {\n\tcolor: $blue;\n}","//forms.scss\n\nform {\n\twidth: 100%;\n}\n\nfieldset {\n\tmin-width: 0;\n\twidth: 100%;\n}\n\ninput[type=\"text\"], input[type=\"file\"], textarea {\n\twidth: 100%;\n}\n\ninput, button, textarea {\n\t-webkit-appearance: none;\n\t-moz-appearance: none;\n\tbackground-color: $base03;\n\tcolor: $base3;\n\tborder: 1px solid $base3;\n\tborder-radius: 4px;\n}\n\nbutton:hover {\n\ttransition: 0.5s ease-in-out;\n\tbackground-color: $base3;\n\tcolor: $base03;\n}\n\nbutton:disabled {\n\tbackground-color: $base1;\n\tcolor: $base03;\n}\n\ninput[type=\"checkbox\"] {\n\t-webkit-appearance: checkbox;\n\t-moz-appearance: checkbox;\n}\n\n#photo {\n\tbackground: inherit;\n\tcolor: inherit;\n\tborder: none;\n}\n","//twitter.scss\n\n.twitter-tweet-rendered {\n margin-bottom: 0 !important;\n}\n\n.twitter-tweet-rendered + .note {\n margin-top: 0;\n}\n"],"sourceRoot":"/source/"} \ No newline at end of file +{"version":3,"sources":["global.scss","layout.scss","components/fonts.scss","components/colours.scss","components/forms.scss","components/twitter.scss"],"names":[],"mappings":"AAyBA;EACI,+CAAe,EAClB;;AAED;EACI,cAAc,EACjB;;AC5BD;EACI,uBAAuB,EAC1B;;AAED;;;EAGI,oBAAoB,EACvB;;AAED;EACI,qBAAc;EAAd,cAAc;EACd,eAAe,EAClB;;AAED;EACI,mBAAmB,EACtB;;AAED;EACI,mBAAmB,EACtB;;AAED;EACI,kBAAkB,EACrB;;AAED;EACI,0BDlBe;ECmBf,iCDpBe;ECqBf,eAAe;EACf,gBAAgB,EACnB;;AAED;EACI,aAAa;EACb,eAAe;EACf,UAAU;EACV,YAAY,EACf;;AAED;EACI,sBAAsB,EACzB;;AAED;EACI,cAAc,EACjB;;AAED;EACI,YAAY,EACf;;AAED;EACI,aAAa,EAChB;;AAED;EACI,sBAAsB,EACzB;;AAED;EACI,YAAY;EACZ,YAAY;EACZ,cD/Ce,ECgDlB;;AAED;EACI,iBAAiB;EACjB,kBAAkB;EAClB,iBAAiB;EACjB,eAAe,EAClB;;AAED;EACI,iBAAiB;EACjB,kBAAkB;EAClB,iBAAiB;EACjB,iBAAiB,EACpB;;AAED;EACI,kBAAkB,EACrB;;AAED;EACI,mBAAmB;EACnB,0BDjFe;ECkFf,iBAAiB;EACjB,sBAAsB;EACtB,kBAAkB;EAClB,oBAAoB,EACvB;;AAED;EACI,gBAAgB;EAChB,mBAAmB;EACnB,4BAA4B,EAC/B;;AAED;EACI,eAAe,EAClB;;AAED;EACI,kBAAkB;EAClB,oBAAoB,EACvB;;AAED;EACI,eAAe,EAClB;;AAED;EACI,YAAY;EACZ,aAAa;EACb,8BAA8B,EACjC;;AAID;EACI,kBAAkB;EAClB,qBAAqB,EACxB;;AAED;EACI,iBAAiB;EACjB,mBAAmB;EACnB,mBAAmB,EACtB;;AAGD;EACI,mBAAmB,EACtB;;AAED;EACI,sBAAsB,EACzB;;AAED;EACI,aAAa;EACb,WAAW;EACX,mBAAmB;EACnB,OAAO;EACP,QAAQ,EACX;;AAED;EACI,iBAAiB,EACpB;;AAED;EACI,cAAc,EACjB;;AAED,mBAAmB;AACnB;EACI;IACI,kBAAkB;IAClB,mBAAmB,EACtB;EAED;IACI,kBAAkB;IAClB,mBAAmB,EACtB;EAED;IACI,aAAa;IACb,cAAc,EACjB,EAAA;;AAGL;EACI;IACI,kBAAkB;IAClB,mBAAmB,EACtB;EAED;IACI,sBAAsB,EACzB;EAED;IACI,kBAAkB;IAClB,mBAAmB,EACtB;EAED;IACI,YAAY;IACZ,aAAa,EAChB,EAAA;;AClML;EACI,mCAAmC;EACnC,sCAA8B;EAA9B,8BAA8B;EAC9B,mCFFmC;EEGnC,iBAAiB,EACpB;;AAED;EACI,mCFPmC,EEQtC;;AAED;EACI,mCFVsC,EEWzC;;AAED;EACI,sBAAsB,EACzB;;AAED;EACI,sCAA8B;EAA9B,8BAA8B,EACjC;;AAED;EACI,sBAAsB,EACzB;;AAED;EACI,sBAAsB,EACzB;;AAED;EACI,iBAAiB,EACpB;;AAED;EACI,YAAY;EACZ,YAAY,EACf;;ACvCD;EACI,eHKe,EGJlB;;AAED;EACI,eHCe,EGAlB;;AAED;EACI,eHUe,EGTlB;;ACTD;EACI,YAAY,EACf;;AAED;EACI,aAAa;EACb,YAAY,EACf;;AAED;;;EAGI,YAAY,EACf;;AAED;;;EAGI,yBAAyB;EACzB,sBAAsB;EACtB,0BJfe;EIgBf,eJTe;EIUf,0BJVe;EIWf,mBAAmB,EACtB;;AAED;EACI,qCAA6B;EAA7B,6BAA6B;EAC7B,0BJhBe;EIiBf,eJxBe,EIyBlB;;AAED;EACI,0BJvBe;EIwBf,eJ7Be,EI8BlB;;AAED;EACI,6BAA6B;EAC7B,0BAA0B,EAC7B;;AAED;EACI,oBAAoB;EACpB,eAAe;EACf,aAAa,EAChB;;AC9CD;EACI,4BAA4B,EAC/B;;AAED;EACI,cAAc,EACjB","file":"global.css","sourcesContent":["//global.scss\n\n//variables\n$font-stack-body: \"leitura-news\", serif;\n$font-stack-headers: \"prenton\", sans-serif;\n\n//solarized variables TERMCOL\n$base03: #002b36;//brblack\n$base02: #073642;//black\n$base01: #586e75;//brgreen\n$base00: #657b83;//bryellow\n$base0: #839496;//brblue\n$base1: #93a1a1;//brcyan\n$base2: #eee8d5;//white\n$base3: #fdf6e3;//brwhite\n$yellow: #b58900;\n$orange: #cb4b16;\n$red: #dc322f;\n$magenta: #d33682;\n$violet: #6c71c4;\n$blue: #268bd2;\n$cyan: #2aa198;\n$green: #859900;\n\n//global styles\nhtml {\n background: url('/assets/img/escheresque.png');\n}\n\n.map {\n height: 150px;\n}\n\n//layout\n@import \"layout\";\n\n//components\n@import \"components/fonts\";\n@import \"components/colours\";\n@import \"components/forms\";\n@import \"components/twitter\";\n","//layout.scss\n\n//boxes\nhtml {\n box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n#topheader {\n display: flex;\n flex-flow: row;\n}\n\n#topheader a {\n padding: 0.5em 1em;\n}\n\nnav {\n padding-top: 0.5em;\n}\n\n.social-list {\n padding-left: 2em;\n}\n\n.note {\n background-color: $base2;\n box-shadow: 0 0 10px 2px $base1;\n padding: 0.5em;\n margin-top: 1em;\n}\n\n.note::after {\n content: \" \";\n display: block;\n height: 0;\n clear: both;\n}\n\n.note a {\n word-wrap: break-word;\n}\n\n.note .e-content p:first-child {\n margin-top: 0;\n}\n\n.note-metadata {\n width: 100%;\n}\n\n.social-links {\n float: right;\n}\n\n.social-links a {\n text-decoration: none;\n}\n\n.icon {\n width: auto;\n height: 1em;\n fill: $blue;\n}\n\n.reply {\n margin-left: 2em;\n margin-right: 2em;\n font-size: 0.8em;\n padding: 0.5em;\n}\n\n.reply-to {\n margin-left: 2em;\n margin-right: 2em;\n font-size: 0.8em;\n padding-top: 2em;\n}\n\n.reply-to + .note {\n margin-top: 0.3em;\n}\n\n.mini-h-card {\n border-radius: 2px;\n border: 1px solid $base01;\n padding: 0 0.2em;\n text-decoration: none;\n margin-right: 5px;\n white-space: nowrap;\n}\n\n.mini-h-card img {\n display: inline;\n border-radius: 2px;\n vertical-align: text-bottom;\n}\n\n.like-photo {\n height: 1.26em;\n}\n\n.reply .e-content {\n margin-top: 0.5em;\n padding-left: 0.5em;\n}\n\n.notes-subtitle {\n font-size: 1em;\n}\n\n.note-photo {\n width: 100%;\n height: auto;\n image-orientation: from-image;\n}\n\n//articles\n\narticle header {\n margin-top: 0.5em;\n margin-bottom: 0.8em;\n}\n\n.post-info {\n font-size: 0.8em;\n font-style: italic;\n margin-top: -0.8em;\n}\n\n//contacts\n.contact {\n position: relative;\n}\n\n.contact-links {\n list-style-type: none;\n}\n\n.contact img {\n height: auto;\n width: 2em;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.contact-info {\n margin-left: 2em;\n}\n\n#map {\n height: 300px;\n}\n\n/* media queries */\n@media (min-width: 700px) {\n main {\n margin-left: 10em;\n margin-right: 10em;\n }\n\n footer {\n margin-left: 13em;\n margin-right: 13em;\n }\n\n .youtube {\n width: 640px;\n height: 360px;\n }\n}\n\n@media (max-width: 699px) {\n main {\n margin-left: 10px;\n margin-right: 10px;\n }\n\n article {\n word-wrap: break-word;\n }\n\n footer {\n margin-left: 15px;\n margin-right: 15px;\n }\n\n .youtube {\n width: 100%;\n height: auto;\n }\n}\n","//fonts.scss\n\nbody {\n text-rendering: optimizeLegibility;\n font-feature-settings: \"liga\";\n font-family: $font-stack-body;\n font-size: 1.2em;\n}\n\n#topheader h1 {\n font-family: $font-stack-body;\n}\n\nh1 {\n font-family: $font-stack-headers;\n}\n\n#topheader a {\n text-decoration: none;\n}\n\nnav {\n font-feature-settings: \"dlig\";\n}\n\narticle header h1 a {\n text-decoration: none;\n}\n\narticle div a {\n text-decoration: none;\n}\n\nfooter {\n font-size: 0.8em;\n}\n\n.emoji {\n width: auto;\n height: 1em;\n}\n","//colours.scss\nbody {\n color: $base03;\n}\n\nheader a {\n color: $base03;\n}\n\na {\n color: $blue;\n}\n","//forms.scss\n\nform {\n width: 100%;\n}\n\nfieldset {\n min-width: 0;\n width: 100%;\n}\n\ninput[type=\"text\"],\ninput[type=\"file\"],\ntextarea {\n width: 100%;\n}\n\ninput,\nbutton,\ntextarea {\n -webkit-appearance: none;\n -moz-appearance: none;\n background-color: $base03;\n color: $base3;\n border: 1px solid $base3;\n border-radius: 4px;\n}\n\nbutton:hover {\n transition: 0.5s ease-in-out;\n background-color: $base3;\n color: $base03;\n}\n\nbutton:disabled {\n background-color: $base1;\n color: $base03;\n}\n\ninput[type=\"checkbox\"] {\n -webkit-appearance: checkbox;\n -moz-appearance: checkbox;\n}\n\n#photo {\n background: inherit;\n color: inherit;\n border: none;\n}\n","//twitter.scss\n\n.twitter-tweet-rendered {\n margin-bottom: 0 !important;\n}\n\n.twitter-tweet-rendered + .note {\n margin-top: 0;\n}\n"],"sourceRoot":"/source/"} \ No newline at end of file diff --git a/public/assets/css/images/icons-000000@2x.png b/public/assets/css/images/icons-000000@2x.png deleted file mode 100644 index d65438c1..00000000 Binary files a/public/assets/css/images/icons-000000@2x.png and /dev/null differ diff --git a/public/assets/css/normalize.css b/public/assets/css/normalize.css deleted file mode 100644 index 5e5e3c89..00000000 --- a/public/assets/css/normalize.css +++ /dev/null @@ -1,424 +0,0 @@ -/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ - -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS and IE text size adjust after device orientation change, - * without disabling user zoom. - */ - -html { - font-family: sans-serif; /* 1 */ - -ms-text-size-adjust: 100%; /* 2 */ - -webkit-text-size-adjust: 100%; /* 2 */ -} - -/** - * Remove default margin. - */ - -body { - margin: 0; -} - -/* HTML5 display definitions - ========================================================================== */ - -/** - * Correct `block` display not defined for any HTML5 element in IE 8/9. - * Correct `block` display not defined for `details` or `summary` in IE 10/11 - * and Firefox. - * Correct `block` display not defined for `main` in IE 11. - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; -} - -/** - * 1. Correct `inline-block` display not defined in IE 8/9. - * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. - */ - -audio, -canvas, -progress, -video { - display: inline-block; /* 1 */ - vertical-align: baseline; /* 2 */ -} - -/** - * Prevent modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/** - * Address `[hidden]` styling not present in IE 8/9/10. - * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22. - */ - -[hidden], -template { - display: none; -} - -/* Links - ========================================================================== */ - -/** - * Remove the gray background color from active links in IE 10. - */ - -a { - background-color: transparent; -} - -/** - * Improve readability of focused elements when they are also in an - * active/hover state. - */ - -a:active, -a:hover { - outline: 0; -} - -/* Text-level semantics - ========================================================================== */ - -/** - * Address styling not present in IE 8/9/10/11, Safari, and Chrome. - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/** - * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. - */ - -b, -strong { - font-weight: bold; -} - -/** - * Address styling not present in Safari and Chrome. - */ - -dfn { - font-style: italic; -} - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari, and Chrome. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -/** - * Address styling not present in IE 8/9. - */ - -mark { - background: #ff0; - color: #000; -} - -/** - * Address inconsistent and variable font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -/* Embedded content - ========================================================================== */ - -/** - * Remove border when inside `a` element in IE 8/9/10. - */ - -img { - border: 0; -} - -/** - * Correct overflow not hidden in IE 9/10/11. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* Grouping content - ========================================================================== */ - -/** - * Address margin not present in IE 8/9 and Safari. - */ - -figure { - margin: 1em 40px; -} - -/** - * Address differences between Firefox and other browsers. - */ - -hr { - box-sizing: content-box; - height: 0; -} - -/** - * Contain overflow in all browsers. - */ - -pre { - overflow: auto; -} - -/** - * Address odd `em`-unit font size rendering in all browsers. - */ - -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - font-size: 1em; -} - -/* Forms - ========================================================================== */ - -/** - * Known limitation: by default, Chrome and Safari on OS X allow very limited - * styling of `select`, unless a `border` property is set. - */ - -/** - * 1. Correct color not being inherited. - * Known issue: affects color of disabled elements. - * 2. Correct font properties not being inherited. - * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. - */ - -button, -input, -optgroup, -select, -textarea { - color: inherit; /* 1 */ - font: inherit; /* 2 */ - margin: 0; /* 3 */ -} - -/** - * Address `overflow` set to `hidden` in IE 8/9/10/11. - */ - -button { - overflow: visible; -} - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. - * Correct `select` style inheritance in Firefox. - */ - -button, -select { - text-transform: none; -} - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - */ - -button, -html input[type="button"], /* 1 */ -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ -} - -/** - * Re-set default cursor for disabled elements. - */ - -button[disabled], -html input[disabled] { - cursor: default; -} - -/** - * Remove inner padding and border in Firefox 4+. - */ - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ - -input { - line-height: normal; -} - -/** - * It's recommended that you don't attempt to style these elements. - * Firefox's implementation doesn't respect box-sizing, padding, or width. - * - * 1. Address box sizing set to `content-box` in IE 8/9/10. - * 2. Remove excess padding in IE 8/9/10. - */ - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Fix the cursor style for Chrome's increment/decrement buttons. For certain - * `font-size` values of the `input`, it causes the cursor style of the - * decrement button to change from `default` to `text`. - */ - -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Address `appearance` set to `searchfield` in Safari and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari and Chrome. - */ - -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ - box-sizing: content-box; /* 2 */ -} - -/** - * Remove inner padding and search cancel button in Safari and Chrome on OS X. - * Safari (but not Chrome) clips the cancel button when the search input has - * padding (and `textfield` appearance). - */ - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * Define consistent border, margin, and padding. - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/** - * 1. Correct `color` not being inherited in IE 8/9/10/11. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - */ - -legend { - border: 0; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Remove default vertical scrollbar in IE 8/9/10/11. - */ - -textarea { - overflow: auto; -} - -/** - * Don't inherit the `font-weight` (applied by a rule above). - * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. - */ - -optgroup { - font-weight: bold; -} - -/* Tables - ========================================================================== */ - -/** - * Remove most spacing between table cells. - */ - -table { - border-collapse: collapse; - border-spacing: 0; -} - -td, -th { - padding: 0; -} diff --git a/public/assets/css/sanitize.min.css b/public/assets/css/sanitize.min.css deleted file mode 100644 index 9d0d9800..00000000 --- a/public/assets/css/sanitize.min.css +++ /dev/null @@ -1,2 +0,0 @@ -/*! sanitize.css v3.2.0 | CC0 1.0 Public Domain | github.com/10up/sanitize.css */audio:not([controls]){display:none}button{-webkit-appearance:button;overflow:visible}details{display:block}html{-ms-overflow-style:-ms-autohiding-scrollbar;overflow-y:scroll;-webkit-text-size-adjust:100%}input{-webkit-border-radius:0}input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button}input[type=number]{width:auto}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}main{display:block}pre{overflow:auto}progress{display:inline-block}small{font-size:75%}summary{display:block}svg:not(:root){overflow:hidden}template{display:none}textarea{overflow:auto}[hidden]{display:none}*,:after,:before{box-sizing:inherit}*{font-size:inherit;line-height:inherit}:after,:before{text-decoration:inherit;vertical-align:inherit}*,:after,:before{border-style:solid;border-width:0}*{background-repeat:no-repeat;margin:0;padding:0}:root{background-color:#fff;box-sizing:border-box;color:#000;cursor:default;font:100%/1.5 sans-serif}a{text-decoration:none}audio,canvas,iframe,img,svg,video{vertical-align:middle}button,input,select,textarea{background-color:transparent;color:inherit;font-family:inherit;font-style:inherit;font-weight:inherit}[type=button],[type=date],[type=datetime-local],[type=datetime],[type=email],[type=month],[type=number],[type=password],[type=reset],[type=search],[type=submit],[type=tel],[type=text],[type=time],[type=url],[type=week],button,select,textarea{min-height:1.5em}code,kbd,pre,samp{font-family:monospace}nav ol,nav ul{list-style:none}select{-moz-appearance:none;-webkit-appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}table{border-collapse:collapse;border-spacing:0}textarea{resize:vertical}::-moz-selection{background-color:#b3d4fc;color:#fff;text-shadow:none}::selection{background-color:#b3d4fc;color:#fff;text-shadow:none}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled]{cursor:default}[hidden][aria-hidden=false]{clip:rect(0 0 0 0);display:inherit;position:absolute}[hidden][aria-hidden=false]:focus{clip:auto}[tabindex],a,area,button,input,label,select,textarea{-ms-touch-action:manipulation;touch-action:manipulation} -/*# sourceMappingURL=sanitize.min.css.map */ \ No newline at end of file diff --git a/public/assets/js/Autolinker.min.js b/public/assets/js/Autolinker.min.js deleted file mode 100644 index e4f6366a..00000000 --- a/public/assets/js/Autolinker.min.js +++ /dev/null @@ -1,10 +0,0 @@ -/*! - * Autolinker.js - * 0.24.0 - * - * Copyright(c) 2016 Gregory Jacobs - * MIT - * - * https://github.com/gregjacobs/Autolinker.js - */ -!function(a,b){"function"==typeof define&&define.amd?define([],function(){return a.Autolinker=b()}):"object"==typeof exports?module.exports=b():a.Autolinker=b()}(this,function(){var a=function(a){a=a||{},this.urls=this.normalizeUrlsCfg(a.urls),this.email="boolean"==typeof a.email?a.email:!0,this.twitter="boolean"==typeof a.twitter?a.twitter:!0,this.phone="boolean"==typeof a.phone?a.phone:!0,this.hashtag=a.hashtag||!1,this.newWindow="boolean"==typeof a.newWindow?a.newWindow:!0,this.stripPrefix="boolean"==typeof a.stripPrefix?a.stripPrefix:!0;var b=this.hashtag;if(b!==!1&&"twitter"!==b&&"facebook"!==b&&"instagram"!==b)throw new Error("invalid `hashtag` cfg - see docs");this.truncate=this.normalizeTruncateCfg(a.truncate),this.className=a.className||"",this.replaceFn=a.replaceFn||null,this.htmlParser=null,this.matchers=null,this.tagBuilder=null};return a.prototype={constructor:a,normalizeUrlsCfg:function(a){return null==a&&(a=!0),"boolean"==typeof a?{schemeMatches:a,wwwMatches:a,tldMatches:a}:{schemeMatches:"boolean"==typeof a.schemeMatches?a.schemeMatches:!0,wwwMatches:"boolean"==typeof a.wwwMatches?a.wwwMatches:!0,tldMatches:"boolean"==typeof a.tldMatches?a.tldMatches:!0}},normalizeTruncateCfg:function(b){return"number"==typeof b?{length:b,location:"end"}:a.Util.defaults(b||{},{length:Number.POSITIVE_INFINITY,location:"end"})},parse:function(a){for(var b=this.getHtmlParser(),c=b.parse(a),d=0,e=[],f=0,g=c.length;g>f;f++){var h=c[f],i=h.getType();if("element"===i&&"a"===h.getTagName())h.isClosing()?d=Math.max(d-1,0):d++;else if("text"===i&&0===d){var j=this.parseText(h.getText(),h.getOffset());e.push.apply(e,j)}}return e=this.compactMatches(e),this.hashtag||(e=e.filter(function(a){return"hashtag"!==a.getType()})),this.email||(e=e.filter(function(a){return"email"!==a.getType()})),this.phone||(e=e.filter(function(a){return"phone"!==a.getType()})),this.twitter||(e=e.filter(function(a){return"twitter"!==a.getType()})),this.urls.schemeMatches||(e=e.filter(function(a){return"url"!==a.getType()||"scheme"!==a.getUrlMatchType()})),this.urls.wwwMatches||(e=e.filter(function(a){return"url"!==a.getType()||"www"!==a.getUrlMatchType()})),this.urls.tldMatches||(e=e.filter(function(a){return"url"!==a.getType()||"tld"!==a.getUrlMatchType()})),e},compactMatches:function(a){a.sort(function(a,b){return a.getOffset()-b.getOffset()});for(var b=0;be;e++){for(var g=c[e].parseMatches(a),h=0,i=g.length;i>h;h++)g[h].setOffset(b+g[h].getOffset());d.push.apply(d,g)}return d},link:function(a){if(!a)return"";for(var b=this.parse(a),c=[],d=0,e=0,f=b.length;f>e;e++){var g=b[e];c.push(a.substring(d,g.getOffset())),c.push(this.createMatchReturnVal(g)),d=g.getOffset()+g.getMatchedText().length}return c.push(a.substring(d)),c.join("")},createMatchReturnVal:function(b){var c;if(this.replaceFn&&(c=this.replaceFn.call(this,this,b)),"string"==typeof c)return c;if(c===!1)return b.getMatchedText();if(c instanceof a.HtmlTag)return c.toAnchorString();var d=this.getTagBuilder(),e=d.build(b);return e.toAnchorString()},getHtmlParser:function(){var b=this.htmlParser;return b||(b=this.htmlParser=new a.htmlParser.HtmlParser),b},getMatchers:function(){if(this.matchers)return this.matchers;var b=a.matcher,c=[new b.Hashtag({serviceName:this.hashtag}),new b.Email,new b.Phone,new b.Twitter,new b.Url({stripPrefix:this.stripPrefix})];return this.matchers=c},getTagBuilder:function(){var b=this.tagBuilder;return b||(b=this.tagBuilder=new a.AnchorTagBuilder({newWindow:this.newWindow,truncate:this.truncate,className:this.className})),b}},a.link=function(b,c){var d=new a(c);return d.link(b)},a.match={},a.matcher={},a.htmlParser={},a.truncate={},a.Util={abstractMethod:function(){throw"abstract"},trimRegex:/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,assign:function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return a},defaults:function(a,b){for(var c in b)b.hasOwnProperty(c)&&void 0===a[c]&&(a[c]=b[c]);return a},extend:function(b,c){var d=b.prototype,e=function(){};e.prototype=d;var f;f=c.hasOwnProperty("constructor")?c.constructor:function(){d.constructor.apply(this,arguments)};var g=f.prototype=new e;return g.constructor=f,g.superclass=d,delete c.constructor,a.Util.assign(g,c),f},ellipsis:function(a,b,c){return a.length>b&&(c=null==c?"..":c,a=a.substring(0,b-c.length)+c),a},indexOf:function(a,b){if(Array.prototype.indexOf)return a.indexOf(b);for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},splitAndCapture:function(a,b){if(!b.global)throw new Error("`splitRegex` must have the 'g' flag set");for(var c,d=[],e=0;c=b.exec(a);)d.push(a.substring(e,c.index)),d.push(c[0]),e=c.index+c[0].length;return d.push(a.substring(e)),d},trim:function(a){return a.replace(this.trimRegex,"")}},a.HtmlTag=a.Util.extend(Object,{whitespaceRegex:/\s+/,constructor:function(b){a.Util.assign(this,b),this.innerHtml=this.innerHtml||this.innerHTML},setTagName:function(a){return this.tagName=a,this},getTagName:function(){return this.tagName||""},setAttr:function(a,b){var c=this.getAttrs();return c[a]=b,this},getAttr:function(a){return this.getAttrs()[a]},setAttrs:function(b){var c=this.getAttrs();return a.Util.assign(c,b),this},getAttrs:function(){return this.attrs||(this.attrs={})},setClass:function(a){return this.setAttr("class",a)},addClass:function(b){for(var c,d=this.getClass(),e=this.whitespaceRegex,f=a.Util.indexOf,g=d?d.split(e):[],h=b.split(e);c=h.shift();)-1===f(g,c)&&g.push(c);return this.getAttrs()["class"]=g.join(" "),this},removeClass:function(b){for(var c,d=this.getClass(),e=this.whitespaceRegex,f=a.Util.indexOf,g=d?d.split(e):[],h=b.split(e);g.length&&(c=h.shift());){var i=f(g,c);-1!==i&&g.splice(i,1)}return this.getAttrs()["class"]=g.join(" "),this},getClass:function(){return this.getAttrs()["class"]||""},hasClass:function(a){return-1!==(" "+this.getClass()+" ").indexOf(" "+a+" ")},setInnerHtml:function(a){return this.innerHtml=a,this},getInnerHtml:function(){return this.innerHtml||""},toAnchorString:function(){var a=this.getTagName(),b=this.buildAttrsStr();return b=b?" "+b:"",["<",a,b,">",this.getInnerHtml(),""].join("")},buildAttrsStr:function(){if(!this.attrs)return"";var a=this.getAttrs(),b=[];for(var c in a)a.hasOwnProperty(c)&&b.push(c+'="'+a[c]+'"');return b.join(" ")}}),a.RegexLib=function(){var a="A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠ-ࢴऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛱ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々〆〱-〵〻〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿕ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛥꜗ-ꜟꜢ-ꞈꞋ-ꞭꞰ-ꞷꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭥꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",b="0-9٠-٩۰-۹߀-߉०-९০-৯੦-੯૦-૯୦-୯௦-௯౦-౯೦-೯൦-൯෦-෯๐-๙໐-໙༠-༩၀-၉႐-႙០-៩᠐-᠙᥆-᥏᧐-᧙᪀-᪉᪐-᪙᭐-᭙᮰-᮹᱀-᱉᱐-᱙꘠-꘩꣐-꣙꤀-꤉꧐-꧙꧰-꧹꩐-꩙꯰-꯹0-9",c=a+b,d=new RegExp("["+c+".\\-]*["+c+"\\-]"),e=/(?:international|construction|contractors|enterprises|photography|productions|foundation|immobilien|industries|management|properties|technology|christmas|community|directory|education|equipment|institute|marketing|solutions|vacations|bargains|boutique|builders|catering|cleaning|clothing|computer|democrat|diamonds|graphics|holdings|lighting|partners|plumbing|supplies|training|ventures|academy|careers|company|cruises|domains|exposed|flights|florist|gallery|guitars|holiday|kitchen|neustar|okinawa|recipes|rentals|reviews|shiksha|singles|support|systems|agency|berlin|camera|center|coffee|condos|dating|estate|events|expert|futbol|kaufen|luxury|maison|monash|museum|nagoya|photos|repair|report|social|supply|tattoo|tienda|travel|viajes|villas|vision|voting|voyage|actor|build|cards|cheap|codes|dance|email|glass|house|mango|ninja|parts|photo|press|shoes|solar|today|tokyo|tools|watch|works|aero|arpa|asia|best|bike|blue|buzz|camp|club|cool|coop|farm|fish|gift|guru|info|jobs|kiwi|kred|land|limo|link|menu|mobi|moda|name|pics|pink|post|qpon|rich|ruhr|sexy|tips|vote|voto|wang|wien|wiki|zone|bar|bid|biz|cab|cat|ceo|com|edu|gov|int|kim|mil|net|onl|org|pro|pub|red|tel|uno|wed|xxx|xyz|ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw)\b/;return{alphaNumericCharsStr:c,domainNameRegex:d,tldRegex:e}}(),a.AnchorTagBuilder=a.Util.extend(Object,{constructor:function(b){a.Util.assign(this,b)},build:function(b){return new a.HtmlTag({tagName:"a",attrs:this.createAttrs(b.getType(),b.getAnchorHref()),innerHtml:this.processAnchorText(b.getAnchorText())})},createAttrs:function(a,b){var c={href:b},d=this.createCssClass(a);return d&&(c["class"]=d),this.newWindow&&(c.target="_blank"),c},createCssClass:function(a){var b=this.className;return b?b+" "+b+"-"+a:""},processAnchorText:function(a){return a=this.doTruncate(a)},doTruncate:function(b){var c=this.truncate;if(!c)return b;var d=c.length,e=c.location;return"smart"===e?a.truncate.TruncateSmart(b,d,".."):"middle"===e?a.truncate.TruncateMiddle(b,d,".."):a.truncate.TruncateEnd(b,d,"..")}}),a.htmlParser.HtmlParser=a.Util.extend(Object,{htmlRegex:function(){var a=/!--([\s\S]+?)--/,b=/[0-9a-zA-Z][0-9a-zA-Z:]*/,c=/[^\s\0"'>\/=\x01-\x1F\x7F]+/,d=/(?:"[^"]*?"|'[^']*?'|[^'"=<>`\s]+)/,e=c.source+"(?:\\s*=\\s*"+d.source+")?";return new RegExp(["(?:","<(!DOCTYPE)","(?:","\\s+","(?:",e,"|",d.source+")",")*",">",")","|","(?:","<(/)?","(?:",a.source,"|","(?:","("+b.source+")","(?:","\\s+",e,")*","\\s*/?",")",")",">",")"].join(""),"gi")}(),htmlCharacterEntitiesRegex:/( | |<|<|>|>|"|"|')/gi,parse:function(a){for(var b,c,d=this.htmlRegex,e=0,f=[];null!==(b=d.exec(a));){var g=b[0],h=b[3],i=b[1]||b[4],j=!!b[2],k=b.index,l=a.substring(e,k);l&&(c=this.parseTextAndEntityNodes(e,l),f.push.apply(f,c)),f.push(h?this.createCommentNode(k,g,h):this.createElementNode(k,g,i,j)),e=k+g.length}if(ef;f+=2){var h=e[f],i=e[f+1];h&&(d.push(this.createTextNode(b,h)),b+=h.length),i&&(d.push(this.createEntityNode(b,i)),b+=i.length)}return d},createCommentNode:function(b,c,d){return new a.htmlParser.CommentNode({offset:b,text:c,comment:a.Util.trim(d)})},createElementNode:function(b,c,d,e){return new a.htmlParser.ElementNode({offset:b,text:c,tagName:d.toLowerCase(),closing:e})},createEntityNode:function(b,c){return new a.htmlParser.EntityNode({offset:b,text:c})},createTextNode:function(b,c){return new a.htmlParser.TextNode({offset:b,text:c})}}),a.htmlParser.HtmlNode=a.Util.extend(Object,{offset:void 0,text:void 0,constructor:function(b){if(a.Util.assign(this,b),null==this.offset)throw new Error("`offset` cfg required");if(null==this.text)throw new Error("`text` cfg required")},getType:a.Util.abstractMethod,getOffset:function(){return this.offset},getText:function(){return this.text}}),a.htmlParser.CommentNode=a.Util.extend(a.htmlParser.HtmlNode,{comment:"",getType:function(){return"comment"},getComment:function(){return this.comment}}),a.htmlParser.ElementNode=a.Util.extend(a.htmlParser.HtmlNode,{tagName:"",closing:!1,getType:function(){return"element"},getTagName:function(){return this.tagName},isClosing:function(){return this.closing}}),a.htmlParser.EntityNode=a.Util.extend(a.htmlParser.HtmlNode,{getType:function(){return"entity"}}),a.htmlParser.TextNode=a.Util.extend(a.htmlParser.HtmlNode,{getType:function(){return"text"}}),a.match.Match=a.Util.extend(Object,{constructor:function(a,b){if(null==a)throw new Error("`matchedText` arg required");if(null==b)throw new Error("`offset` arg required");this.matchedText=a,this.offset=b},getType:a.Util.abstractMethod,getMatchedText:function(){return this.matchedText},setOffset:function(a){this.offset=a},getOffset:function(){return this.offset},getAnchorHref:a.Util.abstractMethod,getAnchorText:a.Util.abstractMethod}),a.match.Email=a.Util.extend(a.match.Match,{constructor:function(b,c,d){if(a.match.Match.prototype.constructor.call(this,b,c),!d)throw new Error("`email` arg required");this.email=d},getType:function(){return"email"},getEmail:function(){return this.email},getAnchorHref:function(){return"mailto:"+this.email},getAnchorText:function(){return this.email}}),a.match.Hashtag=a.Util.extend(a.match.Match,{constructor:function(b,c,d,e){if(a.match.Match.prototype.constructor.call(this,b,c),!e)throw new Error("`hashtag` arg required");this.serviceName=d,this.hashtag=e},getType:function(){return"hashtag"},getServiceName:function(){return this.serviceName},getHashtag:function(){return this.hashtag},getAnchorHref:function(){var a=this.serviceName,b=this.hashtag;switch(a){case"twitter":return"https://twitter.com/hashtag/"+b;case"facebook":return"https://www.facebook.com/hashtag/"+b;case"instagram":return"https://instagram.com/explore/tags/"+b;default:throw new Error("Unknown service name to point hashtag to: ",a)}},getAnchorText:function(){return"#"+this.hashtag}}),a.match.Phone=a.Util.extend(a.match.Match,{constructor:function(b,c,d,e){if(a.match.Match.prototype.constructor.call(this,b,c),!d)throw new Error("`number` arg required");if(null==e)throw new Error("`plusSign` arg required");this.number=d,this.plusSign=e},getType:function(){return"phone"},getNumber:function(){return this.number},getAnchorHref:function(){return"tel:"+(this.plusSign?"+":"")+this.number},getAnchorText:function(){return this.matchedText}}),a.match.Twitter=a.Util.extend(a.match.Match,{constructor:function(b,c,d){if(a.match.Match.prototype.constructor.call(this,b,c),!d)throw new Error("`twitterHandle` arg required");this.twitterHandle=d},getType:function(){return"twitter"},getTwitterHandle:function(){return this.twitterHandle},getAnchorHref:function(){return"https://twitter.com/"+this.twitterHandle},getAnchorText:function(){return"@"+this.twitterHandle}}),a.match.Url=a.Util.extend(a.match.Match,{constructor:function(b,c,d,e,f,g,h){if(a.match.Match.prototype.constructor.call(this,b,c),"scheme"!==e&&"www"!==e&&"tld"!==e)throw new Error('`urlMatchType` must be one of: "scheme", "www", or "tld"');if(!d)throw new Error("`url` arg required");if(null==f)throw new Error("`protocolUrlMatch` arg required");if(null==g)throw new Error("`protocolRelativeMatch` arg required");if(null==h)throw new Error("`stripPrefix` arg required");this.urlMatchType=e,this.url=d,this.protocolUrlMatch=f,this.protocolRelativeMatch=g,this.stripPrefix=h},urlPrefixRegex:/^(https?:\/\/)?(www\.)?/i,protocolRelativeRegex:/^\/\//,protocolPrepended:!1,getType:function(){return"url"},getUrlMatchType:function(){return this.urlMatchType},getUrl:function(){var a=this.url;return this.protocolRelativeMatch||this.protocolUrlMatch||this.protocolPrepended||(a=this.url="http://"+a,this.protocolPrepended=!0),a},getAnchorHref:function(){var a=this.getUrl();return a.replace(/&/g,"&")},getAnchorText:function(){var a=this.getMatchedText();return this.protocolRelativeMatch&&(a=this.stripProtocolRelativePrefix(a)),this.stripPrefix&&(a=this.stripUrlPrefix(a)),a=this.removeTrailingSlash(a)},stripUrlPrefix:function(a){return a.replace(this.urlPrefixRegex,"")},stripProtocolRelativePrefix:function(a){return a.replace(this.protocolRelativeRegex,"")},removeTrailingSlash:function(a){return"/"===a.charAt(a.length-1)&&(a=a.slice(0,-1)),a}}),a.matcher.Matcher=a.Util.extend(Object,{constructor:function(b){a.Util.assign(this,b)},parseMatches:a.Util.abstractMethod}),a.matcher.Email=a.Util.extend(a.matcher.Matcher,{matcherRegex:function(){var b=a.RegexLib.alphaNumericCharsStr,c=new RegExp("["+b+"\\-;:&=+$.,]+@"),d=a.RegexLib.domainNameRegex,e=a.RegexLib.tldRegex;return new RegExp([c.source,d.source,"\\.",e.source].join(""),"gi")}(),parseMatches:function(b){for(var c,d=this.matcherRegex,e=[];null!==(c=d.exec(b));){var f=c[0];e.push(new a.match.Email(f,c.index,f))}return e}}),a.matcher.Hashtag=a.Util.extend(a.matcher.Matcher,{matcherRegex:new RegExp("#[_"+a.RegexLib.alphaNumericCharsStr+"]{1,139}","g"),nonWordCharRegex:new RegExp("[^"+a.RegexLib.alphaNumericCharsStr+"]"),constructor:function(){a.matcher.Matcher.prototype.constructor.apply(this,arguments)},parseMatches:function(b){for(var c,d=this.matcherRegex,e=this.nonWordCharRegex,f=this.serviceName,g=[];null!==(c=d.exec(b));){var h=c.index,i=b.charAt(h-1);if(0===h||e.test(i)){var j=c[0],k=c[0].slice(1);g.push(new a.match.Hashtag(j,h,f,k))}}return g}}),a.matcher.Phone=a.Util.extend(a.matcher.Matcher,{matcherRegex:/(?:(\+)?\d{1,3}[-\040.])?\(?\d{3}\)?[-\040.]?\d{3}[-\040.]\d{4}/g,parseMatches:function(b){for(var c,d=this.matcherRegex,e=[];null!==(c=d.exec(b));){var f=c[0],g=f.replace(/\D/g,""),h=!!c[1];e.push(new a.match.Phone(f,c.index,g,h))}return e}}),a.matcher.Twitter=a.Util.extend(a.matcher.Matcher,{matcherRegex:new RegExp("@[_"+a.RegexLib.alphaNumericCharsStr+"]{1,20}","g"),nonWordCharRegex:new RegExp("[^"+a.RegexLib.alphaNumericCharsStr+"]"),parseMatches:function(b){for(var c,d=this.matcherRegex,e=this.nonWordCharRegex,f=[];null!==(c=d.exec(b));){var g=c.index,h=b.charAt(g-1);if(0===g||e.test(h)){var i=c[0],j=c[0].slice(1);f.push(new a.match.Twitter(i,g,j))}}return f}}),a.matcher.Url=a.Util.extend(a.matcher.Matcher,{matcherRegex:function(){var b=/(?:[A-Za-z][-.+A-Za-z0-9]*:(?![A-Za-z][-.+A-Za-z0-9]*:\/\/)(?!\d+\/?)(?:\/\/)?)/,c=/(?:www\.)/,d=a.RegexLib.domainNameRegex,e=a.RegexLib.tldRegex,f=a.RegexLib.alphaNumericCharsStr,g=new RegExp("["+f+"\\-+&@#/%=~_()|'$*\\[\\]?!:,.;]*["+f+"\\-+&@#/%=~_()|'$*\\[\\]]");return new RegExp(["(?:","(",b.source,d.source,")","|","(","(//)?",c.source,d.source,")","|","(","(//)?",d.source+"\\.",e.source,")",")","(?:"+g.source+")?"].join(""),"gi")}(),wordCharRegExp:/\w/,openParensRe:/\(/g,closeParensRe:/\)/g,constructor:function(){if(a.matcher.Matcher.prototype.constructor.apply(this,arguments),null==this.stripPrefix)throw new Error("`stripPrefix` cfg required")},parseMatches:function(b){for(var c,d=this.matcherRegex,e=this.stripPrefix,f=[];null!==(c=d.exec(b));){var g=c[0],h=c[1],i=c[2],j=c[3],k=c[5],l=c.index,m=j||k,n=b.charAt(l-1);if(a.matcher.UrlMatchValidator.isValid(g,h)&&!(l>0&&"@"===n||l>0&&m&&this.wordCharRegExp.test(n))){if(this.matchHasUnbalancedClosingParen(g))g=g.substr(0,g.length-1);else{var o=this.matchHasInvalidCharAfterTld(g,h);o>-1&&(g=g.substr(0,o))}var p=h?"scheme":i?"www":"tld",q=!!h;f.push(new a.match.Url(g,l,g,p,q,!!m,e))}}return f},matchHasUnbalancedClosingParen:function(a){var b=a.charAt(a.length-1);if(")"===b){var c=a.match(this.openParensRe),d=a.match(this.closeParensRe),e=c&&c.length||0,f=d&&d.length||0;if(f>e)return!0}return!1},matchHasInvalidCharAfterTld:function(a,b){if(!a)return-1;var c=0;b&&(c=a.indexOf(":"),a=a.slice(c));var d=/^((.?\/\/)?[A-Za-z0-9\u00C0-\u017F\.\-]*[A-Za-z0-9\u00C0-\u017F\-]\.[A-Za-z]+)/,e=d.exec(a);return null===e?-1:(c+=e[1].length,a=a.slice(e[1].length),/^[^.A-Za-z:\/?#]/.test(a)?c:-1)}}),a.matcher.UrlMatchValidator={hasFullProtocolRegex:/^[A-Za-z][-.+A-Za-z0-9]*:\/\//,uriSchemeRegex:/^[A-Za-z][-.+A-Za-z0-9]*:/,hasWordCharAfterProtocolRegex:/:[^\s]*?[A-Za-z\u00C0-\u017F]/,isValid:function(a,b){return b&&!this.isValidUriScheme(b)||this.urlMatchDoesNotHaveProtocolOrDot(a,b)||this.urlMatchDoesNotHaveAtLeastOneWordChar(a,b)?!1:!0},isValidUriScheme:function(a){var b=a.match(this.uriSchemeRegex)[0].toLowerCase();return"javascript:"!==b&&"vbscript:"!==b},urlMatchDoesNotHaveProtocolOrDot:function(a,b){return!(!a||b&&this.hasFullProtocolRegex.test(b)||-1!==a.indexOf("."))},urlMatchDoesNotHaveAtLeastOneWordChar:function(a,b){return a&&b?!this.hasWordCharAfterProtocolRegex.test(a):!1}},a.truncate.TruncateEnd=function(b,c,d){return a.Util.ellipsis(b,c,d)},a.truncate.TruncateMiddle=function(a,b,c){if(a.length<=b)return a;var d=b-c.length,e="";return d>0&&(e=a.substr(-1*Math.floor(d/2))),(a.substr(0,Math.ceil(d/2))+c+e).substr(0,b)},a.truncate.TruncateSmart=function(a,b,c){var d=function(a){var b={},c=a,d=c.match(/^([a-z]+):\/\//i);return d&&(b.scheme=d[1],c=c.substr(d[0].length)),d=c.match(/^(.*?)(?=(\?|#|\/|$))/i),d&&(b.host=d[1],c=c.substr(d[0].length)),d=c.match(/^\/(.*?)(?=(\?|#|$))/i),d&&(b.path=d[1],c=c.substr(d[0].length)),d=c.match(/^\?(.*?)(?=(#|$))/i),d&&(b.query=d[1],c=c.substr(d[0].length)),d=c.match(/^#(.*?)$/i),d&&(b.fragment=d[1]),b},e=function(a){var b="";return a.scheme&&a.host&&(b+=a.scheme+"://"),a.host&&(b+=a.host),a.path&&(b+="/"+a.path),a.query&&(b+="?"+a.query),a.fragment&&(b+="#"+a.fragment),b},f=function(a,b){var d=b/2,e=Math.ceil(d),f=-1*Math.floor(d),g="";return 0>f&&(g=a.substr(f)),a.substr(0,e)+c+g};if(a.length<=b)return a;var g=b-c.length,h=d(a);if(h.query){var i=h.query.match(/^(.*?)(?=(\?|\#))(.*?)$/i);i&&(h.query=h.query.substr(0,i[1].length),a=e(h))}if(a.length<=b)return a;if(h.host&&(h.host=h.host.replace(/^www\./,""),a=e(h)),a.length<=b)return a;var j="";if(h.host&&(j+=h.host),j.length>=g)return h.host.length==b?(h.host.substr(0,b-c.length)+c).substr(0,b):f(j,g).substr(0,b);var k="";if(h.path&&(k+="/"+h.path),h.query&&(k+="?"+h.query),k){if((j+k).length>=g){if((j+k).length==b)return(j+k).substr(0,b);var l=g-j.length;return(j+f(k,l)).substr(0,b)}j+=k}if(h.fragment){var m="#"+h.fragment;if((j+m).length>=g){if((j+m).length==b)return(j+m).substr(0,b);var n=g-j.length;return(j+f(m,n)).substr(0,b)}j+=m}if(h.scheme&&h.host){var o=h.scheme+"://";if((j+o).length0&&(p=j.substr(-1*Math.floor(g/2))),(j.substr(0,Math.ceil(g/2))+c+p).substr(0,b)},a}); \ No newline at end of file diff --git a/public/assets/js/alertify.js b/public/assets/js/alertify.js deleted file mode 100644 index d9d6a2b2..00000000 --- a/public/assets/js/alertify.js +++ /dev/null @@ -1 +0,0 @@ -!function(){"use strict";function t(){var t={version:"1.0.8",defaultOkLabel:"Ok",okLabel:"Ok",defaultCancelLabel:"Cancel",cancelLabel:"Cancel",defaultMaxLogItems:2,maxLogItems:2,promptValue:"",promptPlaceholder:"",closeLogOnClick:!1,closeLogOnClickDefault:!1,delay:5e3,defaultDelay:5e3,logContainerClass:"alertify-logs",logContainerDefaultClass:"alertify-logs",dialogs:{buttons:{holder:"",ok:"",cancel:""},input:"",message:"

{{message}}

",log:"
{{message}}
"},defaultDialogs:{buttons:{holder:"",ok:"",cancel:""},input:"",message:"

{{message}}

",log:"
{{message}}
"},build:function(t){var e=this.dialogs.buttons.ok,o="
"+this.dialogs.message.replace("{{message}}",t.message);return"confirm"!==t.type&&"prompt"!==t.type||(e=this.dialogs.buttons.cancel+this.dialogs.buttons.ok),"prompt"===t.type&&(o+=this.dialogs.input),o=(o+this.dialogs.buttons.holder+"
").replace("{{buttons}}",e).replace("{{ok}}",this.okLabel).replace("{{cancel}}",this.cancelLabel)},setCloseLogOnClick:function(t){this.closeLogOnClick=!!t},close:function(t,e){this.closeLogOnClick&&t.addEventListener("click",function(t){o(t.srcElement)}),e=e&&!isNaN(+e)?+e:this.delay,0>e?o(t):e>0&&setTimeout(function(){o(t)},e)},dialog:function(t,e,o,n){return this.setup({type:e,message:t,onOkay:o,onCancel:n})},log:function(t,e,o){var n=document.querySelectorAll(".alertify-logs > div");if(n){var i=n.length-this.maxLogItems;if(i>=0)for(var a=0,l=i+1;l>a;a++)this.close(n[a],-1)}this.notify(t,e,o)},setLogPosition:function(t){this.logContainerClass="alertify-logs "+t},setupLogContainer:function(){var t=document.querySelector(".alertify-logs"),e=this.logContainerClass;return t||(t=document.createElement("div"),t.className=e,document.body.appendChild(t)),t.className!==e&&(t.className=e),t},notify:function(e,o,n){var i=this.setupLogContainer(),a=document.createElement("div");a.className=o||"default",t.logTemplateMethod?a.innerHTML=t.logTemplateMethod(e):a.innerHTML=e,"function"==typeof n&&a.addEventListener("click",n),i.appendChild(a),setTimeout(function(){a.className+=" show"},10),this.close(a,this.delay)},setup:function(t){function e(e){"function"!=typeof e&&(e=function(){}),i&&i.addEventListener("click",function(i){t.onOkay&&"function"==typeof t.onOkay&&(l?t.onOkay(l.value,i):t.onOkay(i)),e(l?{buttonClicked:"ok",inputValue:l.value,event:i}:{buttonClicked:"ok",event:i}),o(n)}),a&&a.addEventListener("click",function(i){t.onCancel&&"function"==typeof t.onCancel&&t.onCancel(i),e({buttonClicked:"cancel",event:i}),o(n)})}var n=document.createElement("div");n.className="alertify hide",n.innerHTML=this.build(t);var i=n.querySelector(".ok"),a=n.querySelector(".cancel"),l=n.querySelector("input"),s=n.querySelector("label");l&&("string"==typeof this.promptPlaceholder&&(s?s.textContent=this.promptPlaceholder:l.placeholder=this.promptPlaceholder),"string"==typeof this.promptValue&&(l.value=this.promptValue));var r;return"function"==typeof Promise?r=new Promise(e):e(),document.body.appendChild(n),setTimeout(function(){n.classList.remove("hide"),l&&t.type&&"prompt"===t.type?(l.select(),l.focus()):i&&i.focus()},100),r},okBtn:function(t){return this.okLabel=t,this},setDelay:function(t){var e=parseInt(t||0,10);return this.delay=isNaN(e)?this.defultDelay:t,this},cancelBtn:function(t){return this.cancelLabel=t,this},setMaxLogItems:function(t){this.maxLogItems=parseInt(t||this.defaultMaxLogItems)},theme:function(t){switch(t.toLowerCase()){case"bootstrap":this.dialogs.buttons.ok="",this.dialogs.buttons.cancel="",this.dialogs.input="";break;case"purecss":this.dialogs.buttons.ok="",this.dialogs.buttons.cancel="";break;case"mdl":case"material-design-light":this.dialogs.buttons.ok="",this.dialogs.buttons.cancel="",this.dialogs.input="
";break;case"angular-material":this.dialogs.buttons.ok="",this.dialogs.buttons.cancel="",this.dialogs.input="
";break;case"default":default:this.dialogs.buttons.ok=this.defaultDialogs.buttons.ok,this.dialogs.buttons.cancel=this.defaultDialogs.buttons.cancel,this.dialogs.input=this.defaultDialogs.input}},reset:function(){this.theme("default"),this.okBtn(this.defaultOkLabel),this.cancelBtn(this.defaultCancelLabel),this.setMaxLogItems(),this.promptValue="",this.promptPlaceholder="",this.delay=this.defaultDelay,this.setCloseLogOnClick(this.closeLogOnClickDefault),this.setLogPosition("bottom left"),this.logTemplateMethod=null},injectCSS:function(){if(!document.querySelector("#alertifyCSS")){var t=document.getElementsByTagName("head")[0],e=document.createElement("style");e.type="text/css",e.id="alertifyCSS",e.innerHTML=".alertify-logs>*{padding:12px 24px;color:#fff;box-shadow:0 2px 5px 0 rgba(0,0,0,.2);border-radius:1px}.alertify-logs>*,.alertify-logs>.default{background:rgba(0,0,0,.8)}.alertify-logs>.error{background:rgba(244,67,54,.8)}.alertify-logs>.success{background:rgba(76,175,80,.9)}.alertify{position:fixed;background-color:rgba(0,0,0,.3);left:0;right:0;top:0;bottom:0;width:100%;height:100%;z-index:2}.alertify.hide{opacity:0;pointer-events:none}.alertify,.alertify.show{box-sizing:border-box;transition:all .33s cubic-bezier(.25,.8,.25,1)}.alertify,.alertify *{box-sizing:border-box}.alertify .dialog{padding:12px}.alertify .alert,.alertify .dialog{width:100%;margin:0 auto;position:relative;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.alertify .alert>*,.alertify .dialog>*{width:400px;max-width:95%;margin:0 auto;text-align:center;padding:12px;background:#fff;box-shadow:0 2px 4px -1px rgba(0,0,0,.14),0 4px 5px 0 rgba(0,0,0,.098),0 1px 10px 0 rgba(0,0,0,.084)}.alertify .alert .msg,.alertify .dialog .msg{padding:12px;margin-bottom:12px;margin:0;text-align:left}.alertify .alert input:not(.form-control),.alertify .dialog input:not(.form-control){margin-bottom:15px;width:100%;font-size:100%;padding:12px}.alertify .alert input:not(.form-control):focus,.alertify .dialog input:not(.form-control):focus{outline-offset:-2px}.alertify .alert nav,.alertify .dialog nav{text-align:right}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button),.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button){background:transparent;box-sizing:border-box;color:rgba(0,0,0,.87);position:relative;outline:0;border:0;display:inline-block;-webkit-align-items:center;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center;padding:0 6px;margin:6px 8px;line-height:36px;min-height:36px;white-space:nowrap;min-width:88px;text-align:center;text-transform:uppercase;font-size:14px;text-decoration:none;cursor:pointer;border:1px solid transparent;border-radius:2px}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):active,.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):hover,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):active,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):hover{background-color:rgba(0,0,0,.05)}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):focus,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):focus{border:1px solid rgba(0,0,0,.1)}.alertify .alert nav button.btn,.alertify .dialog nav button.btn{margin:6px 4px}.alertify-logs{position:fixed;z-index:1}.alertify-logs.bottom,.alertify-logs:not(.top){bottom:16px}.alertify-logs.left,.alertify-logs:not(.right){left:16px}.alertify-logs.left>*,.alertify-logs:not(.right)>*{float:left;-webkit-transform:translateZ(0);transform:translateZ(0);height:auto}.alertify-logs.left>.show,.alertify-logs:not(.right)>.show{left:0}.alertify-logs.left>*,.alertify-logs.left>.hide,.alertify-logs:not(.right)>*,.alertify-logs:not(.right)>.hide{left:-110%}.alertify-logs.right{right:16px}.alertify-logs.right>*{float:right;-webkit-transform:translateZ(0);transform:translateZ(0)}.alertify-logs.right>.show{right:0;opacity:1}.alertify-logs.right>*,.alertify-logs.right>.hide{right:-110%;opacity:0}.alertify-logs.top{top:0}.alertify-logs>*{box-sizing:border-box;transition:all .4s cubic-bezier(.25,.8,.25,1);position:relative;clear:both;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;perspective:1000;max-height:0;margin:0;padding:0;overflow:hidden;opacity:0;pointer-events:none}.alertify-logs>.show{margin-top:12px;opacity:1;max-height:1000px;padding:12px;pointer-events:auto}",t.insertBefore(e,t.firstChild)}},removeCSS:function(){var t=document.querySelector("#alertifyCSS");t&&t.parentNode&&t.parentNode.removeChild(t)}};return t.injectCSS(),{_$$alertify:t,reset:function(){return t.reset(),this},alert:function(e,o,n){return t.dialog(e,"alert",o,n)||this},confirm:function(e,o,n){return t.dialog(e,"confirm",o,n)||this},prompt:function(e,o,n){return t.dialog(e,"prompt",o,n)||this},log:function(e,o){return t.log(e,"default",o),this},theme:function(e){return t.theme(e),this},success:function(e,o){return t.log(e,"success",o),this},error:function(e,o){return t.log(e,"error",o),this},cancelBtn:function(e){return t.cancelBtn(e),this},okBtn:function(e){return t.okBtn(e),this},delay:function(e){return t.setDelay(e),this},placeholder:function(e){return t.promptPlaceholder=e,this},defaultValue:function(e){return t.promptValue=e,this},maxLogItems:function(e){return t.setMaxLogItems(e),this},closeLogOnClick:function(e){return t.setCloseLogOnClick(!!e),this},logPosition:function(e){return t.setLogPosition(e||""),this},setLogTemplate:function(e){return t.logTemplateMethod=e,this},clearLogs:function(){return t.setupLogContainer().innerHTML="",this},version:t.version}}var e=500,o=function(t){if(t){var o=function(){t&&t.parentNode&&t.parentNode.removeChild(t)};t.classList.remove("show"),t.classList.add("hide"),t.addEventListener("transitionend",o),setTimeout(o,e)}};if("undefined"!=typeof module&&module&&module.exports){module.exports=function(){return new t};var n=new t;for(var i in n)module.exports[i]=n[i]}else"function"==typeof define&&define.amd?define(function(){return new t}):window.alertify=new t}(); \ No newline at end of file diff --git a/public/assets/js/form-save.js b/public/assets/js/form-save.js index 151d1219..20d8f0a7 100644 --- a/public/assets/js/form-save.js +++ b/public/assets/js/form-save.js @@ -1,69 +1,69 @@ +/* global alertify, store */ var feature = { - addEventListener : !!window.addEventListener, - querySelectorAll : !!document.querySelectorAll, + addEventListener : !!window.addEventListener, + querySelectorAll : !!document.querySelectorAll }; -if(feature.addEventListener && feature.querySelectorAll) { - this.init(); -} -function init() { - var keys = getKeys(); - for(var i = 0; i < keys.length; i++) { - if(store.get(keys[i])) { - var formId = keys[i].split("~")[1]; - document.getElementById(formId).value = store.get(keys[i]); + +if (feature.addEventListener && feature.querySelectorAll) { + var keys = getKeys(); + for (var i = 0; i < keys.length; i++) { + if (store.get(keys[i])) { + var formId = keys[i].split('~')[1]; + document.getElementById(formId).value = store.get(keys[i]); + } } - } } + var timerId = window.setInterval(function() { - var saved = false; - var inputs = document.querySelectorAll('input[type=text], textarea'); - for(var i = 0; i < inputs.length; i++) { - var key = getFormElement(inputs[i]).id + '~' + inputs[i].id; - if(store.get(key) !== inputs[i].value && inputs[i].value !== "") { - store.set(key, inputs[i].value); - saved = true; + var saved = false; + var inputs = document.querySelectorAll('input[type=text], textarea'); + for (var i = 0; i < inputs.length; i++) { + var key = getFormElement(inputs[i]).id + '~' + inputs[i].id; + if (store.get(key) !== inputs[i].value && inputs[i].value !== '') { + store.set(key, inputs[i].value); + saved = true; + } + } + if (saved === true) { + alertify.logPosition('top right'); + alertify.success('Auto saved text'); } - } - if(saved === true) { - alertify.logPosition('top right'); - alertify.success('Auto saved text'); - } }, 5000); var forms = document.querySelectorAll('form'); -for(var f = 0; f < forms.length; f++) { - var form = forms[f]; - form.addEventListener('submit', function() { - window.clearInterval(timerId); - var formId = form.id; - var storedKeys = store.keys(); - for(var i = 0; i < storedKeys.length; i++) { - if(storedKeys[i].indexOf(formId) > -1) { - store.remove(storedKeys[i]); - } - } - }); +for (var f = 0; f < forms.length; f++) { + var form = forms[f]; + form.addEventListener('submit', function() { + window.clearInterval(timerId); + var formId = form.id; + var storedKeys = store.keys(); + for (var i = 0; i < storedKeys.length; i++) { + if (storedKeys[i].indexOf(formId) > -1) { + store.remove(storedKeys[i]); + } + } + }); } function getKeys() { - var keys = []; - var formFields = document.querySelectorAll('input[type=text], textarea'); - for(var f = 0; f < formFields.length; f++) { - var parent = getFormElement(formFields[f]); - if(parent !== false) { - var key = parent.id + '~' + formFields[f].id; - keys.push(key); + var keys = []; + var formFields = document.querySelectorAll('input[type=text], textarea'); + for (var f = 0; f < formFields.length; f++) { + var parent = getFormElement(formFields[f]); + if (parent !== false) { + var key = parent.id + '~' + formFields[f].id; + keys.push(key); + } } - } - return keys; + return keys; } function getFormElement(elem) { - if(elem.nodeName.toLowerCase() !== 'body') { - var parent = elem.parentNode; - if(parent.nodeName.toLowerCase() === 'form') { - return parent; + if (elem.nodeName.toLowerCase() !== 'body') { + var parent = elem.parentNode; + if (parent.nodeName.toLowerCase() === 'form') { + return parent; + } else { + return getFormElement(parent); + } } else { - return getFormElement(parent); + return false; } - } else { - return false; - } } diff --git a/public/assets/js/links.js b/public/assets/js/links.js index b683edd5..5871e0e3 100644 --- a/public/assets/js/links.js +++ b/public/assets/js/links.js @@ -1,3 +1,4 @@ +/* global Autolinker */ //the autlinker object var autolinker = new Autolinker(); @@ -6,20 +7,20 @@ var ytidregex = /watch\?v=([A-Za-z0-9\-_]+)/; //grab the notes and loop through them var notes = document.querySelectorAll('.e-content'); -for(var i = 0; i < notes.length; i++) { - //get Youtube ID - var ytid = notes[i].textContent.match(ytidregex); - if(ytid !== null) { - var id = ytid[1]; - var iframe = document.createElement('iframe'); - iframe.classList.add('youtube'); - iframe.setAttribute('src', '//www.youtube.com/embed/' + id); - iframe.setAttribute('frameborder', 0); - iframe.setAttribute('allowfullscreen', 'true'); - notes[i].appendChild(iframe); - } - //now linkify everything - var orig = notes[i].innerHTML; - var linked = autolinker.link(orig); - notes[i].innerHTML = linked; -} \ No newline at end of file +for (var i = 0; i < notes.length; i++) { + //get Youtube ID + var ytid = notes[i].textContent.match(ytidregex); + if (ytid !== null) { + var id = ytid[1]; + var iframe = document.createElement('iframe'); + iframe.classList.add('youtube'); + iframe.setAttribute('src', '//www.youtube.com/embed/' + id); + iframe.setAttribute('frameborder', 0); + iframe.setAttribute('allowfullscreen', 'true'); + notes[i].appendChild(iframe); + } + //now linkify everything + var orig = notes[i].innerHTML; + var linked = autolinker.link(orig); + notes[i].innerHTML = linked; +} diff --git a/public/assets/js/maps.js b/public/assets/js/maps.js index 4901c5da..6f178f8c 100644 --- a/public/assets/js/maps.js +++ b/public/assets/js/maps.js @@ -1,6 +1,7 @@ +/* global L */ //This code runs on page load and looks for
, then adds map var mapDivs = document.querySelectorAll('.map'); -for(var i = 0; i < mapDivs.length; i++) { +for (var i = 0; i < mapDivs.length; i++) { var mapDiv = mapDivs[i]; var latitude = mapDiv.dataset.latitude; var longitude = mapDiv.dataset.longitude; @@ -8,8 +9,8 @@ for(var i = 0; i < mapDivs.length; i++) { var map = L.mapbox.map(mapDiv, 'jonnybarnes.gnoihnim') .setView([latitude, longitude], 15) .addLayer(L.mapbox.tileLayer('jonnybarnes.gnoihnim', { - detectRetina: true, - })); - var marker = L.marker([latitude, longitude]).addTo(map); + detectRetina: true + })); + L.marker([latitude, longitude]).addTo(map); map.scrollWheelZoom.disable(); } diff --git a/public/assets/js/newnote.js b/public/assets/js/newnote.js index 2a26b261..54d2edd5 100644 --- a/public/assets/js/newnote.js +++ b/public/assets/js/newnote.js @@ -1,3 +1,4 @@ +/* global L */ if ('geolocation' in navigator) { var button = document.querySelector('#locate'); if (button.addEventListener) { @@ -39,7 +40,7 @@ function addPlaces(latitude, longitude) { addMap(latitude, longitude); } }).catch(function (err) { - console.log(err); + console.error(err); }); } @@ -57,11 +58,11 @@ function addMap(latitude, longitude, places) { var map = L.mapbox.map('map', 'jonnybarnes.gnoihnim') .setView([latitude, longitude], 15) .addLayer(L.mapbox.tileLayer('jonnybarnes.gnoihnim', { - detectRetina: true, + detectRetina: true })); //add a marker for the current location var marker = L.marker([latitude, longitude], { - draggable: true, + draggable: true }).addTo(map); //when the location marker is dragged, if the new place form elements exist //update the lat/lng values @@ -81,13 +82,13 @@ function addMap(latitude, longitude, places) { var noLocation = document.createElement('option'); noLocation.setAttribute('selected', 'selected'); noLocation.setAttribute('value', 'no-location'); - noLocText = document.createTextNode('Select no location'); + var noLocText = document.createTextNode('Select no location'); noLocation.appendChild(noLocText); selectEl.appendChild(noLocation); form.insertBefore(selectEl, div); if (places !== null) { //add the places both to the map and ",message:"

{{message}}

",log:"
{{message}}
"},defaultDialogs:{buttons:{holder:"",ok:"",cancel:""},input:"",message:"

{{message}}

",log:"
{{message}}
"},build:function(t){var e=this.dialogs.buttons.ok,o="
"+this.dialogs.message.replace("{{message}}",t.message);return"confirm"!==t.type&&"prompt"!==t.type||(e=this.dialogs.buttons.cancel+this.dialogs.buttons.ok),"prompt"===t.type&&(o+=this.dialogs.input),o=(o+this.dialogs.buttons.holder+"
").replace("{{buttons}}",e).replace("{{ok}}",this.okLabel).replace("{{cancel}}",this.cancelLabel)},setCloseLogOnClick:function(t){this.closeLogOnClick=!!t},close:function(t,e){this.closeLogOnClick&&t.addEventListener("click",function(){o(t)}),e=e&&!isNaN(+e)?+e:this.delay,0>e?o(t):e>0&&setTimeout(function(){o(t)},e)},dialog:function(t,e,o,n){return this.setup({type:e,message:t,onOkay:o,onCancel:n})},log:function(t,e,o){var n=document.querySelectorAll(".alertify-logs > div");if(n){var i=n.length-this.maxLogItems;if(i>=0)for(var a=0,l=i+1;l>a;a++)this.close(n[a],-1)}this.notify(t,e,o)},setLogPosition:function(t){this.logContainerClass="alertify-logs "+t},setupLogContainer:function(){var t=document.querySelector(".alertify-logs"),e=this.logContainerClass;return t||(t=document.createElement("div"),t.className=e,this.parent.appendChild(t)),t.className!==e&&(t.className=e),t},notify:function(e,o,n){var i=this.setupLogContainer(),a=document.createElement("div");a.className=o||"default",t.logTemplateMethod?a.innerHTML=t.logTemplateMethod(e):a.innerHTML=e,"function"==typeof n&&a.addEventListener("click",n),i.appendChild(a),setTimeout(function(){a.className+=" show"},10),this.close(a,this.delay)},setup:function(t){function e(e){"function"!=typeof e&&(e=function(){}),i&&i.addEventListener("click",function(i){t.onOkay&&"function"==typeof t.onOkay&&(l?t.onOkay(l.value,i):t.onOkay(i)),e(l?{buttonClicked:"ok",inputValue:l.value,event:i}:{buttonClicked:"ok",event:i}),o(n)}),a&&a.addEventListener("click",function(i){t.onCancel&&"function"==typeof t.onCancel&&t.onCancel(i),e({buttonClicked:"cancel",event:i}),o(n)}),l&&l.addEventListener("keyup",function(t){13===t.which&&i.click()})}var n=document.createElement("div");n.className="alertify hide",n.innerHTML=this.build(t);var i=n.querySelector(".ok"),a=n.querySelector(".cancel"),l=n.querySelector("input"),s=n.querySelector("label");l&&("string"==typeof this.promptPlaceholder&&(s?s.textContent=this.promptPlaceholder:l.placeholder=this.promptPlaceholder),"string"==typeof this.promptValue&&(l.value=this.promptValue));var r;return"function"==typeof Promise?r=new Promise(e):e(),this.parent.appendChild(n),setTimeout(function(){n.classList.remove("hide"),l&&t.type&&"prompt"===t.type?(l.select(),l.focus()):i&&i.focus()},100),r},okBtn:function(t){return this.okLabel=t,this},setDelay:function(t){return t=t||0,this.delay=isNaN(t)?this.defaultDelay:parseInt(t,10),this},cancelBtn:function(t){return this.cancelLabel=t,this},setMaxLogItems:function(t){this.maxLogItems=parseInt(t||this.defaultMaxLogItems)},theme:function(t){switch(t.toLowerCase()){case"bootstrap":this.dialogs.buttons.ok="",this.dialogs.buttons.cancel="",this.dialogs.input="";break;case"purecss":this.dialogs.buttons.ok="",this.dialogs.buttons.cancel="";break;case"mdl":case"material-design-light":this.dialogs.buttons.ok="",this.dialogs.buttons.cancel="",this.dialogs.input="
";break;case"angular-material":this.dialogs.buttons.ok="",this.dialogs.buttons.cancel="",this.dialogs.input="
";break;case"default":default:this.dialogs.buttons.ok=this.defaultDialogs.buttons.ok,this.dialogs.buttons.cancel=this.defaultDialogs.buttons.cancel,this.dialogs.input=this.defaultDialogs.input}},reset:function(){this.parent=document.body,this.theme("default"),this.okBtn(this.defaultOkLabel),this.cancelBtn(this.defaultCancelLabel),this.setMaxLogItems(),this.promptValue="",this.promptPlaceholder="",this.delay=this.defaultDelay,this.setCloseLogOnClick(this.closeLogOnClickDefault),this.setLogPosition("bottom left"),this.logTemplateMethod=null},injectCSS:function(){if(!document.querySelector("#alertifyCSS")){var t=document.getElementsByTagName("head")[0],e=document.createElement("style");e.type="text/css",e.id="alertifyCSS",e.innerHTML=".alertify-logs>*{padding:12px 24px;color:#fff;box-shadow:0 2px 5px 0 rgba(0,0,0,.2);border-radius:1px}.alertify-logs>*,.alertify-logs>.default{background:rgba(0,0,0,.8)}.alertify-logs>.error{background:rgba(244,67,54,.8)}.alertify-logs>.success{background:rgba(76,175,80,.9)}.alertify{position:fixed;background-color:rgba(0,0,0,.3);left:0;right:0;top:0;bottom:0;width:100%;height:100%;z-index:1}.alertify.hide{opacity:0;pointer-events:none}.alertify,.alertify.show{box-sizing:border-box;transition:all .33s cubic-bezier(.25,.8,.25,1)}.alertify,.alertify *{box-sizing:border-box}.alertify .dialog{padding:12px}.alertify .alert,.alertify .dialog{width:100%;margin:0 auto;position:relative;top:50%;transform:translateY(-50%)}.alertify .alert>*,.alertify .dialog>*{width:400px;max-width:95%;margin:0 auto;text-align:center;padding:12px;background:#fff;box-shadow:0 2px 4px -1px rgba(0,0,0,.14),0 4px 5px 0 rgba(0,0,0,.098),0 1px 10px 0 rgba(0,0,0,.084)}.alertify .alert .msg,.alertify .dialog .msg{padding:12px;margin-bottom:12px;margin:0;text-align:left}.alertify .alert input:not(.form-control),.alertify .dialog input:not(.form-control){margin-bottom:15px;width:100%;font-size:100%;padding:12px}.alertify .alert input:not(.form-control):focus,.alertify .dialog input:not(.form-control):focus{outline-offset:-2px}.alertify .alert nav,.alertify .dialog nav{text-align:right}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button),.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button){background:transparent;box-sizing:border-box;color:rgba(0,0,0,.87);position:relative;outline:0;border:0;display:inline-block;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center;padding:0 6px;margin:6px 8px;line-height:36px;min-height:36px;white-space:nowrap;min-width:88px;text-align:center;text-transform:uppercase;font-size:14px;text-decoration:none;cursor:pointer;border:1px solid transparent;border-radius:2px}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):active,.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):hover,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):active,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):hover{background-color:rgba(0,0,0,.05)}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):focus,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):focus{border:1px solid rgba(0,0,0,.1)}.alertify .alert nav button.btn,.alertify .dialog nav button.btn{margin:6px 4px}.alertify-logs{position:fixed;z-index:1}.alertify-logs.bottom,.alertify-logs:not(.top){bottom:16px}.alertify-logs.left,.alertify-logs:not(.right){left:16px}.alertify-logs.left>*,.alertify-logs:not(.right)>*{float:left;transform:translateZ(0);height:auto}.alertify-logs.left>.show,.alertify-logs:not(.right)>.show{left:0}.alertify-logs.left>*,.alertify-logs.left>.hide,.alertify-logs:not(.right)>*,.alertify-logs:not(.right)>.hide{left:-110%}.alertify-logs.right{right:16px}.alertify-logs.right>*{float:right;transform:translateZ(0)}.alertify-logs.right>.show{right:0;opacity:1}.alertify-logs.right>*,.alertify-logs.right>.hide{right:-110%;opacity:0}.alertify-logs.top{top:0}.alertify-logs>*{box-sizing:border-box;transition:all .4s cubic-bezier(.25,.8,.25,1);position:relative;clear:both;backface-visibility:hidden;perspective:1000;max-height:0;margin:0;padding:0;overflow:hidden;opacity:0;pointer-events:none}.alertify-logs>.show{margin-top:12px;opacity:1;max-height:1000px;padding:12px;pointer-events:auto}",t.insertBefore(e,t.firstChild)}},removeCSS:function(){var t=document.querySelector("#alertifyCSS");t&&t.parentNode&&t.parentNode.removeChild(t)}};return t.injectCSS(),{_$$alertify:t,parent:function(e){t.parent=e},reset:function(){return t.reset(),this},alert:function(e,o,n){return t.dialog(e,"alert",o,n)||this},confirm:function(e,o,n){return t.dialog(e,"confirm",o,n)||this},prompt:function(e,o,n){return t.dialog(e,"prompt",o,n)||this},log:function(e,o){return t.log(e,"default",o),this},theme:function(e){return t.theme(e),this},success:function(e,o){return t.log(e,"success",o),this},error:function(e,o){return t.log(e,"error",o),this},cancelBtn:function(e){return t.cancelBtn(e),this},okBtn:function(e){return t.okBtn(e),this},delay:function(e){return t.setDelay(e),this},placeholder:function(e){return t.promptPlaceholder=e,this},defaultValue:function(e){return t.promptValue=e,this},maxLogItems:function(e){return t.setMaxLogItems(e),this},closeLogOnClick:function(e){return t.setCloseLogOnClick(!!e),this},logPosition:function(e){return t.setLogPosition(e||""),this},setLogTemplate:function(e){return t.logTemplateMethod=e,this},clearLogs:function(){return t.setupLogContainer().innerHTML="",this},version:t.version}}var e=500,o=function(t){if(t){var o=function(){t&&t.parentNode&&t.parentNode.removeChild(t)};t.classList.remove("show"),t.classList.add("hide"),t.addEventListener("transitionend",o),setTimeout(o,e)}};if("undefined"!=typeof module&&module&&module.exports){module.exports=function(){return new t};var n=new t;for(var i in n)module.exports[i]=n[i]}else"function"==typeof define&&define.amd?define(function(){return new t}):window.alertify=new t}(); \ No newline at end of file diff --git a/public/build/assets/bower/alertify-84061c87f5.js.br b/public/build/assets/bower/alertify-84061c87f5.js.br new file mode 100644 index 00000000..f9e26306 Binary files /dev/null and b/public/build/assets/bower/alertify-84061c87f5.js.br differ diff --git a/public/build/assets/bower/alertify-84061c87f5.js.gz b/public/build/assets/bower/alertify-84061c87f5.js.gz new file mode 100644 index 00000000..f5fe54b0 Binary files /dev/null and b/public/build/assets/bower/alertify-84061c87f5.js.gz differ diff --git a/public/build/assets/js/fetch-5e9040330a.js b/public/build/assets/bower/fetch-d8a2646ccc.js similarity index 97% rename from public/build/assets/js/fetch-5e9040330a.js rename to public/build/assets/bower/fetch-d8a2646ccc.js index fac11e42..01aa5d06 100644 --- a/public/build/assets/js/fetch-5e9040330a.js +++ b/public/build/assets/bower/fetch-d8a2646ccc.js @@ -110,7 +110,7 @@ var support = { blob: 'FileReader' in self && 'Blob' in self && (function() { try { - new Blob(); + new Blob() return true } catch(e) { return false @@ -267,7 +267,7 @@ function headers(xhr) { var head = new Headers() - var pairs = xhr.getAllResponseHeaders().trim().split('\n') + var pairs = (xhr.getAllResponseHeaders() || '').trim().split('\n') pairs.forEach(function(header) { var split = header.trim().split(':') var key = split.shift().trim() @@ -320,9 +320,9 @@ return new Response(null, {status: status, headers: {location: url}}) } - self.Headers = Headers; - self.Request = Request; - self.Response = Response; + self.Headers = Headers + self.Request = Request + self.Response = Response self.fetch = function(input, init) { return new Promise(function(resolve, reject) { @@ -345,7 +345,7 @@ return xhr.getResponseHeader('X-Request-URL') } - return; + return } xhr.onload = function() { @@ -360,7 +360,7 @@ headers: headers(xhr), url: responseURL() } - var body = 'response' in xhr ? xhr.response : xhr.responseText; + var body = 'response' in xhr ? xhr.response : xhr.responseText resolve(new Response(body, options)) } @@ -368,6 +368,10 @@ reject(new TypeError('Network request failed')) } + xhr.ontimeout = function() { + reject(new TypeError('Network request failed')) + } + xhr.open(request.method, request.url, true) if (request.credentials === 'include') { diff --git a/public/build/assets/bower/fetch-d8a2646ccc.js.br b/public/build/assets/bower/fetch-d8a2646ccc.js.br new file mode 100644 index 00000000..28f2b3a1 Binary files /dev/null and b/public/build/assets/bower/fetch-d8a2646ccc.js.br differ diff --git a/public/build/assets/bower/fetch-d8a2646ccc.js.gz b/public/build/assets/bower/fetch-d8a2646ccc.js.gz new file mode 100644 index 00000000..b378ab36 Binary files /dev/null and b/public/build/assets/bower/fetch-d8a2646ccc.js.gz differ diff --git a/public/build/assets/js/marked.min-c2a88705e2.js b/public/build/assets/bower/marked-c2a88705e2.min.js similarity index 100% rename from public/build/assets/js/marked.min-c2a88705e2.js rename to public/build/assets/bower/marked-c2a88705e2.min.js diff --git a/public/build/assets/js/marked.min-c2a88705e2.js.br b/public/build/assets/bower/marked-c2a88705e2.min.js.br similarity index 100% rename from public/build/assets/js/marked.min-c2a88705e2.js.br rename to public/build/assets/bower/marked-c2a88705e2.min.js.br diff --git a/public/build/assets/bower/marked-c2a88705e2.min.js.gz b/public/build/assets/bower/marked-c2a88705e2.min.js.gz new file mode 100644 index 00000000..6f889623 Binary files /dev/null and b/public/build/assets/bower/marked-c2a88705e2.min.js.gz differ diff --git a/public/build/assets/bower/sanitize-85919f917a.css b/public/build/assets/bower/sanitize-85919f917a.css new file mode 100644 index 00000000..e9e84f1c --- /dev/null +++ b/public/build/assets/bower/sanitize-85919f917a.css @@ -0,0 +1,352 @@ +/*! sanitize.css v3.3.0 | CC0 1.0 Public Domain | github.com/10up/sanitize.css */ + +/* Latest tested: Android 6, Chrome 48, Edge 13, Firefox 44, Internet Explorer 11, iOS 9, Opera 35, Safari 9, Windows Phone 8.1 */ + +/* + * Normalization + */ + +abbr[title] { + text-decoration: underline; /* Chrome 48+, Edge 12+, Internet Explorer 11-, Safari 9+ */ + text-decoration: underline dotted; /* Firefox 40+ */ +} + +audio:not([controls]) { + display: none; /* Chrome 44-, iOS 8+, Safari 9+ */ +} + +b, +strong { + font-weight: bolder; /* Edge 12+, Safari 6.2+, and Chrome 18+ */ +} + +button { + -webkit-appearance: button; /* iOS 8+ */ + overflow: visible; /* Internet Explorer 11- */ +} + +button, +input { +} + +button::-moz-focus-inner, input::-moz-focus-inner { + border: 0;/* Firefox 4+ */ + padding: 0;/* Firefox 4+ */ +} + +button:-moz-focusring, input:-moz-focusring { + outline: 1px dotted ButtonText;/* Firefox 4+ */ +} + +button, +select { + text-transform: none; /* Firefox 40+, Internet Explorer 11- */ +} + +details { + display: block; /* Edge 12+, Firefox 40+, Internet Explorer 11-, Windows Phone 8.1+ */ +} + +html { + -ms-overflow-style: -ms-autohiding-scrollbar; /* Edge 12+, Internet Explorer 11- */ + overflow-y: scroll; /* All browsers without overlaying scrollbars */ + -webkit-text-size-adjust: 100%; /* iOS 8+, Windows Phone 8.1+ */ +} + +hr { + overflow: visible; /* Internet Explorer 11-, Edge 12+ */ +} + +input { + -webkit-border-radius: 0 /* iOS 8+ */ +} + +input[type="button"], + input[type="reset"], + input[type="submit"] { + -webkit-appearance: button;/* iOS 8+ */ +} + +input[type="number"] { + width: auto;/* Firefox 36+ */ +} + +input[type="search"] { + -webkit-appearance: textfield;/* Chrome 45+, Safari 9+ */ +} + +input[type="search"]::-webkit-search-cancel-button, + input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none;/* Chrome 45+, Safari 9+ */ +} + +main { + display: block; /* Android 4.3-, Internet Explorer 11-, Windows Phone 8.1+ */ +} + +pre { + overflow: auto; /* Internet Explorer 11- */ +} + +progress { + display: inline-block; /* Internet Explorer 11-, Windows Phone 8.1+ */ +} + +summary { + display: block; /* Firefox 40+, Internet Explorer 11-, Windows Phone 8.1+ */ +} + +svg:not(:root) { + overflow: hidden; /* Internet Explorer 11- */ +} + +template { + display: none; /* Android 4.3-, Internet Explorer 11-, iOS 7-, Safari 7-, Windows Phone 8.1+ */ +} + +textarea { + overflow: auto; /* Edge 12+, Internet Explorer 11- */ +} + +[hidden] { + display: none; /* Internet Explorer 10- */ +} + +/* + * Universal inheritance + */ + +*, +:before, +:after { + box-sizing: inherit; +} + +* { + font-size: inherit; + line-height: inherit; +} + +:before, +:after { + text-decoration: inherit; + vertical-align: inherit; +} + +button, +input, +select, +textarea { + font-family: inherit; + font-style: inherit; + font-weight: inherit; +} + + + +/* + * Opinionated defaults + */ + +/* specify the margin and padding of all elements */ + +* { + margin: 0; + padding: 0; +} + +/* specify the border style and width of all elements */ + +*, +:before, +:after { + border-style: solid; + border-width: 0; +} + +/* remove the tapping delay from clickable elements */ + +a, +area, +button, +input, +label, +select, +textarea, +[tabindex] { + -ms-touch-action: manipulation; + touch-action: manipulation; +} + +/* specify the standard appearance of selects */ + +select { + -moz-appearance: none; /* Firefox 40+ */ + -webkit-appearance: none /* Chrome 45+ */ +} + +select::-ms-expand { + display: none;/* Edge 12+, Internet Explorer 11- */ +} + +select::-ms-value { + color: currentColor;/* Edge 12+, Internet Explorer 11- */ +} + +/* use current current as the default fill of svg elements */ + +svg { + fill: currentColor; +} + +/* specify the progress cursor of updating elements */ + +[aria-busy="true"] { + cursor: progress; +} + +/* specify the pointer cursor of trigger elements */ + +[aria-controls] { + cursor: pointer; +} + +/* specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */ + +[aria-disabled] { + cursor: default; +} + +/* specify the style of visually hidden yet accessible elements */ + +[hidden][aria-hidden="false"] { + clip: rect(0 0 0 0); + display: inherit; + position: absolute +} + +[hidden][aria-hidden="false"]:focus { + clip: auto; +} + + + +/* + * Configurable defaults + */ + +/* specify the background repeat of all elements */ + +* { + background-repeat: no-repeat; +} + +/* specify the root styles of the document */ + +:root { + background-color: #ffffff; + box-sizing: border-box; + color: #000000; + cursor: default; + font: 100%/1.5 sans-serif; +} + +/* specify the text decoration of anchors */ + +a { + text-decoration: none; +} + +/* specify the alignment of media elements */ + +audio, +canvas, +iframe, +img, +svg, +video { + vertical-align: middle; +} + +/* specify the coloring of form elements */ + +button, +input, +select, +textarea { + background-color: transparent; + color: inherit; +} + +/* specify the minimum height of form elements */ + +button, +[type="button"], +[type="date"], +[type="datetime"], +[type="datetime-local"], +[type="email"], +[type="month"], +[type="number"], +[type="password"], +[type="reset"], +[type="search"], +[type="submit"], +[type="tel"], +[type="text"], +[type="time"], +[type="url"], +[type="week"], +select, +textarea { + min-height: 1.5em; +} + +/* specify the font family of code elements */ + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; +} + +/* specify the list style of nav lists */ + +nav ol, +nav ul { + list-style: none; +} + +/* specify the font size of small elements */ + +small { + font-size: 75%; +} + +/* specify the border styling of tables */ + +table { + border-collapse: collapse; + border-spacing: 0; +} + +/* specify the resizability of textareas */ + +textarea { + resize: vertical; +} + +/* specify the background color, font color, and drop shadow of text selections */ + +::-moz-selection { + background-color: #b3d4fc; /* required when declaring ::selection */ + color: #ffffff; + text-shadow: none; +} + +::selection { + background-color: #b3d4fc; /* required when declaring ::selection */ + color: #ffffff; + text-shadow: none; +} diff --git a/public/build/assets/bower/sanitize-85919f917a.css.br b/public/build/assets/bower/sanitize-85919f917a.css.br new file mode 100644 index 00000000..48b4cd4e Binary files /dev/null and b/public/build/assets/bower/sanitize-85919f917a.css.br differ diff --git a/public/build/assets/bower/sanitize-85919f917a.css.gz b/public/build/assets/bower/sanitize-85919f917a.css.gz new file mode 100644 index 00000000..adff6d3f Binary files /dev/null and b/public/build/assets/bower/sanitize-85919f917a.css.gz differ diff --git a/public/build/assets/js/store2.min-c4daa8f871.js b/public/build/assets/bower/store2-c4daa8f871.min.js similarity index 100% rename from public/build/assets/js/store2.min-c4daa8f871.js rename to public/build/assets/bower/store2-c4daa8f871.min.js diff --git a/public/build/assets/js/store2.min-c4daa8f871.js.br b/public/build/assets/bower/store2-c4daa8f871.min.js.br similarity index 100% rename from public/build/assets/js/store2.min-c4daa8f871.js.br rename to public/build/assets/bower/store2-c4daa8f871.min.js.br diff --git a/public/build/assets/bower/store2-c4daa8f871.min.js.gz b/public/build/assets/bower/store2-c4daa8f871.min.js.gz new file mode 100644 index 00000000..40ab6bd7 Binary files /dev/null and b/public/build/assets/bower/store2-c4daa8f871.min.js.gz differ diff --git a/public/build/assets/css/alertify-d84546f82d.css b/public/build/assets/css/alertify-d84546f82d.css deleted file mode 100644 index ced38bdd..00000000 --- a/public/build/assets/css/alertify-d84546f82d.css +++ /dev/null @@ -1 +0,0 @@ -.alertify-logs>*{padding:12px 24px;color:#fff;box-shadow:0 2px 5px 0 rgba(0,0,0,.2);border-radius:1px}.alertify-logs>*,.alertify-logs>.default{background:rgba(0,0,0,.8)}.alertify-logs>.error{background:rgba(244,67,54,.8)}.alertify-logs>.success{background:rgba(76,175,80,.9)}.alertify{position:fixed;background-color:rgba(0,0,0,.3);left:0;right:0;top:0;bottom:0;width:100%;height:100%;z-index:2}.alertify.hide{opacity:0;pointer-events:none}.alertify,.alertify.show{box-sizing:border-box;transition:all .33s cubic-bezier(.25,.8,.25,1)}.alertify,.alertify *{box-sizing:border-box}.alertify .dialog{padding:12px}.alertify .alert,.alertify .dialog{width:100%;margin:0 auto;position:relative;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.alertify .alert>*,.alertify .dialog>*{width:400px;max-width:95%;margin:0 auto;text-align:center;padding:12px;background:#fff;box-shadow:0 2px 4px -1px rgba(0,0,0,.14),0 4px 5px 0 rgba(0,0,0,.098),0 1px 10px 0 rgba(0,0,0,.084)}.alertify .alert .msg,.alertify .dialog .msg{padding:12px;margin-bottom:12px;margin:0;text-align:left}.alertify .alert input:not(.form-control),.alertify .dialog input:not(.form-control){margin-bottom:15px;width:100%;font-size:100%;padding:12px}.alertify .alert input:not(.form-control):focus,.alertify .dialog input:not(.form-control):focus{outline-offset:-2px}.alertify .alert nav,.alertify .dialog nav{text-align:right}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button),.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button){background:transparent;box-sizing:border-box;color:rgba(0,0,0,.87);position:relative;outline:0;border:0;display:inline-block;-webkit-align-items:center;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center;padding:0 6px;margin:6px 8px;line-height:36px;min-height:36px;white-space:nowrap;min-width:88px;text-align:center;text-transform:uppercase;font-size:14px;text-decoration:none;cursor:pointer;border:1px solid transparent;border-radius:2px}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):active,.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):hover,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):active,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):hover{background-color:rgba(0,0,0,.05)}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):focus,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):focus{border:1px solid rgba(0,0,0,.1)}.alertify .alert nav button.btn,.alertify .dialog nav button.btn{margin:6px 4px}.alertify-logs{position:fixed;z-index:1}.alertify-logs.bottom,.alertify-logs:not(.top){bottom:16px}.alertify-logs.left,.alertify-logs:not(.right){left:16px}.alertify-logs.left>*,.alertify-logs:not(.right)>*{float:left;-webkit-transform:translateZ(0);transform:translateZ(0);height:auto}.alertify-logs.left>.show,.alertify-logs:not(.right)>.show{left:0}.alertify-logs.left>*,.alertify-logs.left>.hide,.alertify-logs:not(.right)>*,.alertify-logs:not(.right)>.hide{left:-110%}.alertify-logs.right{right:16px}.alertify-logs.right>*{float:right;-webkit-transform:translateZ(0);transform:translateZ(0)}.alertify-logs.right>.show{right:0;opacity:1}.alertify-logs.right>*,.alertify-logs.right>.hide{right:-110%;opacity:0}.alertify-logs.top{top:0}.alertify-logs>*{box-sizing:border-box;transition:all .4s cubic-bezier(.25,.8,.25,1);position:relative;clear:both;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;perspective:1000;max-height:0;margin:0;padding:0;overflow:hidden;opacity:0;pointer-events:none}.alertify-logs>.show{margin-top:12px;opacity:1;max-height:1000px;padding:12px;pointer-events:auto} \ No newline at end of file diff --git a/public/build/assets/css/alertify-d84546f82d.css.br b/public/build/assets/css/alertify-d84546f82d.css.br deleted file mode 100644 index e5b38b0b..00000000 Binary files a/public/build/assets/css/alertify-d84546f82d.css.br and /dev/null differ diff --git a/public/build/assets/css/alertify-d84546f82d.css.gz b/public/build/assets/css/alertify-d84546f82d.css.gz deleted file mode 100644 index 59ce31ea..00000000 Binary files a/public/build/assets/css/alertify-d84546f82d.css.gz and /dev/null differ diff --git a/public/build/assets/css/global-ef9dfef096.css b/public/build/assets/css/global-c8783949cd.css similarity index 92% rename from public/build/assets/css/global-ef9dfef096.css rename to public/build/assets/css/global-c8783949cd.css index 1750d873..6f98d208 100644 --- a/public/build/assets/css/global-ef9dfef096.css +++ b/public/build/assets/css/global-c8783949cd.css @@ -7,15 +7,14 @@ html { html { box-sizing: border-box; } -*, *:before, *:after { +*, +*::before, +*::after { box-sizing: inherit; } #topheader { - display: -webkit-flex; - display: -ms-flexbox; + display: -webkit-box; display: flex; - -webkit-flex-flow: row; - -ms-flex-flow: row; flex-flow: row; } #topheader a { @@ -30,10 +29,10 @@ nav { .note { background-color: #eee8d5; box-shadow: 0 0 10px 2px #93a1a1; - padding: 0.5em 0.5em; + padding: 0.5em; margin-top: 1em; } -.note:after { +.note::after { content: " "; display: block; height: 0; @@ -63,7 +62,7 @@ nav { margin-left: 2em; margin-right: 2em; font-size: 0.8em; - padding: 0.5em 0.5em; } + padding: 0.5em; } .reply-to { margin-left: 2em; @@ -83,7 +82,6 @@ nav { white-space: nowrap; } .mini-h-card img { - height: 1.26em; display: inline; border-radius: 2px; vertical-align: text-bottom; } @@ -205,10 +203,14 @@ fieldset { min-width: 0; width: 100%; } -input[type="text"], input[type="file"], textarea { +input[type="text"], +input[type="file"], +textarea { width: 100%; } -input, button, textarea { +input, +button, +textarea { -webkit-appearance: none; -moz-appearance: none; background-color: #002b36; @@ -217,6 +219,7 @@ input, button, textarea { border-radius: 4px; } button:hover { + -webkit-transition: 0.5s ease-in-out; transition: 0.5s ease-in-out; background-color: #fdf6e3; color: #002b36; } diff --git a/public/build/assets/css/global-c8783949cd.css.br b/public/build/assets/css/global-c8783949cd.css.br new file mode 100644 index 00000000..25e5eaab Binary files /dev/null and b/public/build/assets/css/global-c8783949cd.css.br differ diff --git a/public/build/assets/css/global-c8783949cd.css.gz b/public/build/assets/css/global-c8783949cd.css.gz new file mode 100644 index 00000000..3daeef9d Binary files /dev/null and b/public/build/assets/css/global-c8783949cd.css.gz differ diff --git a/public/build/assets/css/global-ef9dfef096.css.br b/public/build/assets/css/global-ef9dfef096.css.br deleted file mode 100644 index 45595e73..00000000 Binary files a/public/build/assets/css/global-ef9dfef096.css.br and /dev/null differ diff --git a/public/build/assets/css/global-ef9dfef096.css.gz b/public/build/assets/css/global-ef9dfef096.css.gz deleted file mode 100644 index 1c6683bf..00000000 Binary files a/public/build/assets/css/global-ef9dfef096.css.gz and /dev/null differ diff --git a/public/build/assets/css/global.css.map b/public/build/assets/css/global.css.map index fa39372b..08f882eb 100644 --- a/public/build/assets/css/global.css.map +++ b/public/build/assets/css/global.css.map @@ -1 +1 @@ -{"version":3,"sources":["global.scss","layout.scss","components/fonts.scss","components/colours.scss","components/forms.scss","components/twitter.scss"],"names":[],"mappings":"AAyBA;EACC,+CAAe,EACf;;AAED;EACC,cAAc,EACd;;AC5BD;EACC,uBAAuB,EACvB;;AAED;EACC,oBAAoB,EACpB;;AAED;EACC,sBAAc;EAAd,qBAAc;EAAd,cAAc;EACd,uBAAe;EAAf,mBAAe;EAAf,eAAe,EACf;;AAED;EACC,mBAAmB,EACnB;;AAED;EACC,mBAAmB,EACnB;;AAED;EACC,kBAAkB,EAClB;;AAED;EACC,0BDhBkB;ECiBlB,iCDlBkB;ECmBlB,qBAAqB;EACrB,gBAAgB,EAChB;;AAED;EACC,aAAa;EACb,eAAe;EACf,UAAU;EACV,YAAY,EACZ;;AAED;EACC,sBAAsB,EACtB;;AAED;EACC,cAAc,EACd;;AAED;EACC,YAAY,EACZ;;AAED;EACC,aAAa,EACb;;AAED;EACC,sBAAsB,EACtB;;AAED;EACC,YAAY;EACZ,YAAY;EACZ,cD7CkB,EC8ClB;;AAED;EACC,iBAAiB;EACjB,kBAAkB;EAClB,iBAAiB;EACjB,qBAAqB,EACrB;;AAED;EACC,iBAAiB;EACjB,kBAAkB;EAClB,iBAAiB;EACjB,iBAAiB,EACjB;;AAED;EACC,kBAAkB,EAClB;;AAED;EACC,mBAAmB;EACnB,0BD/EkB;ECgFlB,iBAAiB;EACjB,sBAAsB;EACtB,kBAAkB;EAClB,oBAAoB,EACpB;;AAED;EACC,eAAe;EACf,gBAAgB;EAChB,mBAAmB;EACnB,4BAA4B,EAC5B;;AAED;EACC,eAAe,EACf;;AAED;EACC,kBAAkB;EAClB,oBAAoB,EACpB;;AAED;EACC,eAAe,EACf;;AAED;EACC,YAAY;EACZ,aAAa;EACb,8BAA8B,EAC9B;;AAID;EACC,kBAAkB;EAClB,qBAAqB,EACrB;;AAED;EACC,iBAAiB;EACjB,mBAAmB;EACnB,mBAAmB,EACnB;;AAGD;EACC,mBAAmB,EACnB;;AAED;EACC,sBAAsB,EACtB;;AAED;EACC,aAAa;EACb,WAAW;EACX,mBAAmB;EACnB,OAAO;EACP,QAAQ,EACR;;AAED;EACC,iBAAiB,EACjB;;AAED;EACC,cAAc,EACd;;AAED,mBAAmB;AACnB;EACC;IACC,kBAAkB;IAClB,mBAAmB,EACnB;EAED;IACC,kBAAkB;IAClB,mBAAmB,EACnB;EAED;IACC,aAAa;IACb,cAAc,EACd,EAAA;;AAGF;EACC;IACC,kBAAkB;IAClB,mBAAmB,EACnB;EAED;IACC,sBAAsB,EACtB;EAED;IACC,kBAAkB;IAClB,mBAAmB,EACnB;EAED;IACC,YAAY;IACZ,aAAa,EACb,EAAA;;ACjMF;EACC,mCAAmC;EACnC,sCAA8B;EAA9B,8BAA8B;EAC9B,mCFFsC;EEGtC,iBAAiB,EACjB;;AAED;EACC,mCFPsC,EEQtC;;AAED;EACC,mCFVyC,EEWzC;;AAED;EACC,sBAAsB,EACtB;;AAED;EACC,sCAA8B;EAA9B,8BAA8B,EAC9B;;AAED;EACC,sBAAsB,EACtB;;AAED;EACC,sBAAsB,EACtB;;AAED;EACC,iBAAiB,EACjB;;AAED;EACC,YAAY;EACZ,YAAY,EACZ;;ACvCD;EACC,eHKkB,EGJlB;;AAED;EACC,eHCkB,EGAlB;;AAED;EACC,eHUkB,EGTlB;;ACTD;EACC,YAAY,EACZ;;AAED;EACC,aAAa;EACb,YAAY,EACZ;;AAED;EACC,YAAY,EACZ;;AAED;EACC,yBAAyB;EACzB,sBAAsB;EACtB,0BJXkB;EIYlB,eJLkB;EIMlB,0BJNkB;EIOlB,mBAAmB,EACnB;;AAED;EACC,6BAA6B;EAC7B,0BJZkB;EIalB,eJpBkB,EIqBlB;;AAED;EACC,0BJnBkB;EIoBlB,eJzBkB,EI0BlB;;AAED;EACC,6BAA6B;EAC7B,0BAA0B,EAC1B;;AAED;EACC,oBAAoB;EACpB,eAAe;EACf,aAAa,EACb;;AC1CD;EACE,4BAA4B,EAC7B;;AAED;EACE,cAAc,EACf","file":"global.css","sourcesContent":["//global.scss\n\n//variables\n$font-stack-body: \"leitura-news\", serif;\n$font-stack-headers: \"prenton\", sans-serif;\n\n//solarized variables TERMCOL\n$base03: #002b36;//brblack\n$base02: #073642;//black\n$base01: #586e75;//brgreen\n$base00: #657b83;//bryellow\n$base0: #839496;//brblue\n$base1: #93a1a1;//brcyan\n$base2: #eee8d5;//white\n$base3: #fdf6e3;//brwhite\n$yellow: #b58900;\n$orange: #cb4b16;\n$red: #dc322f;\n$magenta: #d33682;\n$violet: #6c71c4;\n$blue: #268bd2;\n$cyan: #2aa198;\n$green: #859900;\n\n//global styles\nhtml {\n\tbackground: url('/assets/img/escheresque.png');\n}\n\n.map {\n\theight: 150px;\n}\n\n//layout\n@import \"layout\";\n\n//components\n@import \"components/fonts\";\n@import \"components/colours\";\n@import \"components/forms\";\n@import \"components/twitter\";\n","//layout.scss\n\n//boxes\nhtml {\n\tbox-sizing: border-box;\n}\n\n*, *:before, *:after {\n\tbox-sizing: inherit;\n}\n\n#topheader {\n\tdisplay: flex;\n\tflex-flow: row;\n}\n\n#topheader a {\n\tpadding: 0.5em 1em;\n}\n\nnav {\n\tpadding-top: 0.5em;\n}\n\n.social-list {\n\tpadding-left: 2em;\n}\n\n.note {\n\tbackground-color: $base2;\n\tbox-shadow: 0 0 10px 2px $base1;\n\tpadding: 0.5em 0.5em;\n\tmargin-top: 1em;\n}\n\n.note:after {\n\tcontent: \" \";\n\tdisplay: block;\n\theight: 0;\n\tclear: both;\n}\n\n.note a {\n\tword-wrap: break-word;\n}\n\n.note .e-content p:first-child {\n\tmargin-top: 0;\n}\n\n.note-metadata {\n\twidth: 100%;\n}\n\n.social-links {\n\tfloat: right;\n}\n\n.social-links a {\n\ttext-decoration: none;\n}\n\n.icon {\n\twidth: auto;\n\theight: 1em;\n\tfill: $blue;\n}\n\n.reply {\n\tmargin-left: 2em;\n\tmargin-right: 2em;\n\tfont-size: 0.8em;\n\tpadding: 0.5em 0.5em;\n}\n\n.reply-to {\n\tmargin-left: 2em;\n\tmargin-right: 2em;\n\tfont-size: 0.8em;\n\tpadding-top: 2em;\n}\n\n.reply-to + .note {\n\tmargin-top: 0.3em;\n}\n\n.mini-h-card {\n\tborder-radius: 2px;\n\tborder: 1px solid $base01;\n\tpadding: 0 0.2em;\n\ttext-decoration: none;\n\tmargin-right: 5px;\n\twhite-space: nowrap;\n}\n\n.mini-h-card img {\n\theight: 1.26em;\n\tdisplay: inline;\n\tborder-radius: 2px;\n\tvertical-align: text-bottom;\n}\n\n.like-photo {\n\theight: 1.26em;\n}\n\n.reply .e-content {\n\tmargin-top: 0.5em;\n\tpadding-left: 0.5em;\n}\n\n.notes-subtitle {\n\tfont-size: 1em;\n}\n\n.note-photo {\n\twidth: 100%;\n\theight: auto;\n\timage-orientation: from-image;\n}\n\n//articles\n\narticle header {\n\tmargin-top: 0.5em;\n\tmargin-bottom: 0.8em;\n}\n\n.post-info {\n\tfont-size: 0.8em;\n\tfont-style: italic;\n\tmargin-top: -0.8em;\n}\n\n//contacts\n.contact {\n\tposition: relative;\n}\n\n.contact-links {\n\tlist-style-type: none;\n}\n\n.contact img {\n\theight: auto;\n\twidth: 2em;\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n}\n\n.contact-info {\n\tmargin-left: 2em;\n}\n\n#map {\n\theight: 300px;\n}\n\n/* media queries */\n@media (min-width: 700px) {\n\tmain {\n\t\tmargin-left: 10em;\n\t\tmargin-right: 10em;\n\t}\n\n\tfooter {\n\t\tmargin-left: 13em;\n\t\tmargin-right: 13em;\n\t}\n\n\t.youtube {\n\t\twidth: 640px;\n\t\theight: 360px;\n\t}\n}\n\n@media (max-width: 699px) {\n\tmain {\n\t\tmargin-left: 10px;\n\t\tmargin-right: 10px;\n\t}\n\n\tarticle {\n\t\tword-wrap: break-word;\n\t}\n\n\tfooter {\n\t\tmargin-left: 15px;\n\t\tmargin-right: 15px;\n\t}\n\n\t.youtube {\n\t\twidth: 100%;\n\t\theight: auto;\n\t}\n}\n","//fonts.scss\n\nbody {\n\ttext-rendering: optimizeLegibility;\n\tfont-feature-settings: \"liga\";\n\tfont-family: $font-stack-body;\n\tfont-size: 1.2em;\n}\n\n#topheader h1 {\n\tfont-family: $font-stack-body;\n}\n\nh1 {\n\tfont-family: $font-stack-headers;\n}\n\n#topheader a {\n\ttext-decoration: none;\n}\n\nnav {\n\tfont-feature-settings: \"dlig\";\n}\n\narticle header h1 a {\n\ttext-decoration: none;\n}\n\narticle div a {\n\ttext-decoration: none;\n}\n\nfooter {\n\tfont-size: 0.8em;\n}\n\n.emoji {\n\twidth: auto;\n\theight: 1em;\n}\n","//colours.scss\nbody {\n\tcolor: $base03;\n}\n\nheader a {\n\tcolor: $base03;\n}\n\na {\n\tcolor: $blue;\n}","//forms.scss\n\nform {\n\twidth: 100%;\n}\n\nfieldset {\n\tmin-width: 0;\n\twidth: 100%;\n}\n\ninput[type=\"text\"], input[type=\"file\"], textarea {\n\twidth: 100%;\n}\n\ninput, button, textarea {\n\t-webkit-appearance: none;\n\t-moz-appearance: none;\n\tbackground-color: $base03;\n\tcolor: $base3;\n\tborder: 1px solid $base3;\n\tborder-radius: 4px;\n}\n\nbutton:hover {\n\ttransition: 0.5s ease-in-out;\n\tbackground-color: $base3;\n\tcolor: $base03;\n}\n\nbutton:disabled {\n\tbackground-color: $base1;\n\tcolor: $base03;\n}\n\ninput[type=\"checkbox\"] {\n\t-webkit-appearance: checkbox;\n\t-moz-appearance: checkbox;\n}\n\n#photo {\n\tbackground: inherit;\n\tcolor: inherit;\n\tborder: none;\n}\n","//twitter.scss\n\n.twitter-tweet-rendered {\n margin-bottom: 0 !important;\n}\n\n.twitter-tweet-rendered + .note {\n margin-top: 0;\n}\n"],"sourceRoot":"/source/"} \ No newline at end of file +{"version":3,"sources":["global.scss","layout.scss","components/fonts.scss","components/colours.scss","components/forms.scss","components/twitter.scss"],"names":[],"mappings":"AAyBA;EACI,+CAAe,EAClB;;AAED;EACI,cAAc,EACjB;;AC5BD;EACI,uBAAuB,EAC1B;;AAED;;;EAGI,oBAAoB,EACvB;;AAED;EACI,qBAAc;EAAd,cAAc;EACd,eAAe,EAClB;;AAED;EACI,mBAAmB,EACtB;;AAED;EACI,mBAAmB,EACtB;;AAED;EACI,kBAAkB,EACrB;;AAED;EACI,0BDlBe;ECmBf,iCDpBe;ECqBf,eAAe;EACf,gBAAgB,EACnB;;AAED;EACI,aAAa;EACb,eAAe;EACf,UAAU;EACV,YAAY,EACf;;AAED;EACI,sBAAsB,EACzB;;AAED;EACI,cAAc,EACjB;;AAED;EACI,YAAY,EACf;;AAED;EACI,aAAa,EAChB;;AAED;EACI,sBAAsB,EACzB;;AAED;EACI,YAAY;EACZ,YAAY;EACZ,cD/Ce,ECgDlB;;AAED;EACI,iBAAiB;EACjB,kBAAkB;EAClB,iBAAiB;EACjB,eAAe,EAClB;;AAED;EACI,iBAAiB;EACjB,kBAAkB;EAClB,iBAAiB;EACjB,iBAAiB,EACpB;;AAED;EACI,kBAAkB,EACrB;;AAED;EACI,mBAAmB;EACnB,0BDjFe;ECkFf,iBAAiB;EACjB,sBAAsB;EACtB,kBAAkB;EAClB,oBAAoB,EACvB;;AAED;EACI,gBAAgB;EAChB,mBAAmB;EACnB,4BAA4B,EAC/B;;AAED;EACI,eAAe,EAClB;;AAED;EACI,kBAAkB;EAClB,oBAAoB,EACvB;;AAED;EACI,eAAe,EAClB;;AAED;EACI,YAAY;EACZ,aAAa;EACb,8BAA8B,EACjC;;AAID;EACI,kBAAkB;EAClB,qBAAqB,EACxB;;AAED;EACI,iBAAiB;EACjB,mBAAmB;EACnB,mBAAmB,EACtB;;AAGD;EACI,mBAAmB,EACtB;;AAED;EACI,sBAAsB,EACzB;;AAED;EACI,aAAa;EACb,WAAW;EACX,mBAAmB;EACnB,OAAO;EACP,QAAQ,EACX;;AAED;EACI,iBAAiB,EACpB;;AAED;EACI,cAAc,EACjB;;AAED,mBAAmB;AACnB;EACI;IACI,kBAAkB;IAClB,mBAAmB,EACtB;EAED;IACI,kBAAkB;IAClB,mBAAmB,EACtB;EAED;IACI,aAAa;IACb,cAAc,EACjB,EAAA;;AAGL;EACI;IACI,kBAAkB;IAClB,mBAAmB,EACtB;EAED;IACI,sBAAsB,EACzB;EAED;IACI,kBAAkB;IAClB,mBAAmB,EACtB;EAED;IACI,YAAY;IACZ,aAAa,EAChB,EAAA;;AClML;EACI,mCAAmC;EACnC,sCAA8B;EAA9B,8BAA8B;EAC9B,mCFFmC;EEGnC,iBAAiB,EACpB;;AAED;EACI,mCFPmC,EEQtC;;AAED;EACI,mCFVsC,EEWzC;;AAED;EACI,sBAAsB,EACzB;;AAED;EACI,sCAA8B;EAA9B,8BAA8B,EACjC;;AAED;EACI,sBAAsB,EACzB;;AAED;EACI,sBAAsB,EACzB;;AAED;EACI,iBAAiB,EACpB;;AAED;EACI,YAAY;EACZ,YAAY,EACf;;ACvCD;EACI,eHKe,EGJlB;;AAED;EACI,eHCe,EGAlB;;AAED;EACI,eHUe,EGTlB;;ACTD;EACI,YAAY,EACf;;AAED;EACI,aAAa;EACb,YAAY,EACf;;AAED;;;EAGI,YAAY,EACf;;AAED;;;EAGI,yBAAyB;EACzB,sBAAsB;EACtB,0BJfe;EIgBf,eJTe;EIUf,0BJVe;EIWf,mBAAmB,EACtB;;AAED;EACI,qCAA6B;EAA7B,6BAA6B;EAC7B,0BJhBe;EIiBf,eJxBe,EIyBlB;;AAED;EACI,0BJvBe;EIwBf,eJ7Be,EI8BlB;;AAED;EACI,6BAA6B;EAC7B,0BAA0B,EAC7B;;AAED;EACI,oBAAoB;EACpB,eAAe;EACf,aAAa,EAChB;;AC9CD;EACI,4BAA4B,EAC/B;;AAED;EACI,cAAc,EACjB","file":"global.css","sourcesContent":["//global.scss\n\n//variables\n$font-stack-body: \"leitura-news\", serif;\n$font-stack-headers: \"prenton\", sans-serif;\n\n//solarized variables TERMCOL\n$base03: #002b36;//brblack\n$base02: #073642;//black\n$base01: #586e75;//brgreen\n$base00: #657b83;//bryellow\n$base0: #839496;//brblue\n$base1: #93a1a1;//brcyan\n$base2: #eee8d5;//white\n$base3: #fdf6e3;//brwhite\n$yellow: #b58900;\n$orange: #cb4b16;\n$red: #dc322f;\n$magenta: #d33682;\n$violet: #6c71c4;\n$blue: #268bd2;\n$cyan: #2aa198;\n$green: #859900;\n\n//global styles\nhtml {\n background: url('/assets/img/escheresque.png');\n}\n\n.map {\n height: 150px;\n}\n\n//layout\n@import \"layout\";\n\n//components\n@import \"components/fonts\";\n@import \"components/colours\";\n@import \"components/forms\";\n@import \"components/twitter\";\n","//layout.scss\n\n//boxes\nhtml {\n box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n#topheader {\n display: flex;\n flex-flow: row;\n}\n\n#topheader a {\n padding: 0.5em 1em;\n}\n\nnav {\n padding-top: 0.5em;\n}\n\n.social-list {\n padding-left: 2em;\n}\n\n.note {\n background-color: $base2;\n box-shadow: 0 0 10px 2px $base1;\n padding: 0.5em;\n margin-top: 1em;\n}\n\n.note::after {\n content: \" \";\n display: block;\n height: 0;\n clear: both;\n}\n\n.note a {\n word-wrap: break-word;\n}\n\n.note .e-content p:first-child {\n margin-top: 0;\n}\n\n.note-metadata {\n width: 100%;\n}\n\n.social-links {\n float: right;\n}\n\n.social-links a {\n text-decoration: none;\n}\n\n.icon {\n width: auto;\n height: 1em;\n fill: $blue;\n}\n\n.reply {\n margin-left: 2em;\n margin-right: 2em;\n font-size: 0.8em;\n padding: 0.5em;\n}\n\n.reply-to {\n margin-left: 2em;\n margin-right: 2em;\n font-size: 0.8em;\n padding-top: 2em;\n}\n\n.reply-to + .note {\n margin-top: 0.3em;\n}\n\n.mini-h-card {\n border-radius: 2px;\n border: 1px solid $base01;\n padding: 0 0.2em;\n text-decoration: none;\n margin-right: 5px;\n white-space: nowrap;\n}\n\n.mini-h-card img {\n display: inline;\n border-radius: 2px;\n vertical-align: text-bottom;\n}\n\n.like-photo {\n height: 1.26em;\n}\n\n.reply .e-content {\n margin-top: 0.5em;\n padding-left: 0.5em;\n}\n\n.notes-subtitle {\n font-size: 1em;\n}\n\n.note-photo {\n width: 100%;\n height: auto;\n image-orientation: from-image;\n}\n\n//articles\n\narticle header {\n margin-top: 0.5em;\n margin-bottom: 0.8em;\n}\n\n.post-info {\n font-size: 0.8em;\n font-style: italic;\n margin-top: -0.8em;\n}\n\n//contacts\n.contact {\n position: relative;\n}\n\n.contact-links {\n list-style-type: none;\n}\n\n.contact img {\n height: auto;\n width: 2em;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.contact-info {\n margin-left: 2em;\n}\n\n#map {\n height: 300px;\n}\n\n/* media queries */\n@media (min-width: 700px) {\n main {\n margin-left: 10em;\n margin-right: 10em;\n }\n\n footer {\n margin-left: 13em;\n margin-right: 13em;\n }\n\n .youtube {\n width: 640px;\n height: 360px;\n }\n}\n\n@media (max-width: 699px) {\n main {\n margin-left: 10px;\n margin-right: 10px;\n }\n\n article {\n word-wrap: break-word;\n }\n\n footer {\n margin-left: 15px;\n margin-right: 15px;\n }\n\n .youtube {\n width: 100%;\n height: auto;\n }\n}\n","//fonts.scss\n\nbody {\n text-rendering: optimizeLegibility;\n font-feature-settings: \"liga\";\n font-family: $font-stack-body;\n font-size: 1.2em;\n}\n\n#topheader h1 {\n font-family: $font-stack-body;\n}\n\nh1 {\n font-family: $font-stack-headers;\n}\n\n#topheader a {\n text-decoration: none;\n}\n\nnav {\n font-feature-settings: \"dlig\";\n}\n\narticle header h1 a {\n text-decoration: none;\n}\n\narticle div a {\n text-decoration: none;\n}\n\nfooter {\n font-size: 0.8em;\n}\n\n.emoji {\n width: auto;\n height: 1em;\n}\n","//colours.scss\nbody {\n color: $base03;\n}\n\nheader a {\n color: $base03;\n}\n\na {\n color: $blue;\n}\n","//forms.scss\n\nform {\n width: 100%;\n}\n\nfieldset {\n min-width: 0;\n width: 100%;\n}\n\ninput[type=\"text\"],\ninput[type=\"file\"],\ntextarea {\n width: 100%;\n}\n\ninput,\nbutton,\ntextarea {\n -webkit-appearance: none;\n -moz-appearance: none;\n background-color: $base03;\n color: $base3;\n border: 1px solid $base3;\n border-radius: 4px;\n}\n\nbutton:hover {\n transition: 0.5s ease-in-out;\n background-color: $base3;\n color: $base03;\n}\n\nbutton:disabled {\n background-color: $base1;\n color: $base03;\n}\n\ninput[type=\"checkbox\"] {\n -webkit-appearance: checkbox;\n -moz-appearance: checkbox;\n}\n\n#photo {\n background: inherit;\n color: inherit;\n border: none;\n}\n","//twitter.scss\n\n.twitter-tweet-rendered {\n margin-bottom: 0 !important;\n}\n\n.twitter-tweet-rendered + .note {\n margin-top: 0;\n}\n"],"sourceRoot":"/source/"} \ No newline at end of file diff --git a/public/build/assets/css/prism-5c98941a94.css.gz b/public/build/assets/css/prism-5c98941a94.css.gz deleted file mode 100644 index 652d5e2b..00000000 Binary files a/public/build/assets/css/prism-5c98941a94.css.gz and /dev/null differ diff --git a/public/build/assets/css/projects-d945298e4f.css.gz b/public/build/assets/css/projects-d945298e4f.css.gz index deca5763..f773d147 100644 Binary files a/public/build/assets/css/projects-d945298e4f.css.gz and b/public/build/assets/css/projects-d945298e4f.css.gz differ diff --git a/public/build/assets/css/sanitize.min-535bccd783.css b/public/build/assets/css/sanitize.min-535bccd783.css deleted file mode 100644 index 9d0d9800..00000000 --- a/public/build/assets/css/sanitize.min-535bccd783.css +++ /dev/null @@ -1,2 +0,0 @@ -/*! sanitize.css v3.2.0 | CC0 1.0 Public Domain | github.com/10up/sanitize.css */audio:not([controls]){display:none}button{-webkit-appearance:button;overflow:visible}details{display:block}html{-ms-overflow-style:-ms-autohiding-scrollbar;overflow-y:scroll;-webkit-text-size-adjust:100%}input{-webkit-border-radius:0}input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button}input[type=number]{width:auto}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}main{display:block}pre{overflow:auto}progress{display:inline-block}small{font-size:75%}summary{display:block}svg:not(:root){overflow:hidden}template{display:none}textarea{overflow:auto}[hidden]{display:none}*,:after,:before{box-sizing:inherit}*{font-size:inherit;line-height:inherit}:after,:before{text-decoration:inherit;vertical-align:inherit}*,:after,:before{border-style:solid;border-width:0}*{background-repeat:no-repeat;margin:0;padding:0}:root{background-color:#fff;box-sizing:border-box;color:#000;cursor:default;font:100%/1.5 sans-serif}a{text-decoration:none}audio,canvas,iframe,img,svg,video{vertical-align:middle}button,input,select,textarea{background-color:transparent;color:inherit;font-family:inherit;font-style:inherit;font-weight:inherit}[type=button],[type=date],[type=datetime-local],[type=datetime],[type=email],[type=month],[type=number],[type=password],[type=reset],[type=search],[type=submit],[type=tel],[type=text],[type=time],[type=url],[type=week],button,select,textarea{min-height:1.5em}code,kbd,pre,samp{font-family:monospace}nav ol,nav ul{list-style:none}select{-moz-appearance:none;-webkit-appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}table{border-collapse:collapse;border-spacing:0}textarea{resize:vertical}::-moz-selection{background-color:#b3d4fc;color:#fff;text-shadow:none}::selection{background-color:#b3d4fc;color:#fff;text-shadow:none}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled]{cursor:default}[hidden][aria-hidden=false]{clip:rect(0 0 0 0);display:inherit;position:absolute}[hidden][aria-hidden=false]:focus{clip:auto}[tabindex],a,area,button,input,label,select,textarea{-ms-touch-action:manipulation;touch-action:manipulation} -/*# sourceMappingURL=sanitize.min.css.map */ \ No newline at end of file diff --git a/public/build/assets/css/sanitize.min-535bccd783.css.br b/public/build/assets/css/sanitize.min-535bccd783.css.br deleted file mode 100644 index f20400fd..00000000 Binary files a/public/build/assets/css/sanitize.min-535bccd783.css.br and /dev/null differ diff --git a/public/build/assets/css/sanitize.min-535bccd783.css.gz b/public/build/assets/css/sanitize.min-535bccd783.css.gz deleted file mode 100644 index ba3a709e..00000000 Binary files a/public/build/assets/css/sanitize.min-535bccd783.css.gz and /dev/null differ diff --git a/public/build/assets/js/Autolinker.min-b46556773a.js b/public/build/assets/js/Autolinker.min-b46556773a.js deleted file mode 100644 index e4f6366a..00000000 --- a/public/build/assets/js/Autolinker.min-b46556773a.js +++ /dev/null @@ -1,10 +0,0 @@ -/*! - * Autolinker.js - * 0.24.0 - * - * Copyright(c) 2016 Gregory Jacobs - * MIT - * - * https://github.com/gregjacobs/Autolinker.js - */ -!function(a,b){"function"==typeof define&&define.amd?define([],function(){return a.Autolinker=b()}):"object"==typeof exports?module.exports=b():a.Autolinker=b()}(this,function(){var a=function(a){a=a||{},this.urls=this.normalizeUrlsCfg(a.urls),this.email="boolean"==typeof a.email?a.email:!0,this.twitter="boolean"==typeof a.twitter?a.twitter:!0,this.phone="boolean"==typeof a.phone?a.phone:!0,this.hashtag=a.hashtag||!1,this.newWindow="boolean"==typeof a.newWindow?a.newWindow:!0,this.stripPrefix="boolean"==typeof a.stripPrefix?a.stripPrefix:!0;var b=this.hashtag;if(b!==!1&&"twitter"!==b&&"facebook"!==b&&"instagram"!==b)throw new Error("invalid `hashtag` cfg - see docs");this.truncate=this.normalizeTruncateCfg(a.truncate),this.className=a.className||"",this.replaceFn=a.replaceFn||null,this.htmlParser=null,this.matchers=null,this.tagBuilder=null};return a.prototype={constructor:a,normalizeUrlsCfg:function(a){return null==a&&(a=!0),"boolean"==typeof a?{schemeMatches:a,wwwMatches:a,tldMatches:a}:{schemeMatches:"boolean"==typeof a.schemeMatches?a.schemeMatches:!0,wwwMatches:"boolean"==typeof a.wwwMatches?a.wwwMatches:!0,tldMatches:"boolean"==typeof a.tldMatches?a.tldMatches:!0}},normalizeTruncateCfg:function(b){return"number"==typeof b?{length:b,location:"end"}:a.Util.defaults(b||{},{length:Number.POSITIVE_INFINITY,location:"end"})},parse:function(a){for(var b=this.getHtmlParser(),c=b.parse(a),d=0,e=[],f=0,g=c.length;g>f;f++){var h=c[f],i=h.getType();if("element"===i&&"a"===h.getTagName())h.isClosing()?d=Math.max(d-1,0):d++;else if("text"===i&&0===d){var j=this.parseText(h.getText(),h.getOffset());e.push.apply(e,j)}}return e=this.compactMatches(e),this.hashtag||(e=e.filter(function(a){return"hashtag"!==a.getType()})),this.email||(e=e.filter(function(a){return"email"!==a.getType()})),this.phone||(e=e.filter(function(a){return"phone"!==a.getType()})),this.twitter||(e=e.filter(function(a){return"twitter"!==a.getType()})),this.urls.schemeMatches||(e=e.filter(function(a){return"url"!==a.getType()||"scheme"!==a.getUrlMatchType()})),this.urls.wwwMatches||(e=e.filter(function(a){return"url"!==a.getType()||"www"!==a.getUrlMatchType()})),this.urls.tldMatches||(e=e.filter(function(a){return"url"!==a.getType()||"tld"!==a.getUrlMatchType()})),e},compactMatches:function(a){a.sort(function(a,b){return a.getOffset()-b.getOffset()});for(var b=0;be;e++){for(var g=c[e].parseMatches(a),h=0,i=g.length;i>h;h++)g[h].setOffset(b+g[h].getOffset());d.push.apply(d,g)}return d},link:function(a){if(!a)return"";for(var b=this.parse(a),c=[],d=0,e=0,f=b.length;f>e;e++){var g=b[e];c.push(a.substring(d,g.getOffset())),c.push(this.createMatchReturnVal(g)),d=g.getOffset()+g.getMatchedText().length}return c.push(a.substring(d)),c.join("")},createMatchReturnVal:function(b){var c;if(this.replaceFn&&(c=this.replaceFn.call(this,this,b)),"string"==typeof c)return c;if(c===!1)return b.getMatchedText();if(c instanceof a.HtmlTag)return c.toAnchorString();var d=this.getTagBuilder(),e=d.build(b);return e.toAnchorString()},getHtmlParser:function(){var b=this.htmlParser;return b||(b=this.htmlParser=new a.htmlParser.HtmlParser),b},getMatchers:function(){if(this.matchers)return this.matchers;var b=a.matcher,c=[new b.Hashtag({serviceName:this.hashtag}),new b.Email,new b.Phone,new b.Twitter,new b.Url({stripPrefix:this.stripPrefix})];return this.matchers=c},getTagBuilder:function(){var b=this.tagBuilder;return b||(b=this.tagBuilder=new a.AnchorTagBuilder({newWindow:this.newWindow,truncate:this.truncate,className:this.className})),b}},a.link=function(b,c){var d=new a(c);return d.link(b)},a.match={},a.matcher={},a.htmlParser={},a.truncate={},a.Util={abstractMethod:function(){throw"abstract"},trimRegex:/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,assign:function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return a},defaults:function(a,b){for(var c in b)b.hasOwnProperty(c)&&void 0===a[c]&&(a[c]=b[c]);return a},extend:function(b,c){var d=b.prototype,e=function(){};e.prototype=d;var f;f=c.hasOwnProperty("constructor")?c.constructor:function(){d.constructor.apply(this,arguments)};var g=f.prototype=new e;return g.constructor=f,g.superclass=d,delete c.constructor,a.Util.assign(g,c),f},ellipsis:function(a,b,c){return a.length>b&&(c=null==c?"..":c,a=a.substring(0,b-c.length)+c),a},indexOf:function(a,b){if(Array.prototype.indexOf)return a.indexOf(b);for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},splitAndCapture:function(a,b){if(!b.global)throw new Error("`splitRegex` must have the 'g' flag set");for(var c,d=[],e=0;c=b.exec(a);)d.push(a.substring(e,c.index)),d.push(c[0]),e=c.index+c[0].length;return d.push(a.substring(e)),d},trim:function(a){return a.replace(this.trimRegex,"")}},a.HtmlTag=a.Util.extend(Object,{whitespaceRegex:/\s+/,constructor:function(b){a.Util.assign(this,b),this.innerHtml=this.innerHtml||this.innerHTML},setTagName:function(a){return this.tagName=a,this},getTagName:function(){return this.tagName||""},setAttr:function(a,b){var c=this.getAttrs();return c[a]=b,this},getAttr:function(a){return this.getAttrs()[a]},setAttrs:function(b){var c=this.getAttrs();return a.Util.assign(c,b),this},getAttrs:function(){return this.attrs||(this.attrs={})},setClass:function(a){return this.setAttr("class",a)},addClass:function(b){for(var c,d=this.getClass(),e=this.whitespaceRegex,f=a.Util.indexOf,g=d?d.split(e):[],h=b.split(e);c=h.shift();)-1===f(g,c)&&g.push(c);return this.getAttrs()["class"]=g.join(" "),this},removeClass:function(b){for(var c,d=this.getClass(),e=this.whitespaceRegex,f=a.Util.indexOf,g=d?d.split(e):[],h=b.split(e);g.length&&(c=h.shift());){var i=f(g,c);-1!==i&&g.splice(i,1)}return this.getAttrs()["class"]=g.join(" "),this},getClass:function(){return this.getAttrs()["class"]||""},hasClass:function(a){return-1!==(" "+this.getClass()+" ").indexOf(" "+a+" ")},setInnerHtml:function(a){return this.innerHtml=a,this},getInnerHtml:function(){return this.innerHtml||""},toAnchorString:function(){var a=this.getTagName(),b=this.buildAttrsStr();return b=b?" "+b:"",["<",a,b,">",this.getInnerHtml(),""].join("")},buildAttrsStr:function(){if(!this.attrs)return"";var a=this.getAttrs(),b=[];for(var c in a)a.hasOwnProperty(c)&&b.push(c+'="'+a[c]+'"');return b.join(" ")}}),a.RegexLib=function(){var a="A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠ-ࢴऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛱ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々〆〱-〵〻〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿕ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛥꜗ-ꜟꜢ-ꞈꞋ-ꞭꞰ-ꞷꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭥꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",b="0-9٠-٩۰-۹߀-߉०-९০-৯੦-੯૦-૯୦-୯௦-௯౦-౯೦-೯൦-൯෦-෯๐-๙໐-໙༠-༩၀-၉႐-႙០-៩᠐-᠙᥆-᥏᧐-᧙᪀-᪉᪐-᪙᭐-᭙᮰-᮹᱀-᱉᱐-᱙꘠-꘩꣐-꣙꤀-꤉꧐-꧙꧰-꧹꩐-꩙꯰-꯹0-9",c=a+b,d=new RegExp("["+c+".\\-]*["+c+"\\-]"),e=/(?:international|construction|contractors|enterprises|photography|productions|foundation|immobilien|industries|management|properties|technology|christmas|community|directory|education|equipment|institute|marketing|solutions|vacations|bargains|boutique|builders|catering|cleaning|clothing|computer|democrat|diamonds|graphics|holdings|lighting|partners|plumbing|supplies|training|ventures|academy|careers|company|cruises|domains|exposed|flights|florist|gallery|guitars|holiday|kitchen|neustar|okinawa|recipes|rentals|reviews|shiksha|singles|support|systems|agency|berlin|camera|center|coffee|condos|dating|estate|events|expert|futbol|kaufen|luxury|maison|monash|museum|nagoya|photos|repair|report|social|supply|tattoo|tienda|travel|viajes|villas|vision|voting|voyage|actor|build|cards|cheap|codes|dance|email|glass|house|mango|ninja|parts|photo|press|shoes|solar|today|tokyo|tools|watch|works|aero|arpa|asia|best|bike|blue|buzz|camp|club|cool|coop|farm|fish|gift|guru|info|jobs|kiwi|kred|land|limo|link|menu|mobi|moda|name|pics|pink|post|qpon|rich|ruhr|sexy|tips|vote|voto|wang|wien|wiki|zone|bar|bid|biz|cab|cat|ceo|com|edu|gov|int|kim|mil|net|onl|org|pro|pub|red|tel|uno|wed|xxx|xyz|ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw)\b/;return{alphaNumericCharsStr:c,domainNameRegex:d,tldRegex:e}}(),a.AnchorTagBuilder=a.Util.extend(Object,{constructor:function(b){a.Util.assign(this,b)},build:function(b){return new a.HtmlTag({tagName:"a",attrs:this.createAttrs(b.getType(),b.getAnchorHref()),innerHtml:this.processAnchorText(b.getAnchorText())})},createAttrs:function(a,b){var c={href:b},d=this.createCssClass(a);return d&&(c["class"]=d),this.newWindow&&(c.target="_blank"),c},createCssClass:function(a){var b=this.className;return b?b+" "+b+"-"+a:""},processAnchorText:function(a){return a=this.doTruncate(a)},doTruncate:function(b){var c=this.truncate;if(!c)return b;var d=c.length,e=c.location;return"smart"===e?a.truncate.TruncateSmart(b,d,".."):"middle"===e?a.truncate.TruncateMiddle(b,d,".."):a.truncate.TruncateEnd(b,d,"..")}}),a.htmlParser.HtmlParser=a.Util.extend(Object,{htmlRegex:function(){var a=/!--([\s\S]+?)--/,b=/[0-9a-zA-Z][0-9a-zA-Z:]*/,c=/[^\s\0"'>\/=\x01-\x1F\x7F]+/,d=/(?:"[^"]*?"|'[^']*?'|[^'"=<>`\s]+)/,e=c.source+"(?:\\s*=\\s*"+d.source+")?";return new RegExp(["(?:","<(!DOCTYPE)","(?:","\\s+","(?:",e,"|",d.source+")",")*",">",")","|","(?:","<(/)?","(?:",a.source,"|","(?:","("+b.source+")","(?:","\\s+",e,")*","\\s*/?",")",")",">",")"].join(""),"gi")}(),htmlCharacterEntitiesRegex:/( | |<|<|>|>|"|"|')/gi,parse:function(a){for(var b,c,d=this.htmlRegex,e=0,f=[];null!==(b=d.exec(a));){var g=b[0],h=b[3],i=b[1]||b[4],j=!!b[2],k=b.index,l=a.substring(e,k);l&&(c=this.parseTextAndEntityNodes(e,l),f.push.apply(f,c)),f.push(h?this.createCommentNode(k,g,h):this.createElementNode(k,g,i,j)),e=k+g.length}if(ef;f+=2){var h=e[f],i=e[f+1];h&&(d.push(this.createTextNode(b,h)),b+=h.length),i&&(d.push(this.createEntityNode(b,i)),b+=i.length)}return d},createCommentNode:function(b,c,d){return new a.htmlParser.CommentNode({offset:b,text:c,comment:a.Util.trim(d)})},createElementNode:function(b,c,d,e){return new a.htmlParser.ElementNode({offset:b,text:c,tagName:d.toLowerCase(),closing:e})},createEntityNode:function(b,c){return new a.htmlParser.EntityNode({offset:b,text:c})},createTextNode:function(b,c){return new a.htmlParser.TextNode({offset:b,text:c})}}),a.htmlParser.HtmlNode=a.Util.extend(Object,{offset:void 0,text:void 0,constructor:function(b){if(a.Util.assign(this,b),null==this.offset)throw new Error("`offset` cfg required");if(null==this.text)throw new Error("`text` cfg required")},getType:a.Util.abstractMethod,getOffset:function(){return this.offset},getText:function(){return this.text}}),a.htmlParser.CommentNode=a.Util.extend(a.htmlParser.HtmlNode,{comment:"",getType:function(){return"comment"},getComment:function(){return this.comment}}),a.htmlParser.ElementNode=a.Util.extend(a.htmlParser.HtmlNode,{tagName:"",closing:!1,getType:function(){return"element"},getTagName:function(){return this.tagName},isClosing:function(){return this.closing}}),a.htmlParser.EntityNode=a.Util.extend(a.htmlParser.HtmlNode,{getType:function(){return"entity"}}),a.htmlParser.TextNode=a.Util.extend(a.htmlParser.HtmlNode,{getType:function(){return"text"}}),a.match.Match=a.Util.extend(Object,{constructor:function(a,b){if(null==a)throw new Error("`matchedText` arg required");if(null==b)throw new Error("`offset` arg required");this.matchedText=a,this.offset=b},getType:a.Util.abstractMethod,getMatchedText:function(){return this.matchedText},setOffset:function(a){this.offset=a},getOffset:function(){return this.offset},getAnchorHref:a.Util.abstractMethod,getAnchorText:a.Util.abstractMethod}),a.match.Email=a.Util.extend(a.match.Match,{constructor:function(b,c,d){if(a.match.Match.prototype.constructor.call(this,b,c),!d)throw new Error("`email` arg required");this.email=d},getType:function(){return"email"},getEmail:function(){return this.email},getAnchorHref:function(){return"mailto:"+this.email},getAnchorText:function(){return this.email}}),a.match.Hashtag=a.Util.extend(a.match.Match,{constructor:function(b,c,d,e){if(a.match.Match.prototype.constructor.call(this,b,c),!e)throw new Error("`hashtag` arg required");this.serviceName=d,this.hashtag=e},getType:function(){return"hashtag"},getServiceName:function(){return this.serviceName},getHashtag:function(){return this.hashtag},getAnchorHref:function(){var a=this.serviceName,b=this.hashtag;switch(a){case"twitter":return"https://twitter.com/hashtag/"+b;case"facebook":return"https://www.facebook.com/hashtag/"+b;case"instagram":return"https://instagram.com/explore/tags/"+b;default:throw new Error("Unknown service name to point hashtag to: ",a)}},getAnchorText:function(){return"#"+this.hashtag}}),a.match.Phone=a.Util.extend(a.match.Match,{constructor:function(b,c,d,e){if(a.match.Match.prototype.constructor.call(this,b,c),!d)throw new Error("`number` arg required");if(null==e)throw new Error("`plusSign` arg required");this.number=d,this.plusSign=e},getType:function(){return"phone"},getNumber:function(){return this.number},getAnchorHref:function(){return"tel:"+(this.plusSign?"+":"")+this.number},getAnchorText:function(){return this.matchedText}}),a.match.Twitter=a.Util.extend(a.match.Match,{constructor:function(b,c,d){if(a.match.Match.prototype.constructor.call(this,b,c),!d)throw new Error("`twitterHandle` arg required");this.twitterHandle=d},getType:function(){return"twitter"},getTwitterHandle:function(){return this.twitterHandle},getAnchorHref:function(){return"https://twitter.com/"+this.twitterHandle},getAnchorText:function(){return"@"+this.twitterHandle}}),a.match.Url=a.Util.extend(a.match.Match,{constructor:function(b,c,d,e,f,g,h){if(a.match.Match.prototype.constructor.call(this,b,c),"scheme"!==e&&"www"!==e&&"tld"!==e)throw new Error('`urlMatchType` must be one of: "scheme", "www", or "tld"');if(!d)throw new Error("`url` arg required");if(null==f)throw new Error("`protocolUrlMatch` arg required");if(null==g)throw new Error("`protocolRelativeMatch` arg required");if(null==h)throw new Error("`stripPrefix` arg required");this.urlMatchType=e,this.url=d,this.protocolUrlMatch=f,this.protocolRelativeMatch=g,this.stripPrefix=h},urlPrefixRegex:/^(https?:\/\/)?(www\.)?/i,protocolRelativeRegex:/^\/\//,protocolPrepended:!1,getType:function(){return"url"},getUrlMatchType:function(){return this.urlMatchType},getUrl:function(){var a=this.url;return this.protocolRelativeMatch||this.protocolUrlMatch||this.protocolPrepended||(a=this.url="http://"+a,this.protocolPrepended=!0),a},getAnchorHref:function(){var a=this.getUrl();return a.replace(/&/g,"&")},getAnchorText:function(){var a=this.getMatchedText();return this.protocolRelativeMatch&&(a=this.stripProtocolRelativePrefix(a)),this.stripPrefix&&(a=this.stripUrlPrefix(a)),a=this.removeTrailingSlash(a)},stripUrlPrefix:function(a){return a.replace(this.urlPrefixRegex,"")},stripProtocolRelativePrefix:function(a){return a.replace(this.protocolRelativeRegex,"")},removeTrailingSlash:function(a){return"/"===a.charAt(a.length-1)&&(a=a.slice(0,-1)),a}}),a.matcher.Matcher=a.Util.extend(Object,{constructor:function(b){a.Util.assign(this,b)},parseMatches:a.Util.abstractMethod}),a.matcher.Email=a.Util.extend(a.matcher.Matcher,{matcherRegex:function(){var b=a.RegexLib.alphaNumericCharsStr,c=new RegExp("["+b+"\\-;:&=+$.,]+@"),d=a.RegexLib.domainNameRegex,e=a.RegexLib.tldRegex;return new RegExp([c.source,d.source,"\\.",e.source].join(""),"gi")}(),parseMatches:function(b){for(var c,d=this.matcherRegex,e=[];null!==(c=d.exec(b));){var f=c[0];e.push(new a.match.Email(f,c.index,f))}return e}}),a.matcher.Hashtag=a.Util.extend(a.matcher.Matcher,{matcherRegex:new RegExp("#[_"+a.RegexLib.alphaNumericCharsStr+"]{1,139}","g"),nonWordCharRegex:new RegExp("[^"+a.RegexLib.alphaNumericCharsStr+"]"),constructor:function(){a.matcher.Matcher.prototype.constructor.apply(this,arguments)},parseMatches:function(b){for(var c,d=this.matcherRegex,e=this.nonWordCharRegex,f=this.serviceName,g=[];null!==(c=d.exec(b));){var h=c.index,i=b.charAt(h-1);if(0===h||e.test(i)){var j=c[0],k=c[0].slice(1);g.push(new a.match.Hashtag(j,h,f,k))}}return g}}),a.matcher.Phone=a.Util.extend(a.matcher.Matcher,{matcherRegex:/(?:(\+)?\d{1,3}[-\040.])?\(?\d{3}\)?[-\040.]?\d{3}[-\040.]\d{4}/g,parseMatches:function(b){for(var c,d=this.matcherRegex,e=[];null!==(c=d.exec(b));){var f=c[0],g=f.replace(/\D/g,""),h=!!c[1];e.push(new a.match.Phone(f,c.index,g,h))}return e}}),a.matcher.Twitter=a.Util.extend(a.matcher.Matcher,{matcherRegex:new RegExp("@[_"+a.RegexLib.alphaNumericCharsStr+"]{1,20}","g"),nonWordCharRegex:new RegExp("[^"+a.RegexLib.alphaNumericCharsStr+"]"),parseMatches:function(b){for(var c,d=this.matcherRegex,e=this.nonWordCharRegex,f=[];null!==(c=d.exec(b));){var g=c.index,h=b.charAt(g-1);if(0===g||e.test(h)){var i=c[0],j=c[0].slice(1);f.push(new a.match.Twitter(i,g,j))}}return f}}),a.matcher.Url=a.Util.extend(a.matcher.Matcher,{matcherRegex:function(){var b=/(?:[A-Za-z][-.+A-Za-z0-9]*:(?![A-Za-z][-.+A-Za-z0-9]*:\/\/)(?!\d+\/?)(?:\/\/)?)/,c=/(?:www\.)/,d=a.RegexLib.domainNameRegex,e=a.RegexLib.tldRegex,f=a.RegexLib.alphaNumericCharsStr,g=new RegExp("["+f+"\\-+&@#/%=~_()|'$*\\[\\]?!:,.;]*["+f+"\\-+&@#/%=~_()|'$*\\[\\]]");return new RegExp(["(?:","(",b.source,d.source,")","|","(","(//)?",c.source,d.source,")","|","(","(//)?",d.source+"\\.",e.source,")",")","(?:"+g.source+")?"].join(""),"gi")}(),wordCharRegExp:/\w/,openParensRe:/\(/g,closeParensRe:/\)/g,constructor:function(){if(a.matcher.Matcher.prototype.constructor.apply(this,arguments),null==this.stripPrefix)throw new Error("`stripPrefix` cfg required")},parseMatches:function(b){for(var c,d=this.matcherRegex,e=this.stripPrefix,f=[];null!==(c=d.exec(b));){var g=c[0],h=c[1],i=c[2],j=c[3],k=c[5],l=c.index,m=j||k,n=b.charAt(l-1);if(a.matcher.UrlMatchValidator.isValid(g,h)&&!(l>0&&"@"===n||l>0&&m&&this.wordCharRegExp.test(n))){if(this.matchHasUnbalancedClosingParen(g))g=g.substr(0,g.length-1);else{var o=this.matchHasInvalidCharAfterTld(g,h);o>-1&&(g=g.substr(0,o))}var p=h?"scheme":i?"www":"tld",q=!!h;f.push(new a.match.Url(g,l,g,p,q,!!m,e))}}return f},matchHasUnbalancedClosingParen:function(a){var b=a.charAt(a.length-1);if(")"===b){var c=a.match(this.openParensRe),d=a.match(this.closeParensRe),e=c&&c.length||0,f=d&&d.length||0;if(f>e)return!0}return!1},matchHasInvalidCharAfterTld:function(a,b){if(!a)return-1;var c=0;b&&(c=a.indexOf(":"),a=a.slice(c));var d=/^((.?\/\/)?[A-Za-z0-9\u00C0-\u017F\.\-]*[A-Za-z0-9\u00C0-\u017F\-]\.[A-Za-z]+)/,e=d.exec(a);return null===e?-1:(c+=e[1].length,a=a.slice(e[1].length),/^[^.A-Za-z:\/?#]/.test(a)?c:-1)}}),a.matcher.UrlMatchValidator={hasFullProtocolRegex:/^[A-Za-z][-.+A-Za-z0-9]*:\/\//,uriSchemeRegex:/^[A-Za-z][-.+A-Za-z0-9]*:/,hasWordCharAfterProtocolRegex:/:[^\s]*?[A-Za-z\u00C0-\u017F]/,isValid:function(a,b){return b&&!this.isValidUriScheme(b)||this.urlMatchDoesNotHaveProtocolOrDot(a,b)||this.urlMatchDoesNotHaveAtLeastOneWordChar(a,b)?!1:!0},isValidUriScheme:function(a){var b=a.match(this.uriSchemeRegex)[0].toLowerCase();return"javascript:"!==b&&"vbscript:"!==b},urlMatchDoesNotHaveProtocolOrDot:function(a,b){return!(!a||b&&this.hasFullProtocolRegex.test(b)||-1!==a.indexOf("."))},urlMatchDoesNotHaveAtLeastOneWordChar:function(a,b){return a&&b?!this.hasWordCharAfterProtocolRegex.test(a):!1}},a.truncate.TruncateEnd=function(b,c,d){return a.Util.ellipsis(b,c,d)},a.truncate.TruncateMiddle=function(a,b,c){if(a.length<=b)return a;var d=b-c.length,e="";return d>0&&(e=a.substr(-1*Math.floor(d/2))),(a.substr(0,Math.ceil(d/2))+c+e).substr(0,b)},a.truncate.TruncateSmart=function(a,b,c){var d=function(a){var b={},c=a,d=c.match(/^([a-z]+):\/\//i);return d&&(b.scheme=d[1],c=c.substr(d[0].length)),d=c.match(/^(.*?)(?=(\?|#|\/|$))/i),d&&(b.host=d[1],c=c.substr(d[0].length)),d=c.match(/^\/(.*?)(?=(\?|#|$))/i),d&&(b.path=d[1],c=c.substr(d[0].length)),d=c.match(/^\?(.*?)(?=(#|$))/i),d&&(b.query=d[1],c=c.substr(d[0].length)),d=c.match(/^#(.*?)$/i),d&&(b.fragment=d[1]),b},e=function(a){var b="";return a.scheme&&a.host&&(b+=a.scheme+"://"),a.host&&(b+=a.host),a.path&&(b+="/"+a.path),a.query&&(b+="?"+a.query),a.fragment&&(b+="#"+a.fragment),b},f=function(a,b){var d=b/2,e=Math.ceil(d),f=-1*Math.floor(d),g="";return 0>f&&(g=a.substr(f)),a.substr(0,e)+c+g};if(a.length<=b)return a;var g=b-c.length,h=d(a);if(h.query){var i=h.query.match(/^(.*?)(?=(\?|\#))(.*?)$/i);i&&(h.query=h.query.substr(0,i[1].length),a=e(h))}if(a.length<=b)return a;if(h.host&&(h.host=h.host.replace(/^www\./,""),a=e(h)),a.length<=b)return a;var j="";if(h.host&&(j+=h.host),j.length>=g)return h.host.length==b?(h.host.substr(0,b-c.length)+c).substr(0,b):f(j,g).substr(0,b);var k="";if(h.path&&(k+="/"+h.path),h.query&&(k+="?"+h.query),k){if((j+k).length>=g){if((j+k).length==b)return(j+k).substr(0,b);var l=g-j.length;return(j+f(k,l)).substr(0,b)}j+=k}if(h.fragment){var m="#"+h.fragment;if((j+m).length>=g){if((j+m).length==b)return(j+m).substr(0,b);var n=g-j.length;return(j+f(m,n)).substr(0,b)}j+=m}if(h.scheme&&h.host){var o=h.scheme+"://";if((j+o).length0&&(p=j.substr(-1*Math.floor(g/2))),(j.substr(0,Math.ceil(g/2))+c+p).substr(0,b)},a}); \ No newline at end of file diff --git a/public/build/assets/js/Autolinker.min-b46556773a.js.br b/public/build/assets/js/Autolinker.min-b46556773a.js.br deleted file mode 100644 index 2b8b84f7..00000000 Binary files a/public/build/assets/js/Autolinker.min-b46556773a.js.br and /dev/null differ diff --git a/public/build/assets/js/Autolinker.min-b46556773a.js.gz b/public/build/assets/js/Autolinker.min-b46556773a.js.gz deleted file mode 100644 index f0c2a0da..00000000 Binary files a/public/build/assets/js/Autolinker.min-b46556773a.js.gz and /dev/null differ diff --git a/public/build/assets/js/alertify-269e23cb46.js b/public/build/assets/js/alertify-269e23cb46.js deleted file mode 100644 index d9d6a2b2..00000000 --- a/public/build/assets/js/alertify-269e23cb46.js +++ /dev/null @@ -1 +0,0 @@ -!function(){"use strict";function t(){var t={version:"1.0.8",defaultOkLabel:"Ok",okLabel:"Ok",defaultCancelLabel:"Cancel",cancelLabel:"Cancel",defaultMaxLogItems:2,maxLogItems:2,promptValue:"",promptPlaceholder:"",closeLogOnClick:!1,closeLogOnClickDefault:!1,delay:5e3,defaultDelay:5e3,logContainerClass:"alertify-logs",logContainerDefaultClass:"alertify-logs",dialogs:{buttons:{holder:"",ok:"",cancel:""},input:"",message:"

{{message}}

",log:"
{{message}}
"},defaultDialogs:{buttons:{holder:"",ok:"",cancel:""},input:"",message:"

{{message}}

",log:"
{{message}}
"},build:function(t){var e=this.dialogs.buttons.ok,o="
"+this.dialogs.message.replace("{{message}}",t.message);return"confirm"!==t.type&&"prompt"!==t.type||(e=this.dialogs.buttons.cancel+this.dialogs.buttons.ok),"prompt"===t.type&&(o+=this.dialogs.input),o=(o+this.dialogs.buttons.holder+"
").replace("{{buttons}}",e).replace("{{ok}}",this.okLabel).replace("{{cancel}}",this.cancelLabel)},setCloseLogOnClick:function(t){this.closeLogOnClick=!!t},close:function(t,e){this.closeLogOnClick&&t.addEventListener("click",function(t){o(t.srcElement)}),e=e&&!isNaN(+e)?+e:this.delay,0>e?o(t):e>0&&setTimeout(function(){o(t)},e)},dialog:function(t,e,o,n){return this.setup({type:e,message:t,onOkay:o,onCancel:n})},log:function(t,e,o){var n=document.querySelectorAll(".alertify-logs > div");if(n){var i=n.length-this.maxLogItems;if(i>=0)for(var a=0,l=i+1;l>a;a++)this.close(n[a],-1)}this.notify(t,e,o)},setLogPosition:function(t){this.logContainerClass="alertify-logs "+t},setupLogContainer:function(){var t=document.querySelector(".alertify-logs"),e=this.logContainerClass;return t||(t=document.createElement("div"),t.className=e,document.body.appendChild(t)),t.className!==e&&(t.className=e),t},notify:function(e,o,n){var i=this.setupLogContainer(),a=document.createElement("div");a.className=o||"default",t.logTemplateMethod?a.innerHTML=t.logTemplateMethod(e):a.innerHTML=e,"function"==typeof n&&a.addEventListener("click",n),i.appendChild(a),setTimeout(function(){a.className+=" show"},10),this.close(a,this.delay)},setup:function(t){function e(e){"function"!=typeof e&&(e=function(){}),i&&i.addEventListener("click",function(i){t.onOkay&&"function"==typeof t.onOkay&&(l?t.onOkay(l.value,i):t.onOkay(i)),e(l?{buttonClicked:"ok",inputValue:l.value,event:i}:{buttonClicked:"ok",event:i}),o(n)}),a&&a.addEventListener("click",function(i){t.onCancel&&"function"==typeof t.onCancel&&t.onCancel(i),e({buttonClicked:"cancel",event:i}),o(n)})}var n=document.createElement("div");n.className="alertify hide",n.innerHTML=this.build(t);var i=n.querySelector(".ok"),a=n.querySelector(".cancel"),l=n.querySelector("input"),s=n.querySelector("label");l&&("string"==typeof this.promptPlaceholder&&(s?s.textContent=this.promptPlaceholder:l.placeholder=this.promptPlaceholder),"string"==typeof this.promptValue&&(l.value=this.promptValue));var r;return"function"==typeof Promise?r=new Promise(e):e(),document.body.appendChild(n),setTimeout(function(){n.classList.remove("hide"),l&&t.type&&"prompt"===t.type?(l.select(),l.focus()):i&&i.focus()},100),r},okBtn:function(t){return this.okLabel=t,this},setDelay:function(t){var e=parseInt(t||0,10);return this.delay=isNaN(e)?this.defultDelay:t,this},cancelBtn:function(t){return this.cancelLabel=t,this},setMaxLogItems:function(t){this.maxLogItems=parseInt(t||this.defaultMaxLogItems)},theme:function(t){switch(t.toLowerCase()){case"bootstrap":this.dialogs.buttons.ok="",this.dialogs.buttons.cancel="",this.dialogs.input="";break;case"purecss":this.dialogs.buttons.ok="",this.dialogs.buttons.cancel="";break;case"mdl":case"material-design-light":this.dialogs.buttons.ok="",this.dialogs.buttons.cancel="",this.dialogs.input="
";break;case"angular-material":this.dialogs.buttons.ok="",this.dialogs.buttons.cancel="",this.dialogs.input="
";break;case"default":default:this.dialogs.buttons.ok=this.defaultDialogs.buttons.ok,this.dialogs.buttons.cancel=this.defaultDialogs.buttons.cancel,this.dialogs.input=this.defaultDialogs.input}},reset:function(){this.theme("default"),this.okBtn(this.defaultOkLabel),this.cancelBtn(this.defaultCancelLabel),this.setMaxLogItems(),this.promptValue="",this.promptPlaceholder="",this.delay=this.defaultDelay,this.setCloseLogOnClick(this.closeLogOnClickDefault),this.setLogPosition("bottom left"),this.logTemplateMethod=null},injectCSS:function(){if(!document.querySelector("#alertifyCSS")){var t=document.getElementsByTagName("head")[0],e=document.createElement("style");e.type="text/css",e.id="alertifyCSS",e.innerHTML=".alertify-logs>*{padding:12px 24px;color:#fff;box-shadow:0 2px 5px 0 rgba(0,0,0,.2);border-radius:1px}.alertify-logs>*,.alertify-logs>.default{background:rgba(0,0,0,.8)}.alertify-logs>.error{background:rgba(244,67,54,.8)}.alertify-logs>.success{background:rgba(76,175,80,.9)}.alertify{position:fixed;background-color:rgba(0,0,0,.3);left:0;right:0;top:0;bottom:0;width:100%;height:100%;z-index:2}.alertify.hide{opacity:0;pointer-events:none}.alertify,.alertify.show{box-sizing:border-box;transition:all .33s cubic-bezier(.25,.8,.25,1)}.alertify,.alertify *{box-sizing:border-box}.alertify .dialog{padding:12px}.alertify .alert,.alertify .dialog{width:100%;margin:0 auto;position:relative;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.alertify .alert>*,.alertify .dialog>*{width:400px;max-width:95%;margin:0 auto;text-align:center;padding:12px;background:#fff;box-shadow:0 2px 4px -1px rgba(0,0,0,.14),0 4px 5px 0 rgba(0,0,0,.098),0 1px 10px 0 rgba(0,0,0,.084)}.alertify .alert .msg,.alertify .dialog .msg{padding:12px;margin-bottom:12px;margin:0;text-align:left}.alertify .alert input:not(.form-control),.alertify .dialog input:not(.form-control){margin-bottom:15px;width:100%;font-size:100%;padding:12px}.alertify .alert input:not(.form-control):focus,.alertify .dialog input:not(.form-control):focus{outline-offset:-2px}.alertify .alert nav,.alertify .dialog nav{text-align:right}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button),.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button){background:transparent;box-sizing:border-box;color:rgba(0,0,0,.87);position:relative;outline:0;border:0;display:inline-block;-webkit-align-items:center;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center;padding:0 6px;margin:6px 8px;line-height:36px;min-height:36px;white-space:nowrap;min-width:88px;text-align:center;text-transform:uppercase;font-size:14px;text-decoration:none;cursor:pointer;border:1px solid transparent;border-radius:2px}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):active,.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):hover,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):active,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):hover{background-color:rgba(0,0,0,.05)}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):focus,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):focus{border:1px solid rgba(0,0,0,.1)}.alertify .alert nav button.btn,.alertify .dialog nav button.btn{margin:6px 4px}.alertify-logs{position:fixed;z-index:1}.alertify-logs.bottom,.alertify-logs:not(.top){bottom:16px}.alertify-logs.left,.alertify-logs:not(.right){left:16px}.alertify-logs.left>*,.alertify-logs:not(.right)>*{float:left;-webkit-transform:translateZ(0);transform:translateZ(0);height:auto}.alertify-logs.left>.show,.alertify-logs:not(.right)>.show{left:0}.alertify-logs.left>*,.alertify-logs.left>.hide,.alertify-logs:not(.right)>*,.alertify-logs:not(.right)>.hide{left:-110%}.alertify-logs.right{right:16px}.alertify-logs.right>*{float:right;-webkit-transform:translateZ(0);transform:translateZ(0)}.alertify-logs.right>.show{right:0;opacity:1}.alertify-logs.right>*,.alertify-logs.right>.hide{right:-110%;opacity:0}.alertify-logs.top{top:0}.alertify-logs>*{box-sizing:border-box;transition:all .4s cubic-bezier(.25,.8,.25,1);position:relative;clear:both;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;perspective:1000;max-height:0;margin:0;padding:0;overflow:hidden;opacity:0;pointer-events:none}.alertify-logs>.show{margin-top:12px;opacity:1;max-height:1000px;padding:12px;pointer-events:auto}",t.insertBefore(e,t.firstChild)}},removeCSS:function(){var t=document.querySelector("#alertifyCSS");t&&t.parentNode&&t.parentNode.removeChild(t)}};return t.injectCSS(),{_$$alertify:t,reset:function(){return t.reset(),this},alert:function(e,o,n){return t.dialog(e,"alert",o,n)||this},confirm:function(e,o,n){return t.dialog(e,"confirm",o,n)||this},prompt:function(e,o,n){return t.dialog(e,"prompt",o,n)||this},log:function(e,o){return t.log(e,"default",o),this},theme:function(e){return t.theme(e),this},success:function(e,o){return t.log(e,"success",o),this},error:function(e,o){return t.log(e,"error",o),this},cancelBtn:function(e){return t.cancelBtn(e),this},okBtn:function(e){return t.okBtn(e),this},delay:function(e){return t.setDelay(e),this},placeholder:function(e){return t.promptPlaceholder=e,this},defaultValue:function(e){return t.promptValue=e,this},maxLogItems:function(e){return t.setMaxLogItems(e),this},closeLogOnClick:function(e){return t.setCloseLogOnClick(!!e),this},logPosition:function(e){return t.setLogPosition(e||""),this},setLogTemplate:function(e){return t.logTemplateMethod=e,this},clearLogs:function(){return t.setupLogContainer().innerHTML="",this},version:t.version}}var e=500,o=function(t){if(t){var o=function(){t&&t.parentNode&&t.parentNode.removeChild(t)};t.classList.remove("show"),t.classList.add("hide"),t.addEventListener("transitionend",o),setTimeout(o,e)}};if("undefined"!=typeof module&&module&&module.exports){module.exports=function(){return new t};var n=new t;for(var i in n)module.exports[i]=n[i]}else"function"==typeof define&&define.amd?define(function(){return new t}):window.alertify=new t}(); \ No newline at end of file diff --git a/public/build/assets/js/alertify-269e23cb46.js.br b/public/build/assets/js/alertify-269e23cb46.js.br deleted file mode 100644 index 69f96a39..00000000 Binary files a/public/build/assets/js/alertify-269e23cb46.js.br and /dev/null differ diff --git a/public/build/assets/js/alertify-269e23cb46.js.gz b/public/build/assets/js/alertify-269e23cb46.js.gz deleted file mode 100644 index b3205c6b..00000000 Binary files a/public/build/assets/js/alertify-269e23cb46.js.gz and /dev/null differ diff --git a/public/build/assets/js/fetch-5e9040330a.js.br b/public/build/assets/js/fetch-5e9040330a.js.br deleted file mode 100644 index 682a42a0..00000000 Binary files a/public/build/assets/js/fetch-5e9040330a.js.br and /dev/null differ diff --git a/public/build/assets/js/fetch-5e9040330a.js.gz b/public/build/assets/js/fetch-5e9040330a.js.gz deleted file mode 100644 index af7036e6..00000000 Binary files a/public/build/assets/js/fetch-5e9040330a.js.gz and /dev/null differ diff --git a/public/build/assets/js/form-save-4d4f6e1cb8.js b/public/build/assets/js/form-save-4d4f6e1cb8.js new file mode 100644 index 00000000..20d8f0a7 --- /dev/null +++ b/public/build/assets/js/form-save-4d4f6e1cb8.js @@ -0,0 +1,69 @@ +/* global alertify, store */ +var feature = { + addEventListener : !!window.addEventListener, + querySelectorAll : !!document.querySelectorAll +}; + +if (feature.addEventListener && feature.querySelectorAll) { + var keys = getKeys(); + for (var i = 0; i < keys.length; i++) { + if (store.get(keys[i])) { + var formId = keys[i].split('~')[1]; + document.getElementById(formId).value = store.get(keys[i]); + } + } +} + +var timerId = window.setInterval(function() { + var saved = false; + var inputs = document.querySelectorAll('input[type=text], textarea'); + for (var i = 0; i < inputs.length; i++) { + var key = getFormElement(inputs[i]).id + '~' + inputs[i].id; + if (store.get(key) !== inputs[i].value && inputs[i].value !== '') { + store.set(key, inputs[i].value); + saved = true; + } + } + if (saved === true) { + alertify.logPosition('top right'); + alertify.success('Auto saved text'); + } +}, 5000); +var forms = document.querySelectorAll('form'); +for (var f = 0; f < forms.length; f++) { + var form = forms[f]; + form.addEventListener('submit', function() { + window.clearInterval(timerId); + var formId = form.id; + var storedKeys = store.keys(); + for (var i = 0; i < storedKeys.length; i++) { + if (storedKeys[i].indexOf(formId) > -1) { + store.remove(storedKeys[i]); + } + } + }); +} +function getKeys() { + var keys = []; + var formFields = document.querySelectorAll('input[type=text], textarea'); + for (var f = 0; f < formFields.length; f++) { + var parent = getFormElement(formFields[f]); + if (parent !== false) { + var key = parent.id + '~' + formFields[f].id; + keys.push(key); + } + } + return keys; +} +function getFormElement(elem) { + if (elem.nodeName.toLowerCase() !== 'body') { + var parent = elem.parentNode; + if (parent.nodeName.toLowerCase() === 'form') { + return parent; + } else { + return getFormElement(parent); + } + } else { + return false; + } +} diff --git a/public/build/assets/js/form-save-4d4f6e1cb8.js.br b/public/build/assets/js/form-save-4d4f6e1cb8.js.br new file mode 100644 index 00000000..2649a3cc Binary files /dev/null and b/public/build/assets/js/form-save-4d4f6e1cb8.js.br differ diff --git a/public/build/assets/js/form-save-4d4f6e1cb8.js.gz b/public/build/assets/js/form-save-4d4f6e1cb8.js.gz new file mode 100644 index 00000000..6323aa10 Binary files /dev/null and b/public/build/assets/js/form-save-4d4f6e1cb8.js.gz differ diff --git a/public/build/assets/js/form-save-7849d1a5f3.js b/public/build/assets/js/form-save-7849d1a5f3.js deleted file mode 100644 index 151d1219..00000000 --- a/public/build/assets/js/form-save-7849d1a5f3.js +++ /dev/null @@ -1,69 +0,0 @@ -var feature = { - addEventListener : !!window.addEventListener, - querySelectorAll : !!document.querySelectorAll, -}; -if(feature.addEventListener && feature.querySelectorAll) { - this.init(); -} -function init() { - var keys = getKeys(); - for(var i = 0; i < keys.length; i++) { - if(store.get(keys[i])) { - var formId = keys[i].split("~")[1]; - document.getElementById(formId).value = store.get(keys[i]); - } - } -} -var timerId = window.setInterval(function() { - var saved = false; - var inputs = document.querySelectorAll('input[type=text], textarea'); - for(var i = 0; i < inputs.length; i++) { - var key = getFormElement(inputs[i]).id + '~' + inputs[i].id; - if(store.get(key) !== inputs[i].value && inputs[i].value !== "") { - store.set(key, inputs[i].value); - saved = true; - } - } - if(saved === true) { - alertify.logPosition('top right'); - alertify.success('Auto saved text'); - } -}, 5000); -var forms = document.querySelectorAll('form'); -for(var f = 0; f < forms.length; f++) { - var form = forms[f]; - form.addEventListener('submit', function() { - window.clearInterval(timerId); - var formId = form.id; - var storedKeys = store.keys(); - for(var i = 0; i < storedKeys.length; i++) { - if(storedKeys[i].indexOf(formId) > -1) { - store.remove(storedKeys[i]); - } - } - }); -} -function getKeys() { - var keys = []; - var formFields = document.querySelectorAll('input[type=text], textarea'); - for(var f = 0; f < formFields.length; f++) { - var parent = getFormElement(formFields[f]); - if(parent !== false) { - var key = parent.id + '~' + formFields[f].id; - keys.push(key); - } - } - return keys; -} -function getFormElement(elem) { - if(elem.nodeName.toLowerCase() !== 'body') { - var parent = elem.parentNode; - if(parent.nodeName.toLowerCase() === 'form') { - return parent; - } else { - return getFormElement(parent); - } - } else { - return false; - } -} diff --git a/public/build/assets/js/form-save-7849d1a5f3.js.br b/public/build/assets/js/form-save-7849d1a5f3.js.br deleted file mode 100644 index 6fc60195..00000000 Binary files a/public/build/assets/js/form-save-7849d1a5f3.js.br and /dev/null differ diff --git a/public/build/assets/js/form-save-7849d1a5f3.js.gz b/public/build/assets/js/form-save-7849d1a5f3.js.gz deleted file mode 100644 index ff873cbb..00000000 Binary files a/public/build/assets/js/form-save-7849d1a5f3.js.gz and /dev/null differ diff --git a/public/build/assets/js/links-c394f9c920.js b/public/build/assets/js/links-c394f9c920.js new file mode 100644 index 00000000..5871e0e3 --- /dev/null +++ b/public/build/assets/js/links-c394f9c920.js @@ -0,0 +1,26 @@ +/* global Autolinker */ +//the autlinker object +var autolinker = new Autolinker(); + +//the youtube regex +var ytidregex = /watch\?v=([A-Za-z0-9\-_]+)/; + +//grab the notes and loop through them +var notes = document.querySelectorAll('.e-content'); +for (var i = 0; i < notes.length; i++) { + //get Youtube ID + var ytid = notes[i].textContent.match(ytidregex); + if (ytid !== null) { + var id = ytid[1]; + var iframe = document.createElement('iframe'); + iframe.classList.add('youtube'); + iframe.setAttribute('src', '//www.youtube.com/embed/' + id); + iframe.setAttribute('frameborder', 0); + iframe.setAttribute('allowfullscreen', 'true'); + notes[i].appendChild(iframe); + } + //now linkify everything + var orig = notes[i].innerHTML; + var linked = autolinker.link(orig); + notes[i].innerHTML = linked; +} diff --git a/public/build/assets/js/links-c394f9c920.js.br b/public/build/assets/js/links-c394f9c920.js.br new file mode 100644 index 00000000..49350ed7 Binary files /dev/null and b/public/build/assets/js/links-c394f9c920.js.br differ diff --git a/public/build/assets/js/links-c394f9c920.js.gz b/public/build/assets/js/links-c394f9c920.js.gz new file mode 100644 index 00000000..640a2708 Binary files /dev/null and b/public/build/assets/js/links-c394f9c920.js.gz differ diff --git a/public/build/assets/js/links-ea4c99f585.js b/public/build/assets/js/links-ea4c99f585.js deleted file mode 100644 index b683edd5..00000000 --- a/public/build/assets/js/links-ea4c99f585.js +++ /dev/null @@ -1,25 +0,0 @@ -//the autlinker object -var autolinker = new Autolinker(); - -//the youtube regex -var ytidregex = /watch\?v=([A-Za-z0-9\-_]+)/; - -//grab the notes and loop through them -var notes = document.querySelectorAll('.e-content'); -for(var i = 0; i < notes.length; i++) { - //get Youtube ID - var ytid = notes[i].textContent.match(ytidregex); - if(ytid !== null) { - var id = ytid[1]; - var iframe = document.createElement('iframe'); - iframe.classList.add('youtube'); - iframe.setAttribute('src', '//www.youtube.com/embed/' + id); - iframe.setAttribute('frameborder', 0); - iframe.setAttribute('allowfullscreen', 'true'); - notes[i].appendChild(iframe); - } - //now linkify everything - var orig = notes[i].innerHTML; - var linked = autolinker.link(orig); - notes[i].innerHTML = linked; -} \ No newline at end of file diff --git a/public/build/assets/js/links-ea4c99f585.js.br b/public/build/assets/js/links-ea4c99f585.js.br deleted file mode 100644 index 570224c5..00000000 Binary files a/public/build/assets/js/links-ea4c99f585.js.br and /dev/null differ diff --git a/public/build/assets/js/links-ea4c99f585.js.gz b/public/build/assets/js/links-ea4c99f585.js.gz deleted file mode 100644 index bb58b733..00000000 Binary files a/public/build/assets/js/links-ea4c99f585.js.gz and /dev/null differ diff --git a/public/build/assets/js/maps-ffa37774ae.js b/public/build/assets/js/maps-a6a01a253b.js similarity index 78% rename from public/build/assets/js/maps-ffa37774ae.js rename to public/build/assets/js/maps-a6a01a253b.js index 4901c5da..6f178f8c 100644 --- a/public/build/assets/js/maps-ffa37774ae.js +++ b/public/build/assets/js/maps-a6a01a253b.js @@ -1,6 +1,7 @@ +/* global L */ //This code runs on page load and looks for
, then adds map var mapDivs = document.querySelectorAll('.map'); -for(var i = 0; i < mapDivs.length; i++) { +for (var i = 0; i < mapDivs.length; i++) { var mapDiv = mapDivs[i]; var latitude = mapDiv.dataset.latitude; var longitude = mapDiv.dataset.longitude; @@ -8,8 +9,8 @@ for(var i = 0; i < mapDivs.length; i++) { var map = L.mapbox.map(mapDiv, 'jonnybarnes.gnoihnim') .setView([latitude, longitude], 15) .addLayer(L.mapbox.tileLayer('jonnybarnes.gnoihnim', { - detectRetina: true, - })); - var marker = L.marker([latitude, longitude]).addTo(map); + detectRetina: true + })); + L.marker([latitude, longitude]).addTo(map); map.scrollWheelZoom.disable(); } diff --git a/public/build/assets/js/maps-a6a01a253b.js.br b/public/build/assets/js/maps-a6a01a253b.js.br new file mode 100644 index 00000000..e529376a Binary files /dev/null and b/public/build/assets/js/maps-a6a01a253b.js.br differ diff --git a/public/build/assets/js/maps-a6a01a253b.js.gz b/public/build/assets/js/maps-a6a01a253b.js.gz new file mode 100644 index 00000000..a5d3445f Binary files /dev/null and b/public/build/assets/js/maps-a6a01a253b.js.gz differ diff --git a/public/build/assets/js/maps-ffa37774ae.js.br b/public/build/assets/js/maps-ffa37774ae.js.br deleted file mode 100644 index ef0a316d..00000000 Binary files a/public/build/assets/js/maps-ffa37774ae.js.br and /dev/null differ diff --git a/public/build/assets/js/maps-ffa37774ae.js.gz b/public/build/assets/js/maps-ffa37774ae.js.gz deleted file mode 100644 index f100f82c..00000000 Binary files a/public/build/assets/js/maps-ffa37774ae.js.gz and /dev/null differ diff --git a/public/build/assets/js/marked.min-c2a88705e2.js.gz b/public/build/assets/js/marked.min-c2a88705e2.js.gz deleted file mode 100644 index 23d8aff6..00000000 Binary files a/public/build/assets/js/marked.min-c2a88705e2.js.gz and /dev/null differ diff --git a/public/build/assets/js/newnote-c1700073b7.js b/public/build/assets/js/newnote-36ff29cdef.js similarity index 92% rename from public/build/assets/js/newnote-c1700073b7.js rename to public/build/assets/js/newnote-36ff29cdef.js index 2a26b261..54d2edd5 100644 --- a/public/build/assets/js/newnote-c1700073b7.js +++ b/public/build/assets/js/newnote-36ff29cdef.js @@ -1,3 +1,4 @@ +/* global L */ if ('geolocation' in navigator) { var button = document.querySelector('#locate'); if (button.addEventListener) { @@ -39,7 +40,7 @@ function addPlaces(latitude, longitude) { addMap(latitude, longitude); } }).catch(function (err) { - console.log(err); + console.error(err); }); } @@ -57,11 +58,11 @@ function addMap(latitude, longitude, places) { var map = L.mapbox.map('map', 'jonnybarnes.gnoihnim') .setView([latitude, longitude], 15) .addLayer(L.mapbox.tileLayer('jonnybarnes.gnoihnim', { - detectRetina: true, + detectRetina: true })); //add a marker for the current location var marker = L.marker([latitude, longitude], { - draggable: true, + draggable: true }).addTo(map); //when the location marker is dragged, if the new place form elements exist //update the lat/lng values @@ -81,13 +82,13 @@ function addMap(latitude, longitude, places) { var noLocation = document.createElement('option'); noLocation.setAttribute('selected', 'selected'); noLocation.setAttribute('value', 'no-location'); - noLocText = document.createTextNode('Select no location'); + var noLocText = document.createTextNode('Select no location'); noLocation.appendChild(noLocText); selectEl.appendChild(noLocation); form.insertBefore(selectEl, div); if (places !== null) { //add the places both to the map and element and give it a no location default + var selectEl = document.createElement('select'); + selectEl.setAttribute('name', 'location'); + var noLocation = document.createElement('option'); + noLocation.setAttribute('selected', 'selected'); + noLocation.setAttribute('value', 'no-location'); + var noLocText = document.createTextNode('Select no location'); + noLocation.appendChild(noLocText); + selectEl.appendChild(noLocation); + form.insertBefore(selectEl, div); + if (places !== null) { + //add the places both to the map and