2015-12-26 12 views
7

Jak przekonwertować Rich Markdown na zwykły tekst? Można go więc użyć np. Do opisu na Facebooku OpenGraph.Konwersja Rich MarkDown na zwykły tekst

Używam MarkdownSharp i nie ma on tej funkcji. Zanim przejdę do wymyślenia koła, pomyślałem o pierwszym pytaniu.

Wszelkie sugestie dotyczące strategii wdrożenia są bardzo doceniane!

Przykład

The Monorailcat 
--------------- 
![Picture of a Lolcat](https://media1.giphy.com/media/c7goDcMPKjw6A/200_s.gif) 
One of the earliest pictures of **monorail cat** found is from the website [catmas.com’s blog][1] section, dated from November 2, 2006. 
[1]: http://catmas.com/blog 

powinny być zamienione na:

The Monorailcat 
One of the earliest pictures of monorail cat found is from the website catmas.com’s blog section, dated from November 2, 2006. 
+1

Czy chcesz wdrożyć to samodzielnie? Musi być dostępnych kilka konwerterów, najgorszy przypadek to "markdown-to-html" i "html-text". –

+0

Wolę nie @MiserableVariable :) Myślałem również o dwuetapowym podejściu, ale brzmi to jak dużo kosztów ogólnych - szczególnie dlatego, że chcę generować wynik na odsłonę strony, a nie buforować go (jeszcze) w bazie danych. –

+0

Czy szukałeś bezpośrednich konwerterów? Jestem pewien, że oni istnieją, chociaż sam się nie sprawdziłem. –

Odpowiedz

4

masz kilka możliwości.

  1. Jak stwierdzono w komentarzu, można przekonwertować na HTML, a następnie przekonwertować HTML na zwykły tekst. Jest to prawdopodobnie najbardziej niezawodne i spójne rozwiązanie międzyplatformowe.

  2. Przejdź do biblioteki, która może konwertować wiele formatów, w tym żądane formaty. Pandoc byłby przykładem takiego narzędzia.

  3. Użyj parsera Markdown, który wyświetla AST. Podczas gdy takie parsery zazwyczaj dostarczają renderera HTML (akceptuje AST jako dane wejściowe i generuje HTML), możesz stworzyć własny renderer, który wypisze dowolny format.

W rzeczywistości okazuje się, że Pandoc jest również przykładem nr 3. Po prostu ma już istniejący renderer tekstowy. Oczywiście, jeśli szukasz biblioteki C#, to Pandoc może nie spełnić twoich potrzeb. I nie jestem świadomy żadnych bibliotek C#, które spełniają tę potrzebę (implementacja referencyjna używa podstawienia ciągu regex i wiele (najbardziej?) Parserów poszło za tym przykładem). Powiedział, że nie znam żadnej z bibliotek Markdown w C#, a to nie jest odpowiednie miejsce na zalecenia. Istnieje jednak długa, choć niekompletna lista analizatorów składni here. Możesz tam znaleźć coś przydatnego.

+0

Miałem nadzieję na bardziej gotowe rozwiązanie, ale myślę, że w tym momencie jest to najlepsze rozwiązanie! Dzięki za odpowiedź :) –

Powiązane problemy