PR

【JavaScript】 marked.js でマークダウンエディタを実装する

markdown JavaScript
この記事は約4分で読めます。
記事内に広告が含まれています。

この記事では、 marked.js を用いてマークダウンエディタを実装する方法を紹介します。

開発者はよくマークダウン記法を用いて簡易ドキュメントを作成しますね。

VSCode にもプレビュー機能が標準的に備わっているので、わざわざ別のエディタを使う機会は少ないかもしれません。

ですが、何かのシステムに組み込むときのために実装イメージをつけておくと役に立つかもしれませんね。

marked.js とは

marked.jsは、マークダウンテキストをHTMLに変換するためのJavaScriptライブラリです。

このライブラリは、シンプルでありながら、GitHub Flavored Markdown(GFM)の多くの機能をサポートしています。

marked.js の使い方は非常に簡単で、ウェブページやウェブアプリケーションに簡単に組み込むことができます。

スポンサーリンク

github: markedjs

ライセンスは MIT です。

コード例

HTML 1ファイルで、シンプルな変換ツールを作ってみましょう。 ライブラリはCDNから読み込みます。

<!DOCTYPE html>
<html>
<head>
    <title>Simple Markdown Editor</title>
    <!-- CDNからmarked.jsを読み込む -->
    <script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
</head>
<body>
    <textarea id="markdown" style="width: 100%; height: 200px;"></textarea>
    <div id="preview" style="border: 1px solid #ccc; padding: 10px; margin-top: 10px;"></div>
    <script>
        document.getElementById('markdown').addEventListener('input', function() {
            let markdownText = this.value;
            document.getElementById('preview').innerHTML = marked.parse(markdownText);
        });
    </script>
</body>
</html>

これをブラウザで表示したイメージが以下の画像です。

javascript-markedjs

シンプルながらも、画面上部のマークダウンがリアルタイムに下部に変換される動作が確認できます。

スポンサーリンク

実装の解説

このHTMLファイルは、ユーザーが <textarea> 要素にマークダウン形式のテキストを入力すると、それを即座にHTMLに変換して <div id="preview"> 要素に表示する簡単なマークダウンエディタです。

marked.js ライブラリの marked 関数を使用してマークダウンテキストをHTMLに変換しています。

たったこれだけで、基本的なマークダウンの変換ができてしまいます。

続編として、以下の記事でコードをハイライトする機能追加を紹介しています。

【JavaScript】 highlight.js でマークダウンエディタをデザインする
highlight.js を前回実装したエディタに組み込んで、コードブロックのシンタックスハイライト機能を追加し、デザイン性と可読性を向上させる方法を解説します。

おわりに

js のライブラリは便利なものが多くあるので、車輪の再発明にならないように色々知っておくといいですね。

コメント

タイトルとURLをコピーしました