• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

IT-Talents.de Code Competitions

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.561
  • Thread Starter Thread Starter
  • #21
Hallo Kevin,

schön dass du auch mitmachst :) Und hier deine Ergebnisse vorzeigst, sieht soweit alles korrekt aus. :T

Wie lange hast du an der Umsetzung, in Javascript, mit den RegEx programmiert bis die gepasst haben? Und 35 Zeilen, nun ja, ich hab knapp ~680 circa... :D - waren aber auch mal nur "300"...

Mir fällt aber schon etwas auf:

[src=html5]<p>
<ul>
<li>Außerdem werden</li>
<li>unnummerierte Aufzählungen</li>
<li>unterstützt</li>
</ul>
<blockquote>Blockquotes funktionieren sowohl in der Ausführlichen Variante mit einem '>' in jeder Zeile<br/>
</blockquote>
<blockquote>Als auch in dieser "faulen Variante" mit nur einem Zitat-<br/>
Beginn am Anfang<br/>
</blockquote>
</p>[/src]

Einaml, du bindest grundsätzlich alles in einen Paragraphen ein? Außer Überschriften? Warum nicht die Inhalte eines Zitats in ein Paragraphen und warum bei Listen diese in Paragraphen wickeln?
Zweintens, warum ist hier:

[src=html5]<blockquote>Blockquotes funktionieren sowohl in der Ausführlichen Variante mit einem '>' in jeder Zeile<br/>
</blockquote>[/src]

Das "<br/>" für einen Einzeiler-Text? Das wird gar nicht benötigt. Und vielleicht könnte das Zitat auf gleicher "Ebene" / "Ende" der Zeile auch beendet werden, nicht zwingend darunter. Da es sich nur um eine Zeile handelt bzw. auf gleicher wie das "<blockquote>"-Symbol, damit es "konsistent" wäre.
 

MurmeltierS

Neu angemeldet

Registriert
9 Apr. 2017
Beiträge
21
Einaml, du bindest grundsätzlich alles in einen Paragraphen ein? Außer Überschriften? Warum nicht die Inhalte eines Zitats in ein Paragraphen und warum bei Listen diese in Paragraphen wickeln?
Zweintens, warum ist hier:

[src=html5]<blockquote>Blockquotes funktionieren sowohl in der Ausführlichen Variante mit einem '>' in jeder Zeile<br/>
</blockquote>[/src]

Das "<br/>" für einen Einzeiler-Text? Das wird gar nicht benötigt. Und vielleicht könnte das Zitat auf gleicher "Ebene" / "Ende" der Zeile auch beendet werden, nicht zwingend darunter. Da es sich nur um eine Zeile handelt bzw. auf gleicher wie das "<blockquote>"-Symbol, damit es "konsistent" wäre.

Da scheinen sich wohl noch zwei Fehler eingeschlichen zu haben. Vielen Dank fürs drauf aufmerksam machen!

Für RegExp war http://regexr.com/ und dessen Cheatsheet mein bester Freund.

Viel Erfolg euch allen!
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.561
  • Thread Starter Thread Starter
  • #24
@MurmeltierS: Ich muss gerade schmunzeln, der gute GSkinner.... du hast nicht mal zufällig mit Actionscript programmiert? Da war der Mann sehr weit vorne damals... :)

Naja, es sind ja nicht direkt Fehler, du generierst halt evtl. unnötiges HTML - aber wenn du zum Beispiel alles in <p> wickelst, die Paragraphen aber nen "margin-bottom: 40px" haben als CSS-Style, sieht auch das Layout eventuell so aus. Also ich würde auf ein korrektes Einlesen wie auch auf eine "bestmögliche/optimale" Ausgabe Wert legen, daher habe ich das gerade bemängelt ;)

Es ist ja nicht direkt ein "Fehler".... wie schon gesagt. :)

Und dir ebenfalls natürlich viel Glück an dieser Stelle!


@all: Was ist eigentlich hiermit?

[src=text]Ich bin ein Fließtext, logisch, **aber
das Besondere** an mir, meine Formatierung geht Zeilen übergreifend.

* Soll die Formatierung abgebrochen hier übergangen werden?
* Formatieren wir, so viel wie geht? Bzw. bis ein "Textelement" wirklich als beendet gilt?[/src]

Könnte sich auch zu so etwas übersetzen lassen:
[src=html5]<p>Ich bin ein Fließtext, logisch, <strong>aber
das Besondere</strong> an mir, meine Formatierung geht Zeilen übergreifend.</p>[/src]

Edit: Wie interpretiert denn der Browser sowas? :)
 
Zuletzt bearbeitet:

MurmeltierS

Neu angemeldet

Registriert
9 Apr. 2017
Beiträge
21
@MurmeltierS:
@all: Was ist eigentlich hiermit?

[src=text]Ich bin ein Fließtext, logisch, **aber
das Besondere** an mir, meine Formatierung geht Zeilen übergreifend.

* Soll die Formatierung abgebrochen hier übergangen werden?
* Formatieren wir, so viel wie geht? Bzw. bis ein "Textelement" wirklich als beendet gilt?[/src]

Könnte sich auch zu so etwas übersetzen lassen:
[src=html5]<p>Ich bin ein Fließtext, logisch, <strong>aber
das Besondere</strong> an mir, meine Formatierung geht Zeilen übergreifend.</p>[/src]

Ich unterstütze zumindest Formatierungen fett & kursiv über mehrere Zeilen.

@all
Andere Frage:

Wie behandelt ihr Text der ohne Leerzeile zu einem Block-Element steht.

Also sowas:

[src=html4strict]
Text der nicht von einer Leerzeile von einer Aufzählung getrennt wird
* was passiert damit?
* so stehen lassen
* oder den Text in einen separaten Paragraph verschieben?
[/src]


Text ohne Paragraph?
Paragraph nur um Text?
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.561
  • Thread Starter Thread Starter
  • #26
Naja, das über "mehrere Zeilen übergreifen" kann richtig sein, muß aber auch nicht, vielleicht hat der Anwender auch nur eine Formatierung vergessen, das beste wäre vielleicht "den Fehler" darzustellen, als Sterne, und gar nicht zu formatieren. Wäre meine Idee.

Zu deiner Frage, das passiert bei mir, derzeit, weiß aber nicht ob das Ergebnis aussagekräftig ist...

Wir sind ja in einem Paragraphen ohne Formatierung, gewünscht "scheinen" aber Listen zu sein, weil du das " " (Leerzeichen) da hast nach dem Stern:

[src=html5]<p>Text der nicht von einer Leerzeile von einer Aufzählung getrennt wird
<ul><li>was passiert damit?</li>
<li>so stehen lassen</li>
<li>oder den Text in einen separaten Paragraph verschieben?</li></ul></p>[/src]

Ander sieht es aus wenn du:

[src=text]Text der nicht von einer Leerzeile von einer Aufzählung getrennt wird
*was passiert damit?
*so stehen lassen
*oder den Text in einen separaten Paragraph verschieben?[/src]

und dann sowas daraus bekommst:

[src=html5]<p>Text der nicht von einer Leerzeile von einer Aufzählung getrennt wird
*was passiert damit?
*so stehen lassen
*oder den Text in einen separaten Paragraph verschieben?</p>[/src]


Die Frage wäre, welchem Element, dem Paragraphen, oder der Liste, was gibst du mehr "Priorität" ? - Wann ist es eine Liste, wann gehört es zum Paragraphen? ;)
Meine Trennung mit dem "* " sollte klar sein :)

Edit:

Oder wann ist es ein "Stern" im Text, wenn dieser am Zeilenanfang steht, nicht? :)
 
Zuletzt bearbeitet:

MurmeltierS

Neu angemeldet

Registriert
9 Apr. 2017
Beiträge
21
@theSplit:
Das Problem was sich ergibt ist, wenn der Anwender eine Liste an solch einen Text setzt, die Liste ebenfalls in den Paragraphen geschoben wird.
Da sowohl ol als auch ul jedoch Blockelemente sind, dürfen diese, streng genommen, überhaupt nicht in einem Paragraphen stehen.
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.561
  • Thread Starter Thread Starter
  • #28
@MurmeltierS:
Aber Paragraphen werden getrennt mit Leerzeilen, eine "Regel".

Aber es kommt hier auf die Formatierung an. Habe ich "* " oder nur "*Text".

Die Liste könnte auch unterhalb des Paragraphen stehen, als gesonderter Punkt - aber da kommt da, meines Wissens nach, eine Leerzeile als "Trenner".
 

MurmeltierS

Neu angemeldet

Registriert
9 Apr. 2017
Beiträge
21
Nichts desto trotz hier nochmal meine aktuellen Parsing Ergebnisse, nun mit richtig verarbeiteten Paragraphen:

[src=text]
# markdown to html
## by *Kevin Sieger*

Dieser effiziente markdown-Parser, welcher **fetten**
sowie *kursiven* Text unterstützt, ist komplett in JavaScript
geschrieben und benötigt keine APIs oder Frameworks.

* Außerdem werden
* unnummerierte Aufzählungen
* unterstützt

>Blockquotes funktionieren sowohl
>in der ausführlichen Variante mit einem '>'
>in jeder Zeile

>Als auch in dieser "faulen Variante" mit nur einem Zitat-
Beginn am Anfang

Zusätzliche unterstütze markdown-Syntax:

1. Sogar **nummerierte**
2. Aufzählungen werden richtig umgewandelt
3. und als *Ordered List* (ol) in HTML ausgegeben

24. Aufzählungen können bei einer beliebigen Zahl
25. begonnen werden und werden korrekt übernommen

[Links](http://www.it-talents.de) werden ebenfalls unterstützt, sowohl im [Fließtext](http://www.it-talents.de "IT-Talents"), als auch als ausgeschriebene URL http://kevinsieger.de


[/src]

[src=html5]
<h1>markdown to html</h1>
<h2>by <i>Kevin Sieger</i></h2>
<p>
Dieser effiziente markdown-Parser, welcher <strong>fetten</strong><br/>
sowie <i>kursiven</i> Text unterstützt, ist komplett in JavaScript<br/>
geschrieben und benötigt keine APIs oder Frameworks.<br/>
</p>

<ul>
<li>Außerdem werden</li>
<li>unnummerierte Aufzählungen</li>
<li>unterstützt</li>
</ul>

<blockquote>Blockquotes funktionieren sowohl in der ausführlichen Variante mit einem '>' in jeder Zeile</blockquote>

<blockquote>Als auch in dieser "faulen Variante" mit nur einem Zitat-<br/>
Beginn am Anfang</blockquote>

<p>
Zusätzliche unterstütze markdown-Syntax:<br/>
</p>

<ol>
<li value="1">Sogar <strong>nummerierte</strong></li>
<li value="2">Aufzählungen werden richtig umgewandelt</li>
<li value="3">und als <i>Ordered List</i> (ol) in HTML ausgegeben</li>
</ol>

<ol>
<li value="24">Aufzählungen können bei einer beliebigen Zahl</li>
<li value="25">begonnen werden und werden korrekt übernommen</li>
</ol>

<p>
<a href="http://www.it-talents.de" title="">Links</a> werden ebenfalls unterstützt, sowohl im <a href="http://www.it-talents.de " title="IT-Talents">Fließtext</a>, als auch als ausgeschriebene URL <a href="http://kevinsieger.de">http://kevinsieger.de</a><br/>
</p>


[/src]
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.561
  • Thread Starter Thread Starter
  • #30
Finde "ich" besser, du hast nicht mehr alles in den Paragraphen eingebunden, speziell die Listen!

Aber, eines fällt mir dennoch auf:

[src=text]Dieser effiziente markdown-Parser, welcher **fetten**
sowie *kursiven* Text unterstützt, ist komplett in JavaScript
geschrieben und benötigt keine APIs oder Frameworks.[/src]

Wird zu:

[src=html5]<p>
Dieser effiziente markdown-Parser, welcher <strong>fetten</strong><br/>
sowie <i>kursiven</i> Text unterstützt, ist komplett in JavaScript<br/>
geschrieben und benötigt keine APIs oder Frameworks.<br/> <!-- dieses <br/> hier -->
</p>[/src]

Warum das "<br/>" hier? Du brauchst es wirklich nicht. ;) Es ist de facto unnötig, darauf folgt kein Inhalt ;)
 

MurmeltierS

Neu angemeldet

Registriert
9 Apr. 2017
Beiträge
21
@theSplit:

Hast du natürlich Recht!

und schwubs:

[src=html5]<h1>markdown to html</h1>
<h2>by <i>Kevin Sieger</i></h2>
<p>
Dieser effiziente markdown-Parser, welcher <strong>fetten</strong><br/>
sowie <i>kursiven</i> Text unterstützt, ist komplett in JavaScript<br/>
geschrieben und benötigt keine APIs oder Frameworks.</p>

<ul>
<li>Außerdem werden</li>
<li>unnummerierte Aufzählungen</li>
<li>unterstützt</li>
</ul>

<blockquote>Blockquotes funktionieren sowohl in der ausführlichen Variante mit einem '>' in jeder Zeile</blockquote>

<blockquote>Als auch in dieser "faulen Variante" mit nur einem Zitat-<br/>
Beginn am Anfang</blockquote>

<p>
Zusätzliche unterstütze markdown-Syntax:</p>

<ol>
<li value="1">Sogar <strong>nummerierte</strong></li>
<li value="2">Aufzählungen werden richtig umgewandelt</li>
<li value="3">und als <i>Ordered List</i> (ol) in HTML ausgegeben</li>
</ol>

<ol>
<li value="24">Aufzählungen können bei einer beliebigen Zahl</li>
<li value="25">begonnen werden und werden korrekt übernommen</li>
</ol>

<br/>
<a href="http://www.it-talents.de" title="">Links</a> werden ebenfalls unterstützt, sowohl im <a href="http://www.it-talents.de " title="IT-Talents">Fließtext</a>, als auch als ausgeschriebene URL <a href="http://kevinsieger.de">http://kevinsieger.de</a><br/>
[/src]
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.561
  • Thread Starter Thread Starter
  • #32
Finde ich viel besser :T, die Ausgabe ist klar und ohne Umschweife.

Hast du dafür jetzt viel "Logik" implementieren müssen? - Würde mich mal interessieren! ;)

Aber ich rate dir trotzdem, schau dir das Testdokument von @BrotherJohn hier an - dein Parser wird kreuz und quer gehen, vermute ich, weil es alles "Sonderfälle" sind bzw. auch jemand der das System nicht kennt, es so gebrauchen "könnte" ;)
Bzw. leere Listen mit "*Zeichenende*" was bei dir wohl kursiv wäre ;) - aber eine Liste sein "könnte". mit leeren Punkten und oder nicht kursiv. - Verstanden? :D :T
 

MurmeltierS

Neu angemeldet

Registriert
9 Apr. 2017
Beiträge
21
Finde ich viel besser :T, die Ausgabe ist klar und ohne Umschweife.

Hast du dafür jetzt viel "Logik" implementieren müssen? - Würde mich mal interessieren! ;)

Aber ich rate dir trotzdem, schau dir das Testdokument von @BrotherJohn hier an - dein Parser wird kreuz und quer gehen, vermute ich, weil es alles "Sonderfälle" sind bzw. auch jemand der das System nicht kennt, es so gebrauchen "könnte" ;)
Bzw. leere Listen mit "*Zeichenende*" was bei dir wohl kursiv wäre ;) - aber eine Liste sein "könnte". mit leeren Punkten und oder nicht kursiv. - Verstanden? :D :T

Nein, Logik ist bei mir noch nicht viel im Spiel. RegExp ist zwar am Anfang schwer zu begreifen, aber wenn mans dann mal verstanden hat geht einiges damit
relativ effektiv :D

Werde mal mit dem Testdokument rumprobieren.
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.561
  • Thread Starter Thread Starter
  • #34
Naja, die Aufgabenstellung sagt: "Es bietet sich an", heißt aber nicht dass es der Stein der Weißen ist :p
Aber kann natürlich trotzdem sein das deine Lösung nicht nur kompakter aber auch "Fehlerfreier" ist, als wenn man die ganzen Regeln von Regex "nachprogrammiert" ;)

Muss man schauen, ich finde es gab bisher gute Sonderfälle, und die lassen sich vielleicht nicht "einfach so abbilden" :)

Muss man sehen im Detail.
 

MurmeltierS

Neu angemeldet

Registriert
9 Apr. 2017
Beiträge
21
@theSplit:

Also du hattest mir ja Vorgeschlagen mal das Testdokument von @BrotherJohn zu benutzen.

Vorläufige Ergebnis, naja müsste ich es benoten würde ich sagen 3

[src=html5]
<h1>Ein Testdokument</h1>
<p>
Absätze sind die grundlegenden Blockelemente.</p>

<p>
Ein neuer Absatz braucht mindestens eine Leerzeile.</p>

<p>
Mehrere geht genauso und führen zum gleichen Ergebnis.</p>

<p>
Einen Absatz darf man beliebig<br/>
umbrechen. Es bleibt ein einzelner Absatz ohne (!) Zeilenumbruch. Bonus: Harte Zeilenumbrüche innerhalb eines Absatzes (aber nicht am Absatzanfang oder -ende) macht man am Zeilenende mit einem Backslash oder mindestens zwei Leerzeichen. Ja, Leerzeichen. Vollkommen bescheuerte Idee, finde ich, aber so ists festgelegt.</p>

<p>
Führende Leerzeichen sind ok<br/>
und werden entfernt.</p>

<p>
Ausnahme: Bei der ersten Zeile eines Absatzes dürfen es max. 3 LZ sein, sonst wird ein Codeblock draus – der von der Aufgabe nicht gefordert ist. Also könnte man auf die Spezialbehandlung für erste Zeilen verzichten.</p>

<p>
Viel Inline-Formatierung ist ja nicht gefordert: <strong>Fett</strong> und <i>kursiv</i>. Was kann man denn damit noch anstellen ... Wer sagt eigentlich, dass man immer nur ganze Wörter formatieren will: Donau<i>dampf</i>schifffahrts<strong>kapitäns</strong>mütze.</p>

<p>
In der Aufgabe steht nichts von geschachtelter Formatierung, Aber <i><strong>fettkursiv</strong></i> oder <i></i>fett und <i>kursiv</i><i></i> ist ja nicht sooo weit aus der Welt. Trotzdem würde ich das als Bonus ansehen.</p>

<p>
Inline-Formatierung wird der Reihe nach geparst und dangling Sternchen bleiben simple Sternchen. Beispiel: In <i>C++</i> (kursiv) wird der Pointer mit einem Sternchen (*) markiert. Der komplette Regelsatz ist relativ komplex und steht hier: <a href="http://spec.commonmark.org/0.27/#emphasis-and-strong-emphasis">http://spec.commonmark.org/0.27/#emphasis-and-strong-emphasis</a></p>

<p>
Zu den Überschriften: Da die Aufgabenstellung so vage ist, alles laut Spec.</p>

<p>
### Laut Aufgabenstellung ist dies keine Überschrift, sondern ein normaler Absatz (da nur H1 und H2 gefordert sind).</p>

#Auch ein normaler Absatz, da mindestens ein Leerzeichen nach dem # stehen muss.<br/>
<h1>normale H1-Überschrift</h1>
<h1> genauso normale H1-Überschrift</h1>
<h1>auch eine normale H1 mit optionalem schließenden Hash</h1>
<h1>auch das ist eine normale H1, die Anzahl der Schließhashes muss nicht übereinstimmen ##</h1>
<h2>normale H2</h2>
<h2>H2: keine Schließhashes, da nicht per Leerzeichen getrennt####</h2>
<h2>H2: keine Schließhashes, da noch ## Text danach</h2>
<br/>
Spec sagt: “The opening # character may be indented 0-3 spaces.”<br/>
<h1>H1</h1>
<h1>H1</h1>
<h1>H1</h1>
<p>
# keine H1. Eigentlich ein Codeblock, aber der ist von der Aufgabe nicht gefordert. Ich würde es als normalen Absatz interpretieren.</p>

<p>
Mehrzeilige Überschriften geht nicht. Leerzeilen vor/nach Überschriften sind optional.</p>

Ein Absatz.<br/>
<h2>Eine H2</h2>
<p>
Noch ein Absatz. ##</p>

Nicht von den Hashes am Ende verwirren lassen!<br/>
<h2>> Das hier ist eine interessant formatierte H2-Überschrift <</h2>
<br/>
Und wenn wir schon bei den spitzen Klammern sind:<blockquote> Ein Zitatabsatz</blockquote>

<br/>
Oder umgebrochen:<blockquote> Auch das ist ein einzelner Zitatabsatz (ohne harten Zeilenumbruch!).</blockquote>

<br/>
Normale Zeilenumbrüche werden genauso behandelt wie im Fließtext.<blockquote> Ein einzelner Zitatabsatz<br/>
mit Umbruch.</blockquote>

<br/>
Man kann das natürlich auch kombinieren:<blockquote> Das mit dem Zitieren<br/>
schaut auf Anhieb einfach aus. Isses aber nich. Denn dieser ganze Block hier ist ein einzelner Zitatabsatz.</blockquote>

<br/>
Leerzeilen trennen Zitate.<blockquote> Zitat 1</blockquote>

<blockquote> Zitat 2</blockquote>

<br/>
Im Vergleich zu:<blockquote> Ein einzelnes Zitat. Es hat zwei Absätze.</blockquote>

<br/>
Eines noch:<blockquote> Das Leerzeichen nach der spitzen Klammer ist optional.</blockquote>

<br/>
<h2>Listen</h2>
<p>
Lasst uns Sachen auflisten; weil man mit Listen trotz der <i>am Zeilenanfang</i>-Einschränkung sooo viel Mist bauen kann! :D</p>

<ul>
<li>eins</li>
<li>zwei</li>
<li>drei</li>
</ul>

<p>
So weit, so einfach.</p>

<ul>
<li>eins</li>
<li><strong>zwei</strong> in fett</li>
<li><i>drei</i> in kursiv</li>
<li>*Nein, das ist</li>
<li>nicht kursiv*. Das sind zwei Listenpunkte mit jeweils einem Stern im Text.</li>
</ul>

<p>
Folgendes</p>

<p>
*ist laut Spec<br/>
*keine Liste, sondern ein Absatz, der zwei Sternchen im Text hat. Wichtig: Kein kursiv wegen dem Zeilenumbruch direkt vor dem zweiten Stern!</p>

<p>
Apropos Absätze:</p>

<ul>
<li>langweiliger kurzer Listenpunkt</li>
<li>Der hier ist ein bisschen länglicher.</li>
</ul>

<br/>
V.a. hat er einen zweiten Absatz.<ul>
<li>noch ein Punkt</li>
<li>und noch einer</li>
</ul>

<p>
Huch!</p>

<ul>
<li></li>
</ul>

<p>
Ein einzelner Stern!? Das ist eine Liste mit einem einzelnen leeren Listenpunkt.</p>

Aber Vorsicht! Ein leerer Listenpunkt<ul>
<li></li>
</ul>

unterbricht nicht einen Absatz! Das da eine Zeile höher ist ein simpler Stern.<p>
Alles was leer ist, ist ein wunderschöner Grenzfall. Z.B.:</p>

<ul>
<li> Was ist das denn?</li>
<li>Na logisch! Ein Listenpunkt mit führender Leerzeile.</li>
<li>Todo: Nachlesen, was mit dem Zeilenumbruch passieren soll. Schlucken wie in normalen Absätzen? Oder bleibt der?</li>
</ul>

<p>
Ein leerer Punkt in einer Liste? Logisch:</p>

<ul>
<li>eins</li>
<li>* drei</li>
</ul>

<p>
Leere Zeilen sind auch was Feines. Sie trennen normalerweise Absätze. In Listen sieht das ein bisschen anders aus.</p>

<ul>
<li></li>
</ul>

Leerzeilen<br/>
<ul>
<li>zwischen Listenpunkten</li>
<li>sind erlaubt</li>
</ul>

<br/>
<ul>
<li></li>
</ul>

auch mehrere Leerzeilen<p>
Das da oben ist eine einzelne Liste.</p>

<ul>
<li></li>
</ul>

Die Aufgabenstellung fordert den Listenpunkt <i>am Zeilenanfang</i>.<p>
* Das hier ist also keine geschachtelte Liste (im Gegensatz zur Spec).</p>

Sondern? Ähm ... Ich würde sagen: eine Liste mit einem einzelnen Absatz in einem einzelnen Listenpunkt. Der Absatz enthält einen weichen Zeilenumbruch und ein dangling Sternchen.
[/src]

Einige Sonderfälle löst es mit bravur, bei anderen hakts.

Eine der Sachen, die ich bisher noch nicht betrachtet hatte waren die opt. Endtags von Überschriften.

Außerdem gibts noch ein paar Problemchen mit Aufzählungen, aber nichts, was nicht fixbar wäre
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.561
  • Thread Starter Thread Starter
  • #36
Was mir auffält, auf die Ausgabe bezogen:
Zeile 57, was ist damit? Ist nicht "gewickelt".

Zeile 62 auch nicht, obwohl "eigentlich" ein Paragraph kommen sollte.

83 bis 88, könnte ein Zitat sein. Könnte.

Deine Ausgabe, 126... was ist der Text vor dem "<ul>" ?

Zeile 142... haben wir hier eine Liste oder einen einfachen Stern innerhalb eines Absatzes?


160, der Leere Listenpunkt wird hier total ignoriert und zusammengefügt, ist aber auch ein Sonderfall. Aber wir befinden uns ja in einer Liste!

usw...

Was würdest du vorschlagen?
 

MurmeltierS

Neu angemeldet

Registriert
9 Apr. 2017
Beiträge
21
@theSplit:

werde die Einzelfälle noch durchgehen und schauen wie ich's fix

Wobei ich denke dass viele dieser Sonderfälle nicht wirklich gefragt sind.
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.561
  • Thread Starter Thread Starter
  • #38
@MurmeltierS:

Ja, damit kannst du recht haben, aber in deinem Fall sind das halt keine "Sonderfälle", sondern Textinhalte.
Und die müssen mit rein, meine ich.

Sonst hast du Informationen die gar nicht berücksichtigt sind. Naja, kommst du selbst drauf was ich meine ;)

Würde ich halt selbst noch dran arbeiten, weil es das ganze "vollständiger" macht, auch wenn es Sonderfälle sind, es sind Use-Cases. ;)
 

MurmeltierS

Neu angemeldet

Registriert
9 Apr. 2017
Beiträge
21
@theSplit:

Nochmals Danke für den Hinweis auf das Testdokument.

Mittlerweile funktionieren bei mir Leere Listenpunkte sowie Absätze in Listenpunkten korrekt.

Und immer noch nur RegExp :P
Jedoch (mit Kommentaren 50 Zeilen)
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.561
  • Thread Starter Thread Starter
  • #40
@theSplit:

Nochmals Danke für den Hinweis auf das Testdokument.

Dein Dank sollte an BrotherJohn dafür gehen, er hat das alles vorbereitet.... ;)

Mittlerweile funktionieren bei mir Leere Listenpunkte sowie Absätze in Listenpunkten korrekt.

Woran machst du fest ob es sich um einen einen Absatz innerhalb eines Listenpunkts handelt? An der Einrückung? :)

So nen Check, so würde ich es mir vorstellen zu Regeln, könnte ich aber auch mal einbauen... sind ja noch ein paar Tage.... :T
 
Oben