Nouvelles Chroniques d'Amethyste

Penser au Sens, pas au Verbe

Le langage Markdown

Poster un commentaire

En 2004, John Gruber et Aaron Swartz ont développés un langage de balisage appelé Markdown. L’objectif est de fournir une syntaxe facile à lire et à écrire pour générer des documents.

Le schéma suivant extrait de:

http://www.codeproject.com/Articles/799446/Using-Markdown-for-Effective-Logging

Evoque clairement la situation:

2015-02-24_23-05-14

Html  est un autre langage de génération de document. mais sa complexité le met hors de portée de la plupart des applications.

Markdown est comme on le voit beaucoup plus simple et peut facilement être lu directement.

Markdown est un langage très présent (les fichiers Readme de Git par exemple) et qui offre un bon moyen de générer des logs plus confortables à exploiter. Markdown peut d’ailleurs servir de base pour être transformé dans d’autres formats plus sophistiqués comme PDF.

Le langage n’a jamais été véritablement normalisé et des variantes existent, mais c’est rarement un problème.

Pour tester le langage un Notepad est suffisant. Mais des outils plus sophistiqués sont capables de visualiser le résultat. Par exemple:

On dispose de SDK pour intégrer le langage dans son application. Par exemple le package Nuget MarkdownLog:

install-package MarkdownLog

Qui apparaît comme une librairie de méthodes d’extensions sur les types que l’on souhaite « markdowniser ».

Par exemple le code suivant:

var data = new[]
{
new{Year = 1991, Album = "Out of Time", Songs=11, Rating = "* * * *"},
new{Year = 1992, Album = "Automatic for the People", Songs=12, Rating = "* * * * *"},
new{Year = 1994, Album = "Monster", Songs=12, Rating = "* * *"}
};

Console.Write(data.ToMarkdownTable());

Produit l’affichage:

2015-02-24_23-26-32

Dans la doc de MarkdownLog on trouve quelques exemple amusant comme le tracé d’une courbe ou de diagramme en bâtons:

var worldCup = new Dictionary<string, int>
{
{"Brazil", 5},
{"Italy", 4},
{"Germany", 4},
{"Argentina", 2},
{"Uruguay", 2},
{"France", 1},
{"Spain", 1},
{"England", 1}
};

Console.Write(worldCup.ToMarkdownBarChart());

Qui affiche:

2015-02-24_23-30-15

 

Bibliographie

http://www.hanselman.com/blog/NuGetPackageOfTheWeekMarkdownLogMakesLogFilesMuchPrettier.aspx

 

 

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s