diff --git a/composer.json b/composer.json index d34d5be8db8e246d9c1bec1416aa61b72a52676d..397f4015abff5e6fedc025b198fdcaf1fd7e6f5e 100644 --- a/composer.json +++ b/composer.json @@ -52,7 +52,7 @@ "laminas/laminas-text": "2.7.1", "laminas/laminas-validator": "2.13.0", "laminas/laminas-view": "2.11.2", - "league/commonmark": "1.4.0", + "league/commonmark": "1.4.3", "matthiasmullie/minify": "1.3.62", "misd/linkify": "1.1.4", "ocramius/proxy-manager": "2.1.1", diff --git a/composer.lock b/composer.lock index 803a4d74424ded3c2d8615932a99faf6af0871c6..ea72f6b0786740c3b7b4ab90bef52a53f359d290 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "9919518ab3dc824de4962304a832b927", + "content-hash": "c6eb7e793cc11fdaff97a3b528564f60", "packages": [ { "name": "ahand/mobileesp", @@ -979,12 +979,6 @@ "BSD-3-Clause" ], "description": "Replace zendframework and zfcampus packages with their Laminas Project equivalents.", - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], "time": "2020-05-20T13:45:39+00:00" }, { @@ -3119,16 +3113,16 @@ }, { "name": "laminas/laminas-zendframework-bridge", - "version": "1.0.3", + "version": "1.0.4", "source": { "type": "git", "url": "https://github.com/laminas/laminas-zendframework-bridge.git", - "reference": "bfbbdb6c998d50dbf69d2187cb78a5f1fa36e1e9" + "reference": "fcd87520e4943d968557803919523772475e8ea3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-zendframework-bridge/zipball/bfbbdb6c998d50dbf69d2187cb78a5f1fa36e1e9", - "reference": "bfbbdb6c998d50dbf69d2187cb78a5f1fa36e1e9", + "url": "https://api.github.com/repos/laminas/laminas-zendframework-bridge/zipball/fcd87520e4943d968557803919523772475e8ea3", + "reference": "fcd87520e4943d968557803919523772475e8ea3", "shasum": "" }, "require": { @@ -3167,26 +3161,20 @@ "laminas", "zf" ], - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "time": "2020-04-03T16:01:00+00:00" + "time": "2020-05-20T16:45:56+00:00" }, { "name": "league/commonmark", - "version": "1.4.0", + "version": "1.4.3", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "517cbe1c6faf90afeb38a0e917c73acc6d3051ce" + "reference": "412639f7cfbc0b31ad2455b2fe965095f66ae505" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/517cbe1c6faf90afeb38a0e917c73acc6d3051ce", - "reference": "517cbe1c6faf90afeb38a0e917c73acc6d3051ce", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/412639f7cfbc0b31ad2455b2fe965095f66ae505", + "reference": "412639f7cfbc0b31ad2455b2fe965095f66ae505", "shasum": "" }, "require": { @@ -3247,33 +3235,7 @@ "md", "parser" ], - "funding": [ - { - "url": "https://enjoy.gitstore.app/repositories/thephpleague/commonmark", - "type": "custom" - }, - { - "url": "https://www.colinodell.com/sponsor", - "type": "custom" - }, - { - "url": "https://www.paypal.me/colinpodell/10.00", - "type": "custom" - }, - { - "url": "https://github.com/colinodell", - "type": "github" - }, - { - "url": "https://www.patreon.com/colinodell", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/league/commonmark", - "type": "tidelift" - } - ], - "time": "2020-04-18T20:46:13+00:00" + "time": "2020-05-04T22:15:21+00:00" }, { "name": "matthiasmullie/minify", @@ -4704,20 +4666,20 @@ }, { "name": "symfony/inflector", - "version": "v4.4.8", + "version": "v4.4.9", "source": { "type": "git", "url": "https://github.com/symfony/inflector.git", - "reference": "53cfa47fe9142f39b5605df67bada3893dd4f46c" + "reference": "3330be44724db42f0aa493002ae63f5d29f8d5f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/inflector/zipball/53cfa47fe9142f39b5605df67bada3893dd4f46c", - "reference": "53cfa47fe9142f39b5605df67bada3893dd4f46c", + "url": "https://api.github.com/repos/symfony/inflector/zipball/3330be44724db42f0aa493002ae63f5d29f8d5f7", + "reference": "3330be44724db42f0aa493002ae63f5d29f8d5f7", "shasum": "" }, "require": { - "php": "^7.1.3", + "php": ">=7.1.3", "symfony/polyfill-ctype": "~1.8" }, "type": "library", @@ -4758,34 +4720,20 @@ "symfony", "words" ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-03-27T16:54:36+00:00" + "time": "2020-05-20T08:37:50+00:00" }, { "name": "symfony/options-resolver", - "version": "v4.4.8", + "version": "v4.4.9", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "ade3d89dd3b875b83c8cff2980c9bb0daf6ef297" + "reference": "73e1d0fe11ffceb7b7d4ca55b7381cd7ce0bac05" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/ade3d89dd3b875b83c8cff2980c9bb0daf6ef297", - "reference": "ade3d89dd3b875b83c8cff2980c9bb0daf6ef297", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/73e1d0fe11ffceb7b7d4ca55b7381cd7ce0bac05", + "reference": "73e1d0fe11ffceb7b7d4ca55b7381cd7ce0bac05", "shasum": "" }, "require": { @@ -4826,21 +4774,7 @@ "configuration", "options" ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-04-06T10:16:26+00:00" + "time": "2020-05-23T12:09:32+00:00" }, { "name": "symfony/polyfill-ctype", @@ -4898,20 +4832,6 @@ "polyfill", "portable" ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2020-05-12T16:14:59+00:00" }, { @@ -4971,20 +4891,6 @@ "portable", "shim" ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2020-05-12T16:47:27+00:00" }, { @@ -5043,38 +4949,24 @@ "portable", "shim" ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2020-05-12T16:47:27+00:00" }, { "name": "symfony/property-access", - "version": "v4.4.8", + "version": "v4.4.9", "source": { "type": "git", "url": "https://github.com/symfony/property-access.git", - "reference": "f6a51bd76a3a5c36c57221a4f491b9cf02663672" + "reference": "e6d51a8845b862835f5fcaf3c1030a50dc7cc70f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-access/zipball/f6a51bd76a3a5c36c57221a4f491b9cf02663672", - "reference": "f6a51bd76a3a5c36c57221a4f491b9cf02663672", + "url": "https://api.github.com/repos/symfony/property-access/zipball/e6d51a8845b862835f5fcaf3c1030a50dc7cc70f", + "reference": "e6d51a8845b862835f5fcaf3c1030a50dc7cc70f", "shasum": "" }, "require": { - "php": "^7.1.3", + "php": ">=7.1.3", "symfony/inflector": "^3.4|^4.0|^5.0" }, "require-dev": { @@ -5124,21 +5016,7 @@ "property path", "reflection" ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-04-15T15:55:41+00:00" + "time": "2020-05-30T18:50:54+00:00" }, { "name": "symfony/service-contracts", @@ -6108,12 +5986,6 @@ "Xdebug", "performance" ], - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - } - ], "time": "2020-03-01T12:26:26+00:00" }, { @@ -6166,22 +6038,22 @@ }, { "name": "doctrine/annotations", - "version": "1.10.2", + "version": "1.10.3", "source": { "type": "git", "url": "https://github.com/doctrine/annotations.git", - "reference": "b9d758e831c70751155c698c2f7df4665314a1cb" + "reference": "5db60a4969eba0e0c197a19c077780aadbc43c5d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/b9d758e831c70751155c698c2f7df4665314a1cb", - "reference": "b9d758e831c70751155c698c2f7df4665314a1cb", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/5db60a4969eba0e0c197a19c077780aadbc43c5d", + "reference": "5db60a4969eba0e0c197a19c077780aadbc43c5d", "shasum": "" }, "require": { "doctrine/lexer": "1.*", "ext-tokenizer": "*", - "php": "^7.1" + "php": "^7.1 || ^8.0" }, "require-dev": { "doctrine/cache": "1.*", @@ -6231,24 +6103,24 @@ "docblock", "parser" ], - "time": "2020-04-20T09:18:32+00:00" + "time": "2020-05-25T17:24:27+00:00" }, { "name": "doctrine/instantiator", - "version": "1.3.0", + "version": "1.3.1", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "ae466f726242e637cebdd526a7d991b9433bacf1" + "reference": "f350df0268e904597e3bd9c4685c53e0e333feea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/ae466f726242e637cebdd526a7d991b9433bacf1", - "reference": "ae466f726242e637cebdd526a7d991b9433bacf1", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/f350df0268e904597e3bd9c4685c53e0e333feea", + "reference": "f350df0268e904597e3bd9c4685c53e0e333feea", "shasum": "" }, "require": { - "php": "^7.1" + "php": "^7.1 || ^8.0" }, "require-dev": { "doctrine/coding-standard": "^6.0", @@ -6287,24 +6159,24 @@ "constructor", "instantiate" ], - "time": "2019-10-21T16:45:58+00:00" + "time": "2020-05-29T17:27:14+00:00" }, { "name": "doctrine/lexer", - "version": "1.2.0", + "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/doctrine/lexer.git", - "reference": "5242d66dbeb21a30dd8a3e66bf7a73b66e05e1f6" + "reference": "e864bbf5904cb8f5bb334f99209b48018522f042" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/5242d66dbeb21a30dd8a3e66bf7a73b66e05e1f6", - "reference": "5242d66dbeb21a30dd8a3e66bf7a73b66e05e1f6", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/e864bbf5904cb8f5bb334f99209b48018522f042", + "reference": "e864bbf5904cb8f5bb334f99209b48018522f042", "shasum": "" }, "require": { - "php": "^7.2" + "php": "^7.2 || ^8.0" }, "require-dev": { "doctrine/coding-standard": "^6.0", @@ -6349,7 +6221,7 @@ "parser", "php" ], - "time": "2019-10-30T14:39:59+00:00" + "time": "2020-05-25T17:44:05+00:00" }, { "name": "friendsofphp/php-cs-fixer", @@ -7410,16 +7282,6 @@ "testing", "xunit" ], - "funding": [ - { - "url": "https://phpunit.de/donate.html", - "type": "custom" - }, - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], "time": "2020-04-23T04:39:42+00:00" }, { @@ -8184,20 +8046,20 @@ }, { "name": "symfony/config", - "version": "v4.4.8", + "version": "v4.4.9", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "8ba41fe053683e1e6e3f6fa21f07ea5c4dd9e4c0" + "reference": "395f6e09e1dc6ac9c1a5eea3b7f44f7a820a5504" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/8ba41fe053683e1e6e3f6fa21f07ea5c4dd9e4c0", - "reference": "8ba41fe053683e1e6e3f6fa21f07ea5c4dd9e4c0", + "url": "https://api.github.com/repos/symfony/config/zipball/395f6e09e1dc6ac9c1a5eea3b7f44f7a820a5504", + "reference": "395f6e09e1dc6ac9c1a5eea3b7f44f7a820a5504", "shasum": "" }, "require": { - "php": "^7.1.3", + "php": ">=7.1.3", "symfony/filesystem": "^3.4|^4.0|^5.0", "symfony/polyfill-ctype": "~1.8" }, @@ -8244,25 +8106,11 @@ ], "description": "Symfony Config Component", "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-04-15T15:56:18+00:00" + "time": "2020-05-23T09:11:46+00:00" }, { "name": "symfony/css-selector", - "version": "v3.4.40", + "version": "v3.4.41", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", @@ -8311,38 +8159,24 @@ ], "description": "Symfony CssSelector Component", "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2020-03-16T08:31:04+00:00" }, { "name": "symfony/dependency-injection", - "version": "v4.4.8", + "version": "v4.4.9", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "9d0c2807962f7f12264ab459f48fb541dbd386bd" + "reference": "6a2cecd7011aec38b5fb2270abf0de120e7679b1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/9d0c2807962f7f12264ab459f48fb541dbd386bd", - "reference": "9d0c2807962f7f12264ab459f48fb541dbd386bd", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/6a2cecd7011aec38b5fb2270abf0de120e7679b1", + "reference": "6a2cecd7011aec38b5fb2270abf0de120e7679b1", "shasum": "" }, "require": { - "php": "^7.1.3", + "php": ">=7.1.3", "psr/container": "^1.0", "symfony/service-contracts": "^1.1.6|^2" }, @@ -8398,38 +8232,24 @@ ], "description": "Symfony DependencyInjection Component", "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-04-16T16:36:56+00:00" + "time": "2020-05-30T20:06:45+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v4.4.8", + "version": "v4.4.9", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "abc8e3618bfdb55e44c8c6a00abd333f831bbfed" + "reference": "a5370aaa7807c7a439b21386661ffccf3dff2866" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/abc8e3618bfdb55e44c8c6a00abd333f831bbfed", - "reference": "abc8e3618bfdb55e44c8c6a00abd333f831bbfed", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a5370aaa7807c7a439b21386661ffccf3dff2866", + "reference": "a5370aaa7807c7a439b21386661ffccf3dff2866", "shasum": "" }, "require": { - "php": "^7.1.3", + "php": ">=7.1.3", "symfony/event-dispatcher-contracts": "^1.1" }, "conflict": { @@ -8482,21 +8302,7 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-03-27T16:54:36+00:00" + "time": "2020-05-20T08:37:50+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -8558,20 +8364,20 @@ }, { "name": "symfony/filesystem", - "version": "v4.4.8", + "version": "v4.4.9", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "a3ebf3bfd8a98a147c010a568add5a8aa4edea0f" + "reference": "b27f491309db5757816db672b256ea2e03677d30" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/a3ebf3bfd8a98a147c010a568add5a8aa4edea0f", - "reference": "a3ebf3bfd8a98a147c010a568add5a8aa4edea0f", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/b27f491309db5757816db672b256ea2e03677d30", + "reference": "b27f491309db5757816db672b256ea2e03677d30", "shasum": "" }, "require": { - "php": "^7.1.3", + "php": ">=7.1.3", "symfony/polyfill-ctype": "~1.8" }, "type": "library", @@ -8604,25 +8410,11 @@ ], "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-04-12T14:39:55+00:00" + "time": "2020-05-30T18:50:54+00:00" }, { "name": "symfony/finder", - "version": "v4.4.8", + "version": "v4.4.9", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", @@ -8667,20 +8459,6 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2020-03-27T16:54:36+00:00" }, { @@ -8740,20 +8518,6 @@ "portable", "shim" ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2020-05-12T16:47:27+00:00" }, { @@ -8809,34 +8573,20 @@ "portable", "shim" ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2020-05-12T16:47:27+00:00" }, { "name": "symfony/process", - "version": "v4.4.8", + "version": "v4.4.9", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "4b6a9a4013baa65d409153cbb5a895bf093dc7f4" + "reference": "c714958428a85c86ab97e3a0c96db4c4f381b7f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/4b6a9a4013baa65d409153cbb5a895bf093dc7f4", - "reference": "4b6a9a4013baa65d409153cbb5a895bf093dc7f4", + "url": "https://api.github.com/repos/symfony/process/zipball/c714958428a85c86ab97e3a0c96db4c4f381b7f5", + "reference": "c714958428a85c86ab97e3a0c96db4c4f381b7f5", "shasum": "" }, "require": { @@ -8872,38 +8622,24 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-04-15T15:56:18+00:00" + "time": "2020-05-30T20:06:45+00:00" }, { "name": "symfony/stopwatch", - "version": "v4.4.8", + "version": "v4.4.9", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "e0324d3560e4128270e3f08617480d9233d81cfc" + "reference": "f51fb90df1154a7f75987198a9689e28f91e6a50" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/e0324d3560e4128270e3f08617480d9233d81cfc", - "reference": "e0324d3560e4128270e3f08617480d9233d81cfc", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/f51fb90df1154a7f75987198a9689e28f91e6a50", + "reference": "f51fb90df1154a7f75987198a9689e28f91e6a50", "shasum": "" }, "require": { - "php": "^7.1.3", + "php": ">=7.1.3", "symfony/service-contracts": "^1.0|^2" }, "type": "library", @@ -8936,41 +8672,29 @@ ], "description": "Symfony Stopwatch Component", "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-03-27T16:54:36+00:00" + "time": "2020-05-20T08:37:50+00:00" }, { "name": "textalk/websocket", - "version": "1.2.0", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/Textalk/websocket-php.git", - "reference": "bfa18bb6bf523680c7803f6b04694fbbf2f67bbf" + "reference": "9fbb3b4ebaeb823c97270b409431b0d85617e5a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Textalk/websocket-php/zipball/bfa18bb6bf523680c7803f6b04694fbbf2f67bbf", - "reference": "bfa18bb6bf523680c7803f6b04694fbbf2f67bbf", + "url": "https://api.github.com/repos/Textalk/websocket-php/zipball/9fbb3b4ebaeb823c97270b409431b0d85617e5a7", + "reference": "9fbb3b4ebaeb823c97270b409431b0d85617e5a7", "shasum": "" }, + "require": { + "php": "^5.4|^7.0" + }, "require-dev": { - "cboden/ratchet": "0.3.*", - "phpunit/phpunit": "4.1.*", - "phpunit/phpunit-selenium": "1.3.3", - "satooshi/php-coveralls": "dev-master" + "php-coveralls/php-coveralls": "^0.7", + "phpunit/phpunit": "^4.1", + "squizlabs/php_codesniffer": "^3.5" }, "type": "library", "autoload": { @@ -8980,16 +8704,20 @@ }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "ISC" ], "authors": [ { "name": "Fredrik Liljegren", "email": "fredrik.liljegren@textalk.se" + }, + { + "name": "Sören Jensen", + "email": "soren@abicart.se" } ], "description": "WebSocket client and server", - "time": "2015-10-09T07:32:42+00:00" + "time": "2020-05-31T08:15:03+00:00" }, { "name": "theseer/fdomdocument", @@ -9134,6 +8862,5 @@ "platform-dev": [], "platform-overrides": { "php": "7.2" - }, - "plugin-api-version": "1.1.0" + } } diff --git a/config/vufind/markdown.ini b/config/vufind/markdown.ini index 59e22a2fb63b413111e76e21a62d5f85da7df986..a2af6b0e1b6e51b338362f7af307eed8b74f423a 100644 --- a/config/vufind/markdown.ini +++ b/config/vufind/markdown.ini @@ -30,3 +30,40 @@ ; blocks are too deeply-nested. ;max_nesting_level = 10 +; Which extension you want to activate. List of extension names separated by comma. +; Available extensions as of league/commonmark version 1.4: +; ExternalLink, HeadingPermalink, SmartPunct, TableOfContents +; Some of them could have a configuration, see sections bellow +;extensions = ExternalLink,HeadingPermalink,SmartPunct,TableOfContents + +; See https://commonmark.thephpleague.com/1.4/extensions/external-links/ +[ExternalLink] +; This should be always set, if you want to use this extension. You can use regular +; expressions to match group of hosts +internal_hosts[] = www.example.com +;open_in_new_window = true +;html_class = external-link + +; See https://commonmark.thephpleague.com/1.4/extensions/heading-permalinks/ +[HeadingPermalink] +;html_class = heading-permalink +;id_prefix = user-content +;inner_contents = '¶' +;insert = before +;title = Permalink + +; See https://commonmark.thephpleague.com/1.4/extensions/smart-punctuation/ +[SmartPunct] +;double_quote_opener = '“' +;double_quote_closer = 'â€' +;single_quote_opener = '‘' +;single_quote_closer = '’' + +; See https://commonmark.thephpleague.com/1.4/extensions/table-of-contents/ +[TableOfContents] +;html_class = table-of-contents +;position = top +;style = bullet +;min_heading_level = 1 +;max_heading_level = 6 +;normalize => relative diff --git a/module/VuFind/src/VuFind/Service/MarkdownFactory.php b/module/VuFind/src/VuFind/Service/MarkdownFactory.php index 428ff5fa6e87fcaeb8ba345020dc920b22653928..038c320b66fae5b130d88dbadb8e72cd4868c16c 100644 --- a/module/VuFind/src/VuFind/Service/MarkdownFactory.php +++ b/module/VuFind/src/VuFind/Service/MarkdownFactory.php @@ -33,7 +33,9 @@ use Interop\Container\Exception\ContainerException; use Laminas\ServiceManager\Exception\ServiceNotCreatedException; use Laminas\ServiceManager\Exception\ServiceNotFoundException; use Laminas\ServiceManager\Factory\FactoryInterface; -use League\CommonMark\GithubFlavoredMarkdownConverter; +use League\CommonMark\CommonMarkConverter; +use League\CommonMark\Environment; +use League\CommonMark\Extension\GithubFlavoredMarkdownExtension; /** * VuFind HTTP Service factory. @@ -46,6 +48,18 @@ use League\CommonMark\GithubFlavoredMarkdownConverter; */ class MarkdownFactory implements FactoryInterface { + /** + * Array of config keys for extensions classes + * + * @var string[] + */ + protected static $configKeys = [ + 'ExternalLink' => 'external_link', + 'HeadingPermalink' => 'heading_permalink', + 'SmartPunct' => 'smartpunct', + 'TableOfContents' => 'table_of_contents', + ]; + /** * Create an object * @@ -63,29 +77,41 @@ class MarkdownFactory implements FactoryInterface public function __invoke( ContainerInterface $container, $requestedName, array $options = null ) { - $config = $container->get(\VuFind\Config\PluginManager::class) - ->get('markdown')->Markdown; - return new GithubFlavoredMarkdownConverter( - [ - 'html_input' => $config->html_input ?? 'strip', - 'allow_unsafe_links' => $config->allow_unsafe_links ?? false, - 'enable_em' => $config->enable_em ?? true, - 'enable_strong' => $config->enable_strong ?? true, - 'use_asterisk' => $config->use_asterisk ?? true, - 'use_underscore' => $config->use_underscore ?? true, - 'unordered_list_markers' => isset($config->unordered_list_markers) - && $config->unordered_list_markers instanceof \ArrayAccess - ? $config->unordered_list_markers->toArray() - : ['-', '*', '+'], - 'max_nesting_level' => $config->max_nesting_level ?? \INF, - 'renderer' => [ - 'block_separator' - => $config->renderer['block_separator'] ?? "\n", - 'inner_separator' - => $config->renderer['inner_separator'] ?? "\n", - 'soft_break' => $config->renderer['soft_break'] ?? "\n", - ], - ] - ); + $markdownConfig = $container->get(\VuFind\Config\PluginManager::class) + ->get('markdown'); + $markdownSection = $markdownConfig->Markdown; + $environment = Environment::createCommonMarkEnvironment(); + $environment->addExtension(new GithubFlavoredMarkdownExtension()); + $config = [ + 'html_input' => $config->html_input ?? 'strip', + 'allow_unsafe_links' => $config->allow_unsafe_links ?? false, + 'enable_em' => $config->enable_em ?? true, + 'enable_strong' => $config->enable_strong ?? true, + 'use_asterisk' => $config->use_asterisk ?? true, + 'use_underscore' => $config->use_underscore ?? true, + 'unordered_list_markers' => isset($config->unordered_list_markers) + && $config->unordered_list_markers instanceof \ArrayAccess + ? $config->unordered_list_markers->toArray() + : ['-', '*', '+'], + 'max_nesting_level' => $config->max_nesting_level ?? \INF, + 'renderer' => [ + 'block_separator' + => $config->renderer['block_separator'] ?? "\n", + 'inner_separator' + => $config->renderer['inner_separator'] ?? "\n", + 'soft_break' => $config->renderer['soft_break'] ?? "\n", + ], + ]; + $extensions = isset($markdownSection->extensions) + ? array_map('trim', explode(',', $markdownSection->extensions)) : []; + + foreach ($extensions as $ext) { + $extClass = sprintf( + 'League\CommonMark\Extension\%s\%sExtension', $ext, $ext + ); + $environment->addExtension(new $extClass()); + $config[self::$configKeys[$ext]] = $markdownConfig->$ext->toArray(); + } + return new CommonMarkConverter($config, $environment); } }