はじめに
WinFormsでマークダウンエディタを作ります。
完成イメージ↓
左側のテキストボックスに文章を入力すると、リアルタイムに右側が更新されます。
使用するライブラリ
C#のマークダウンを操作するライブラリで有名なのは次の3つです。
※2022/01/29時点
- MarkdownSharp, 358 stars (Stack Overflow)
- CommonMark.NET, 974 stars
- markdig, 2.8K stars
長い物には巻かれろ精神で、スター数が多い markdig
を使用します。
コード
マークダウンをhtmlに変換し、変換したhtmlをWebブラウザコントロールに設定しています。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Markdig;
namespace MarkdownViewer
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void richTextBox1_TextChanged(object sender, EventArgs e)
{
var text = richTextBox1.Text;
// Markdown=>HTMLへの変換
var html = Markdown.ToHtml(text);
// Webブラウザコントールへ変換後の値を設定
webBrowser1.DocumentText = html;
}
}
}
おわりに
おわりです。