diff --git a/.gitignore b/.gitignore
index 3159a83..c5a550a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,3 +13,5 @@ php-markdown-1.0.1n.zip
/php-markdown-lib-1.8.0.zip
/php-markdown-1.8.0-01ab082.tgz
/php-markdown-1.9.0-c83178d.tgz
+/php-markdown-1.9.1-5024d62.tgz
+/php-markdown-2.0.0.tar.gz
diff --git a/composer.json b/composer.json
index 0935075..7cb59cf 100644
--- a/composer.json
+++ b/composer.json
@@ -18,12 +18,37 @@
}
],
"require": {
- "php": ">=5.3.0"
+ "php": ">=7.4"
},
"autoload": {
"psr-4": { "Michelf\\": "Michelf/" }
},
"require-dev": {
- "phpunit/phpunit": ">=4.3 <5.8"
+ "friendsofphp/php-cs-fixer": "^3.0",
+ "phpunit/phpunit": "^9.5",
+ "phpstan/phpstan": ">=1.0",
+ "phpstan/phpstan-phpunit": ">=1.0"
+ },
+
+ "scripts": {
+ "tests": "vendor/bin/phpunit test/",
+ "phpstan": [
+ "vendor/bin/phpstan analyse Michelf/ --level=5",
+ "vendor/bin/phpstan analyse -c test/phpstan.neon test/ --level=5"
+ ],
+ "codestyle": "vendor/bin/php-cs-fixer fix Michelf --dry-run --verbose --show-progress=none",
+ "codestyle-fix": "vendor/bin/php-cs-fixer fix Michelf"
+ },
+
+ "archive": {
+ "exclude": [
+ "/.github/",
+ "/test/",
+ "/.editorconfig",
+ "/.gitignore",
+ "/.scrutinizer.yml",
+ "/.travis.yml",
+ "/phpunit.xml.dist"
+ ]
}
}
diff --git a/php-markdown-php74.patch b/php-markdown-php74.patch
deleted file mode 100644
index fb6d782..0000000
--- a/php-markdown-php74.patch
+++ /dev/null
@@ -1,137 +0,0 @@
-diff -up Michelf/MarkdownExtra.php.php74 Michelf/MarkdownExtra.php
---- Michelf/MarkdownExtra.php.php74 2019-07-26 15:03:52.000000000 +0200
-+++ Michelf/MarkdownExtra.php 2019-07-26 15:07:25.255088870 +0200
-@@ -212,9 +212,9 @@ class MarkdownExtra extends \Michelf\Mar
- $attributes = array();
- $id = false;
- foreach ($elements as $element) {
-- if ($element{0} == '.') {
-+ if ($element[0] == '.') {
- $classes[] = substr($element, 1);
-- } else if ($element{0} == '#') {
-+ } else if ($element[0] == '#') {
- if ($id === false) $id = substr($element, 1);
- } else if (strpos($element, '=') > 0) {
- $parts = explode('=', $element, 2);
-@@ -508,14 +508,14 @@ class MarkdownExtra extends \Michelf\Mar
- }
- }
- // Check for: Indented code block.
-- else if ($tag{0} == "\n" || $tag{0} == " ") {
-+ else if ($tag[0] == "\n" || $tag[0] == " ") {
- // Indented code block: pass it unchanged, will be handled
- // later.
- $parsed .= $tag;
- }
- // Check for: Code span marker
- // Note: need to check this after backtick fenced code blocks
-- else if ($tag{0} == "`") {
-+ else if ($tag[0] == "`") {
- // Find corresponding end marker.
- $tag_re = preg_quote($tag);
- if (preg_match('{^(?>.+?|\n(?!\n))*?(?clean_tags_re . ')\b}', $tag) ||
-- $tag{1} == '!' || $tag{1} == '?')
-+ $tag[1] == '!' || $tag[1] == '?')
- {
- // Need to parse tag and following text using the HTML parser.
- // (don't check for markdown attribute)
-@@ -564,7 +564,7 @@ class MarkdownExtra extends \Michelf\Mar
- preg_match('{^?(?:' . $enclosing_tag_re . ')\b}', $tag))
- {
- // Increase/decrease nested tag count.
-- if ($tag{1} == '/') $depth--;
-+ if ($tag[1] == '/') $depth--;
- else if ($tag{strlen($tag)-2} != '/') $depth++;
-
- if ($depth < 0) {
-@@ -664,7 +664,7 @@ class MarkdownExtra extends \Michelf\Mar
- // In that case, we return original text unchanged and pass the
- // first character as filtered to prevent an infinite loop in the
- // parent function.
-- return array($original_text{0}, substr($original_text, 1));
-+ return array($original_text[0], substr($original_text, 1));
- }
-
- $block_text .= $parts[0]; // Text before current tag.
-@@ -674,7 +674,7 @@ class MarkdownExtra extends \Michelf\Mar
- // Check for: Auto-close tag (like
)
- // Comments and Processing Instructions.
- if (preg_match('{^?(?:' . $this->auto_close_tags_re . ')\b}', $tag) ||
-- $tag{1} == '!' || $tag{1} == '?')
-+ $tag[1] == '!' || $tag[1] == '?')
- {
- // Just add the tag to the block as if it was text.
- $block_text .= $tag;
-@@ -683,7 +683,7 @@ class MarkdownExtra extends \Michelf\Mar
- // Increase/decrease nested tag count. Only do so if
- // the tag's name match base tag's.
- if (preg_match('{^?' . $base_tag_name_re . '\b}', $tag)) {
-- if ($tag{1} == '/') $depth--;
-+ if ($tag[1] == '/') $depth--;
- else if ($tag{strlen($tag)-2} != '/') $depth++;
- }
-
-@@ -1071,7 +1071,7 @@ class MarkdownExtra extends \Michelf\Mar
- return $matches[0];
- }
-
-- $level = $matches[3]{0} == '=' ? 1 : 2;
-+ $level = $matches[3][0] == '=' ? 1 : 2;
-
- $defaultId = is_callable($this->header_id_func) ? call_user_func($this->header_id_func, $matches[1]) : null;
-
-@@ -1466,7 +1466,7 @@ class MarkdownExtra extends \Michelf\Mar
-
- $classes = array();
- if ($classname != "") {
-- if ($classname{0} == '.')
-+ if ($classname[0] == '.')
- $classname = substr($classname, 1);
- $classes[] = $this->code_class_prefix . $classname;
- }
-diff -up Michelf/Markdown.php.php74 Michelf/Markdown.php
---- Michelf/Markdown.php.php74 2019-07-26 15:03:52.000000000 +0200
-+++ Michelf/Markdown.php 2019-07-26 15:06:27.924736197 +0200
-@@ -952,7 +952,7 @@ class Markdown implements MarkdownInterf
- return $matches[0];
- }
-
-- $level = $matches[2]{0} == '=' ? 1 : 2;
-+ $level = $matches[2][0] == '=' ? 1 : 2;
-
- // ID attribute generation
- $idAtt = $this->_generateIdFromHeaderValue($matches[1]);
-@@ -1358,7 +1358,7 @@ class Markdown implements MarkdownInterf
- } else {
- // Other closing marker: close one em or strong and
- // change current token state to match the other
-- $token_stack[0] = str_repeat($token{0}, 3-$token_len);
-+ $token_stack[0] = str_repeat($token[0], 3-$token_len);
- $tag = $token_len == 2 ? "strong" : "em";
- $span = $text_stack[0];
- $span = $this->runSpanGamut($span);
-@@ -1383,7 +1383,7 @@ class Markdown implements MarkdownInterf
- } else {
- // Reached opening three-char emphasis marker. Push on token
- // stack; will be handled by the special condition above.
-- $em = $token{0};
-+ $em = $token[0];
- $strong = "$em$em";
- array_unshift($token_stack, $token);
- array_unshift($text_stack, '');
-@@ -1796,9 +1796,9 @@ class Markdown implements MarkdownInterf
- * @return string
- */
- protected function handleSpanToken($token, &$str) {
-- switch ($token{0}) {
-+ switch ($token[0]) {
- case "\\":
-- return $this->hashPart("". ord($token{1}). ";");
-+ return $this->hashPart("". ord($token[1]). ";");
- case "`":
- // Search for end marker in remaining text.
- if (preg_match('/^(.*?[^`])'.preg_quote($token).'(?!`)(.*)$/sm',
diff --git a/php-markdown.spec b/php-markdown.spec
index 5cb5f81..56470b6 100644
--- a/php-markdown.spec
+++ b/php-markdown.spec
@@ -5,19 +5,19 @@
#
# Please preserve changelog entries
#
-%global gh_commit c83178d49e372ca967d1a8c77ae4e051b3a3c75c
+%global gh_commit 5024d623c1a057dcd2d076d25b7d270a1d0d55f3
%global gh_short %(c=%{gh_commit}; echo ${c:0:7})
%global gh_owner michelf
%global gh_project php-markdown
Name: php-markdown
-Version: 1.9.0
-Release: 4%{?dist}
+Version: 2.0.0
+Release: 7%{?dist}
Summary: Markdown implementation in PHP
-License: BSD
+License: BSD-3-Clause
URL: https://michelf.ca/projects/php-markdown/
-Source0: %{name}-%{version}-%{gh_short}.tgz
+Source0: https://github.com/michelf/php-markdown/archive/%{version}/%{name}-%{version}.tar.gz
Source1: makesrc.sh
BuildArch: noarch
@@ -25,9 +25,9 @@ BuildRequires: php-fedora-autoloader-devel
# For tests
# "require-dev": {
# "phpunit/phpunit": ">=4.3 <5.8"
-BuildRequires: phpunit
+BuildRequires: phpunit10
-Requires: php(language) >= 5.3
+Requires: php(language) >= 7.4
Requires: php-pcre
Requires: php-composer(fedora/autoloader)
@@ -38,14 +38,11 @@ Provides: php-composer(michelf/php-markdown) = %{version}
This is a PHP implementation of John Gruber's Markdown.
It is almost completely compliant with the reference implementation.
-This packages provides the classic version %{classic_version} and the new
-library version %{version}.
-
Autoloader: %{_datadir}/php/Michelf/markdown-autoload.php
%prep
-%setup -q -n %{gh_project}-%{gh_commit}
+%setup -q
mv License.md LICENSE
@@ -79,11 +76,11 @@ require "test/bootstrap.php";
EOF
ret=0
-for php in php php72 php73 php74
+for php in php php74 php81 php82 php83
do
if which $php
then
- $php %{_bindir}/phpunit --bootstrap bs.php || ret=1
+ $php %{_bindir}/phpunit10 --bootstrap bs.php || ret=1
fi
done
exit $ret
@@ -99,6 +96,48 @@ exit $ret
%changelog
+* Fri Jul 25 2025 Fedora Release Engineering - 2.0.0-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
+
+* Sun Mar 23 2025 Tim Landscheidt - 2.0.0-6
+- Remove outdated information from package description
+
+* Sat Jan 18 2025 Fedora Release Engineering - 2.0.0-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
+
+* Fri Jul 19 2024 Fedora Release Engineering - 2.0.0-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
+
+* Thu Jan 25 2024 Fedora Release Engineering - 2.0.0-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
+* Sun Jan 21 2024 Fedora Release Engineering - 2.0.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
+* Wed Oct 04 2023 Sérgio Basto - 2.0.0-1
+- Update php-markdown to 2.0.0
+
+* Fri Jul 21 2023 Fedora Release Engineering - 1.9.1-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
+
+* Wed Mar 01 2023 Gwyn Ciesla - 1.9.1-5
+- migrated to SPDX license
+
+* Fri Jan 20 2023 Fedora Release Engineering - 1.9.1-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
+
+* Fri Jul 22 2022 Fedora Release Engineering - 1.9.1-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
+
+* Fri Jan 21 2022 Fedora Release Engineering - 1.9.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
+* Wed Nov 24 2021 Remi Collet - 1.9.1-1
+- update to 1.9.1
+
+* Fri Jul 23 2021 Fedora Release Engineering - 1.9.0-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
* Wed Jan 27 2021 Fedora Release Engineering - 1.9.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
diff --git a/sources b/sources
index 90c8999..e26d3a3 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (php-markdown-1.9.0-c83178d.tgz) = 3f4564ed999f16e822ec409fed66114b54b17aa2676bc53a04d35e5e721908c5980dd7a5f7b10cfdc1f08fa44dbf3fedf537c5d5705e74b71d0f56372ab80790
+SHA512 (php-markdown-2.0.0.tar.gz) = a848bc7374f8392d21824acbc1fb11c37f961e1780fb2c735a4d4d09949fb51a6962d8d2f6df2dfca92d00a33da82062d5e2a8b8301cb476242e1fc17af673b5