MdXaml
MdXamlは、Markdown.Xamlをフォークし、独自に編集を加えたものです。 Markdown.Xamlと同様に、Markdown形式の文字列からFlowDocumentを生成します。
概要
Markdown.Xamlについては、本家を参照してください。.
MdXamlはMarkdownSharpのようなMarkdown処理系の一つです。一点違うのは、HTMLではなく、FlowDocumentを出力します。これは、WPF上で表示するのに適しています。
MdXamlでは、Markdown.Xamlの機能に加えて
- Xaml上でのスタイル指定を1行で纏められるように
- リソースからの画像ファイル読み込み
- Markdownに下記の独自拡張を実装
- table-colspan/rowspan
- other list mark(alphabet, italic)
- テキストデコレーション(取り消し線、下線、色付き)
- 左揃え、中央揃え、右揃え
例
自身で試したい場合は、デモアプリをダウンロードしてください。
table
list
text-decoration and text-align
Nuget
2番目のリンクのパッケージは、namespaceをMarkdown.Xamlとおなじようにしています。Markdown.Xamlから移行を直ぐに行いたい場合はこちらを使用してください。
サンプルコード
Stringから、FlowDocumentに変換
// using MdXaml;
// using System.Windows.Documents;
Markdown engine = new Markdown();
string markdownTxt = System.IO.File.ReadAllText("example.md");
FlowDocument document = engine.Transform(markdownTxt);
Control上に描画
MainWindow.xaml
<Window x:Class="HeredocSample.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mdxam="clr-namespace:MdXaml;assembly=MdXaml"
Title="MainWindow" Height="450" Width="800">
<mdxam:MarkdownScrollViewer xml:space="preserve">
# sample title
* document1
* two
* three
* document2
</mdxam:MarkdownScrollViewer>
</Window>
ライセンス
MdXaml is licensed under the MIT license.