Skip to content

Commit

Permalink
Merge pull request #312 from benbalter/update-w2m
Browse files Browse the repository at this point in the history
Update w2m
  • Loading branch information
benbalter committed Apr 18, 2024
2 parents 38344d5 + 0d8fb28 commit 1c9af3b
Show file tree
Hide file tree
Showing 13 changed files with 101 additions and 29 deletions.
4 changes: 2 additions & 2 deletions vendor/composer/installed.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
'name' => 'benbalter/wordpress-to-jekyll-exporter',
'pretty_version' => 'dev-master',
'version' => 'dev-master',
'reference' => '4265631f526976ae968a0ede62d0e14d400bf874',
'reference' => '52dec7112d6d2d45eac2c8ee766f0ef56dc68f94',
'type' => 'library',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
Expand All @@ -13,7 +13,7 @@
'benbalter/wordpress-to-jekyll-exporter' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
'reference' => '4265631f526976ae968a0ede62d0e14d400bf874',
'reference' => '52dec7112d6d2d45eac2c8ee766f0ef56dc68f94',
'type' => 'library',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
Expand Down
14 changes: 7 additions & 7 deletions vendor/league/html-to-markdown/.github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3

- uses: shivammathur/setup-php@v2
with:
Expand All @@ -28,19 +28,19 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
php: ['7.2', '7.3', '7.4']
php: ['7.2', '7.3', '7.4', '8.0', '8.1']
coverage: [true]
composer-flags: ['']
include:
- php: '8.0'
- php: '8.2'
coverage: false
composer-flags: '--ignore-platform-req=php'
- php: '7.2'
coverage: false
composer-flags: '--prefer-lowest'

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3

- uses: shivammathur/setup-php@v2
with:
Expand All @@ -53,7 +53,7 @@ jobs:

- name: "Use PHPUnit 9.3+ on PHP 8"
run: composer require --no-update --dev phpunit/phpunit:^9.3
if: "matrix.php == '8.0'"
if: "matrix.php >= '8.0'"

- run: composer update --no-progress ${{ matrix.composer-flags }}

Expand All @@ -72,7 +72,7 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3

- uses: shivammathur/setup-php@v2
with:
Expand All @@ -90,7 +90,7 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3

- uses: shivammathur/setup-php@v2
with:
Expand Down
21 changes: 20 additions & 1 deletion vendor/league/html-to-markdown/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,23 @@ Updates should follow the [Keep a CHANGELOG](http://keepachangelog.com/) princip

## [Unreleased][unreleased]

## [5.1.1] - 2023-07-12

### Fixed

- Fixed `<pre>` tags with attributes not being parsed (#215, #238)
- Fixed missing type checks and coercions

## [5.1.0] - 2022-03-02

### Changed

- Changed horizontal rule style (#218, #219)

### Fixed

- Fixed `Element::getValue()` not handling possible nulls

## [5.0.2] - 2021-11-06

### Fixed
Expand Down Expand Up @@ -305,7 +322,9 @@ not ideally set, so this releases fixes that. Moving forwards this should reduce
### Added
- Initial release

[unreleased]: https://github.com/thephpleague/html-to-markdown/compare/5.0.2...master
[unreleased]: https://github.com/thephpleague/html-to-markdown/compare/5.1.1...master
[5.1.1]: https://github.com/thephpleague/html-to-markdown/compare/5.1.0...5.1.1
[5.1.0]: https://github.com/thephpleague/html-to-markdown/compare/5.0.2...5.1.0
[5.0.2]: https://github.com/thephpleague/html-to-markdown/compare/5.0.1...5.0.2
[5.0.1]: https://github.com/thephpleague/html-to-markdown/compare/5.0.0...5.0.1
[5.0.0]: https://github.com/thephpleague/html-to-markdown/compare/4.10.0...5.0.0
Expand Down
25 changes: 21 additions & 4 deletions vendor/league/html-to-markdown/composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,16 +36,33 @@
},
"require-dev": {
"mikehaertl/php-shellcommand": "^1.1.0",
"phpstan/phpstan": "^0.12.82",
"phpstan/phpstan": "^1.8.8",
"phpunit/phpunit": "^8.5 || ^9.2",
"scrutinizer/ocular": "^1.6",
"unleashedtech/php-coding-standard": "^2.7",
"vimeo/psalm": "^4.6"
"unleashedtech/php-coding-standard": "^2.7 || ^3.0",
"vimeo/psalm": "^4.22 || ^5.0"
},
"bin": ["bin/html-to-markdown"],
"scripts": {
"phpcs": "phpcs",
"phpstan": "phpstan analyse",
"phpunit": "phpunit --no-coverage",
"psalm": "psalm --stats",
"test": [
"@phpcs",
"@phpstan",
"@psalm",
"@phpunit"
]
},
"extra": {
"branch-alias": {
"dev-master": "5.1-dev"
"dev-master": "5.2-dev"
}
},
"config": {
"allow-plugins": {
"dealerdirect/phpcodesniffer-composer-installer": true
}
}
}
1 change: 0 additions & 1 deletion vendor/league/html-to-markdown/psalm.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
<?xml version="1.0"?>
<psalm
totallyTyped="false"
errorLevel="3"
resolveFromConfigFile="true"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
Expand Down
35 changes: 35 additions & 0 deletions vendor/league/html-to-markdown/src/Coerce.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<?php

declare(strict_types=1);

namespace League\HTMLToMarkdown;

/**
* @internal
*/
final class Coerce
{
private function __construct()
{
}

/**
* @param mixed $val
*/
public static function toString($val): string
{
switch (true) {
case \is_string($val):
return $val;
case \is_bool($val):
case \is_float($val):
case \is_int($val):
case $val === null:
return \strval($val);
case \is_object($val) && \method_exists($val, '__toString'):
return $val->__toString();
default:
throw new \InvalidArgumentException('Cannot coerce this value to string');
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ class HorizontalRuleConverter implements ConverterInterface
{
public function convert(ElementInterface $element): string
{
return "- - - - - -\n\n";
return "---\n\n";
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,6 @@ private function isValidEmail(string $email): bool

private function shouldStrip(): bool
{
return $this->config->getOption('strip_placeholder_links') ?? false;
return \boolval($this->config->getOption('strip_placeholder_links') ?? false);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

namespace League\HTMLToMarkdown\Converter;

use League\HTMLToMarkdown\Coerce;
use League\HTMLToMarkdown\Configuration;
use League\HTMLToMarkdown\ConfigurationAwareInterface;
use League\HTMLToMarkdown\ElementInterface;
Expand Down Expand Up @@ -38,8 +39,8 @@ public function convert(ElementInterface $element): string
}

if ($listType === 'ul') {
$listItemStyle = $this->config->getOption('list_item_style', '-');
$listItemStyleAlternate = $this->config->getOption('list_item_style_alternate');
$listItemStyle = Coerce::toString($this->config->getOption('list_item_style', '-'));
$listItemStyleAlternate = Coerce::toString($this->config->getOption('list_item_style_alternate', ''));
if (! isset($this->listItemStyle)) {
$this->listItemStyle = $listItemStyleAlternate ?: $listItemStyle;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@ class PreformattedConverter implements ConverterInterface
public function convert(ElementInterface $element): string
{
$preContent = \html_entity_decode($element->getChildrenAsString());
$preContent = \str_replace(['<pre>', '</pre>'], '', $preContent);
$preContent = \preg_replace('/<pre\b[^>]*>/', '', $preContent);
\assert($preContent !== null);
$preContent = \str_replace('</pre>', '', $preContent);

/*
* Checking for the code tag.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

namespace League\HTMLToMarkdown\Converter;

use League\HTMLToMarkdown\Coerce;
use League\HTMLToMarkdown\Configuration;
use League\HTMLToMarkdown\ConfigurationAwareInterface;
use League\HTMLToMarkdown\ElementInterface;
Expand Down Expand Up @@ -89,7 +90,7 @@ public function convert(ElementInterface $element): string
}

$value = \str_replace("\n", ' ', $value);
$value = \str_replace('|', $this->config->getOption('table_pipe_escape') ?? '\|', $value);
$value = \str_replace('|', Coerce::toString($this->config->getOption('table_pipe_escape') ?? '\|'), $value);

return '| ' . \trim($value) . ' ';
case 'thead':
Expand Down
12 changes: 5 additions & 7 deletions vendor/league/html-to-markdown/src/Element.php
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ public function getTagName(): string

public function getValue(): string
{
return $this->node->nodeValue;
return $this->node->nodeValue ?? '';
}

public function hasParent(): bool
Expand Down Expand Up @@ -98,6 +98,8 @@ public function getChildren(): array
{
$ret = [];
foreach ($this->node->childNodes as $node) {
/** @psalm-suppress RedundantCondition */
\assert($node instanceof \DOMNode);
$ret[] = new self($node);
}

Expand All @@ -116,7 +118,7 @@ public function getNext(): ?ElementInterface
return $this->nextCached;
}

private function getNextNode(\DomNode $node, bool $checkChildren = true): ?\DomNode
private function getNextNode(\DOMNode $node, bool $checkChildren = true): ?\DOMNode
{
if ($checkChildren && $node->firstChild) {
return $node->firstChild;
Expand All @@ -142,11 +144,7 @@ public function isDescendantOf($tagNames): bool
$tagNames = [$tagNames];
}

for ($p = $this->node->parentNode; $p !== false; $p = $p->parentNode) {
if ($p === null) {
return false;
}

for ($p = $this->node->parentNode; $p !== null; $p = $p->parentNode) {
if (\in_array($p->nodeName, $tagNames, true)) {
return true;
}
Expand Down
2 changes: 1 addition & 1 deletion vendor/league/html-to-markdown/src/HtmlConverter.php
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ protected function convertToMarkdown(ElementInterface $element): string
$tag = $element->getTagName();

// Strip nodes named in remove_nodes
$tagsToRemove = \explode(' ', $this->getConfig()->getOption('remove_nodes') ?? '');
$tagsToRemove = \explode(' ', Coerce::toString($this->getConfig()->getOption('remove_nodes') ?? ''));
if (\in_array($tag, $tagsToRemove, true)) {
return '';
}
Expand Down

0 comments on commit 1c9af3b

Please sign in to comment.