Markdown abschneiden?

Ich habe eine Rails-Site, auf der der Inhalt in Markdown geschrieben ist. Ich möchte von jedem einen Ausschnitt mit dem Link "Read more .." anzeigen.

Wie gehe ich vor? Das einfache Abschneiden des Rohtextes funktioniert beispielsweise nicht.

>> "This is an [example](http://example.com)"[0..25]
=> "This is an [example](http:"

Idealerweise möchte ich dem Autor erlauben, (optional) einen Marker einzufügen, um anzugeben, was als "Snippet" verwendet werden soll. Andernfalls werden 250 Wörter benötigt und "..." angehängt - zum Beispiel.

This article is an example of something or other.

This segment will be used as the snippet on the index page.

^^^^^^^^^^^^^^^

This text will be visible once clicking the "Read more.." link

Die Markierung kann als EOF-Markierung betrachtet werden (die beim Anzeigen des gesamten Dokuments ignoriert werden kann).

Ich benutze maruku für die Markdown-Verarbeitung (RedCloth ist sehr auf Textilien ausgerichtet, BlueCloth ist extrem fehlerhaft, und ich wollte einen nativen Ruby-Parser, der Peg-Markdown und RDiscount ausschließt)

Alternativ (da der Markdown ohnehin in HTML übersetzt ist) wäre es eine Option, den HTML-Code korrekt zu kürzen - obwohl es vorzuziehen wäre, nichtmarkdown() das gesamte Dokument, nur um die ersten Zeilen zu erhalten.

Also, die Optionen, die ich mir vorstellen kann, sind (in der Reihenfolge der Präferenz) ..

Füge dem Maruku-Parser eine "Truncate" -Option hinzu, die nur die ersten x Wörter oder bis zum "Excerpt" -Marker analysiert. Schreibe / finde einen Parser-Agnostiker Markdown truncate'r Schreiben / Finden einer intelligenten HTML-Kürzungsfunktion

Antworten auf die Frage(14)

Ihre Antwort auf die Frage