19 Commits

Author SHA1 Message Date
Harald Eilertsen
cb491c53f7 Prevent mentions from mangling by markdown parser
Mentioning people whose handles include valid markdown would not survive
markdown to bbcode conversion wihout being mangled. An example that
brought this to my attention was a handle similar to this:

    _someuser_@testsite.example

The underscores would be interpreted as emphasis in markdown, and
converted to:

    [i]someuser[/i]@testsite.example

This patch should fix this, and hopefully any other issue with mentions
being mangled.
2025-06-28 13:35:05 +02:00
Harald Eilertsen
ecde4a3ded Change config used by Markdown tests to reflect actual use.
This makes the configuration used align better with how it is being used
in the mdpost addon. This also reveals some issues that are less than
ideal for Markdown posts. The relevant test cases have been adjusted to
pass with the new config, but have been commented.
2024-10-12 18:19:43 +02:00
Harald Eilertsen
803cd74b48 markdown: Don't link URLs in code blocks.
When passing a content throught the `markdown_to_bb` function
to convert any markdown in the content, any recognized URLs in the
content would be converted to BBCode links as a post processing step
after the main conversion.

After commit a1ccacb825 this did no longer
consider content within code blocks, and would thus convert them as
to BBCode links.

Example: The following content

	[code]
	example url: https://example.com
	[/code]

Would be converted to

	[code]
	example url: [url=https://example.com]https://example.com[/url]
	[/code]

Prior to commit a1ccacb825, code blocks
would be protected, so this would not happen.

This patch removes the post processing step for converting plain URLs to
links completely from this routine. This functionality is in any case
covered in the actual BBCode parser where it belongs.

This will have some other side effects as well, such as images and links
created using Markdown, will not be converted to [zmg] or [zrl] tags
where that would be done automatically before. If you intend to use a
[zrl] or [zmg] tag, you now need to do so explicitly.
2024-09-30 13:54:50 +02:00
Harald Eilertsen
cad82d12d2 Upgrade test framework to PHPUnit 10.5 2024-05-27 06:17:05 +00:00
Harald Eilertsen
19ae8cfdfc Support code blocks with language in markdown and html. 2024-02-08 10:00:12 +01:00
Harald Eilertsen
86e953f495 Fix: Preserve hard linebreaks from markdown and html 2024-02-07 22:34:13 +01:00
Harald Eilertsen
e6ce2885c0 Fix: Keep indentation in html and md code blocks.
Moves the logic for unwrapping broken lines in html (and Markdown) to
the node processing, instead of doing it over the full html content.
This allows us to skip if for code blocks (aka `<code>` elements within
`<pre>` elements).
2024-02-07 15:54:40 +01:00
Harald Eilertsen
ec19ee9d82 Fix convert code blocs from markdown/html to bbcode 2024-02-06 18:39:51 +01:00
Harald Eilertsen
983f063d33 Fix image with alt text for html/md to bbcode 2024-02-06 16:23:39 +01:00
Harald Eilertsen
eb6a143fff Add some tests for markdown to bbcode conversion. 2024-02-06 16:19:30 +01:00
Harald Eilertsen
1881029040 Clean up markdowntest and fix bb to markdown test. 2024-02-06 11:43:32 +01:00
Harald Eilertsen
1fcb05ed8c Unit tests: Update Markdown tests to reflect that it works. 2023-06-14 23:02:13 +02:00
Mario
af0896bb8b a possible fix for the nested list test 2021-09-29 20:57:16 +00:00
Mario
4c1c690816 fix markdown test 2020-01-09 14:33:00 +00:00
Mario Vavti
fc6ff45c49 fix another markdown test 2018-10-30 22:51:52 +01:00
Mario Vavti
b4bac88c39 fix markdown tests 2018-10-30 22:37:41 +01:00
Mario Vavti
0b371c8103 fix html2markdown() and re-enable previously failing tests 2018-10-30 13:55:08 +01:00
git-marijus
0db047e572 fix phpunit error with html2markdown test and temporary disable failing markdown test in connection with **bold** and _italic_ (it is not clear why they fail and the code appears to work as expected) 2018-10-13 13:39:22 +02:00
Klaus Weidenbach
0f0e23445a :hammer: Add html2markdown unit tests.
A tiny refactoring to make HTML 2 markdown conversion testable.
Add some unit tests to check the behavior of the now used HTML2Markdown library.
There are some differences compared to the old pixel418/markdownify library.
2017-05-27 00:19:01 +02:00