Correct test expectations

- Adapt the converter minimally
This commit is contained in:
Johannes Zillmann 2024-04-22 07:39:30 -06:00
parent f0f9a3b896
commit 491e8c549a
3 changed files with 335 additions and 529 deletions

File diff suppressed because it is too large Load Diff

View File

@ -3,16 +3,14 @@
## 2te Überschrift
```
Dies ist eine Test-PDF^1.
Dies ist eine Test-PDF[^1].
Fürs Testen des Markdown Parsers.
```
(^1) In Deutsch.
[^1]: In Deutsch.
## Paragraphen
Das ist ein Paragraph. Ein einfacher Paragraph mit Schrift in Normalgröße^2. Damit wir _sehen_ wie
Das ist ein Paragraph. Ein einfacher Paragraph mit Schrift in Normalgröße[^2]. Damit wir _sehen_ wie
sich Zeilenumbrüche verhalten, schreiben wir einfach ein bisschen mehr. So, dass sieht ja jetzt
schon gut aus!
Ohne Zwischenzeile, neu angesetzt.
@ -27,7 +25,7 @@ accumsan risus in purus facilisis interdum. Aliquam tincidunt condimentum est, s
venenatis orci. Fusce neque nibh, dapibus et volutpat sit amet, consectetur ac quam. Sed pharetra
faucibus arcu, at interdum dui ornare ut. Aliquam sodales, magna et euismod congue, ipsum diam
tempus sapien, vel aliquet tortor dolor ut purus. Aenean aliquet ut erat vitae dictum. Fusce eget
ultrices magna. Sed egestas mi nec rutrum iaculis. Phasellus condimentum^3 , urna sit amet sodales
ultrices magna. Sed egestas mi nec rutrum iaculis. Phasellus condimentum[^3] , urna sit amet sodales
accumsan, lacus risus cursus ipsum, et rhoncus ligula mi et nibh. In consequat a risus a
accumsan. Pellentesque nec lacus sodales eros laoreet pretium non ac erat.
@ -35,14 +33,14 @@ Und jetzt ein kleiner Text im block-format. Das erzeugt schöne doppelte Leerzei
Wörtern. Wenn Markdown zu HTML gerendert wird, fällt das zwar nicht mehr auf. Aber in der puren
Text-Version ist es schon stark sichtbar!
Und jetzt^4 einfach nochmal Text^5 um die Fussnoten in zweistellige Bereiche^6 vorranzutreiben!
Und jetzt[^4] einfach nochmal Text[^5] um die Fussnoten in zweistellige Bereiche[^6] vorranzutreiben!
(^2) Was immer auch normal ist...
(^3) Nicht zu verwechseln mit condimenta. Meine Lateinkenntnisse sind zwar schon so alt das ich
[^2]: Was immer auch normal ist...
[^3]: Nicht zu verwechseln mit condimenta. Meine Lateinkenntnisse sind zwar schon so alt das ich
überhaupt keine Ahnung hab, aber zumindest hab ich jetzt eine mehrzeilige Fussnote!
(^4) Hier & Jetzt!
(^5) Nicht viel mehr als ein Satz.
(^6) Weil dann wird's komplizierter!
[^4]: Hier & Jetzt!
[^5]: Nicht viel mehr als ein Satz.
[^6]: Weil dann wird's komplizierter!
## Schriftschnitt
@ -71,7 +69,7 @@ Eine Liste mit unterschiedlich formatierten Wörtern
- Etwas _Kursiv_
- Etwas **Fett**
- Etwas Unterstrichen^7
- Etwas Unterstrichen[^7]
- Etwas Durchgestrichen
- Und noch ein Link: [http://pdf2md.morethan.io](http://pdf2md.morethan.io)
@ -91,7 +89,7 @@ _Und ein folgender Absatz, auch kursiv!_
_Und ein kursiver Setzt der einen eingeschlossen Link, nämlich [http://pdf2md.morethan.io,](http://pdf2md.morethan.io,) hat._
(^7) Fussnote in einer Liste
[^7]: Fussnote in einer Liste
## Listen
@ -180,7 +178,7 @@ der Parser das sauber trennen kann:
Und danach kommt auch gleicht was.
## Quotes & Spezielle Einschübe^8
## Quotes & Spezielle Einschübe[^8]
Das hier ist wieder ein normaler Absatz. Das interessante ist der nachfolgende Teil, der
eingeschoben ist, gewöhnlicher Weise sowas wie ein Zitat, oder Code, oder sonst was:
@ -192,7 +190,7 @@ spiegelt dann ein leerer Schreibtisch wider? - Albert Einstein
So, das war ja schonmal ein guter Anfang. Hier noch ein Einzeiler:
```
Phantasie ist wichtiger als Wissen , denn Wissen^9 ist begrenzt. - Albert Einstein^10
Phantasie ist wichtiger als Wissen , denn Wissen[^9] ist begrenzt. - Albert Einstein[^10]
```
Und nun mehrere Quotes hintereinander:
@ -212,8 +210,8 @@ abc
### Heading 2 II
(^8) Eine Überschrifts-Fussnote... so was gibts auch!
(^9) Wisse, dass ist eine Fussnote in einem Zitat!
(^10) Der Albert Einstein (Fussnote im Zitat, am Ende der Zeile)
[^8]: Eine Überschrifts-Fussnote... so was gibts auch!
[^9]: Wisse, dass ist eine Fussnote in einem Zitat!
[^10]: Der Albert Einstein (Fussnote im Zitat, am Ende der Zeile)

View File

@ -19,7 +19,7 @@ export default class MarkdownConverter implements Converter {
const blockTypes: TextType[] = blockItems[0].data['types'] || [];
let blockContent = '';
groupByLine(blockItems).forEach((lineItems) => {
blockContent += linesToText(lineItems, blockTypes.length > 0);
blockContent += lineToText(lineItems, blockTypes.length > 0);
blockContent += '\n';
});
content += elementToText(blockContent, blockTypes[0]);
@ -39,7 +39,9 @@ function elementToText(text: string, type: TextType) {
case 'H6':
return '#'.repeat(headlineLevel(type)) + ' ' + text + '\n';
case 'CODE':
return '```\n' + text + '\n```';
return '```\n' + text.trim() + '\n```\n';
case 'FOOTNOTES':
return text;
default:
return text + '\n';
}
@ -49,7 +51,7 @@ function toWords(text: string): string[] {
return text.split(' ').filter((string) => string.trim().length > 0);
}
export function linesToText(lineItems: Item[], disableInlineFormats: boolean = false) {
export function lineToText(lineItems: Item[], disableInlineFormats: boolean = false) {
let text = '';
let openFormat: TokenType;