Editor.js 入力したデータをSaveする

記事作成日: 2022-09-21

hello world的なシンプルな一行だけのデータを保存してみます。

便宜上、ファイルに保存するのではなく、テキストエリアに出力します。テキスト(json)データが出力されるだけなので、ファイルへの保存は普通にjs等で行ってください。

図.文字列入力後、Save前の画面
図.

editorに文字列を入力後、Saveボタンを押すとテキストエリアにjsonデータが出力されます。

図.

ソースコード

editorjs = new EditorJS({
	holderId: 'editorjs',
	minHeight : 0
});

document.querySelector("button").onclick = ()=> {
	editorjs.save().then((outputData) => {
		document.querySelector("textarea").value = JSON.stringify(outputData,null,"\t")
	}).catch((error) => {
		console.log('Saving failed: ', error)
	});
}

saveメソッド

editorjs.save()ですべての入力データを取得することができます。

promiseがreturnされるので、その後にoutputDataを扱うことができます。

outputDataは以下のような形式のオブジェクトです。

{
	"time": 1663727164933,
	"blocks": [],
	"version": "2.25.0"
}
time number セーブするタイムスタンプ
blocks {type: string, data: object}[] ブロックのリスト
version string Editor.jsのバージョン

blocks[]にblockをどんどん追加していく感じです。

block

{
	"id": "RfdoIYK3MC",
	"type": "paragraph",
	"data": {
		"text": "ちゃんと食えよ"
	}
}

blockはこのような形が基本となります。typeを指定して、data.textにデータが格納されます。

typeにはparagraphの他にもheaderやlistなどいろいろな種類があります。

参考リンク