1
0
mirror of https://github.com/laurent22/joplin.git synced 2025-11-29 22:48:10 +02:00

Desktop: Resolves #2059: Add option to transform HTML notes into Markdown (#12730)

Co-authored-by: Laurent Cozic <laurent22@users.noreply.github.com>
This commit is contained in:
pedr
2025-08-06 07:02:13 -03:00
committed by GitHub
parent 358134038c
commit 8c8a38e704
17 changed files with 309 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
import { runtime } from './convertHtmlToMarkdown';
import { CommandContext } from '../services/CommandService';
import { defaultState } from '../reducer';
const command = runtime();
const makeContext = (): CommandContext => {
return {
state: defaultState,
dispatch: ()=>{},
};
};
describe('convertHtmlToMarkdown', () => {
it.each([
['<b>test</b>', '**test**'],
['<a href="https://joplin.org">Joplin</a>', '[Joplin](https://joplin.org)'],
['<h1>Title</h1>\n<h2>Subtitle</h2>', '# Title\n\n## Subtitle'],
['<ul><li>One</li><li>Two</li></ul>', '- One\n- Two'],
['<p>First paragraph</p><p>This is the second paragraph</p>', 'First paragraph\n\nThis is the second paragraph'],
['<p>A paragraph with <strong>bold</strong> and <em>italic</em></p>', 'A paragraph with **bold** and *italic*'],
])('should turn HTML into Markdown', async (html, markdown) => {
const context = makeContext();
const result: string = await command.execute(context, html);
expect(result).toBe(markdown);
});
});