1. ホーム
  2. Web制作
  3. html5

html+js マークダウンエディタ効果

2022-01-14 02:15:50

マークダウン用プラグインEditor.mdのオフィシャルサイトです。 https://pandao.github.io/editor.md/

I: Editor.mdをダウンロードする

1: 公式サイトにアクセスして直接ダウンロードする

githubのダウンロードアドレスです。 https://github.com/pandao/editor.md

2: ダウンロードにnpmを使用する

npm install editor.md

ダウンロードしたファイルの構成は以下の通りです。

II:Editor.mdの簡単な使い方

1: 前提条件

cssを導入する

<link rel="stylesheet" href="editormd/css/editormd.css" />

jsの紹介

<script src="js/jquery.min.js"></script>
<script src="editormd/editormd.min.js"></script>

2: html+jsによるマークダウン効果

<link rel="stylesheet" href="editormd/css/editormd.css" />
<div id="test-editor">
<textarea style="display:none;" class="content-markdown" name="content-markdown"></textarea> ;
</div>
<script src="js/jquery.min.js"></script>
<script src="editormd/editormd.min.js"></script>
<script type="text/javascript">
    $(function() {
      var editor = editormd("test-editor", {
        width : "100%", //width, not filled to 100%
        height : "500px", //height, not filled to 100%
        theme : "dark", //theme, do not fill for the default theme
        path : "editormd/lib/", //editor.md plugin's lib directory address
        saveHTMLToTextarea : true, // Save HTML to Textarea
        toolbarAutoFixed:true, // enable and disable automatic toolbar positioning
      });
    });
</script>

マークダウンエディタの効果は、上記のようなコードで実現することができます。

しかし、上記のコードにはローカルアップロード画像機能がないため、ローカルアップロード画像機能が必要な場合は、以下のようにjsコードを修正します。

$(function() {
    var editor = editormd("test-editor", {
        width : "100%", //width, not filled to 100%
        height : "500px", //height, not filled to 100%
        theme : "dark", //theme, do not fill for the default theme
        path : "editormd/lib/", //editor.md plugin's lib directory address
        saveHTMLToTextarea : true, // Save HTML to Textarea
        toolbarAutoFixed:true, // enable and disable automatic toolbar positioning
        imageUpload : true, // Run local upload
        imageFormats : ["jpg", "jpeg", "gif", "png", "bmp", "webp"], // Allowed file formats for uploading
        imageUploadURL : "/index.php?r=markdown/upload" //backend server path for uploads
    });
});

バックエンドのアップロードの簡単な実装は以下の通りです(ここではアップロードのために Yii フレームワークの規約/image プラグイン)

Yii::$app->response->format = Response::FORMAT_JSON;
$upload = \Intervention\Image\ImageManagerStatic::make($_FILES['editormd-image-file']['tmp_name'])->save('upload/upload.jpg');// file is the name of the upload form
if ($upload) {
    return [
        'success' => 1,
        'message' => 'Upload successful',
        'url' => 'upload/upload.jpg'
    ];
} else {
    return [
        'success' => 0,
        'message' => 'Upload failed',
    ];
}

上記のコードでは、マークダウンエディタでローカルの画像をアップロードすることができます

以上が今回の内容の全てです。勉強になると思いますし、スクリプトハウスをもっと応援して頂ければと思います。