From 079f32f6cd2790e846339189dad3e5dd9c2e5832 Mon Sep 17 00:00:00 2001 From: AlexVonB Date: Fri, 21 May 2021 12:27:49 +0200 Subject: [PATCH] added del and s tags --- markdownify/__init__.py | 8 ++++++++ tests/test_conversions.py | 24 ++++++++++++++++-------- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/markdownify/__init__.py b/markdownify/__init__.py index 7271c69..9aa9b54 100644 --- a/markdownify/__init__.py +++ b/markdownify/__init__.py @@ -204,6 +204,12 @@ class MarkdownConverter(object): return '' return '%s`%s`%s' % (prefix, text, suffix) + def convert_del(self, el, text, convert_as_inline): + prefix, suffix, text = chomp(text) + if not text: + return '' + return '%s~~%s~~%s' % (prefix, text, suffix) + def convert_em(self, el, text, convert_as_inline): em_tag = self.options['strong_em_symbol'] prefix, suffix, text = chomp(text) @@ -288,6 +294,8 @@ class MarkdownConverter(object): return text return '%s\n\n' % text if text else '' + convert_s = convert_del + def convert_strong(self, el, text, convert_as_inline): strong_tag = 2 * self.options['strong_em_symbol'] prefix, suffix, text = chomp(text) diff --git a/tests/test_conversions.py b/tests/test_conversions.py index b3b4233..9642fcf 100644 --- a/tests/test_conversions.py +++ b/tests/test_conversions.py @@ -240,25 +240,33 @@ def test_em_spaces(): assert md('foo bar') == 'foo bar' -def code_samp_kbd_tests(tag): +def inline_tests(tag, markup): # Basically re-use test_em() and test_em_spaces(), - assert md(f'<{tag}>Hello') == '`Hello`' - assert md(f'foo <{tag}>Hello bar') == 'foo `Hello` bar' - assert md(f'foo<{tag}> Hello bar') == 'foo `Hello` bar' - assert md(f'foo <{tag}>Hello bar') == 'foo `Hello` bar' + assert md(f'<{tag}>Hello') == f'{markup}Hello{markup}' + assert md(f'foo <{tag}>Hello bar') == f'foo {markup}Hello{markup} bar' + assert md(f'foo<{tag}> Hello bar') == f'foo {markup}Hello{markup} bar' + assert md(f'foo <{tag}>Hello bar') == f'foo {markup}Hello{markup} bar' assert md(f'foo <{tag}> bar') in ['foo bar', 'foo bar'] # Either is OK def test_code(): - code_samp_kbd_tests('code') + inline_tests('code', '`') def test_samp(): - code_samp_kbd_tests('samp') + inline_tests('samp', '`') def test_kbd(): - code_samp_kbd_tests('kbd') + inline_tests('kbd', '`') + + +def test_del(): + inline_tests('del', '~~') + + +def test_s(): + inline_tests('s', '~~') def test_h1():