Besserer Ruby Markdown Interpreter?


73

Ich versuche, eine Markdown-Interpreter-Klasse / ein Markdown-Modul zu finden, die / das ich in einer Rake-Datei verwenden kann.

Bisher habe ich Maruku gefunden , aber ich bin etwas vorsichtig mit Beta-Versionen.

Hat jemand irgendwelche Probleme mit Maruku gehabt? Oder kennen Sie eine bessere Alternative?

Antworten:


314

Ich verwende Maruku, um 100.000 - 200.000 Dokumente pro Tag zu verarbeiten. Meistens Forenbeiträge, aber ich verwende es auch für große Dokumente wie Wiki-Seiten. Maruku ist viel schneller als BlueCloth und erstickt nicht an großen Dokumenten. Es ist alles Ruby und obwohl der Code nicht besonders einfach zu erweitern und zu erweitern ist, ist er machbar. Wir haben ein paar Verbesserungen und Extras in unserem Markdown-Dialekt.

Wenn Sie etwas wollen, das reiner Rubin ist , empfehle ich auf jeden Fall Maruku.

Für die schnellste Option möchten Sie wahrscheinlich RDiscount. Die Eingeweide sind in C implementiert.

Siehe auch: " Moving Past BlueCloth " auf Ryan Tomaykos Blog. Ryans Beitrag enthält den folgenden Benchmark von 100 Iterationen eines Abschriften-Tests:

BlueCloth: 13.029987s total time, 00.130300s average
   Maruku: 08.424132s total time, 00.084241s average
RDiscount: 00.082019s total time, 00.000820s average


Update August 2009

BlueCloth2 wurde veröffentlicht ( http://www.deveiate.org/projects/BlueCloth ). Die Geschwindigkeit ist mit RDiscount vergleichbar, da es auf RDiscount basiert - es ist kein reiner Ruby.

(Danke Jim )


Update November 2009

Kramdown 1.0 wurde gerade veröffentlicht . Ich habe es noch nicht ausprobiert, aber es ist ein reiner Ruby Markdown-Parser, der behauptet, 5x schneller als Maruku zu sein.


Update April 2011

Maruku hat seit Juni 2010 kein Commit mehr gesehen. Vielleicht möchten Sie sich stattdessen mit Kramdown befassen.

Eine neue schnelle Option, die nicht nur Ruby ist: GitHub hat Redcarpet veröffentlicht, das auf libupskirt basiert: https://github.com/blog/832-rolling-out-the-redcarpet

Update August 2013

Kramdown ist immer noch ein sehr gesundes Projekt (basierend auf jüngsten Commits, ausstehenden Problemen, Pull-Anfragen) und eine gute Wahl für eine reine Ruby Markdown-Engine https://github.com/gettalong/kramdown

Redcarpet ist wahrscheinlich immer noch die am häufigsten verwendete und aktiv gewartete Option für Leute, die keinen reinen Ruby brauchen oder wollen.


79
gab dir +1, weil du den Update-Bereich eingegeben hast!
Rob

15
Ich kann nicht sagen, wie nützlich der Abschnitt Update hier ist. Nur nach einer Ruby-Lösung zu googeln, führt zu einer Reihe von Implementierungen, die zu ihrer Zeit wahrscheinlich großartig waren, aber dies bietet viel Kontext.
Brymck

5
Aus diesem Grund liebe ich die Community von StackOverflow (wirklich den gesamten Exchange) - eine völlig unnötige und unaufgeforderte Großzügigkeit und Gewissenhaftigkeit.
Iono

1
Auf der Testseite von Kramdown finden Sie derzeit Benchmarks aller Bibliotheken vom Februar 2012.
fny

Ich muss darauf hinweisen, dass Kramdown etwas vom Markdown-Standard abweicht. Zum Beispiel (wie ich herausgefunden habe) können Sie keinen Link in einem Header haben. Sie sollten vorsichtig sein, wenn Sie viele bereits vorhandene Markdown-Dokumente haben.
Haroldo_OK







0

Installieren Sie Folgendes, um sicherzustellen, dass Sie BlueCloth 2 erhalten:

gem install bluecloth

Beachten Sie, dass "Blautuch" in Kleinbuchstaben und nicht in Kamelschrift geschrieben werden sollte.

Quelle: http://rubygems.org/gems/bluecloth


0

Wenn Sie ein gutes Beispiel für die Verwendung von Kramdown in einer Rake-Datei benötigen, gibt es auf markith.md ein Repo auf Github mit Code und Artikeln, das mit Hervorhebung der Ruby-Codesyntax, aber leider auch Zeilennummern, in HTML konvertiert werden kann würde es vorziehen, die Zeilennummerierung auszuschalten)

Wenn jemand weiß, wie die Standardeinstellung für die Zeilennummerierung deaktiviert werden kann, teilen Sie uns dies bitte mit.

Auf jeden Fall lautet der Link https://github.com/elm-city-craftworks/practicing-ruby-manuscripts

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.