Question

Existe-t-il une bibliothèque tierce disponible pour les projets .NET pouvant convertir un document de démarquage en serveur HTML? C'est à dire. J'ai stocké du texte Markdown dans une base de données devant être convertie en HTML lors de son affichage.

Je connais les WMD , mais cela ne fait que convertir le côté client.

Était-ce utile?

La solution

Markdown.NET

Je pense que c'est ce que ce site a utilisé à un moment donné.

Modifier

Markdown Sharp est ce que le site utilise maintenant.

Autres conseils

Une autre implémentation qui semble gagner du terrain est la MarkdownDeep

.

Il s'agit d'une implémentation complète pour C # et JavaScript. Le MarkdownHelper sur Nuget utilise MarkdownDeep maintenant au lieu de MarkdownSharp .

J'ai utilisé les deux et MarkdownDeep semble être plus fonctionnel et disposer de la version JavaScript est idéal pour les configurations rapides côté client.

Découvrez Markdown Sharp . C’est la bibliothèque open source issue du développement de Stack Overflow et elle est beaucoup plus robuste / développée que markdown.net.

Markdown Sharp

Markdown Sharp n’est pas aussi mauvais en termes de code, comme l’a noté John Leidegren, il n’est pas facile de commenter des expressions régulières ou de gérer des projets complexes, dans Cleanest-OOP. C'est vraiment très rapide et bien supporté. Je n'ai pas encore trouvé d'approche basée sur Markup-parser. Voici un exemple:

        pattern = string.Format(@"
            (?:
                (?<=\n\n)           # Starting after a blank line
                |                   # or
                \A\n?               # the beginning of the doc
            )
            (                       # save in $1
                [ ]{{0, {0}}}
                <(hr)               # start tag = $2
                \b                  # word break
                ([^<>])*?           #
                /?>                 # the matching end tag
                [ \t]*
                (?=\n{{2,}}|\Z)     # followed by a blank line or end of document
            )", tabWidth - 1);
        text = Regex.Replace(text, pattern, new MatchEvaluator(HtmlEvaluator), RegexOptions.IgnorePatternWhitespace);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top