Markdown to MoinMoin-wiki in Ruby (Redcarpet Erweiterung)
Verfasst: Sonntag 13. Mai 2012, 17:15
Nabend,
da ich von Jens gebeten wurde, mein Tutorial über Textmenüs ins Wiki zu stellen, habe ich nach einer Lösung gesucht, wie ich automatisch Text in Githubs Markdown-Dialekt in den Markdown-Dialekt unseres Wikis wandeln kann.
Ich stolperte schnell über Redcarpet, das Ruby-Modul, welches Github wohl selber nutzt.
Ich habe mir mal den Spaß gemacht und einen eigenen Renderer für die MoinMoin-Syntax als Erweiterung zu schreiben. Hier mein Resultat: Link
Ich habe bisher wenig Kontakt mit Ruby gehabt, das ist quasi mein erstes Script - daher ist da vermutlich einiges umständliches dran
Hier mal eine kleiner Demotext:
Ergebnis:
Eigentlich bin ich ganz zufrieden, aber mit den Quotes hapert es noch. Ich muss für MoinMoin eine Einrückung vor jede Zeile des Quotes schreiben. Leider ignoriert Redcarpet in der Standardeinstellung ja Whitespaces. Ich dachte per `hard_wrap`-Parameter kann ich das evtl. umstellen, aber augenscheinlich liege ich da falsch. Ich hoffe hier gibt es einen Ruby-Gott, der mir das hinbastelt 
da ich von Jens gebeten wurde, mein Tutorial über Textmenüs ins Wiki zu stellen, habe ich nach einer Lösung gesucht, wie ich automatisch Text in Githubs Markdown-Dialekt in den Markdown-Dialekt unseres Wikis wandeln kann.
Ich stolperte schnell über Redcarpet, das Ruby-Modul, welches Github wohl selber nutzt.
Ich habe mir mal den Spaß gemacht und einen eigenen Renderer für die MoinMoin-Syntax als Erweiterung zu schreiben. Hier mein Resultat: Link
Ich habe bisher wenig Kontakt mit Ruby gehabt, das ist quasi mein erstes Script - daher ist da vermutlich einiges umständliches dran
Hier mal eine kleiner Demotext:
Code: Alles auswählen
Demo
====
Kleine Demo mit Quotes
> Quotes und vielem bla
> bla bla
Code
----
```python
def foo():
print("Hello")
```
sowie **fetten** und *kursiven* Texten und einem
[Link](http://www.python-forum.de).
Code: Alles auswählen
= Demo =
Kleine Demo mit Quotes
Quotes und vielem bla
bla bla
== Code ==
{{{#!python
def foo():
print("Hello")
}}}
sowie '''fetten''' und ''kursiven'' Texten und einem
[[http://www.python-forum.de|Link]].